Lanzador de aplicaciones en Python para ubuntu…
Ahí les dejo un lanzador de terminales que hice para la empresa donde trabajo. Simplemente muestra cuatro botones y ejecuta terminales de gnome (gnome-terminal) y a su vez les envia parámetros de conexión (protocolos ssh y telnet).
#!/usr/bin/env python
# manejo de conexiones desde python
import pygtk
pygtk.require("2.0")
import gtk
import os
class HacerLlamadas:
def enl_desarrollo(self, widget, data=None):
os.system("gnome-terminal -e \"ssh 172.16.1.3 -l mi_login\" &")
def enl_produccion(self, widget, data=None):
os.system("gnome-terminal -e \"telnet 172.16.1.4 -l mi_login\" &")
def ftp_desarrollo(self, widget, data=None):
os.system("gnome-terminal -e \"ftp 172.16.1.3\" &")
def ftp_produccion(self, widget, data=None):
os.system("gnome-terminal -e \"ftp 172.16.1.4\" &")
def delete_event(self, widget, event, data=None):
gtk.FALSE
def destroy(self, widget, data=None):
gtk.main_quit()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("delete_event", self.delete_event)
self.window.connect("destroy", self.destroy)
self.window.set_border_width(5)
self.window.set_title("Enlaces Alcanos")
self.box1 = gtk.VButtonBox()
self.window.add(self.box1)
self.btn_edesa = gtk.Button("Servidor de desarrollo")
self.btn_edesa.connect("clicked", self.enl_desarrollo, None)
self.btn_eprod = gtk.Button("Servidor de produccion")
self.btn_eprod.connect("clicked", self.enl_produccion, None)
self.btn_fdesa = gtk.Button("Ftp de desarrollo")
self.btn_fdesa.connect("clicked", self.ftp_desarrollo, None)
self.btn_fprod = gtk.Button("Ftp de produccion")
self.btn_fprod.connect("clicked", self.ftp_produccion, None)
self.box1.set_border_width(5)
self.box1.set_layout(gtk.BUTTONBOX_SPREAD)
self.box1.set_spacing(5)
self.box1.pack_start(self.btn_edesa, True, True, 0)
self.box1.pack_start(self.btn_eprod, True, True, 0)
self.box1.pack_start(self.btn_fdesa, True, True, 0)
self.box1.pack_start(self.btn_fprod, True, True, 0)
self.btn_edesa.show()
self.btn_eprod.show()
self.btn_fdesa.show()
self.btn_fprod.show()
self.box1.show()
self.window.show()
def main(self):
gtk.main()
if __name__ == "__main__":
ventana = HacerLlamadas()
ventana.main()
Aprendiendo Symfony y Codeigniter
Desde hace algunos días me la he pasado discutiendo con un amigo del trabajo acerca de nuestro futuro como programadores. Esto me llevo a preguntarme ¿ahora que debo hacer? Personalmente me gusta mucho desarrollar para la web (poco los programas de escritorio) y pues aunque nunca he hecho algo “verdaderamente” enriquecedor, estoy seguro de que el momento llegará tarde o temprano.
Así pues, analizando mi situación me dediqué a volver a lo que mejor sabía hacer: leer blogs de tecnología, de programación de entretenimiento, en fin… por este largo lapso de tiempo encontré lenguajes y modelos de trabajo que me llamaron mucho la atención, pero que lastimosamente en mi país (Colombia) son poco apetecidos, ya sea por desconocimiento o por que definitivamente seguimos bajo el monopolio de las empresas que siempre han dominado el mercado e impiden alejarnos de ellas por uno u otro motivo.
Bueno, aquí les dejo un pequeño resumen de los dos frameworks para web que mas me ha llamado la atención:
Symfony: es un framework de desarrollo de páginas web escrito en php y que ha venido creciendo y volviéndose muy popular en estos días, se basa en el modelo de trabajo MVC (modelo, vista, controlador) y aún lo sigo aprendiendo (aunque es sencillo, requiere tiempo pues tiene una curva de aprendizaje algo elevada). Su documentación es muy amplia y no tiene desperdicio alguno. Si eres programador web te lo recomiendo en un %100 pues notarás mucho las ventajas que se te presentan.
Codeigniter: este es otro framework que no tiene desperdicio, si quieres desarrollar una aplicación web y no tienes suficiente tiempo para aprender Symfony, Codeigniter es la solución. Hice muchas cosas que normalmente me hubieran podido tomar mucho tiempo si las hubiera hecho de cero (re-inventando la rueda). También te lo recomiendo en un %100.
Me gustaría mucho poner algunos ejemplos, pero tengo poco tiempo y además siento que sería repetir de una u otra forma lo que pueden encontrar accediendo a los enlaces de ambos proyectos y sobre todo a librosweb.es
Tutorial SDL, tus primeros pinitos en esta librería!
Bueno, estoy seguro de que muchos de ustedes les gustaría programar en esta librería enfocada a videojuegos. Por mi parte lo he hecho ya varias veces con resultados muy óptimos, igual desarrollos pequeños y que definitivamente solo los he hecho por diversión.
![]() |
SDL (Simple DirectMedia Layer) es un conjunto de liberías multisistema y multi lenguaje (existen wrappers que nos permiten programar en varios lenguajes y no solamente en C++) para el desarrollo de gráficos en 2D de una manera rápida y sencilla, que aún teniendo estas dos características no le quitan potencia. |
Siendo así, y como muchos saben que conseguir una buena guía o tutorial de esta librería en español no es nada fácil, pues “Antonio García Alba” ha pensado en todos nosotros los no bilingües y como Proyecto de Grado nos ha regalado bajo licencia GNU FDL este maravilloso tutorial!
Así que ya sabes, si eres un programador novato como yo, y te han enseñado C++ en el cole o Universidad (como a mi) y siempre haz odiado esa pantallita negra de DOS o Terminal (como yo) pues ¿que estás esperando? Deja de leer este pinche blog y ponte a aprender!
¿Un buen reproductor musical para Linux?
Bueno, estas entradas suelen ser polémicas; pero pues todo depente del punto de vista… el equipo de prueba que usé fue mi PC de Escritorio.
Distribuciónes de prueba: Ubuntu/Kubuntu/Xubuntu:
- Exaile bastante bueno, pero nunca pude hacer reconocer las teclas multimedia. Muy liviano e intuitivo, en mi lista va primero para Xubuntu por su bajo consumo de RAM!
- Listen tal vez no esté muy bien distribuido y te asuste un poco por sus cuatro columnas, la verdad su aspecto no me agradó mucho y definitivamente es muy lento cargando la información de los Mp3.
- Banshee solo fue instalarlo y de una vez empezó a descargar las CoverArt de cada álbum, rápido y muy intuitivo… pesado en esta distribución, pero un gran pro: soporta visualización de videos! Aunque consume poca RAM, el exaile lo supera!, en mis preferencias va segundo!
- Rhythmbox el que viene por defecto (en GNOME/Ubuntu)… bastante bien, liviano, rápido, soporta covers… en fin, es mi elegido para Ubuntu, ya que en Xubuntu pidio varios plugins que por más que intenté no pude hacer funcionar, además no detectaba las teclas multimedia…
- Amarok el que viene por defecto… pero en (KDE/Kubuntu)… excelente, muy administrable, incorpora varios plugins, tiene ecualizador de sonido, en fin… es una maravilla, pero como todo lo bueno nunca lo es tanto: gran consumo de memoria. Recomendado %100 para máquinas con más de 1Gb de RAM.
Un consejo final: prueba cada una de esas… solo te quitará algo de tiempo y espacio en disco, pero al final te darás gusto sabiendo que tienes lo mejor (a tu gusto y medida).
PD: todos esos reproductores se encuentran en los repositorios oficiales, el único que no se encuentra actualizado (al menos con varios cambios perceptibles) es el Banshee!
