acerca de los programadores

Interesante debate el que se ha producido en la blogosfera acerca de los programadores. La mecha la encendió Enrique Dans con su post ¿ Alguien ha visto un programador ?. Este post fue meneado enseguida y comenzaron a surgir réplicas, como la de de Ricardo Galli en su post Yo he visto unos pocos, la de Jordi Abad con ¿ Alguien ha visto a un programador motivado ? o la de Dani Sevilla en Sobre programadores y otras especies. En los comentarios de estos post se puede seguir el debate ampliamente.

Realmente no conozco la situación del mercado laboral, pero me alegra que se comience a valorar el trabajo de programador. Hasta ahora mucha gente ha visto a los programadores como un trabajo de segunda dentro de la profesión informática, y yo siempre he pensado que es el trabajo más importante. De un tiempo a esta parte vemos que las empresas más importantes de software organizan auténticas competiciones para cazar a los mejores talentos, por algo será.Me ha gustado especialmente el post de Ricardo Galli donde habla de la motivación de los programadores. Programar es dificil, eso ya lo sabemos lo que nos dedicamos a esto, y para mi hay un factor clave a la hora de diferenciar entre un buen programador y otro que no lo es. Este factor es la motivación implicita a la programación. Programar es un reto intelectual, uno de los mayores retos a los que te puedes enfrentar, y lo puedes enfrentar de una forma mecánica o como un reto. Conozco varios buenos programadores y todos tienen una característica común: disfrutan con su trabajo. Esa es la característica que distingue a los buenos programadores de los que no lo son. Puedes tener grandes conocimientos de algoritmica, orientación a objetos, conocer a fondo un lenguaje, pero si no te gusta programar nunca serás un buen programador.

sobre objeto persistente

Uno de los blogs que leo habitualmente es Objeto Persistente, de mi amigo el troesma René Flores. René es uno de los grandes gurús de los lenguajes Xbase, colaborador habitual de los distintos foros de xharbour y de FivewinHarbour y Xailer. Tiene unos conocimientos enciclopédicos sobre Xbase desde los tiempos de Nantucket, que ya es decir, y sus contestaciones llegan casi al nivel de clase magistral sobre el tema. Tuve la suerte de conocerle personalmente en una reunión de Olivares2000 y es una personal que habla por los codos. Pero lo que me remató fue oirle la traducción simultanea al inglés que le hacía a Patrick Mast de las ponencias de la reunión.

Hay un par de post suyos recientes que me han llamado la atención. Uno es programar con Visual Basic es obsoleto donde le hace un repaso a las versiones de VB y expone que programando con Xbase y sus GUI tiene mejor tecnología que con VB. En el otro, divagaciones sobre el mundo linux da su visión acerca de linux, y expone el motivo por el que no hay aplicaciones empresariales para linux.

No es cuestión de ir punto por punto refutando lo que dice René, pero creo que se equivoca. No se si VB es obsoleto, pero si tengo claro que xHarbour no es un lenguaje innovador. La comunidad de desarrolladores de xHarbour, que es un lenguaje open source, ha hecho un trabajo impresionante en los ultimos años para modernizar el lenguaje, pero todavía le queda tela para ponerse al nivel de Java, Python o C# por poner ejemplos. xHarbour ha clonado los modelos de objetos de estos lenguajes, pero ni tenemos espacios de nombres, ni pruebas unitarias, ni patrones ni servicios web, ni otras características de los lenguajes modernos. Es cierto que tenemos GUI con IDE que si están a la altura de lo que hay por ahí, pero creo el mundo xbase ahora mismo copia de otros lenguajes, y no al revés.

