Below you will find pages that utilize the taxonomy term “Programación”
Posts
Un sistema universal de timestamps
Será que ya existe en internet algo parecido a un servicio que permita dejar registro de que, al momento de crear ese registro, uno está en posesión de tal o cual documento?
Caso de uso:
Juanito debe entregar un ensayo a su profesor de economía a mas tardar el lunes. El internet de Juanito esta caido y Juanito está enfermo y no podrá ir a la universidad el lunes. Juanito verá a su profesor el miercoles siguiente y podra entregarle el ensayo ese día en una llave USB, pero debe demostrar que lo que está entregando el miercoles ya estaba terminado el domingo.
Posts
TweetMix
Hagamos un recuento desordenado de TweetMix. La idea se me ocurrió hace un par de semanas: coger un “chat-bot“, alimentarlo con los tweets de un usuario y ponerlo a decir bobadas. El chat-bot que usé fue escrito en perl y funciona al estilo de mega-hal, un viejo chat-bot con el que Alejo, Javier y yo jugabamos hace ya mas de diez años, cuando el internet todavía tenía gracia. Si quieren documentarse al respecto pueden buscar por cadenas de Markov.
Posts
The truth about Lisp
“Lisp was invented a long time ago, before java, before C, before fortran, before computers, before people, before the earth was built. The universe itself is a lisp program so trivial that no true lisper would even bother implementing it.”
Ver el resto
Posts
Ventanas, Dialogos, Botones
El siguiente caso ilustra bien las diferencias de éstilo que veo entre los mundos java y .Net.
En la librería para aplicaciones gráficas de .Net, un programa puede abrir cualquier Ventana en modo Dialogo. Todos los Botones tienen asociado un atributo llamado DialogResult. Cuando este atributo tiene un valor en un botón que es oprimido, la Ventana que contiene el botón, si está en modo Dialogo, se cierra y retorna el valor asociado al botón.
Posts
Crítica de los IDEs (segunda parte)
Inspirado por un buen comentario de Manuel Cerón, estuvé pensando un rato sobre las verdaderas razones por las cuales usar eclipse no me llega a parecer del todo placentero. El primer comentario de Manuel es bastante acertado: el tiempo de arranque de eclipse es irrelevante dado que arrancar eclipse es algo que se hace muy raramente. En mi caso, por ejemplo, usualmente lanzo eclipse el lunes en la mañana y lo vuelvo a cerrar el viernes en la noche.
Posts
Crítica de los IDEs
Durante los últimos dos años he usado eclipse constantemente en mi trabajo. Aca van un par de reflexiones sobre esta herramienta de desarrollo y en general sobre todas las herramientas de ese estilo (conocidas como IDEs, por las siglas en inglés de Ambiente de Desarrollo Integrado).
Poco ligero: Eclipse no es una herramienta ligera. Lanzarla, aun en un computador reciente, toma un tiempo considerable. Mas vale tener un equipo con bastante memoria.
Posts
Ventanas rotas
La teoría de las ventanas rotas sostiene que mantener la pulcritud de un vecindario ayuda a prevenir el vandalismo y otras formas de mal comportamiento. La idea es que una persona se sentirá mas culpable de romper una ventana de un edificio en perfecto estado que de romper una ventana en un edificio que ya tiene varias ventanas rotas. De esto se desprende entonces que para mantener un vecindario en buen estado hay que reparar rapidamente los pequeños daños que aparecen constantemente, por mínimos que parezcan.
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
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.
Posts
Sobre la importancia de saber programar en C
Hace cerca de 15 años, en la Universidad de los Andes, la programación se enseñaba usando “C“, un lenguaje de programación muy popular desarrollado en los 70, en paralelo con el desarrollo del sistema operativo UNIX. En los 90, lenguajes de programación como Java fueron reemplazando al lenguaje C tanto en la empresa como en las aulas. Hoy en día, según me dicen, la programación se enseña usando Java y los estudiantes simplemente no aprenden C.
Posts
Diferentes trabajos en programación
Como programador he pasado por solo tres trabajos diferentes. El primero como freelance (es decir, como programador independiente) en Colombia, labor bastante desagradecida excepto por la experiencia que permite adquirir. Creo que en Colombia hay mucha gente trabajando de esa manera no tanto por gusto como por la dificultad de encontrar un empleo estable. Puede que para una persona ya reconocida en el medio puede ser atractivo vivir haciendo freelancing por la libertad que permite.
Posts
Menos es más
Manuel Cerón opina en mi post anterior que la calidad de las interfaces de usuario de las aplicaciones en la web no es aceptable. Para Manuel, estas interfaces no son ni siquiera comparable a las que tenían las aplicaciones de Windows 95. Siguiendo esta idea, lo ideal sería tener interfaces avanzadas unidas a las ventajas de la web (ubicuidad, propagación automática de mejoras, etc). La popularidad de las aplicaciones web hoy en día se explicaría no gracias a su ergonomía sino a pesar de carecer de ella.
Posts
Por qué no creo que el iPhone, el iTablet y la AppStore sean la plataforma del futuro
Los programas de computadorse se escriben para una plataforma determinada: windows, macintosh, linux, la web, etc. Plataformas como Windows y Mac OS están bajo el control total de sus fabricantes. Esto hace que los desarrolladores de software y los usuarios que deciden usar estas plataformas se ponen a si mismos en una situación de dependencia frente a aquellos que las controlan.
Una de las grandes ventajas de la web como plataforma de software es entonces el hecho de que no hay un único amo que la controle.