Hoy he comenzado un poco más en serio esta idea que tengo, Amatl. Se trata de un programa (y sus respectivas librerías) para crear widgets de escritorio en Gnome, mejor conocidos como Desklets.
Estoy consciente de que existen los GDesklets, aDesklets y los Desklets de Mono en Silverlight. Pero, además de querer unos con un nombre un poco más original (><), me desilusionó un poco la escasez de widgets implementados, además que después de probarlos un poco, hubo algunas cosas que no me gustaron, desde detalles como la instalación a cuestiones de usabilidad. Aparte de querer desarrollar un proyecto un poco más en serio, y aprovechar para enamorarme más de mi lenguaje favorito.
Por ahora, sólo creé el proyecto en code.google, y me he puesto a jugar con Ruby y GTK, con buenos resultados (ventanas transparentes con marcos personalizables que se quedan en el escritorio a voluntad, entre otras cosas). Me dedicaré estas vacaciones(?), además de la chamba, a trabajarle en este proyecto. Pero hago una invitación: Quien quiera aportar algo al proyecto, desde ideas a formar parte como desarrollador o artista, es bienvenido. Agradecería mucho los comentarios. Sé que con lo que he escrito aquí no es ni suficiente, pronto los actualizaré con un avance :D
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
jueves, 6 de diciembre de 2007
jueves, 22 de noviembre de 2007
Code Monkey
Me acabo de topar con esta canción realmente buena. Especialmente porque probablemente me convierta(n) en un mono como el de la canción, sólo es cuestión de tiempo. Por lo menos, hasta que acabe la carrera...
La pueden descargar directamente desde el sitio. Pero por si son flojos, les dejo una versión en video.
Etiquetas:
música,
personal,
programación,
vida cotidiana,
videos
domingo, 12 de agosto de 2007
Sobre rieles (i)
Últimamente no he posteado nada, he estado ocupado con el inicio de clases y otros proyectos. Pero eso no le interesa a nadie aquí...
Hasta que por fin me decido. Esta última semana, habiendo conseguido un buen libro y algunos tutoriales, por fin me he lanzado al mundo de Ruby on Rails.
He de decir que siempre le tuve un cierto pavor a las aplicaciones Web. Para ser sinceros, mis experiencias con las bases de datos han sido más bien desastrosas; además que trabajar con un proyecto de más de 5 archivos nunca se me ha dado. Afortunadamente, Rails me comprende.
Por ahora, he leído ya la mayor parte del libro Agile Web Development with Rails (la primera edición, que no pude conseguir la segunda), y en menos de una semana, dedicándole tan solo un rato al día, he podido crear mi propio proyecto, una variación del ejemplo con el cual trabaja el libro. Si eso no es ágil, entonces no sé qué lo sea.
He estado trabajando con NetBeans para Ruby [on Rails], el cual ha resultado ser genial. El mejor editor para Ruby que he probado, además de tener gran soporte para Rails en específico. Quizá un poco lento (por lo menos en mi máquina), pero sin duda vale la pena.
Por otra parte, la filosofía de Rails viene a solucionar muchos conflictos personales. Convención sobre configuración, eso es. El hecho de que todo esté donde tiene que estar, que la lógica de cada una de las partes pueda ser tratada por separado, y que existan plugins que le facilitan a uno la vida, realmente ha hecho que me guste esto del Web Development.
jueves, 26 de julio de 2007
Primer lanzamiento de IronRuby
A través del blog de Miguel de Icaza, me entero que John Lam, quien trabaja para Microsoft, ha dado al mundo una probadita de lo que será IronRuby. Es decir, la versión pre-alfa. Y es muy prometedor.

Con la experiencia de JRuby, se demostró que Ruby era lo suficientemente maduro como para mezclarse con otros lenguajes ya bien desarrollados, y que además lo hace muy bien. Ahora, IronRuby ofrece una integración del de Ruby con el .NET Framework, lo cual es una buena noticia para los programadores.
Lo mejor de todo esto es que es (o pretende ser, debido a su etapa de desarrollo) compatible con las librerías del .NET, lo cual suena muy alentador. Y con la ayuda de Mono, no sólo los programadores de Windows se verán beneficiados.
Este post es una belleza. No sólo demuestra el poder de IronRuby, sino también la gran combinación que hace con Windows Forms. Si hay algo de lo que Ruby sufre es de una librería concisa y maciza para crear GUIs, y parece que esta es una muy buena alternativa.
Por ser código abierto, se garantizan contar con programadores entusiastas, fórmula que ha resultado muy bien para la comunidad Ruby. Felicidades a los desarrolladores involucrados.

Con la experiencia de JRuby, se demostró que Ruby era lo suficientemente maduro como para mezclarse con otros lenguajes ya bien desarrollados, y que además lo hace muy bien. Ahora, IronRuby ofrece una integración del de Ruby con el .NET Framework, lo cual es una buena noticia para los programadores.
Lo mejor de todo esto es que es (o pretende ser, debido a su etapa de desarrollo) compatible con las librerías del .NET, lo cual suena muy alentador. Y con la ayuda de Mono, no sólo los programadores de Windows se verán beneficiados.
Este post es una belleza. No sólo demuestra el poder de IronRuby, sino también la gran combinación que hace con Windows Forms. Si hay algo de lo que Ruby sufre es de una librería concisa y maciza para crear GUIs, y parece que esta es una muy buena alternativa.
Por ser código abierto, se garantizan contar con programadores entusiastas, fórmula que ha resultado muy bien para la comunidad Ruby. Felicidades a los desarrolladores involucrados.
Etiquetas:
computación,
Microsoft,
programación,
Ruby
jueves, 5 de julio de 2007
Promos de Visual Studio
sábado, 9 de junio de 2007
El retorno de FizzBuzz

