Zazpe – Gestión de asistencias

Hace un tiempo el director del coro Monseñor Zazpe, de la parroquia San José, me pidió algo para administrar las asistencias de los coristas. Empecé a desarrollar un programa en Mono con Gtk#. Luego de algunas dificultades que tuve para que funcione bien en Windows, me decidí por un camino más seguro: Windows.Forms. Él (la persona que me pidió este programa) trabaja en Windows, así que eso hizo que definitivamente me incline por ese toolkit.

Ventana principal de Zazpe

Ahora estoy arrepentido 🙁 Luego, después de que la interfaz esté bastante avanzada, me di cuenta de por qué aquellas pruebas con Gtk en Windows no funcionaron. Pero bue… ya está, quizá mas adelante haga algo.

UPDATE: Pueden visitar ésta página con más información al respecto
Continuá leyendo Zazpe – Gestión de asistencias

Planificación por prioridades en Minix

De eso se trató el TP2 de DISO (Diseño e implementación de Sistemas Operativos). Al terminar de implementar una idea de cómo hacerlo, debíamos correr un programa dos veces, cambiarle la prioridad a uno de los dos, y verificar que uno imprimía más veces su pid que el otro.

El enunciado era claro, y guiaba bastante en cómo hacerlo. Además ya habíamos asistido a una clase de práctica, por lo que no deberían haber aparecido complicaciones mayores. Aunque en realidad no terminó siendo así.

Estaría muy bueno saber cómo hace la gente del kernel Linux para debuggearlo. Pablo Pessolani, el profesor de teoría y titular de DISO, nos explicaba que la técnica consiste en usar la muy conocida función printf, así de simple. Luego de reflexionarlo un poco, la verdad es que no parece haber otra alternativa. Siguiendo la misma estrategia, así fue como testeamos el código modificado de Minix 2.0.2 para completar el trabajo práctico 2.

Sin embargo me quedó la pica de cómo hacen los hackers de Linux para testear sus modificaciones. Pensaba que quizá tengan alguna forma más cómoda y adecuada. Entonces averigué qué técnicas utilizan, por simple curiosidad, y me sorprendió un poco el descubrimiento.

Continuá leyendo Planificación por prioridades en Minix

Una estrategia para desarrollar en Minix

En Diseño e implementación de Sistemas Operativos (diso, de a aquí en mas) tenemos que tocar el código fuente del kernel Minix. El primer trabajo práctico se trata de la implementación de una llamada al sistema.

Por supuesto que utilizamos algún emulador para correr este mini Unix. Pero ¿cómo trabajar? ¿cómo modificar el kernel y testearlo? ¿Desde Minix con vi y la shell que no recuerda los comandos que ejecutamos?. Estaría bueno trabajar en GNU/Linux (o el sistema que utilicemos), mover los cambios de alguna forma a la partición de Minix, compilar allí y verificar que todo funcione correctamente.

Continuá leyendo Una estrategia para desarrollar en Minix

¿Qué tan personalizable sos, GNOME?

Abro el directorio “pelis” y le hago doble click al video que me acabo de bajar. Tengo también los subtítulos srt con el mismo nombre que la peli, para que Totem los cargue automáticamente al momento de la reproducción. Ops, los subtítulos son demasiado pequeños. Me dirijo al menú Editar/Preferencias para cambiar el tamaño. No tardo en darme cuenta que no hay una opción para aumentar el tamaño de los mismos, y digo que no tardo porque ¡hay tan pocas opciones disponibles!

Continuá leyendo ¿Qué tan personalizable sos, GNOME?

Beagle

Estan buscando algo. Saben que en algún lugar lo vieron: en la mesa, en la compu, en un libro, en el diario, en la agenda… en algún lugar está, pero ¿dónde? Luego de un tiempo encontrando cosas (menos la buscada) uno se da por vencido: “Vaya uno a saber dónde está…”. En este preciso momento se acaba de cumplir una ley de Murphy:

Usted siempre encontrará aquello que no está buscando.

Y es verdad, y esta científicamente comprobado.

Continuá leyendo Beagle

monodevelop 0.11

Después de que salió la versión 0.10 (que traía Stetic, para diseñar las interfaces en Gtk#), rapidamente fue liberada ésta, la 0.11. La rapidez con la que largaron la anterior (todos esperaban algo como Stetic en MonoDevelop), dio como resultado una versión con varios bugs: MonoDevelop 0.11 viene a corregir algunos.

Pongo a disposión los binarios, para el que desee probar esta versión. Aquí tienen el torrent. Ahora les prometo que cuando empiecen a bajarlo habrá algún seed 🙂 Lo que pasa es que aparentemente MLDonkey (cliente p2p que uso) no funciona del todo bien con Bittorrent.

De todas formas, sino funciona bien la descarga, o si encuentran algún problema con MonoDevelop, avísenme y vemos cómo lo solucionamos.

GUADEC

GUADEC

Una palabra que siempre leí y nunca le daba importancia. Sin querer descubrí que esa sigla significa GNOME User And Developer European Conference.

Es un evento que se hace anualmente en (adivinen dónde) Europa, y el tema es (adivinen cuál) el desarrollo de GNOME (GNU Network Object Model Environment).

Leyendo y averiguando un poco sobre la organización (sobre todo viendo el cronograma de la edición del año pasado) se me vino a la mente la 1ra Jornada de Python en Santa Fe, que se organizó hace poco. Por supuesto que esto es algo mucho más complejo y grande.

Continuá leyendo GUADEC

Mono, Gnome.Print y Pango

Cuando entregamos el TP de diseño, Catedrax usaba como generador de reportes a NeoDataType. Éste es un generador gratuito, pero no libre, por lo que decidimos dejar de usarlo.

Me puse a buscar en SourceForge algún reemplazo, pero no encontré nada que convenza. Ahora un requisito más es que funcione con Mono, ya que nos pasamos a esta implementación libre de .NET.

Continuá leyendo Mono, Gnome.Print y Pango