Monocaffe Connections Manager 0.7

Monocaffe Connections Manager 0.7 está lista para ser descargada. Esta nueva versión contiene:
  • Configuración visual de las consolas (transparencia, fuente, colores)
  • Configuración de los clientes (binario y opciones por defecto)
  • Permite modificar fácilmente las conexiones.
  • Reordenado de las pestañas
  • Ayuda en linea
  • Instalación automatizada
  • Paquete .deb para Ubuntu
Monocaffe Connections Manager 0.7 is ready for download. This new version adds:
  • Visual configuration of consoles.
  • Clients configurations (binary and default options).
  • Easily modify connections data.
  • Tabs rearrangement
  • Online Help
  • Automatic instalation by distutils
  • Ubuntu package


ScreenShots!!!



Monocaffe Connections Manager 0.6

Monocaffe Connections Manager 0.6 está lista para ser descargada. Además de arreglar algunos fallos he añadido una caracteristica genial, un línea de comandos en cluster. Marcando diferentes pestañas y luego escribiendo en la parte inferior, se verá reflejado en todas las pestañas marcadas. De ésta forma podemos trabajar en varias maquinas a la vez.



Tambien he arreglado algunos bugs y añadido otros :-) los podeis ver en el launchpad de mcm en http://launchpad.net/mcm

Finalmente, me gustaria añadir una version hecha en Qt para KDE, pero prefiero continuar afinando las versiones de consola y de GTK, por lo que si alguien está interesado, que me deje un comentario aquí o en launchpad.

Pronto haré una entrada sobre todo el proceso para poder montar un paquete en launchpad para Ubuntu, siempre que me acuerde de todos los pasos, porque es lioso de cojones.

Monocaffe Connections Manager 0.5.3

La primera versión de mcm con el GUI GTK ya está listo para descargarse. La versión en terminal no conlleva cambios importantes. La nueva versión en GTK está evolucionando incluso para convertirse en un reemplazo de las tipicas terminales, con distintas opciones para abrir pestañas en local y hacia las distintas conexiones. Se agradecen comentarios.

New version of mcm with a GTK GUI. The terminal version hasn't changed since all changes apply to the new front-end. The new GTK version is evolving into a full replacement for a typical terminal application, with different options to open tabs on localhost and to the different connections. Comments are welcome.

Screenshots!

Main Window

 
Add a new connection

My Tools of the Trade

Como todo buen artesano, todos tenemos nuestras herramientas preferidas a las hora de trabajar, siguiendo el ejemplo de éste blog que me ha dado la idea y ya habiendo terminado por hoy con la versión GTK de mcm, voy a continuar éste meme:
Hardware:
  • En casa prefiero utilizar mi portátil Thinkpad T42 que ya tiene sus años pero sigue funcionando de maravilla gracias a Ubuntu 8.10
  • En el trabajo, un HP Pentium IV algo antiguo pero gracias a Ubuntu, funciona muy bien. Con una pantalla de 17''. En unos dias nos los van a cambiar por unos mejores con pantallas de 22''. Que ganas!!!

Software:
  • Ubuntu Linux Intrepid Ibex.
  • Gnome Terminal siempre está abierto, deberia añadirlo al inicio de sesión de GNOME.
  • Firefox tambien deberia iniciarse con la sesión.
    • Echofon (Twitter)
    • Download Status Bar
    • GMarks
    • NoScripts
  • VIM para todo lo que no sea Java.
  • Eclipse para todo lo que sea Java.
  • SQuirreL SQL Client para todo lo que sea BBDD.
  • DIA para cuando necesito abordar un problema de forma gráfica.
  • Evolution para mis correos.
  • Gaim
  • Sin SSH el mundo no sería lo que es :)
  • Finalmente, y no por echarme flores, cada vez utilizo más y más mcm, que además si falla en algo, sé arreglarlo. De hecho he añadido la opción de abrir una consola local.
Utilizo muchas otras, pero diariamente, estas son las herramientas que siempre se encuentran abiertas en mis escritorios virtuales.

Maldito iPod Touch

