Editando informes con LibreOffices Writer y macros

docencia, libreoffice, Problemas del día a día

Algunos software de análisis, generan informes para imprimir. A veces necesitamos editar los mismos, para lo cual lo más sencillo puede ser instalar una impresora virtual, que genera un archivo pdf; luego aplicamos libreoffice draw y listo, ya tenemos nuestro archivo pdf editado como queramos. Sin embargo, algunos programas de  análisis, solo generan un documento de texto plano con (aquí el problema) dos dígitos antes de cada linea de texto.

La solución: usar macros. Con un par de instrucciones, le diremos a LibreOffice Writer que quite esos dígitos y tendremos nuestro documento en perfectas condiciones para editarlo a nuestro gusto.

  1. Copiamos el texto a LibreOffice Writer
  2. Herramientas->Macros->Organizar macros.. LibreOffice Basic
  3. Nos aparecerá un recuadro para seleccionar macros, si queremos que esté disponible para otros documentos, seleccionamos Mis Macros; si solo queremos que esté disponible para el documento, seleccionamos el documento (dice “sin título” si aún no lo hemos guardado)
  4. Seleccionamos nuevo  y copiamos:


rem define variables
dim document as object
dim dispatcher as object
rem variables ciclo
dim iCount as Integer
dim args4(1) as new com.sun.star.beans.PropertyValue
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem comienza el ciclo,
rem reemplazar el 1959 con nº de lineas que tengas que editar
For iCount = 0 To 1959
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, Array())
args4(0).Name = "Count"
args4(0).Value = 1
args4(1).Name = "Select"
args4(1).Value = false
rem aquí baja a la linea siguiente
dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args4())
rem aquí termina incrementando nuestro contador de lineas
next iCount
end sub

Guardamos, colocamos un nombre y luego lo ejecutamos. Las macros son muy útiles, sobretodo cuando tenemos que repetir procesos. Recuerdo que un amigo las usaba para editar su libro: después de cada imagen necesitaba un espacio, el estilo de letra era espaciado, etc.

Con este post, termino este año, muy contento de poder aportar desde la informática al mundo de la educación. Viva el software libre! nos vemos el próximo año!

Fin de año feliz con base de datos

base de datos, docencia, libreoffice Base, Ofimática, Problemas del día a día

En estas fechas es común imprimir una montaña de informes, de todo tipo, dentro de los cuales es importantísimo que los datos sean correctos. Cuando se trata de realizar cambios, estar revisando curso por curso, alumno por alumno, es un trabajo agotador y propenso a errores, por el mismo tedio de las tareas repetitivas, pero es justamente en este ámbito en donde la informática es implacable.

En vez de realizar los cambios uno a uno, mejor es realizar un simple filtro por las características que buscamos, que en base de datos es una consulta y con los datos obtenidos realizar lo que queramos.

Como ejemplo: Digamos que necesitamos cambiar el valor de la variable A, en todos los alumnos cuyo rendimiento sea mayor a “5”. La consulta nos quedaría:


UPDATE "tabla1"
SET "A" = 5
WHERE "rendimiento" > 5

y listo!

Lo anterior, si bien no es ampliamente conocido (algunos docentes siguen usando calculadoras.. en el 2015, generalmente por un tema de “comodidad”, aunque yo le llamo costumbre..) tampoco es la gran cosa. Sin embargo, el pensar en ese tipo de solución, me ha ayudado a buscar opciones en sistemas privativos ya establecidos (como Syscol) para realizar justamente tareas parecidas y créanme, el ahorro de tiempo es enorme.

Por lo tanto, no olvide pensar en “base de datos”, indague en su sistema y si no tiene uno, le recomiendo libreoffice base, para comenzar a realizar uno.. a fin de año, cuando el tiempo apremie de seguro lo necesitará!

LibreOffice: Combinando correspondencia, varios registros en una sola hoja

base de datos, capacitaciones, docencia, investigación, libreoffice, libreoffice Base, Ofimática, Problemas del día a día

Combinar correspondencia en LibreOffice es sumamente sencillo. El problema me surgía cuando debo copiar más de un registro en una hoja…