Y sobre Linux… pues creo que hace falta ir cambiando el chip. Ahora mismo es Windows quien copia de otros entornos, y no al revés, lo que nos hace darnos una idea que quien va por delante de quien. Cuando dije que quería comprarme un iMac recuerdo que alguien me dijo si pensaba pasarme al otro lado. Ahora que estoy en los dos lados, me doy cuenta de que la luz está precisamente al otro lado, y que en Windows vemos las sombras de lo que hay en el lado de la luz. Recuerdo que fue precisamente René quien llevaba en su portatitl Windows un dock como el de OS X. Windows anda perdiendo terreno entre los desarrolladores, tal como publicaba hace poco InfoWorld. Casi todas las empresas que conozco que hacen desarrollo para la web usan Linux u OS X, y cada dia más gente se plantea dar el salto con los problemas que están teniendo con Vista. Mis CD de Ubuntu ya han pasado por varias manos y seguro que pasarán por mas.

el fester de novelda

Estos meses he estado haciendo la web de la Junta Central de Moros y Cristianos de Novelda. Surgió como un favor a uno de mis mejores amigos que es el Vicepresidente de la Junta y lo he pasado muy bien haciendo la web. Me metí en el lio porque contaba con el apoyo de Manolo Boyer para todo el tema del grafismo. Manolo Boyer es un diseñador gráfico de Novelda que lleva hechos muchos Betanias, que es la revista de fiestas de Novelda, y es un gran profesional. Si quereis ver la web y conocer la Fiesta de Moros y Cristianos de Novelda, su historia, comparsas, actos festeros, premios a las filás, no dejeis de visitar el fester de Novelda.

Una foto mia con mi amigo José Luis Amorós, el Cano, origen y responsable último de este trabajo. Cano es Beduino, dela filà Xicots, y yo soy Negre Betànic, de la filà Viidones, la filà que más premios Arcadi Blasco ha conseguido.

programar en OS X

Desde que tengo mi iMac estoy mirando por la web la manera de hacer software para OS X. Cuando se habla de programación para este entorno lo primero que surge es Xcode, el entorno de desarrollo de Apple específico para OS X. El entorno completo viene incluido en la licencia de OS X, y hay un montón de información en la web de Apple sobre el paquete. Además se puede encontrar mucha información en otras web. A nivel de iniciación, yo estoy siguiendo dos tutoriales para novatos: Become an Xcoder y Xcode quick tour guide. Programar con Objective-C da un poco de respeto, pero hay que hacerse la idea de al menos conocer la herramienta.

La segunda opción de herramienta de desarrollo que estoy valorando es REALbasic. Se trata de un entorno de desarrollo multiplataforma – Windows, Linux, OS X – basado en una extensión de Basic. Es una herramienta comercial, con una completa documentación y unos foros de soporte bastante moviditos. La versión estandar, que es la básica, trabaja con una base de datos derivada de SQlite y hay disponible una clase para trabajar con archivos DBF lo cual me puede venir muy bien a la hora de incorporar datos de mis programas.

Una tercera opción que quiero evaluar es Python con wxWidgets. Ahora mismo estoy buscando información sobre este entorno de desarrollo, pero lo que he visto me gusta.

De Xcode tengo claro que tengo que aprender un poco, al menos para ver de que va. Entre REALbasic y Python/wxWidgets me gusta del primero que parece un entorno estable y cuenta con respaldo empresarial, del segundo que es open source. Los inconvenientes que veo a cada uno son los derivados del tipo de licencia. REALbasic es de pago y libera versiones cada 3 meses, lo cual no me gusta pues empaquetan cada vez el producto tal cual está, y no se trazan objetivos para cada versión. De Python/wxWidgets no me gusta la dispersión inherente al open source y el tener que ir rebuscando para ver si encuentras una funcionalidad y una documentación adecuada.

mi amigo invisible

Corren tiempos difíciles para los programadores que usamos FWH. Hace sólo un par de años, en mis contactos de messenger había una docena de FWH’ers. Ahora los contactos siguen estando ahi, pero ausentes.