Necesito desfogarme para paliar un poco el odio que me merece Apple y todos sus productos. Hace unos dias, la empresa nos regalo a todos un iPod Touch de 8GB que realmente se agradece, es un dispositivo realmente hermoso, pero ya.
Es increible lo complicado que es utilizar el cacharro si tienes Linux cuando el mismo iPod utiliza Darwin, MacOS es un maldito Darwin con colorines y los anormales de Apple son incapaces de sacar un maldito iTunes multiplataforma.
¿Por qué? Sencillamente porque no les sale de los cojones al igual que a mi no me sale comprar un jodido Mac aunque me venga la vida en ello, seguiré repudiando todo lo que venga con la manzana.
Desde el mismo primer maldito momento que lo enciendes ya te está tocando los cojones ¿tengo que soltar más de 100€ para poder utilizar el elemento electrónico éste? Va a ser que no Mr. Jobs. Luego también espera que descargue música de su iTunes Store o como cojones se llame ¿para qué? ¿para que el día que el cacharro se quede sin pila y no quiera pasar por caja pierda todas estas? Otra vez, no.
Es irónico, mi primera computadora fue un Macintosh y sigo pensando que era un gran equipo con una excelente tecnología para su época.
Mis desprecios a Apple.
P.S. He hecho el jailbreak, instalado el mplayer y metido pelis via scp, por lo que al menos mi hija lo podrá utilizar para ver pelis... todo muy legal, sí señor.

Last Update: Al final se lo regalé a mi hermana que si tiene un MacBookPro y le gustan las chorradas de Apple. Que lo disfrute.

Estructura aplicaciones PyGTK

Quiero explicaros una de las cosas que veo menos en los tutoriales y es sobre las estructuras de directorios para aplicaciones Python. Sigue una estructura parecida a las de Unix (¿POSIX?). Esta es la que he seguido para mcm y estoy bastante satisfecho con ella, por lo que voy a utilizarla como ejemplo:
  • mcm
    • doc
      • INSTALL
      • CHANGELOG
      • BUGS
      • manpage
    • conf
    • logs
    • bin
      • mcm.sh
    • mcm
      • __init__.py
      • terminal
        • __init__.py
      • common
        • __init__.py
        • utils.py
        • models.py
        • controllers.py
        • exceptions.py
      • gtk
        • __init__.py
        • mcm-gtk.py
        • mcm.glade
        • mcm_icon.png
      • qt
        • __init__.py
        • mcm-qt.gtk
Una aplicación no es sólo el código fuente, por lo que el orden en la documentación, ficheros de configuración y otros, merecen un lugar donde desarrollarse de forma independiente al desarrollo de la aplicación misma.
Cada páquete o modulo de Python es definido por el fichero __ini__.py y serán estos los que podremos importar dentro de nuestros modulos y conseguir un empaquetado bien definido que nos permitira cumplir con facilidad el principio DRY.
De igual forma podemos ver que la misma estrúctura de directorios define un modelo MVC lo que facilita mucho el desarrollo para diferentes presentaciones. En mcm, reutilizamos las clases y métodos definidos para la aplicación CLI en las aplicaciones gráficas para GTK y Qt. Esto lo logramos, en el caso de GTK definiendo distintos eventos que utilizan a los controladores para crear y modificar nuestros modelos. Por ejemplo veamos como añadimos una conexión desde la vista GTK:

  • def add_event(self, widget):
  •     # Obtenemos de distintas formas los datos necesarios
  •     connection = connections.connections_factory(x, y, z, a, b, c, d)
  •     connections.append(connection)
  • def save_and_quit(self):
  •      dao = Dao()
  •      dao.save(connections)
Lo mejor es que esto mismo lo hacemos en la parte Qt y cualquier otra vista que se nos ocurra.

Diferentes configuraciones para vim y vimdiff

Vimdiff es una utilidad muy importante de vim. Nos muestra en colores las diferencias entre dos o más ficheros o directorios y además podemos utilizarla como herramienta de "merge".
Dado que vimdiff es sencillamente vim en modo diff, se carga el mismo fichero .vimrc. Asi que si deseamos definir distintas opciones según el modo que utilicemos os propongo ésta solución:

Crear una función como:
function Vimdiff()
    nmap <F7> [czz
    nmap <F8> ]czz
    nmap <F2> do
    nmap <F3> dp
endfunction

Y a continuación la magia, añadimos al final de nuestro .vimrc lo siguiente:
au FilterWritePre * if &diff | call Vimdiff() | endif

He definido que las teclas F7 y F8 vayan a la anterior y posterior diferencia y centren la pantalla en estas. Las teclas F2 y F3 mueven los cambios de un lado del buffer al otro.

Espero os sea útil.

Monocaffe Connections Manager 0.4

Nueva versión de mcm para lo cual he creado un nuevo sitio para mantener toda la información al respecto.

 Monocaffe Connections Manager

Esta nueva versión añade la posibilidad de importar un fichero CSV generado a partir de una hoja de cálculo y de exportar a un fichero HTML. Tambien he añadido conexiones HTTP para consolas de Jboss. Además he iniciado la creación de la aplicación en GTK, por lo cual he añadido la opción de grupos para facilitar la ordenación. Finalmente he mejorado la introducción de opciones para los distintos clientes, por lo que ahora se pueden definir incluso túneles SSH.

Descargad desde el sitio del proyecto.