Es común que el Gobierno de turno, a través de la organización que beneficia a los estudiantes con alimento o alguna beca, envíe información a los estudiantes que, a principio de año, quieren o no continuar con el beneficio; tal vez sería más fácil seguir otorgándolo y solo dejar de hacerlo cuando cada uno de ellos lo solicitara, pero supongo que, como estrategia para disminuir los beneficios, se espera que l@s estudiantes/apoderados respondan a un llamado. Si no lo hacen en los plazos determinados, el Gobierno corta la ayuda y otorga una cantidad de menor a los establecimientos. En resumen, este proceso es crítico. ¿Qué pasa si, además de comunicar a los padres/apoderados, se debe “generar” un campo extra, por ejemplo, el curso en que actualmente se encuentra el estudiante? De no hacerlo correctamente, también se pierde “la respuesta” y otra ración menos para el establecimiento educacional.

Lo anterior es otra muestra de la descoordinación de los organismos de Estado, que supongo, no solo pasa en mi país; si existiera tal comunicación, aquella pregunta llegaría lista para entregar directamente a los establecimientos. ¿Por qué no habilitar un formulario por Internet? Sencillamente porque la pregunta es a los apoderados, no a los estudiantes y éstos no necesariamente poseen un acercamiento a las tecnologías.

Con todos estos antecedentes, tenemos el siguiente escenario: se necesitan generar varias comunicaciones por hoja, en donde aparezcan el nombre y el curso de cada estudiante. Se tiene la lista de beneficiados con su RUT correspondiente (identificación personal, DNI en otros países).

¿Cómo se solucionó?

  1. Se creó una base de datos en LibreOffice Base con:
    1. Una tabla con los datos de los estudiantes beneficiados
    2. Una tabla con los datos de todos los estudiantes del establecimiento
  2. Se creó una tabla con los datos requeridos, a partir de una consulta (Select) devolviendo, nombre y curso para cada identificador presente en la tabla A, presente en la tabla B
  3. Se creó una nueva tabla, esta vez con más datos por registro, esto es: Registro1{Nombre1,Curso1,Nombre2,Curso2,Nombre3,Curso3} Considerando que se necesitarían tres nombres por cada hoja.
  4. Se generó un documento con tres comunicaciones por hoja en LibreOffice Writer, agregando los campos desde la tabla de la base de datos generada en el paso 3 (Insertar-> Campos->Otros y luego seleccionar el campo de la tabla correspondiente)
  5. Se presionó imprimir.. y luego se le indicó a LibreOffice Writer que se quería crear un documento nuevo (también existe la opción de imprimir directamente, pero bueno, eran 431 hojas!).
  6. Como paso extra, se exportó el documento creado en el paso 5 a un formato pdf (considerando que varias personas lo imprimirían, no necesitan modificarlo, para trabajar en paralelo y usar recursos de manera más eficiente).

Claro, se puede usar LibreOffice Calc en vez de LibreOffice Base, para esto la función BUSCARV es la que reemplazaría a la Select del paso 2; Un paso previo obviamente sería preparar los datos. Resulta que la tabla A tiene identificadores en formato de texto y la tabla B en formato numérico, para pasar de texto a número se usó la función VALOR en LibreOffice Calc.

Para la inserción de los campos desde LibreOffice Base hacia el documento “madre” en LibreOffice Writer se usó esta guía

Todo marcha bien cuando tienes que imprimir un registro por hoja, pero cuando son varios nombres en la misma hoja (con el objetivo de optimizar recursos), el tema se complica un poco. La solución simple que usé fue crear registros con la cantidad de pares nombre/curso que se necesitaran, en este caso 3 por registro, como se dice en el paso 3, en cada registro posees tres nombres con sus cursos correspondientes.

Aparte de la claridad del método, me sorprendió el resultado.. un pdf de 431 hojas en tan solo 1.1 MB Cuando quise aplicar el paso 5, en un sistema operativo privativo, el programa generó un error. En cambio, al hacerlo sobre sistemas operativos libres, Fedora, Ubuntu y Debian, el proceso tomó menos de un 1 minuto… se le puede aliviar la pega a los sistemas operativos privativos indicando en el paso 5 que se desea generar un documento, digamos, desde el registro 1 al 50 y luego otro del 51 al 100, etc. Supongo que también la potencia del procesador y la cantidad de memoria RAM puedan tener relación.

