jueves, 2 de diciembre de 2010

Miguel de Icaza: Más sobre Mono para OS X y iOS

Mac OS X

Miguel lanzó un nuevo blog personal especializado en el sistema operativo de Mac y el de iPhone/iPod/iPad, visto por supuesto, desde la perspectiva de Mono.

Como explica en el post inicial, las razones principales para tener un blog separado del suyo personal de siempre, exclusivamente dedicado a este tema, son dos:

  • Mientras que su blog está dedicado más que nada a novedades generales del proyecto Mono, éste está orientado a documentar sus experiencias específicas con estos ambientes de Apple, en un nivel de detalle más granular, que puede molestar a quien no tiene interés específico en el tema.
  • Estos sistemas operativos son propietarios y están bastante alejados de los ambientes abiertos usuales para gran parte del público anterior.

En cualquier caso, es muy interesante tener un buen recurso técnico con detalles sobre MonoTouch, la implementación de Mono y herramientas de desarrollo para programar aplicaciones para iOS en lenguajes .NET, que es un producto comercial (sobre todo por temas de licenciamientos varios), y MonoMac, que si es un producto abierto y gratuito para hacer lo mismo sobre Mac OS X (que sí es un sistema propietario).

Lo que ambos proyectos brindan, fundamentalmente, es la posibilidad de programar en C# y utilizar las librerías de la BCL, pero con bindings agregados para interactuar con el entorno de Apple en Objective-C y la interfaz de usuario Cocoa, lo que es una buena alternativa para quienes están interesados en desarrollar para estos dispositivos pero no tanto en aprender todos los detalles y lenguajes específicos.

martes, 30 de noviembre de 2010

RHoK: escribiendo código por los demás

Random Hacks od Kindness

La iniciativa RHoK (Random Hacks of Kindness), según describen sus organizadores, es "acerca de utilizar la tecnología para hacer del mundo un lugar mejor construyendo una comunidad de innovación. RHoK reúne a ingenieros de software con expertos en administración de riesgos de desastre para identificar desafíos globales y desarrollar software para responder a ellos. Los eventos RHoK Hackaton agrupan a los mejores hackers de todo el mundo, que voluntariamente aportan su tiempo para resolver problemas de la vida real."

Detrás de esta singular campaña trabajan en común organizaciones tradicionalmente antagónicas o disímiles como Google, Microsoft, Yahoo!, la NASA y el Banco Mundial.

Este fin de semana, sábado 4 y domingo 5 de diciembre, se realizará la segunda RHok Hackaton a nivel mundial, incluyendo los siguientes puntos de América Latina:

Comparto con ustedes este interesante video hecho con post-its para promocionar el programa:

 

lunes, 29 de noviembre de 2010

Keynote de RubyConf 2010 de Matz (el creador de Ruby)

Yukihiro 'Matz' Matsumoto

Encontré publicadas las keynotes de la última Ruby Conference ocurrida hace unos días en New Orleans.

Quienes quieran escuchar el divertido acento de Matz hablando en inglés, pueden ver el video, que lamentablemente no está disponible para embeber en este post.

Durante la presentación habló entre otras cosas sobre las novedades planificadas para Ruby 2.0 y algunos proyectos como Rite, la implementación que está diseñando para correr embebida en dispositivos pequeños como relojes, teléfonos o televisores inteligentes.

Para quienes quieran simplemente revisar el material de la presentación, si ubiqué los slides que incluyen todo el contenido, incluyendo algunas bromas, y si pude embeber aquí abajo:

 

 

PyPy 1.4: ¡más rápido, más furioso!

PyPy

PyPy es una implementación de Python 2.5 (por ahora) escrita en Python, a diferencia de la implementación CPython de referencia. Más específicamente, PyPy es una arquitectura orientada a implementar fácilmente lenguajes dinámicos mediante dos componentes básicos: un intérprete y un framework de traducción.

Obviamente, implementar Python mismo fue el primer paso, y lo que impulsa el proyecto principal. Y con esta nueva versión han alcanzado un hito sumamente importante. En la mayoría de las pruebas estándar de velocidad de ejecución populares dentro de la comunidad Python, ¡PyPy es más rápido que CPython!

¿Suena increíble, verdad? Veamos los resultados de las últimas pruebas (aquí puede verse el análisis completo):

Comparación entre PyPy y Cpython

Para comprender cómo es posible, hay que entender un poco más la manera en que funciona el compilador JIT (just in time, ó a demanda) de PyPy. Que el lenguaje esté implementado sobre sí mismo no quiere decir que se trate de un intérprete sobre otro. PyPy está escrito en Python, pero lo que hace el intérprete es analizar el árbol de expresiones del programa, y a través de su framework de traducción, generar el código ejecutable a nivel de la plataforma objetivo, a medida que va necesitando hacerlo (esta es la parte a demanda).

Por ahora hay disponibles traductores para diferentes sabores de Intel, con los de ARM en camino, para IL de .NET (que a su vez compila a una serie de plataformas) y está en etapa de pruebas el soporte para la máquina virtual de Java.

Otras características PyPy son la capacidad de Sandboxing, es decir, la ejecución en un espacio controlado, lo que permite por ejemplo recibir scripts Python en forma anónima o semi-anónima y ejecutarlos en un servidor restringiendo algunas operaciones, como acceso al file system, comunicaciones de red, etc. Esto es muy útil para permitir crear soluciones extensibles sin generar problemas graves de seguridad.

PyPy también está disponible en versión Stackless que soporta el uso de micro-threads y otras características que permiten una enorme eficiencia en soluciones de muy alta concurrencia.

 

 

 

 

viernes, 26 de noviembre de 2010

Reunión Alt.Net en Buenos Aires

Alt.Net Hispano

Después de bastante tiempo, finalmente se organizó una nueva reunión de Alt.Net en Buenos Aires, programada para el próximo sábado 11 de diciembre, de 9:00 a 18:00. Un día completo entre geeks de alta gama.

Ya está abierta (y concurrida) la registración, y el evento será nuevamente en las oficinas de Microsoft Argentina, remodeladas recientemente, casi un estreno para la comunidad local.

El movimiento Alt.Net es totalmente independiente y distribuido, sin una organización institucional ni jerarquías, y agrupa a quienes utilizan la plataforma fuera y dentro de las ofertas corporativas, haciendo mucho énfasis en buenas prácticas de diseño y desarrollo, métodos ágiles, proyectos de código abierto y colaboración entre pares y entre la comunidad.

Más detalles pueden leerse en español en esta traducción de un artículo de Jeremy Miller, o con mucho más sabor local en este post del amigo Jorge Gamba. Es Jorge casualmente quien más trabaja en América Latina para mantener funcionando el movimiento Alt.Net Hispano, con el que se organizan las reuniones VAN (Virtual Alt.Net) semanales (una o dos por semana) desde hace meses, como comentábamos en un post reciente. Ya llevan casi 60 sesiones y todas están disponibles en video para verlas a demanda.

IMPORTANTE: Si van a asistir a la reunión en Buenos Aires, no dejen de revisar y agregar propuestas en la wiki del evento. Eso permitirá agilizar la votación y armado de la agenda durante el evento.

 

Como muestra del contenido de las VAN, reproduzco aquí esta fantástica sesión sobre Patrones de Diseño a cargo del Maestro Angel "Java" López, en la que hasta se da el lujo de mencionar algunos patrones en la música y ¡tocarlos en guitarra!

Unable to display content. Adobe Flash is required.