Sin embargo, tengo un amigo invisible escondido por ahí. No suele postear en los foros, ni tiene página web, ni nada de nada. Está ahí, escondido en el messenger, sin hacer ruido y de pronto dice Hola José Luis y coimenzamos a chatear. Mi amigo invisible es un gran programador, conoce muy bien FWH y tiene un montón de clases modificadas, algunas de ellas realmente espectaculares. Hace poco publiqué un mensaje en el foro de FWH preguntando por las cebeceras de xbrowse con temas. A los pocos dias mi amigo invisible me abordó en el messenger y me dijo como tenía que modificar la clase para conseguir lo que quería. Después de varios intentos y varias noches más de messenger… voilà

Realmente espectacular.

Es curioso, sólo lo he visto una vez a mi amigo invisible. Fue en la reunión de Olivares2000 en el año 2005. La verdad es que no hablamos mucho, pero desde entonces poco a poco hemos tenido mayor relación, y me alegro mucho cada vez que lo veo por messenger. Si lo volviera a ver, no desperdiciaría la oportunidad de conocerlo un poco mejor.

un switcher mas

Hace dos semanas que tengo un iMac, y lo único que puedo decir es que estoy realmente contento tanto con la máquina como con OS X. Creo que es un ordenador excelente, tanto para uso personal como profesional, y animo a cualquiera que esté pensando en comprarse un Mac a dar el salto. Yo tengo el modelo de 17» que es más que suficiente para el uso que le voy a dar, aunque parece que lo van a descatalogar pronto y el modelo básico va a ser el de 20».

Como ordenador es realmente excepcional. Es tener un sobremesa sin el engorro de la torre, ocupando lo mismo que un portátil pero sin el engorro del teclado del portátil. La máquina es bonita, con un diseño excelente, el teclado y el ratón tienen un acabado y un tacto muy buenos. La rueda del mighty mouse es algo digno de un cum laude en ergonomía y el monitor tiene una resolución muy buena. Además es completamente silencioso, no se oye ni disco duro ni ventiladores ni nada de nada. Trabajar por la noche con él es increible, pues no se oye nada salvo el ruido del teclado. La resolución del monitor es de 1440*900 y al principio se nota raro, acostumbrado a una resolución de 4*3. Sin embargo esto tiene su razón de ser. En OS X cuando se maximiza una ventana, no ocupa todo el escritorio, sino que el sistema hace una estimación del tamaño de ventana óptimo para que quepa todo lo que la ventana ha de mostrar, así que es habitual trabajar con varias ventanas abiertas que no se superponen. Este moni
tor está hecho para trabajar de esta manera, y en cuanto te habituas es muy cómodo.

En cuanto a OS X, creo que hay que perder el miedo a cambiar de sistema operativo. Haces lo mismo que con Windows, sólo que de otra manera, y muchas veces de una manera más sencilla. En cuanto te acostumbras un poquito tienes el sistema medio controlado y no echas nada de menos, ni siquiera el click derecho del ratón. Hay un montón de software gratuito para OS X, alguno realmente bueno y poco a poco iré contando los paquetes que uso. Como pasa con todos los productos de Apple, la historia de este sistema operativo esta llena de anécdotas, y en WikiPedia hay un excelente artículo al respecto.

Para los más reticentes a dar el salto por aquello del sistema operativo, se puede usar Windows en un Mac sin problemas. En la propia web de Apple se puede descargar Boot Camp que es un paquete gratuito que permite instalar Windows en un Mac particionando el disco e instalando un arranque dual.

De momento voy a seguir haciendo software para Windows, pero mi intención es desarrollar para Mac.

srr – sistema rapido de recuperación

La semana pasada mi portatil me jugó una mala pasada. La FAT del disco duro de la partición de Windows quedó hacha trizas y no hubo manera de recuperarla con la consola de recuperación ni con nada. Tuve que reinstalar el sistema operativo, y luego reinstalé el software que uso habitualmente.

Tengo por costumbre hacer copias de seguridad al menos una vez a la semana de todos mis archivos de datos a un disco duro externo. Para esto uso en SyncBackup que es una auténtica joya de programa.