Un final feliz para una tarea que llevaba semanas e involucraba a varias personas (aumentando el riesgo de errores).

Formatos para documentos: Solución con uso del software libre

docencia, investigación, Ofimática, pedagogía entretenida, Problemas del día a día, seguridad

Con la masificación en el uso de computadores, aparece un “oportunidad” (no diremos “problema”, claro!) Se diversifica o más bien, se tienen acceso a diversos tipos de formatos… maneras en las cuáles es representada, almacenada, nuestra información. En la vida cotidiana, los jóvenes de nuestro país, tremendamente influenciados por la televisión y el buen momento económico de sus padres, se dan el lujo de pedir y pavonearse con lo último en ropa y artículos tecnológicos.. la informática también ha sido “contaminada” con esta mirada comercial.. es típico escuchar un tono altanero de parte de los bisoños usuarios cuando se refieren a la versión del software que creen poseer.. se llevan tareas para la casa, pero deben presentarlos en equipos de establecimientos educacionales en donde no existe tal versión del software. Comúnmente, al tratarse de formatos privativos, no son enteramente compatibles. Más aún, la generación actual de jóvenes usuarios, desde la más tierna infancia, se inclina por el cómo se ven las cosas en vez de que sirvan. Por lo tanto, usarán hasta fuentes descargadas de sitios recónditos para diferenciarse, para ser original.. luego, cuando todas sus horas de esfuerzo chocan con el detalle práctico, de que no se ve nada o parte de lo que hicieron, se justificand diciendo que el problema es que aquí no tienen lo último.

¿Cómo mejorar esto? si pensamos que solo son hechos aislados, de poca importancia, porque siempre hay un gurú encargado de solucionar estos enredos, no haremos nada. Sin embargo, si consideramos que es altamente probable que la contaminación de formatos y costos asociados (compra de software, entre otros) aumente con el tiempo, es tierra fértil para generar estrategias que nos ayuden a solventar este problema.

¿Qué tal si usamos formatos libres? Esto implica alinear a todos los agentes del establecimiento en una mirada, todos los informes que pidan, serán realizados en formatos abiertos. Mucho mejor si es con libreoffice, claro. Se pueden realizar campañas de masificación, en donde se regalen instaladores, se les enseñe a los estudiantes a utilizar el software y a instalarlo en sus hogares de manera voluntaria. A mediano plazo, los usuarios, mejorarán sus habilidades en informática, aprenderán el manerjo de nuevas herramientas y podrán elegir qué es lo que quieren usar cuando dependa exclusivamente de ellos…

Ideas anexas, son el uso de un formato intermedio, por ejemplo pdf.. o el uso de herramientas web. Pueden ser complementarias a la idea principal, cada una tiene sus ventajas y desventajas, como el acceso a red, etc. El pecado capital sería quedarse con la frase: es que es diferente.. nadie nació usando software privativo, se usa por osmosis, por costumbre; se adopta una mirada del mundo tangible (ropa, autos, utensilios) para hablar de normal en un mundo en donde somos dueños, de lo que queremos usar.

¿Si te regalaran un auto, que no usa combustible, que sirve para desplazarte de un lugar a otro, con un espacio cómodo.. seguirías pensando en comprar uno? ¿No sería más raro el que se empecina en comprarlo?

Innovemos con sentido común.. en la educación.

docencia, pedagogía entretenida, Problemas del día a día

He aquí, un humano frente a un espejo. ¿Siempre debemos decir que sí a la tecnología? En el caso de la informática aplicada a la educación, las luces de colores que suponen el uso de tablet, proyectores HD, computadores con manzanas mordidas, sistema remotos de almacenamiento de recursos y todo activado desde un smartphones… (o implantes neuronales y registro de asistencia con reconocimiento facial… Para no ser menos) créanme, no es el punto. Educación no es solo contenido, aunque la gran mayoría de la pruebas estandarizadas aplicadas a nuestros hij@s tienden a ese fin… Bueno, digamos que la premisa se cumple, por más que roboticemos la sala de clases, no tendremos mejor educación.

