Infinite scrolling

Lots of Stupid and Inecesary Parenthesis a.k.a. LISP

Hace unos años, mientras estaba más o menos en quinto semestre me quejaba ante un profesor (con quien más tarde sería coautor de algunos artículos) de lo frustrante que eran en general los lenguajes de programación ya que siempre el cómo se sobreponía al qué, e.d. si quería programar el quick sort tenía que pelar con índices y todo tipo de cosas antes de verlo funcionar (por cierto, en Haskell esto toma 3 líneas de código). El caso es que en ese momento el profesor me recomendó que revisara lo que se conoce como lenguajes funcionales y de hecho me recomendó uno llamado scheme (que hasta donde se, es el lenguaje en que se programó el TOL).

El punto fue que conseguir documentación sobre scheme no fue tarea fácil, pero en esos días apareció un amigo que sabía bastante bien Common Lisp (y de hecho sabe casi de cualquier cosa de ciencias de la computación) así que mis clases de Lisp se llevaban a cabo a traves de IM en las noches de 10pm a 2am (que geek verdad?) hasta que mi compañero se enfermó y hasta ahí llegó todo. Despues me di a la tarea de buscar libros sobre el lenguaje ya que este me había gustado mucho. El problema con estos libros es que partían del hecho que uno no sabía programar, como en el caso de Common Lisp: A gentle introduction to Symbolic Computation o que uno ya era un experto en Lisp, como On Lisp. El caso es que esto me hizo desviar de mi idea de dominar este lenguaje durante mucho tiempo.

A finales de mi carrera, durante el curso de computación evolutiva, Lisp apareció en escena nuevamente. Esta vez tenía que ver con un área de la computación evolutiva conocida como programación genética en la cual John Koza quien fue quien inventó la rama usa solo Lisp y de hecho todos los framworks que involucran programación genética se valen de una u otra forma de las s-expressions y hasta copian la manera en que Lisp muestra los resultados (+ (* 3 x) y (/ x 0.5)). En ese momento recordé lo mucho que me gustaba el lenguaje y afortunadamente tuve acceso a un buen libro de Scheme, pero como las cosas buenas no duran tanto, por mi tesis jamás tuve tiempo de leer el libro.

En el último semestre de la carrera vi una materia que se llamaba Seminario de programación avanzada. Aunque realmente el curso fue peor de lo que sonaba; los temas cubiertos fueron: buenas técnicas de programación, Aspectos y Programación Funcional; solo el último tópico llamó mi atención. Aunque el lenguaje que manejamos fue Haskell, para este si conte con un buen libro y realmente logré hacer cosas interesantes como un analizador sintáctico para un muy pequeño lenguaje procedminetal del cual lamento haber perdido el código y también fue muy útil en un seminario sobre correctitud de programas. El caso es que la universidad terminó y los lenguajes funcionales quedaron en segundo plano.

¿Pero a que viene todo este cuento? se preguntaran ustedes. Pues la verdad es que hace poco me encontré con un muy buen libro llamado "Practical Common Lisp." Lo que más me agrada de este, es que parte del hecho que el lector tiene algo de experiencia programando, ya sea en Python, C, C++, Java, Perl, etc. y a partir de esa suposición, plantea el resto del libro. La verdad, he avanzado mucho en Common Lisp tanto que ya tengo en mi cabeza un framework para algortimos geneticos y según mi diseño, en lisp tomará muchas menos líneas de código. Solo espero tener tiempo de sentarme a desarrollarlo. Si lo logro, ciertamente lo publicaré para alentar a otros a que aprendan este lenguaje que es muy entretenido.

Por cierto, el titulo es una conocida broma hacerca del lenguaje, ya que en este todos son listas que se representan con parentesis, y al final uno tiene cientos sino miles de ellos... y no me aguanté las ganas de ponerlo como título de este post ;).

De lo Injusta que es la vida

Este es uno de esos post que uno no desearía que su jefe viera pero que más da. Y si lo hago es por que estoy realmente puto con mis jefes en este momento, y si me arrepiento de haberlo escrito pues lo elimino.

Primero un poco de contexto. Actualmente me desempeño como desarrollador J2ee en una empresa relativamente pequeña, Igual no me puedo quejar mucho pues hasta ahora si cumplo seis meses de haberme graduado. Lo que pasó para sentirme así fue lo siguiente.

