Automágica: durante 2017 estoy trabajando bastante en Automágica, mi software para editar libros: Más información - Posts relacionados

Acomodar imágenes con GQView

Algunas cámaras de fotos tienen un dispositivo que detecta su posición, entonces si sacamos una foto con la cámara posicionada verticalmente, la imagen resultante es más alta que ancha. Lo mismo sucede en el caso contrario, si se saca una foto con la cámara en forma horizontal, la imagen resultante será más ancha que alta.

Esto parece bastante bueno. Lamentablemente muchos dispositivos (cómo los celulares) no vienen equipados con este dispositivo y todas las fotos terminan siendo, por ejemplo, más altas que anchas. Otra cosa a tener en cuenta es que la mencionada funcionalidad no funciona del todo bien en todas las cámaras. Si bien en el siguiente caso es algo apropiado:

En este no lo es:

Y nos interesa convertirla en:

El problema crece cuando sacamos muchas fotos[0]. Ya sea para compartirlas en Internet o para guardarlas en nuestra computadora queremos que estén posicionadas correctamente. En GNU/Linux es fácil rotar una imagen, el comando convert de ImageMagic, por ejemplo, lo hace en un instante. Si tenemos muchas imágenes a retocar, podemos hacer un script que recorra una lista de archivos y sobre todos realice el proceso. Pero en la mayoría de los casos no será tan simple. Querremos modificar algunas imágenes, pero querremos que otras se mantengan en su posición original. Lo ideal es utilizar un visualizador de imágenes y cada vez que encontramos una cuya posición queremos rotar, indicarle esto a visualizador para que la imagen sea rotada definitivamente.

GQview viene preparado para hacer esto, utilizando el comando jpegtrans. No tenía instalado este programa en mi computadora, pero pude editar la configuración del software para que ejecute mis comandos personalizados.

En Editar/Preferencias... solapa Editores podemos especificar una secuencia de comandos para ser ejecutados al elegir una opción del menú:

Completé las filas 7 y 8 con los siguientes valores:

Rotar imagen (sentido horario) - convert -rotate 270 %p %p

Rotar imagen (antihorario) - convert -rotate 90 %p %p

Ahora cuando estoy visualizando imágenes y encuentro alguna mal orientada, simplemente tengo que apretar Ctrl-7 u Ctrl-8 para ajustarla.

[0] en mi caso unas 1000, en mi viaje a Brasil.


4 de Octubre - 3ra Jornada Python en Santa Fe

El próximo 4 de Octubre se llevará a cabo en instalaciones de la Universidad Tecnológica Nacional, Facultad Regional Santa Fe, la 3ra Jornada Python en Santa Fe [1]. Orientadas a programadores y profesionales de sistemas, estudiantes y público en general interesado en la programación, los invitamos a participar registrándose en nuestra web [2]. La asistencia es libre y gratuita.

Esta jornada consiste en una serie de charlas relacionadas con el lenguaje de programación Python. Ya está disponible el programa del evento [3].

¿Qué es Python?

Python es un lenguaje de programación interpretado, dinámico y orientado a objetos que puede ser utilizado en diferentes desarrollos de software y en múltiples plataformas. La característica de ser multiplataforma es algo muy interesante para los desarrolladores. El lenguaje se encuentra soportado en Unix, GNU/Linux, Widows/DOS, Macintosh… y la lista sigue. Desde grandes mainframes a pequeñas Palm. En la web oficial [4] del lenguaje encontrará mayor información y mucha documentación.

Y en el país existe una comunidad de desarrolladores muy fuerte, agrupada en PyAR, Python Argentina [5].

¿Quién utiliza Python?

La NASA, Google, Yahoo, Walt Disney y Red Hat son algunas de las grandes organizaciones que trabajan con este lenguaje. Google contrató a su creador, Guido van Rossum. En la mayoría de las distribuciones GNU/Linux encontramos Python ya instalado (se usa mucho como lenguaje de script para automatizar tareas). Y en el país también hay numerosas empresas que trabajan con Python: Lunix, Except, Lambda Sistemas, etc.

Recuerden registrarse [2] y los esperamos el 4 de Octubre!

[1] Web de la jornada: www.pythonsantafe.com.ar

[2] Registración: www.pythonsantafe.com.ar/registracion

[3] Programa: www.pythonsantafe.com.ar/programacion

[4] Web del lenguaje: www.python.org

[5] PyAR: www.python.com.ar


Cecilia Music Game

La semana pasada se desarrolló PyWeek 7. Este año participé con una entrada solo (se puede participar solo o en equipo) e hice un pequeño juego en las 10 horas que tuve para dedicarle a la competencia: Cecilia Music Game. Un juego en el que escuchamos una canción y luego tenemos que intentar reproducir eligiendo cuerdas de distinto largo (el tema de la competencia era "The length of a piece of string").

Download: cecilia_music_game-1.0

Video: http://www.youtube.com/watch?v=Z5P0GB00RpY (gracias, Ema)



Saliendo para Brasil

En unas horas estamos saliendo para Brasil. Vamos a visitar a mi hermana que está estudiando este cuatrimestre en Florianópolis.

