Posts
Prototipos
La programación me interesa mas como un medio de exploración de nuevas ideas que como la disciplina de crear programas con cualidades especificas (buen diseño, robustez, eficiencia, etc). La construcción de prototipos es una práctica muy ligada a la exploración creativa que consiste en crear “falsos” programas con el fin de obtener información sobre programas “reales” que se quieren construir.
En este reporte se discuten algunos conceptos claves de la práctica de la creación de prototipos y se proponen algunas ideas para la creación de un ambiente de creación de prototipos.
Posts
iPod: un review
Como aca la coherencia nos importa poco, me compré un iPod (alfabravoteam puede dejar de leer). Eso sí, me compré el mas pequeño (8 gigas). Aca van unos comentarios sobre el aparato.
Primero que todo, hay que reconocer que la interfaz de usuario está muy bien hecha. La prueba es que en pocos minutos uno aprendé todos los gestos necesarios para usarlo sin necesidad de leer ningún manual. Las aplicaciones de base son una delicia de usar.
Posts
“Coders at Work”
Acabo de terminar “Coders at Work” de Peter Seibel. Esperaba bastante de este libro y desafortunadamente quedé un poco decepcionado. El libro transcribe entrevistas a varios programadores famosos, por ejemplo Ken Thompson (uno de los padres de unix), Guy Steele (uno de los padres de Scheme, Common Lisp y otros lenguajes), Jamie Zawinski (netscape), Knuth (tex, the art of computing programming) y otras estrellas. Todas las entrevistas se desarrollan alrededor de un puñado recurrente de preguntas que las conducen alrededor de la carrera, la manera de trabajar y en general la visión de la programación del entrevistado.
Posts
SEO: el nuevo anti-virus
Ayer un amigo me estuvo dando consejos para mejorar la posición de mis páginas en el indice de Google. Escuché estas recomendaciones con atención porque:
Una página solo es visitada si tiene una buena posición en Google Para tener una buena posición en google hoy en día, una página modesta necesita valerse de todas las astucias posibles. La mayoria de estas recomendaciones tienen que ver con detalles de cuando, como y donde usar diferentes elementos de las páginas HTML, es decir, detallitos menores cuya única importancia es la de tener influencia en los algoritmos que se ejecutan secretamente en los servidores del titán de internet.
Posts
Mas sobre el iPad
En otra ocasión escribí que no creo que el futuro de la computación este en las plataformas como el iPhone/iPad y la AppStore. Como si no fuera ya una plataforma terriblemente cerrada, hace poco se conoció otra restricción más: está prohibido escribir programas para el iPad en lenguajes diferentes a C++ y Objective C.
Según entiendo, Apple busca atacar a Adobe, quien van a incluir un programa que traduce aplicaciones Flash en aplicaciones iPhone/iPad en su proxima suite de desarrollo.
Posts
Leyendo código fuente
Sería chevere si uno pudiera leer un programa de computador tal como se lee un libro: en linea recta del principio al fin. Esto casi nunca es posible porque los programas no suelen estar organizados linealmente. Lo que hay, frecuentemente, es un manojo de archivos regados en directorios. Casi siempre me cuesta trabajo encontrar que pedazos del programa hay que leer, y en que orden, para entender globalmente su funcionamiento.
Posts
‘Tinkering’, bricolaje, cacharreo
Los usuarios de computador necesitan conocer cada vez menos la manera como un computador funciona. Si las tripas de la máquina se vuelven cada día más invisible, esto se debe a que el usuario puede ahora controlar el computador usando interfaces gráficas avanzadas. Estas interfaces permiten controlar el computador usando imagenes que representan objetos fisicos (botones, ventanas, etc).
Comparemos esto con lo que había hace un par de decadas. En ese entonces, el usuario controlaba el computador escribiendo comandos que la máquina ejecutaba.
Posts
Twitter: “as simple as possible, but not simpler”
Personas como Dave Winer creen que definitivamente hay algo en twitter que vale la pena pero que twitter, tal como lo conocemos, será reemplazado en el corto o mediano plazo por algo “parecido pero mejor”. Una de las razones por las que Winer considera que twitter no puede seguir siendo el sistema de “twitting” es su arquitectura centralizada (mas bien anti-web). Otras personas consideran que es demasiado limitado y que le faltan X, Y y Z funcionalidades.
Posts
Abstracción sintactica
Le Coq - Joan Miro Recordemos algunas nociones básicas. La misión del desarrollador de software consiste en escribir programas que sean faciles de entender. Un programa es facil de entender cuando esta escrito como un conjunto sencillo de relaciones entre conceptos. Como estos conceptos pueden ser a su vez complejos, el programador retiene de ellos unicamente la información necesaria para entender sus relaciones con los demás conceptos.
Posts
Programación interactiva
Una de las cosas que mas me gustan de programar en Lisp es que encuentro facil mantener la concentración cuando lo hago. Creo que esto se debe en buena parte a la programación interactiva que facilitan los ambientes de desarrollo en lisp. La programación interactiva consiste en ir modificando un programa poco a poco mientras éste se encuentra activo. Es decir, el termino de programación interactiva no tiene que ver con el estilo en el queesta escrito un programa sino con el proceso de escritura del código.