Mis jefes viajaron el viernes pasado hacía Mexico para tomarse unas merecidas vacaciones, hasta ahí todo está muy bien. Entonces la persona con mayor antiguedad de la empresa quedó a cargo (y quien más podría ser) El punto es que esta persona convocó una reunión para esta mañana a la que desafortunadamente (por culpa del maldito transporte urbano en Suba, pueblo alejado de la civilización) no pude llegar a tiempo. A pesar que el retraso fue de media hora, esta persona ya me había enviado un correo con copia a mis jefes viajeros los cuales no dudaron en poner un par de correos a manera de memos.

Bien, ahora los agravantes. Muchas veces me han citado a las 6.30 o 7.00 a reuniones, para las cuales, haciendo un gran esfuerzo he llegado temprano para recivir incluso un par de horas más tarde llamadas de mis superiores afirmando que estos se demoran. Y peor aún, el día siguiente al viaje de ellos nos han regalado la agradable noticia que los sueldos se demorarían una semana. Pero hoy salieron con que se demorarían otra semana extra. pues bien uno de mis compañeros sugirió una respuesta al correo que envió mi superior. El cual anexo junto con la respuesta sugerida:

Alexander,

Cual es la explicación a esa nota de XXX? El atraso en reuniones como esta no sólo lo afecta a ud. sino a todo el grupo.

Qué pasó?

El JEFE

Ahora la respuesta sugerida:

JEFE,

Cual es la explicación al atraso de los pagos? El atraso en los pagos no sólo los afecta a ustedes sino a todo el grupo.

Qué pasó?

Alexander R.

Uds opinaran.

Estadísticas

Estaba revisando las estadísitcas del presente blog y hay un par de cosas que me parecen curiosas, en primer lugar que el visitante que usa linux (que creo que es uno) no volvió por acá :(, me encanta que haa alguien que use OS X... algún día me compraré un mac ;). Me encanta que usen Firefox, que al parecer es el navegador más popular en este sitio. Pero lo que más me sorprende es una visita de alguien que usa Solaris :D. Aunque mi experiencia con solaris no fue la mejor (pero por la máquina, un SUN xxx 100 no la lleva muy bien con Solaris 9) lo reconozco como una gran SO. Me gustaría que por acá se pasara alguien con FreeBSD, en todo caso, creo que el primer hit con ese sistema operativo será mío ya que me decidía a probarlo.

Bien, se que este post es algo estúpido pero siempre me han agradado las estadísticas (a pesar que nunca pude pasar el maldito curso de series de tiempo que tomé en la carrera de estadística :@).

Symantec se retracta acerca de firefox

Esta es una noticia un poco vieja sobre la cual había querido escribir hace algunos días pero por una u otra razón no lo había hecho. No se cuantos de mis lectores habían leido un informe de symantec en la cual aseguraban que firefox era mucho más vulnerable que Internet Explorer. Pues en el último informe aseguran que aquella no fue una comparación justa. Esto se debe a que para el conteo de esa ocasión solo se revisaron bugs confirmados con la compañía donde Firefox admitió al menos 60 bugs mientras que IE a duras penas admitió 27. Pero según palabras de los mismos miembros de symantec:

"In open source, more vulnerabilities will be acknowledged because of the transparency in development."

Me parece muy bien que se haga justicia en estos casos. Yo mismo pensé lo que ahora dicen cuando leí el informe hace unos meses. En el Open Source se encuentran más bugs por que cualquiera puede reportarlos y estos están abiertos al público y el mismo público es quien los reporta.

Es caso es que ahora Symantec usa una combinación de Bugs reportados pero no confirmados (e.d. admitidos por el desarrollador) y admitidos.

Otro dato curioso del artículo es el reporte de symantec donde muestran que las versiones de windows puestas como servidor duraron sin ser tumbadas (hackeadas o como quierna llamarlas) 12 segundos (Windows XP), una hora y 17 minutos (Windows 2000) y algo más para Windows 2003 (estas versiones no contenían los parches de microsoft). De igual manera las versiones sin parches de Red Hat Enterprise Linux 3 y SuSE Linux 9 Desktop soportaron el mes y medio que duraron las pruebas. Ahora ¿En que Sistema Operativo confiaría ud?

