Archivo

Archivo para Agosto 2009

Lanzador de aplicaciones en Python para ubuntu…

Agosto 20, 2009 Otto Deja un comentario

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

Agosto 1, 2009 Otto 6 comentarios

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