Un factor es la disponibilidad del docente a aprender el uso básico de tales herramientas. Claro, es fácil apuntar los dardos y echarle la culpa a esto, sin embargo, ¿Qué motivación tiene una persona si no le pagan lo suficiente por todas sus especializaciones, le hacen llenar una pila de papeles en su tiempo “libre” y más encima tiene que ver como normal llevarse N*1000 trabajo para la casa? Lo anterior por parte baja. Simplemente no es justo. Ese docente no tiene porqué querer aprender a usar todos los productos que se le ocurren vender a las empresas… La carreta delante de los bueyes; primero debes dar espacios, equilibrar horas de planificación con horas de aula; quitar papeleo y “sincronizar” los enfoques de esta tendencia con quiénes toman decisiones, ojo, no solo directivos, sino también Gobierno; si al final gran parte de la pega es traspasada hacia la docencia desde las cuatro paredes de un edificio en Valpo.

Entonces, ¿Decimos que no a todo? Decimos que no a los extremos. Pienso que los cambios, las innovaciones, van en detalles y bueno, si es de la mano del software libre, mucho mejor.

Prefiero hablar de microinnovaciones, “incrementales e iterativas” como decía el gran Ricardo Durán. Como siempre, el trabajo del informático (o el placer en mi caso) es crear la ilusión de simplicidad… El docente solo presiona un botón y su documento/informe/tarea/prueba es compartida; no tuvo que crear cuentas de usuario, ni contraseñas, ni nada… Otro se encargó de eso.

La magia es no recargar de trabajo y generar facilidades; uno de mis últimos juguetes, por ejemplo, son los formularios… Archivos de texto predefinido, que no pierden “su forma” al momento de ser editados. Se envían por correo y facilitan el proceso posterior (tedioso) de impresión. La idea me la comentó Jaime hace como cinco años… En ese tiempo aún estaba embobado por la web, ahora le encuentro más sentido a lo que quiso decir… después que me tocara compaginar un par de cientos de hojas.

La invitación entonces está hecha; innovemos con sentido común 😀

Error unidad no válida

Ofimática, Problemas del día a día

A veces los inataladores de programas no nos preguntan dónde queremos que realicen las tareas asignadaa, como por ejemplo… instalarse..
En ambientes operativos privativos, como por ejemplo Window$ me ha pasado una vez.. me parece que la explicación radica en el uso/mal uso de programas de creación de unidades virtuales. La solución es usar el siguiente comando, abriendo como administrador, la consola:

subst H: “C: \Windows”

La letra H ae reemplaza por la unidad que aparezca como problema, por ejemplo: La Unidad Z:\ no es válidad, entonces en vez de H se coloca Z

El comando subst asocia una ruta de acceso con una letra de unidad.

Android en la sala de clases

audio, ciencia, docencia, investigación, lenguaje, matemáticas, Ofimática, Problemas del día a día

Este post lo genero desde una tablet.. bueno, eso tiene relación con el título. La idea es ir publicando aplicaciones y usos de este dispositivo (aunque puede ser con otro sistema operativo, el concepto de libertad siempre estará presente, por eso lo prefiero antes de Apple). Aquí van:

¡Qué el computador lea!

audio, ciencia, docencia, geografía, investigación, lenguaje, Problemas del día a día

Hace unos días, tenía que leer unas guías… no siempre podemos estar frente a una hoja; a veces debemos estar haciendo otras cosas. La solución que se me ocurrió, fue hacer que el computador “lea”, mientras, por ejemplo, escribo este posteo. Obviamente, pienso que no reemplaza completamente a una lectura propia y típica, de hecho, recomiendo que primero se lea y usar este mecanismo como refuerzo… también se me ocurre usarlo para las presentaciones multimediales, así, no solo está el mensaje escrito en pantalla gigante si no también se escucha.

Es bien sabido que las personas aprenden de manera visual, auditiva y de manera práctica (es posible que se me quede algo por ahí), entonces esta técnica también serviría para apuntar a otro segmento de estudiantes/público.

Ok, muchas palabras, pero ¿Cómo se hace? Bueno, en mi caso, tuve que extraer primero el texto (un archivo txt) que quería “leer”. Con un solo comando, el sistema operativo libre lo hace:

