sábado, diciembre 20, 2008

Software básico para sobrevivir

Cambiar de portátil (el anterior estaba tan viejo que hasta se le caían las teclas) me ha supuesto tener que hacer el esfuerzo de pensar qué aplicaciones considero fundamentales en mi día a día.....

La primera conclusión de la lista es que,  cada vez más, las "cosas" que utilizo no están en mi ordenador, sino en la web.  Lo más habitual que requiere instalación, además de requerimientos del trabajo (Office, Outlook, Notes) son las herramientas para sincronizar otros dispositivos y complementos al navegador web para mejorar la interacción con las aplicacioes internet.

La segunda conclusión es que lo único que separa a mi laptop de un Debian Linux es el MS Office, y de un Mac OX nada...(lo que daría por ver la cara de los de IT).

La tercera y última conclusión, que hemos cambiado la dependencia de Microsoft por la de Google.

Grupo 1: Fundamentales, no puedo vivir sin ellas

  • Mozilla Firefox. Sin comentarios, la puerta de entrada a cualquier página web.

  • Barra Google para Firefox.

  • Delicious Bookmarks: Extensión oficial de del.icio.us (ahora delicious.com para Firefox).

  • Google Notebook Firefox Extension.

  • Google Talk.

  • Microsoft Office (Word+Powerpoint+Excel).

  • Lotus Notes. Por requerimientos del trabajo; al final he aprendido a convivir con él...

  • Nokia PC Suite y Blackberry Software, para poder sincronizar mis bichos (el HTC con Windows Mobile cada vez lo uso menos; ni tan siquiera instalo el software)

  • Winamp. No puedo vivir sin música, y mi música no puede vivir si WimAmp

  • Software de Nikon. Tampoco puedo vivir sin mis fotos

  • Otras utilidades básicas: Acrobat Reader, WinZIP/WinRAR..


Grupo 2: No son fundamentales, pero siempre están por aquí

  • Skype, para VoIP, aunque cada vez GTalk lo desplaza más.

  • Google Desktop: Para las búsquedas de correos y cualquier fichero en local.

  • Google Chrome.

  • Flikcr Update: para publicar mis fotos en Flickr, cosa que no hago hace mucho (pero mucho) tiempo.

  • Google Picasa: para organizar y buscar entre mis fotos en el disco duro.

  • twhirl: sí, soy usuario  de (y adicto a) twitter.

  • Google Gears.

  • GSpace (extensión para Firefox).

  • El cliente de Last.FM.

  • Vim(Todos tenemos una historia)


¿Cuáles son los programas sin los que tú  no puedes sobrevivir?

viernes, febrero 15, 2008

De Arquitectos y Albañiles

Durante mis años de universitario existía una preocupación (casi una obsesión) de muchos docentes por transmitirnos la importancia de ser “Ingenieros”. Y como suele ser habitual a la hora de diferenciarse, se busca siempre de qué diferenciarse: los “programadores” (léase con tono despectivo, el mismo con el que nos lo pronunciaban a nosotros). No dejaba de parecerme paradójico en una carrera donde gran parte del contenido práctico era la programación nos dijesen que la peor chusma eran los programadores.

Para cualquier discurso hay justificación y en este caso la encontraron en una analogía con otra titulación: la de Arquitecto. Nos formaban como arquitectos y no como albañiles, decían; el programador ponía ladrillos. Nosotros haríamos planos, nada de mancharse las manos con el cemento…

En general (digo “en general” porque nunca se puede ser extremista y en el mundo del software menos) estoy en desacuerdo con esa teoría.

Me cuesta creer que alguien pueda diseñar una arquitectura multicapa, o aplicar buenos patrones de diseño si nunca ha construido eso. Sigo pensando que la mejor forma de entender un diseño o un patrón es haberlo implementado. Hoy, todavía, un buen ingeniero del software, en general, debe ser o ha tenido que ser en algún momento un buen programador.

Quizás dentro de algunos años se logre un nivel de madurez, de ingeniería, en el desarrollo de software permita equipar el trabajo de un ingeniero software a la un arquitecto (arquitecto del mundo físico quiero decir), y quizás estemos dando ya los primeros pasos para ello, pero nos queda mucho camino por recorrer.

Por otra parte, hasta creo cuestionable que la evolución hacía una ingeniería de verdad, o madura (hoy estamos más cerca del trabajo de un artesano) sea necesariamente alejarse del código. ¿Sería posible haber producido Google sólo mediante planos, sin haber tirado líneas de código y haber ajustado los algoritmos a golpe de programación? No, y no hace falta tomar Google como ejemplo..

Por muchas herramientas para generar código y diseñar planos que construyamos en los próximos años, el constante grado de innovación tecnológica que caracteriza al desarrollo del software junto con la propia naturaleza del software requiere ingenieros muy preparados para construir (diseñar y programar) ese software con esas tecnologías. Es esa naturaleza abstracta la que invalida la comparación con arquitectos y albañiles.

Tendremos casos en los que la programación se convierta en algo tan poco diferencial como pueda serlo el agua o la luz, pero también habrá ámbitos en los que la programación no llegue a convertirse en la commodity que llevamos años anticipando. Sí es cierto que cada vez lo será más, pero nunca del todo.

Y esto lo digo yo, que llevo años sin tirar ni una sola línea de código…