Como ya había mencionado en un post pasado, en el Ruby Quiz de la semana pasada se ponía a prueba a la comunidad Ruby con el quiz más participado hasta el momento: el FizzBuzz. Sin embargo, siento que James (reviewer de Ruby Quiz) no dijo todo lo que esperaba escuchar.
FizzBuzz es presentado como el mínimo nivel de comprensión requerida para ilustrar suficiencia y habilidad. No hay gloria en resolver esta prueba. Incluso si la puedes escribir en cinco lenguajes diferentes o en menos de 50 bytes.
El punto del artículo original fue reflexionar acerca de porqué debemos hacer la prueba del FizzBuzz. La parte mecánica de resolver el problema es irrelevante
que es exactamente lo que yo pienso. No quiero hacerme ilusiones, pero pienso que la mayoría de los programadores, a cualquier nivel, pueden resolver tal programa fácilmente.
Sin embargo, orientado hacia la comunidad Ruby, el problema exponía algo más interesante: Bien, ya sabemos que todos pudieron resolver el quiz adecuadamente... entonces, ¿hay una solución mejor que otra?
En el resumen del quiz, James menciona:
Sin embargo, orientado hacia la comunidad Ruby, el problema exponía algo más interesante: Bien, ya sabemos que todos pudieron resolver el quiz adecuadamente... entonces, ¿hay una solución mejor que otra?
En el resumen del quiz, James menciona:
La mayoría parece concordar en que al menos una meta [del quiz] es demostrar una mínima capacidad para escribir código. La otra meta que asumimos es que los entrevistadores buscan cierto grado de cleverness.
Siendo cleverness una palabra engañosa y difícil de traducir. En el sentido literal, significa astucia, pero en el contexto de la programación, significa utilizar trucos "listos" para hacer el código más corto, o rebuscado, sin necesariamente ser más sencillo, que suelen ser todo lo contrario.
Esto debido a las reacciones de muchos rubistas pretendiendo "golfear" su código. Sin embargo, esto no se apega tanto al quiz, ya que personalmente, no diría algo así en una entrevista de trabajo:

Pero hay muchos otros aspectos que hacen del programador, y del software por ende, un producto de calidad. Aspectos como la escalabilidad, la legibilidad, la robustez, etc.
Es por eso que llegaron soluciones extendiendo el método a la clase Numeric (una de las delicias de Ruby), para ser extendible; otros tomaron en cuenta los comentarios para la documentación; hubo quienes hicieron pruebas de unidad. Todas estas alternativas muy válidas. Sin echar guayabazos, una de mis soluciones contemplaba la escalabilidad, al extender la clase a cualquier rango y condición para los números. Hubiera sido interesante analizar este tipo de parámetros en el quiz.
En fin, creo que FizzBuzz ya ha demostrado lo que tenía que demostrar, y si bien hizo más ruido de lo que debería, la perspectiva que nos presenta es alarmante: tener que recurrir a programas tan sencillos para darse cuenta de la incapacidad de muchos programadores.
lunes, 4 de junio de 2007
FizzBuzz y los programadores de la tierra del yo-puedo
La historia comienza aquí. Un artículo ponía en tela de juicio la capacidad de quienes se dicen buenos programadores o desarrolladores, a través de un sencillo experimento. Se trata de un programa simplísimo:
Pero...
Todo esto viene al caso por el Ruby Quiz de esta semana. Para sorpresa de muchos, el quiz pedía realizar un programa de FizzBuzz, con la siguiente cláusula:
La respuesta ha sido igualmente vertiginosa, y ha habido mil y un formas diferentes de resolverlo. Sin embargo, esperaré hasta el jueves, en que se publique el resumen del quiz, y estaré pendiente en la comunidad. Sin duda, es un problema bastante interesante, pues pienso que es más un ejercico psicológico colectivo que un verdadero reto de programación.
Escribe un programa que imprima los números del 1 al 100, sustituyendo los múltiplos de 3 por la palabra 'Fizz', los múltiplos de 5 por la palabra 'Buzz', y los múltiplos de ambos por la palabra 'FizzBuzz'
Pero...
La mayoría de los buenos programadores son capaces de escribir tal programa en papel en menos de un par de minutos.Así pues se creó la leyenda del FizzBuzz. En una respuesta al mismo sitio de donde se generó la polémica, el autor menciona que muchos programadores inmediatamente lo tomaron como un reto personal, y las respuestas no se hicieron esperar. Miles de ellas, en todos los lenguajes y de todo tipo rápidamente comenzaron a surgir.
¿Quieren saber algo feo? - la mayoría de los graduados en ciencias computacionales no pueden. He visto auto-llamados expertos programadores que toman más de 10 - 15 minutos en solucionarlo.
Todo esto viene al caso por el Ruby Quiz de esta semana. Para sorpresa de muchos, el quiz pedía realizar un programa de FizzBuzz, con la siguiente cláusula:
Imagina que has ido a una entrevista de trabajo y te han pedido esto.que es precisamente lo que lo hace más interesante.
La respuesta ha sido igualmente vertiginosa, y ha habido mil y un formas diferentes de resolverlo. Sin embargo, esperaré hasta el jueves, en que se publique el resumen del quiz, y estaré pendiente en la comunidad. Sin duda, es un problema bastante interesante, pues pienso que es más un ejercico psicológico colectivo que un verdadero reto de programación.
Suscribirse a:
Entradas (Atom)