pdftotext -layout archivo.txt archivo.pdf

Luego instalé “espeaker” y “gespeaker”. Abro gespeaker, busco el archivo txt, selecciono el tipo de voz y…. listo. Un último paso sería grabar la salida de audio y… listo, tenemos la lectura de nuestro texto.

Sencillo y.. completamente gratuito.

Podcasting y educación

audio, docencia, Entrevistas, geografía, investigación, lenguaje, matemáticas, Problemas del día a día

El podcasting es una herramienta muy poderosa. Nos permite compartir archivos de audio y seguir cada publicación, suscribiéndonos a cada entrega. Se puede usar, por ejemplo, para crear una serie de cuentos audibles.

Ahora bien, ¿Cómo lo hacemos? básicamente, necesitamos crear los archivos de audio y luego subirlos a Internet. Aquí tenemos un par de opciones, porque podemos optar por un servicio, una web que nos aloje estos archivos de audio o bien guardarlos nosotros mismos, en algún servidor propio o servicio web que nos de espacio para tal tarea.

Sitios como podomatic u podcaster solo por nombrar algunos, nos permiten realizar esta tarea. Sin embargo, no siempre aceptan formatos libres. Esto quiere decir, que nuestras grabaciones deben ser, por ejemplo, “MP3” (el archivo de audio que hemos creado). Además, para que sea escuchado, utilizan, generalmente, un reproductor hecho en flash. Esto último presupone que tenemos instalado adobe flash player.

Es así como nació mi pequeño experimento crear un podcasting o similar, pero usando tecnologías libres. Y lo logré.

  1. Crear una cuenta en un servidor externo gratuito: Hay muchos, yo usé 000webhost
  2. Subí el archivo de audio: En mi caso, opté por formatos libres, esto es, el archivo termina con “ogg”
  3. Utilicé HTML 5 para insertar el audio: Esto permite librarse de flash y el contenido puede ser visualizado, por lo menos, en tres navegadores (ya iré probando los demás). Google Chrome, Mozilla Firefox, Chromium.
Es un gran orgullo poder usar estas tecnologías libres, sobre todo en el campo de la educación, ya que al mismo tiempo que informa a las personas, permite independizarse de los programas privativos, además, no te metes en problemas legales.
Si quieres conocer más al respecto, solo escribe un comentario y… comparte tu experiencia

¿Cómo quitar el audio de un video de Youtube?

docencia, geografía, lenguaje, matemáticas, Ofimática, Problemas del día a día

Siguiendo con el aprovechamiento de recursos audiovisuales, le toca el turno a youtube. En un post anterior, hablé sobre programas que realizan esta tarea.

Youtube, esta inmensa biblioteca de videos nos permite utilizar estos recursos en cuanto estemos conectados. Clases enteras, videos musicales, documentales, etc. se puede encontrar con un par de clic… bueno, no siempre estamos conectados, a veces necesitamos llevarnos un material, descargarlo. Para esto, recomiendo usar Firefox, un navegador completamente gratuito, el cual tiene dentro de sus complementos (pequeñas aplicaciones, programas, que le dan características agregadas, también gratuitas) varias que permiten descargar estos videos.

Ok, pero ¿Qué pasa cuando necesitamos solo el audio de un video? podemos descargar el audio en formato MP3 desde la página

vidtomp3.com

¿y que pasa cuando ya descargué un video desde Internet t necesito usar solo el audio? No siempre se cuenta con el título para buscarlo por Internet, pero en Ubuntu, GNU/línux, existen herramientas que permiten este filtro.

Tanto programas, como simples lineas de comandos nos sirven para extraer el audio y luego grabarlo en un cd, por ejemplo, para usarlo en un ensayo de algún baile. En fin, las posibilidades son infinitas.

ffmpeg -i get_stream.flv -f mp3 -vn -acodec copy audio.mp3

es el código para exportar a mp3, en donde el nombre del archivo descargado reemplaza a “get_stream.flv” y el nombre del audio de salida es audio.mp3

ffmpeg -i Some_YouTube_Video.flv -acodec vorbis -aq 60 -ac 2 Just_The_Audio.ogg

y esta otra es para el formato libre .ogg

GNU/Línux cada día me sorprende por su simpleza…