Antes de salir del país voy a sacar algunas fotos y subirlas en tiempo real a mi álbum Fotos desde el camino, pero estando en Brasil no voy a poder :(

La última foto tomada siempre aparece en la portada de este blog.

Nos vemos a la vuelta!

PS: voy a estar usando mi viejo número de teléfono.


Notas para tener en cuenta a la hora de instalar Savi

Este año en una de las clases de Comunicaciones expliqué cómo instalar Savi. Savi es un visualizador de constelaciones de satélites. Permite simular las órbitas y coberturas de satélites en 2 y 3 dimensiones. Puede simular constelaciones como Iridium o Globalstar entre muchas otras.

Los pasos que seguí para realizar la instalación en GNU/Linux (Ubuntu) fueron:

    <li>Descargar el paquete de la <a title="Savi Home" href="http://savi.sourceforge.net/" target="_blank">página principal</a> (1.3.2 en su momento).</li>
    
    <li>Instalar los paquetes tcl8.4-dev y tk8.4-dev (contienen los <em>headers</em> necesarios para la compilación).</li>
    
    <li>Revisar el archivo <code>src/Makefile</code> (para saber cómo se realizará la compilación).</li>
    
    <li>Instalar el paquete motif-client o lesstif (usados en la GUI).</li>
    
    <li>Instalar geomview (software utilizando para la visualización 3D de la simulación, Ubuntu tenía un paquete para el mismo).</li>
    
    <li>Ejecutar el comando <code>make ARCH=debian</code></li>
    

Eso es todo, luego del proceso (si no hay errores) se obtiene el ejecutable savi.

En Windows los pasos son similares (también se requiere compilar el software), las principales diferencias en el proceso son:

  1. Se necesita tener instalado Cygwin (un entorno Unix sobre Windows): instrucciones.
  2. El comando make a ejecutar será make ARCH=cygwin

En ambos casos para ejecutar Savi con Geomview hay que pasarle al ejecutable geomview el ejecutable savi como argumento, por ejemplo:

$ geomview savi desde la línea de comandos.

Algunos ejemplos visuales:

Iridium

Sirius


Fotografiando desde el camino

Hace unos días empecé a publicar fotos instantáneas en mi blog. Basándome en el servicio gratuito de Personal puedo tener en mi blog, en menos de un minuto, fotos que tome con mi celular.

Album Personal es un servicio que te permite subir sin cargo fotos desde tu celular a un espacio privado en la web. Una vez que las fotos están ahí puedo jalarlas (pool) al servidor dónde está alojado mi blog.

Este procesos de pooling es llevado a cabo mediante un script escrito en Python (sirviéndome de las librerías BeautifulSoup, urllib2 y cookielib) que puedo ejecutar directamente desde mi celular utilizando MidpSSH (un cliente ssh escrito en Java para celulares).

Por ahora solo se visualiza la última foto que subo en la página principal del blog. Pronto voy a implementar un álbum desde el cual ver también las fotos anteriores.


Nuevo número de celular

Desde ayer a la tarde tengo un nuevo número de celular. Aproveché el viaje de hoy a Pellegrini para enviar un mensaje masivo a todos mis contactos del viejo celular comunicándoles mi nuevo número.

¿No te lo mandé? ¿Debería haberlo hecho? Mandame un mail y te lo paso!



La cultura es

El viernes viajé a mi pueblo, llegué al rededor de las 10 de la noche y para las 11 ya estaba en la Fiesta Nacional de las Culturas.

El programa, como dice su sitio web, era:

Viernes 28 de diciembre: Espectáculos de Música y Danza de la región y las presentaciones de los Elencos de "Kumelén":Fiesta Nacional de las Culturas
  • Murga "Los Piamtados".
  • Ballet Juvenil "Sueñero".
  • "Por Vos", música popular.
  • "Ballet Popular Sueñero".
  • Perdón Tango", Carlos Pellegrini.
  • "Casitango", Piamonte.
  • "Intentango", El Trébol.
  • "Andando", Carlos Pellegrini.
  • "Nunamanta" ("desde el alma", en quichua), Piamonte.
  • "Makipura" ("mano con mano", en quichua), El Trébol.

En el programa no parece haber nada fuera de lo común, artista prodigioso o número internacional que justifique viajar casi 4 horas un viernes por la tarde. Sin embargo tenía una razón.

La semana anterior mi amigo Juan Manuel me había invitado a escucharlo cantar. El grupo del que forma parte se llama Canto Grupal y no es una banda de rock, un coro gregoriano o una escuela de canto. Es un grupo de gente que se junta a cantar por que les da placer, por que les gusta.

En mi opinión fue lo mejor de la noche. No por que sus voces sean excelentes, el acompañamiento de guitarras ejemplar o la afinación perfecta. Sino por que se trataba de una fiesta de la Cultura, y esa es justamente una de las mejores definiciones de Cultura: personas expresándose por placer.

Podés cantar, escribir o dibujar. O lo que se te ocurra, pero no dejes de expresarte.

Y así termina la reflexión del día, dejando la web para trabajar un poco en mis cuentos y escuchando a León Gieco.