Google no entregara busquedas

Se que ya he comentado sobre el presente tema, y que de hecho ya deben conocerme como un google adict. Pero también me gustan muchos servicios de Yahoo! por ejemplo.

En todo caso siempre me ha parecido curioso que a Google siempre le han criticado la violación a la privacidad que ellos tienen. A pesar que la empresa se defiende diciendo que ningún ser humano interfiere con los adds de gmail ni nada por el estilo. Pues bien, en este momento me parece que la empresa ha defendido muy bien la privacidad de sus usuarios con la petición del gobierno de los estados unidos. Mientras que Microsoft y Yahoo entregaron sin ningún problema sus índices y varios meses de busquedas de sus respectivos usuarios google se mantuvo, y en esta ocasión no entregaran ningún resultado a ninguna busqueda.

más información acá.

Por cierto, al fin encontré una extensión para firefox que me agrada mucho para hacer posts en diferentes tipos de blogs. Se llama performancing, es realmente buena, creo que deberían usarla.

Microsoft Vista: Not 'People Ready' - Forbes.com

Un largo fin de semana lleno de borracheras (jamás me lo imaginé) una por las circunstancias ya que me encontraba en el ministerio de educación y aproveché para pasar por la U donde me encontré a varios amigos y pues, el alcohol hizo lo suyo. Y ayer la despedida de un amigo quien viaja a Holanada para realizar su doctorado.

De cualquier manera eso me dejó atrasado en noticias que hoy estoy actualizando. Y pues me he encontrado con esta noticia que me pareció realmente interesante. Al parecer la semana pasada microsoft realizo una rueda de prensa (o algo así) para mostrar las bondades del nuevamente retrasado Windows vista. Al parecer lo único que han logrado es complicar la manera en que se usa el sistema tanto así que según el autor nadie puede entender. literalmente reza:

It's amazing, but people will wait months and months for products that are so complicated that no ordinary person can figure out how to use them.

También habla sobre que la gente debería buscar otras alternativas y no se refiere únicamente al Open Source sino a sistemas operativos como OS X.

Y ahora que hablo de sistemas operativos. Voy a hablar de uno que me encontré en la web la semana pasada. No se cuantos de ustedes recuerdan un sistema operativo muy popular hace unos años llamado BeOS. El desarrollo de este murió hace unos años cuano Palm compró a la empresa BE. Como este tenía tantos seguidores, un grupo decidió realizar una versión OS de este con el fin que no vuelva a suceder que decidan no brindarle soporte. Es te llama Haiku OS en incluso pueden ver algunos screenshots en flickr. Aunque en mi visita por la página me pareció que el proyecto ha perdido el impulso, este aún sigue activo. E incluo estan colaborando con la gente de YelloTab (quienes tienen el derecho sobre el desaparecido BeOS) e Intel para desarrollar un driver gráfico para esta familia de SO's. Pues la verdad, esto es para quien le interesa. Personalmente jamás use BeOS (era un pelado que cursaba 7° cuando desapareció) pero si escuché mucho acerca de él.

Playing the Market

Recientemente escuché acerca de un disco que me parece, parte de una idea brillante, aunque la verdad no lo he escuhado. El disco se llama Playing the Market grabado por un grupo llamado Emeral Suspension.

La idea del disco es generar composiciones de audio basadas en patrones encontrados en datos económicos (incluso hay una melodía basada en la serie de Fibonacci). La inspiración de este disco me recuerda mucho la idea de Schrömberg y la música concreta, realmente me llamó la atención así que trataré de escucharlo y darles mi opinión al respecto.

Por cierto, y ahora que hablo de música. En estos días he estado escuchando un grupo (que aunque conocía hace tiempo) no le había puesto tanta atención como el último fin de semana. Se llama Bozzio, Levin, Stevens y realmente no es lo que yo llamaría un grupo. Es la unión de tres grandísimos músicos como los son Terry Bozzio (batería), Tony Levin (mi bajista favorito) y Steve Stevens (guitarra). Si pueden, escuchenlos que de verdad vale la pena (por cierto, es música puramente instrumental).