También tengo por costumbre mantener en una carpeta una copia de los ficheros de instalación del software que uso más habitualmente: compiladores, editores, navegadores, cliente de correo, cortafuegos, antivirus, etc. Además de los ficheros de instalación guardo en ficheros de texto los números de serie o licencia de los programas que necesitan. De todo esto también hago copias de seguridad periódicas.

Con todo esto restaurar por completo un PC es cuestión de poco tiempo. Lo que mas tiempo consume son las descargas de las actualizaciones de XP, pues instalar el software de uso habitual es cosa de minutos. Hay que ser disciplinado y guardar copias de todo lo que instalas, pero de esta manera no tienes ni que acordarte de que tienes que instalar ni preocuparte en buscarlo y descargarlo y en buscar en el correo los números de licencia. Al precio que están los discos duros, vale la pena dedicar un poco de espacio para perder el mínimo de tiempo en caso de tener que reinstalar el sistema.

findemes 1.00 beta 1

Tal como anuncié en mi anterior post, publico la primera beta de Findemes. Findemes es un programa de contabilidad personal, no es un programa de gestión de cuentas bancarias. La versión 1.00 de Findemes realiza la siguientes funciones:

  • Gestión de ejercicios, para poder separar la contabilidad por años.
  • Gestión de actividades dentro de cada ejercicio, de manera que podamos llevar la contabilidad de varias actividades con o sin gestión de IVA, y realizar filtrados de los apuntes de cada una de ellas.
  • Gestión de apuntes de ingresos y gastos, especificando para cada uno de ellos la actividad, concepto, importe y fecha, pagador/perceptor del ingreso/gasto, tipo de ingreso o gasto.
  • Gráficos de ingresos y gastos.
  • Gestión de pagadores de ingresos.
  • Gestión de tipos de ingresos, para separarlos por categorías.
  • Gestión de perceptores de gastos.
  • Gestión de tipos de gastos, para separarlos por categorías.

Una de las cosas que mas ha costado decidir en el programa ha sido la denominación pagador/perceptor. En una contabilidad empresarial serían los clientes/proveedores, pero que en una contabilidad personal no tiene sentido llamarlos así. Después de muchas vueltas he usado pagador como la persona/empresa de la que recibimos dinero y perceptor como la persona/empresa a la que realizamos pagos.

Si alguno de los lectores/comentaristas habituales del blog que habeis mostrado interés en el programa quereis una edición completa del programa enviarme un e-mail y os la mando sin problemas. Para descargar la beta hacer click en el pantallazo.

descargar findemes 1.00 beta 1

presentando findemes

Findemes es mi nuevo programa que estará en breve en fase beta disponible para probar. Se trata de un programa de contabilidad personal que permite controlar los ingresos y gastos que tengamos. El programa es multiactividad, podemos tener ingresos y gastos de varias actividades y filtrarlos a conveniencia. A cada ingreso le asigna un pagador y una categoría de ingreso, y a cada gasto un perceptor y una categoria de gasto. No es un programa de gestión de cuentas bancarias, ni tan siquiera contempla esta posibilidad, sino que se trata de saber de que y de quien provienen nuestros ingresos y en que y con quien nos gastamos el dinero.

Cuenta también con un módulo de gráficos, realizado con la estupenda clase de gráficos de Alfredo Arteaga para FWH y que me ha resultado muy sencilla de utilizar. Es la primera vez que incluyo gráficos en mis programas y con esta clase ha sido realmente sencillo de hacer, y sin necesidad de usar DLL externas ni nada de nada.

La primera versión de Findemes será una versión básica. Mi intención es ir añadiendo más funcionalidades rapidamente, como los ingresos y gastos periódicos y alguna cosilla más. En una semana o dos tendré lista la primera beta para descargar. Por cierto ¿ os gusta el nombre del programa ?