miércoles, 31 de diciembre de 2014

Python: jugando con PyZenity


A continuación una serie de ejemplos muy básicos usando la librería PyZenity, ya antes había escrito algo sobre esta.  La documentación se encuentra en: http://brianramos.com/software/PyZenity/docs/

nota: Para realizar estos ejemplo se uso  Sublime Text y la terminal de comandos de Linux.

1. Un ejemplo sencillo para obtener la fecha del sistema:
try:
    import PyZenity
    fecha=PyZenity.GetDate('Por favor selecciona una fecha',selected=False)
    PyZenity.InfoMessage('Fecha seleccionada '+str(fecha))
except ImportError:
    print "necesitas instalar la librería PyZenity"




2. Supongamos quiero mostrar un mensaje de error del tipo 'alert' entonces escribiría algo así:

from PyZenity import ErrorMessage
try:
    import imaginario #no existe esta librería, provocará un error
except ImportError:
    ErrorMessage('No existe la librería: imaginario')




3. Si queremos seleccionar una carpeta de nuestro sistema ocuparemos GetDirectory:

from PyZenity import GetDirectory
from PyZenity import InfoMessage

dir=GetDirectory(multiple=False,selected=None,sep=None)
InfoMessage("seleccion: "+str(dir))




4. Ahora usamos GetFilename para obtener el nombre de un archivo:

from PyZenity import GetFilename
from PyZenity import InfoMessage

arch=GetFilename(multiple=True,sep='|')
InfoMessage("seleccion: "+str(arch))





5. Uso de Question e InfoMessage:
from PyZenity import Question
from PyZenity import InfoMessage

if Question('Tienes instalado Linux?'): #nos devolverá un booleano
    InfoMessage('Bienvenido')
else:
    InfoMessage('Deberias instalar Linux')



6. Uso de Notification, puede servirnos para crear mensajes de notificación.

from PyZenity import Notification

try:
    import imaginario
except ImportError:
    Notification(text='Ha ocurrido un error')



Son solo algunas cosas que se pueden hacer con PyZenity.

domingo, 14 de diciembre de 2014

¿Por qué programamos?

Es una pregunta que deberíamos hacernos antes de empezar a estudiar y/o aprender programación. La pregunta parece tan sencilla y compleja a la vez.

¿Por qué programamos? Algunos dirán que programamos porque nos pagan, otros porque les parece muy divertido y otros más divagarán en sus respuestas.

Tal vez la respuesta más lógica (y adecuada) es porque necesitamos resolver problemas. Es obvio que estos problemas tienen que ver con las empresas o centros de trabajo donde estamos. Donde se nos paga por crear programas o depurar proyectos existentes.


También existen personas que programan porque les motiva a crear cosas y no necesariamente estudiaron computación (o algo relacionado con las computadoras).  Así como hay gente que programa aunque no les guste (sic). 

Con el tiempo "el gusto de programar" puede terminar; gente que es muy buena programando y resolviendo problemas relativos a la programación, pero que termina odiando su trabajo.

Los que nos dedicamos a la programación debemos entender que no todos sabemos de todo, algunas cosas nos parecerán muy sencillas y otras nos provocaran mucha frustración al no poder resolverlas lo más rápido posible.

También la frustración de usar un lenguaje o herramienta que no nos guste, por ejemplo, usar Visual Studio (con C#) en lugar de Java o Python con Eclipse o cualquier otro IDE; las fechas de entrega de proyectos, las desveladas, no tener vida social, soportar personas que no nos agradan, etc..

A veces tienes que trabajar con gente que no tiene idea de lo que es la programación e ignora cual es tu trabajo, o peor  que ni el mismo tiene idea de lo que él hace ahí.  Su jefe inmediato le pide que ponga a trabajar a los de sistemas. ¿En qué? Ni él mismo lo sabe, solo hace lo que le pidieron.

En los comics de Dilbert se puede ver cada situación que viven los programadores, lo manejan de una manera muy sarcástica, pero aunque parezca exagerado no dista mucho de la realidad.

Para concluir, programamos porque necesitamos resolver problemas de la gente, por ejemplo, diseñar un programa para los cajeros automáticos, hacer que la interfaz sea lo más sencilla para el usuario final (aunque esta comprobado que eso no ayuda mucho, ya que la gente muchas veces no sabe usarlos aunque solo consista en apretar unos cuantos botones).