/images/avatar.png

Trabajo Practico de ECG

Como ya me siento con nostalgia por el abandono de la tarea docente, voy a empezar a mostrar algunas imágenes de mi pasada labor. Acá pueden ver uno de nuestros trabajos prácticos, en el cual nuestro ayudante de cátedra Jonathan se somete al registro del electrocardiógrafo que armaron nuestros estudiantes durante el último cuatrimestre. Maxi, otro de nuestros ayudantes, no sale en la foto porque justo un instante después debió salir corriendo a llamar una ambulancia, dado que ocurrió un pequeño desperfecto con el bloque de aislación. Estos alumnos que no prestan atención a las normas… (en este caso, hay que decirlo, fue el grupo de Juan y Chelo).

Pandoc, conversión de org-mode a restructuredtext

Pandoc es un software para hacer conversión de archivos de texto entre distintos lenguajes de markup. Me viene bien probarlo porque me gustaría escribir mis entradas del blog desde org-mode (que uso con mucha frecuencia) y obtener el mismo texto en versión restructuredText, que es el formato en el que escribo el blog (con Pelican).

La instalación de Pandoc requirió un pequeño ajuste respecto de lo habitual en Manjaro, ya que el programa no estaba disponible desde los repositorios que vienen por defecto. Tuve que hacer los ajustes que se describen en la wiki de Arch. Estos fueron los 5 pasos:

Sorpresas del pasado

Hoy apenas fue posible encontrar actividades porque el desgano y el malhumor se propagan como pseudópodos del horrendo calor. Por la ventana irremediablemente abierta entra el ruido del tránsito y canciones que deben parecerle fantásticas a los pibes de la gomería. En esta lava de incomodidad tuve la iniciativa de aprender a usar una famosa extensión de Emacs (org-mode) como agenda electrónica, y la verdad es que todo lo bueno que había escuchado resulta ser cierto. No es la primera vez que uso org-mode, pero sí es la iniciación en las funciones de agenda.

Mageia y Manjaro

Empezó a haber problemas para actualizar el sistema (Mageia), que mostraba un mensaje diciendo que había actualizaciones listas para instalarse, pero no hacía nada al hacer click sobre instalar. Logré que se produzca la instalación desde una consola con sudo urpmi --auto-update.

También dejó de funcionar el programa de configuración del sistema al que se accede desde herramientas/herramientas del sistema/configure su computador. Pero en algún momento volvió a andar. :)

Listas en Python

Apuntes del capítulo 10. Lists, de Think Python.

Traversing

To traverse es el verbo que se refiere al acceso secuencial de los elementos de una lista. La siguiente es una forma de "traversear" una lista:

1
2
for cheese in cheeses:
       print cheese

Si se necesita modificar algún elemento de la lista es mejor hacer:

1
2
for i in range(len(numbers)):
       numbers[i] = numers[i] * 2

Agregar elementos a una lista

Se pueden agregar elementos individuales a una lista con append.

Tutorial sobre control de versiones (parte 4)

Indice del Tutorial

  • Parte 1. Cómo armar un repositorio local
  • Parte 2. Cómo subir el repositorio local al remoto
  • Parte 3. Cómo colaborar en un mismo repositorio remoto
  • Parte 4. Cómo resolver conflictos

Para ver las versiones (en inglés) en las cuales se basa este tutorial, podés visitar la página de Software Carpentry

Cuándo aparecen los conflictos

El sistema de control de versiones permite que la gente trabaje en paralelo editando sus programas en código fuente. En realidad, se puede usar para cualquier tipo de archivo con texto plano (me parece fantástico para informes, relatos, blogs como este, etc).

Autoaprendizajes

No recuerdo en qué momento fue que pronuncié las palabras mágicas, pero cuando sea que haya ocurrido, se abrieron portales hacia temas inexplorados dentro de un mundo que creía conocer.

En los últimos meses (¿10? ¿20?) me encontré con:

  • un lenguaje de programación fantástico por su sencillez y potencia (Python), junto con un conjunto de librerías para tareas científicas: matplotlib, numpy, pandas, etc.
  • la idea del control de versiones (que es una herramienta magnífica para quienes escribimos todo tipo de textos que al ir corrigiendo dejan una huella dificil de seguir desde su versión inicial hacia su versión actual, ya sea que se trate de programas, entradas de blog o informes científicos o técnicos). En particular Git y GitHub.
  • el deseo de colaborar en el desarrollo colectivo de software, cosa que creo que en el futuro de mediano plazo espero concretar.

Avancé con el aprendizaje de Emacs (con Prelude, actualmente en uso, y Ergoemacs, que por el momento dejé de usar pero igual creo que está buenísimo, de ahí surgió el interés por los teclados con distribución Dvorak que uso actualmente), descubrí el IPython Notebook (y encadenado con eso ahora descubrí el lenguaje Julia). Aca pueden ver una imagen del IPython Notebook mientras lo usaba para un trabajo de Dosimetría.

Tutorial sobre control de versiones (parte 3)

Indice del Tutorial

  • Parte 1. Cómo armar un repositorio local
  • Parte 2. Cómo subir el repositorio local al remoto
  • Parte 3. Cómo colaborar en un mismo repositorio remoto
  • Parte 4. Cómo resolver conflictos

Para ver las versiones (en inglés) en las cuales se basa este tutorial, podés visitar la página de Software Carpentry

Probando el cooperativismo

Vamos a practicar cómo se realiza una colaboración a través de un repositorio en Github. Para ello nada mejor que colaborar con uno mismo. Lo que hago es trabajar con dos cuentas en Github, corriendo un usuario en mi PC de escritorio y el otro dentro de una máquina virtual dentro de la misma PC (aunque también lo podría hacer desde una notebook, o desde otra sesión de esta misma computadora, pero decir que uno corre una máquina virtual con Linux suena mucho más god-level). No voy a detenerme a explicar nada sobre las máquinas virtuales porque además de ser demasiado sencillo también es off-topic, y no quiero offtopiquearme. ¡Cómprense un amiguito y chau!

Escritorio cómodo y atajos de teclado

Me cuesta encontrar un modo cómodo de trabajar con Emacs y otros programas en KDE. Como creo que voy encontrando cosas que me resultan funcionales, las resumo aca.

Sirve trabajar con 4 workspaces (areas de trabajo) en KDE. En el espacio 1 tengo el navegador, en el 2 tengo Emacs y en el 4 tengo un terminal. Cambio de espacio con C-7 (espacio 1), C-8 (espacio 2), C-9 (espacio 3) y C-0 (espacio 4). Para mover la ventana de un programa a un espacio de trabajo lo hago con M-7, M-8, M-9 y M-0 (los fans de emacs saben que M es Meta, y que eso significa en un teclado convencional la tecla Alt).