Mostrando las entradas con la etiqueta opinion. Mostrar todas las entradas
Mostrando las entradas con la etiqueta opinion. Mostrar todas las entradas

jueves, febrero 06, 2014

Reseña del libro "Learning Mongoid"

Hace unos días me invitaron de Packt Publishing a hacer la reseña de un libro y aún sin tener experiencia previa acepté.

Sin embargo, después de leer varias reseñas en sitios como Amazon y similares no quise seguir el mismo formato: leer de inicio a fin el libro y publicar mis comentarios.

En lugar de eso quiero hacerlo como un reporte de avance, cada capítulo leído compartir mis opiniones sobre el tema, como presentó la idea el autor, qué me parecieron los ejemplos del texto.

Así que a partir de hoy inicio la lectura de “Learning Mongoid” de Gautam Rege.
Espero me acompañen en esta lectura.

Finito.

Book Review: Learning Mongoid

A few days ago I was invited by Packt Publishing to publish a book review and even without prior experience I do accepted.

But after reading many book reviews in sites like Amazon I don't want to use the same format: read the book from beginning to end and then publish my comments.

What I want to do is to publish an advance report for each chapter I read and share my opinions about the subject, the way the author presented the idea, how much I liked the explanations or the code.

So, I’m beginning to read “Learning Mongoid” by Guatam Rege.

Hope you join me in this reading.

Finito.

martes, diciembre 28, 2010

Poor's Man Ruby Performance

Ya sé que existen muchos, tal vez cientos de evaluaciones y comparaciones del performance de las diferentes versiones e implementaciones de Ruby.

Muchas de ellas aplicadas con el mayor rigor científico que se pudiera exigir a algo tan trivial pero que al final siempre apantallan con sus gráficas y análisis.

En esta tarde de vacuidad, se me ocurrió hacer mi "Poor's Man Ruby Performace" chart solo pa'salir de dudas y jugar un poco con Rubinius, una implementación de Ruby que recientemente llegó a su versión 1.2.

En la gráfica comparo las siguientes versiones de Ruby:
  • Rubinius 1.2 via RVM
  • Ruby MRI 1.8.7-head via RVM
  • Ruby MRI 1.9.2-head via RVM
  • Ruby 1.9.2p136 via Brew
Todo esto corriendo en una MacBook Pro con 4GB de RAM y un Intel Core 2 Duo @ 2.2 GHz.

En la gráfica es obvio el interesante (y excelente) desempeño de Rubinius pero tiene el 'pero' de que la versión actual sigue implementando MRI 1.8.7. Yo ando de curioso ya con la versión 1.9.2 pero hasta el siguiente release se van a emparejar.

Antes de cerrar, les dejo la gráfica:



Y no, no es una inocentada.

Finito.

viernes, noviembre 05, 2010

La diferencia entre los dos

Hace cuatro años que dejé el trabajo en uno de los organismos públicos más grandes de México y me incorporé en una PyME de tecnología para finalmente mezclar el frilansin con el trabajo en la PyME.

En estos cuatro años me convertí en fan, usuario y evangelizador de Rails; me desconecté parcialmente (o muchamente) de Microsoft y sus tecnologías (tanto como los proyectos me lo permitieron) y me hice toda una mac bitch.

El involucramiento con Rails me trajo una cantidad enorme de temas nuevos de aprendizaje y reforzamiento (¿existe "reforzamiento"?) de muchos principios y valores (como en el catecismo) que ya conocía por mi anterior involucramiento con proyectos de software libre.

Estos aprendizajes me dejaron ávido de más, mucho más conocimiento sin embargo sentí una diferencia notable y que hasta hoy sentí abrumadora.

Durante los ocho años que estuve trabajando en la administración pública federal fui enviado a una infinidad de cursos de capacitación de diferentes tecnologías y marcas, estos cursos, talleres y similares complementaron mi aprendizaje autodidácta aunque más de una vez me cuestione si alguna vez iba hacer uso de tanto bagaje de conocimientos. Muchas veces no lo hice. Algunas otras me salvó día (y el trasero).

En la experiencia de consultor y frilanser el aprendizaje ha sido mucho más rudo, compacto en tiempo y diverso. El enfrentarte a problemas bastante diferentes en un pequeño marco de tiempo, con menos recursos ("tu eres el consultor") solo apoyándote del santísimo google hace que, de alguna manera, extrañe esos procesos de capacitación de antaño.

También me hace pensar en el eterno dilema de contratar novatos y capacitarlos vs contratar expertos y pagar sueldos elevados. La eterna queja de la empresa es "¿para qué los capacito si me van a dejar?". No chillen. Encuentren motivaciones adicionales al salario para que la gente se quede en la empresa y claro, hay que hacer crecer la empresa para pagar mejores sueldos.

"Es imposible contratar Divas". Solo contratas Divas si vendes bluffing o si de verdad produces algo muy particular. Es parte del negocio que escogiste.

En fin. Aprendizaje a velocidades y tiempos comprimidos. Otras vistas, otras perspectivas.

Finito.

sábado, junio 06, 2009

Un día después

Como lo anuncié algunos días atrás, ayer se realizó el RubyCamp en el Instituto de Física de la UNAM en la misma línea de otros eventos estilo 'BarCamp' que se han venido haciendo recientemente y como tal concentra a gente innovadora y entusiasta de la tecnología, particularmente del lenguaje de programación Ruby y su 'killer app': Ruby on Rails.

Alex Juárez y su equipo de trabajo se encargaron del 99% del trabajo de organización del evento el cual incluyo una extensa lista de ponentes (/me incluido) que trataron una variedad de temas pero que nos dejaron con el ansía de seguir realizando eventos de este tipo donde escuchar experiencias e ideas de gente que usa estas herramientas para ganarse el pan y no solo bluffing mercadológico para vendernos algo.

Me parece que es necesario seguir ampliando los espacios para compartir experiencias y traer más material del tema en español. Comentaba en una oportunidad que si bien existen toneladas de información en inglés, es necesario crear nuestra base de conocimientos y compartirla, intercambiar dudas, preguntas, inquietudes sin temor a no obtener respuesta ni a una competencia desleal.

Me sigue inquietando el hecho de que seguimos protegiendo nuestros 'productitos' o 'sistemitas' más que a un niño pequeño e indefenso y por otra parte, en la edición de mayo-julio de la revista Software Guru viene una entrevista a Jorge Zavala que si bien no reconozco en algún ámbito dice algunas frases que me parecen bien ciertas,
  • "fail fast", si tienes una idea, enfréntala a la realidad, si es buena y funciona, invierte en ella sino continua con la siguiente.
  • Necesitas gente con mentes frescas antes que grandes recursos financieros.
  • Los negocios son para venderse, no quedarse toda la vida con ellos.

También hace referencia a los 'Super Happy Dev House' que se han venido realizando y en lo particular lo asocio con algunos de los eventos 'BarCamp' que han pasado. Hay gente que buscamos compartir lo que creemos bueno, nuestras experiencias y nuestras ambiciones y encontrar algunos otros con las mismas inquietudes, buscar una o más relaciones 'ganar-ganar' donde los beneficios se repartan entre los participantes.

Me quedé con un costal de ideas y un delicioso sabor de boca después de esta experiencia y sin lugar a dudas creo que este ha sido el mejor evento en lo que va del año. Realmente espero el siguiente para participar de nuevo y encontrar más personas participando, intercambiando experiencias y conocimiento.

Finito.

miércoles, octubre 22, 2008

Podcast con invitado especial: Yo :D

Hace más o menos un año Arturo Garrido, el rey del Twitter me platicó que había conocido unos cuates que traían unas ideas chidas sobre la web 2.0 y que andaban con la cosquilla de hacer un podcast sobre el tema. Eso fue la concepción inicial de Monólogos de la Cantina, el podcast de los retrosexuales y la web 2.0 en el que han ido desfilando una serie de protagonistas de estos tiempos digitales.

Mi gran sorpresa fue recibir una invitación de parte de ellos para platicar sobre Ruby On Rails, herramienta con la que he venido trabajando durante el último año y que en el podcast comparto mi experiencia y opiniones sobre el tema y algunos comentarios adicionales.

Si no les gusta el tema, pueden buscar otros episodios en los que seguramente encontrarán algún tema de su interés y quien sabe.. a lo mejor también ingresan a las filas de los retrosexuales :P

Un agradecimiento enorme al crew de Monólogos de la Cantina @omendoza, @_kuro y por supuesto, @arturogarrido.

Finito

jueves, febrero 21, 2008

CONSOL 2008

Ayer dio inicio uno de los eventos que con mucha avidez he seguido en los últimos años: el Congreso Nacional de Software Libre. En esta ocasión la Universidad Autónoma de la Cd. de México fue sede del evento.

Como el año anterior envié mi propuesta para exponer y con mucha alegría leí el correo donde me notificaron que fue aceptada. Eso me puso en un real aprieto, a partir del cambio laboral me ha quedado muy poco tiempo para dedicar a estas actividades. Pues aún así no di marcha atrás y estuve pendiente de de la fecha del evento.

El tema para la presentación fue "Rails: Desarrollo Ágil para Web" dado el amorío que traigo con este framework. Estuve leyendo varias referencias para ir organizando la presentación pero la verdad es que casi ninguna me dejo con algo que compartir así que realmente me basé en lo que he aprendido en los últimos meses.

Llegar a la sede fue menos complicado de lo que esperé y después de investigar donde se encontraba la oficina de registro, me dirigí apreciando los edificios de la uni. La verdad es que me parecieron excelentes instalaciones. A punto de llegar a mi destino me encontré con Alejandro Juárez, un excelente desarrollador y conocedor de metodologías ágiles a quien conocí en uno de esos viernes de Cova.

Resulta que Alex también envió su propuesta y fue aceptada. Y además, su presentación era a continuación de la mía. Después de saludar y conversar un poco, finalmente llegué al registro y me dieron mi gafete. Acompañado de Alex buscamos el auditorio y en lo que terminaba el ponente anterior charlamos un rato.

Finalmente llegó la hora, acomodé mi equipo y con un auditorio al 75% de ocupación inicié la presentación. Al principio, como es costumbre, me sentí bastante tenso pero al paso del tiempo me fui relajando y empecé a disfrutar el estar al frente. De hecho, mi temor inicial era que me fuera corriendo en las diapositivas y me acabara la presentación en 15 mins. Cuando me senté junto a la lap para hacer los demos casi llevaba 50 mins. :O

En el tiempo que me quedó hice una breve demo en línea de comandos y reservé cinco minutos para preguntas. No fueron muchas pero bueno, la próxima vez le voy hacer como Sandino, voy a llevar mi lista de preguntas.

Terminando la presentación se me acercó una persona que resultó ser nada menos que Carlos Ortega, otro "railero" que incluso contacté para ofrecerle chamba :D.

Cuando me despedí del auditorio, un voluntario me entregó una bolsa con "souvenirs" y un boleto para ir al comedor así que sin más nos fuimos a la gorra. :D

En una carpa, se encontraba instalado el comedor y ahí me encontré con un buen de caras conocidas: Zodman, Compermisos, Bea y otros ponentes.

Ahi conocí en vivo y en directo a Vendetta. ¡shio!. Y pues a lo que fuimos: comer, charlar y comentar sobre varios temas.

La exposición de Alex empezó con algunos problemillas proyectando la imagen... pero al final lo resolvieron. Realmente me sentí bien novato al ver todo el trabajo de Alex y su equipo.

Otro tema importante de este CONSOL es el 3er aniversario de la Revista SL en la cual he tenido la oportunidad de colaborar echando a perder los artículos :P

Finito.

lunes, noviembre 19, 2007

MVC significa "Más-Visto-que-Conocido"

Ultimamente se le ha dado una extensa difusión al hecho de que Microsoft está preparando una implementación del patrón de diseño MVC.

Una vez más Microsoft llega tarde y para evitar poner su cara de perdedor monta la fanfarria para compartir su última gran innovación.

MVC, el patrón, es una de las cosas más antiguas en la ingeniería de software. Fue desarrollado circa 1980 en los (realmente innovadores) laboratorios Xerox buscando una manera de separar los diferentes "concerns" al momento de construir una aplicación. Hasta ahí lo dejaron entonces.

Posteriormente, Sun Microsystems al lanzar su parafernalia conocida como J2EE buscó algo en que apoyarse para facilitar el desarrollo de aplicaciones web (el infame modelo 2), cosa que encontró en MVC dejando atrás incluso tecnologías que ellos mismos habían desarrollado.

Fue tan buena la aceptación del uso de este concepto que en el mundo del código libre aparecieron varias implementaciones del patrón MVC más puristas o independientes a Sun. Así encontramos Struts, Spring, Tapestry, WebWork y muchos otros más que por diversas cuestiones pasaron a la posteridad.

Al ser un patrón de diseño, no depende de un lenguaje o artefacto específico, sino que representa una solución genérica para aplicarse en las más diversas situaciones.

El corazón de MVC es la división de una aplicación delimitando específicamente sus responsabilidades, así tenemos:
  • Modelo - Se encarga de la representación específica de la información perteneciente al dominio del problema. En una implementación específica se responsabiliza del acceso y recuperación de datos.
  • Controlador - Es el cerebro maestro. El que se las sabe todas, todas. Los procesos de la aplicación se encuentran concentrados en un conjunto de controladores que son el corazón y el cerebro de la aplicación.
  • Vista - La parte coqueta. La parte visual. La interface de usuario que se encarga únicamente de presentar la información que le entrega el controlador. Nunca se entera (al menos no al detalle) de la existencia de los modelos.

El beneficio final de usar este patrón es la simplificación en la distribución de responsabilidades, al aislar las acciones que corresponden a cada clase participante del sistema. En pocas palabras en una excelente idea.

Es por eso que desde hace más de veinte años que alguien tuvo la ocurrencia de inventarlo (no sé realmente si valga la expresión "inventar") se utiliza obligadamente en la construcción de aplicaciones web, excepto claro, en aquellos casos en los que la premisa es No-inventado-aquí.

Hace cerca de ocho años cuando Microsoft lanzó al mercado la tecnología .NET presentó su alternativa para el desarrollo web: los formularios Web. Una idea interesante, complicada de aprender de inicio que trajo a las herramientas de Microsoft algo del dinamismo indispensable para seguir en la contienda.

Aunque algunas personas han cuestionado la cuota de mercado que ha ganado .NET, un excelente indicador son las comunidades de software libre que se basan en los componentes de .NET para arrancar, construir y compartir alternativas a los productos propietarios de Microsoft. Esta corriente hasta hace un par de años no tenía un nombre aunque si varios protagonistas. Actualmente se le conoce como ALT.NET.

Dentro de estos esfuerzos de código libre se incluyó la implementación del patrón MVC para el desarrollo de aplicaciones web, en contraposición a la línea "oficial" de Redmond que se basó principalmente en otro patrón conocido como Front Page Controller (Pa'más detalles léanse "Enterprise Solution Patterns" del equipo de Patterns & Practices). Simplemente MVC no les pareció lo suficientemente bueno, no les llenó el ojo.

Siete años después y con una estela de productos open source muertos, Microsoft anuncia que la gran solución para el desarrollo web es MVC.

Microsoft llegas tarde. Como siempre.

Finito.

jueves, noviembre 15, 2007

El Camino del Código

El estar trabajando con Rails ha despertado en mí muchas cosas que tenía dormidas.

Reencontrarme con el desarrollo ha sido estupendo, las problemas que por momentos parecen no tener sentido, se resuelven de manera transparente y relajada como el correr del agua en un riachuelo. No hay que poner demasiado esfuerzo, como caballo desbocado sino más bien permanecer quieto y alerta para en el momento justo tirar una sola línea de código como trazo de pincel... ni más, ni menos.

También cuando vas escribiendo código y piensas: "si éste método existiera de este otro modo..." y el método ya existe o cuando integras por primera vez un nuevo concepto y empiezas a complicar todo cuando la respuesta es tan simple.

No es que Rails sea mejor que X o Y. Es simplemente nadar con la corriente en lugar de nadar contra la corriente.

Finito.

miércoles, septiembre 05, 2007

Nuevo número de Revista SL

Después de mucho trabajo por parte de un grupo de entusiastas promotores sale a la luz el número ocho de la Revista SL - Software Libre Hecho Revista, una publicación electrónica bimestral (bueno, casi) para difundir y promover el software libre.

Conocí la revista el año pasado y durante el FONASOL tuve el gusto de conocer a Zodman (aka Andrés Vargas) y a k001 (aka Ivan Zenteno) con quienes platique largo y tendido. Posteriormente me llegó la invitación para participar en el proyecto y en esta ocasión me di a la tarea de encontrar y corregir (o más bien: desmejorar) los artículos a publicar.

Pues bien, invito a todos a leerla, comentarla, distribuirla y sobre todo a participar.

Finito.

viernes, agosto 24, 2007

La verda' no se puede ocultar

Hace rato posteé sobre el video de Rails vs. .NET, me pareció bueno pero lo que viene a continuación es simplemente..... ¡¡¡GENIAL!!!

Me encanta la última escena.




Finito.

jueves, agosto 23, 2007

La construcción de los Helpers

Derivado del desarrollo de Operación PyME y un poco de sentido común aparece la tarea de construir un framework para construir más rápidamente y fácilmente la aplicación.

Se ha vuelto un concepto casi obligado el utilizar un framework de objetos de negocio pero ¿qué entendemos por esto? Un conjunto de clases que permiten modelar los objetos de un dominio y nos permitan olvidarnos de las tareas mundanas. La idea de fondo es utilizar la mayor parte de nuestra energía solucionando problemas de negocio y la menos posible en los problemas de tecnología.

Así han aparecido en el medio infinidad de frameworks con este objetivo, en todos los lenguajes y en todas las plataformas. Hasta parece que ya se ha llegado a un punto de saturación para estos proyectos. Sin embargo siguen apareciendo.

No existe el framework perfecto, como tampoco el lenguaje perfecto ni la plataforma perfecta. Y siguiendo nuestro inevitable anhelo de perfección vamos creando más proyectos tratando de solventar los errores que encontramos en otros.

No existe una metodología perfecta para construir un framework, generalmente la construcción es influenciada por el tema de moda: aspectos, programación orientada a objetos, inyección de dependencias, objetos auto-suficientes. Algunas empresas han publicado documentos para describir como han concebido y construido los frameworks que ofrecen. Entre estas últimas aparece notoriamente Microsoft.

Después de lanzar al mercado la tecnología .NET, Microsoft ha batallado duramente para posicionarla como una tecnología empresarial (cualquiera que sea su significado). Parte de esos esfuerzos ha sido el desarrollo de bibliotecas de componentes que faciliten el desarrollo de aplicaciones. El esfuerzo inicial dio como resultados los elementos que se conocieron como Application Blocks.

Estos eran conjuntos de clases con un objetivo delimitado. Lo más interesante fue que las construyeron a partir de un análisis que compartieron en forma de guías. En estos documentos exponen los elementos que se consideraron durante el diseño describiendo detalladamente los escenarios y la manera de aplicar la tecnología .NET para construir estas bibliotecas.

Estas bibliotecas fueron rápidamente adoptadas por la comunidad de desarrolladores quienes además fueron enriqueciendo con sus experiencias propias la funcionalidad de las clases incluidas e incluso se combinaron en un nuevo producto que se conoce como Enterprise Library. Sin embargo, tras la aparición del proyecto Mono, que permite la ejecución de programas desarrollados con .NET en plataformas no Windows, se incluyó en la licencia una cláusula que impide la ejecución de los Application Blocks en sistemas operativos distintos a los construidos por Microsoft.

Así que ahora, a pesar de ser elementos tan útiles, los Application Blocks no pueden ser utilizados en Linux o Mac OSX. Existen en el mundo del código abierto cada vez más proyectos basados en .NET y algunos de ellos pudieran resolver los mismos escenarios que se presentan en el diseño de las bibliotecas de Microsoft el ejemplo de inicio es log4net, una biblioteca de clases para registrar entradas en diferentes destinos que forma parte del proyecto Logging Services de la Fundación Apache.

Y también existen otros proyectos que ofrecen alternativas para los otros Application Blocks existentes sin embargo la principal ventaja de la oferta de Microsoft es la unificación que han conseguido y que en los proyectos de software libre se encuentran dispersos e inmersos en otros proyectos y una implementación sencilla, directa y única simplemente no existe.

Así que esta iniciativa (si, una más) es la de tener en un solo conjunto esta funcionalidad partiendo en primer lugar de proyectos ya existentes, como log4net, mostrando como es que se cumplen los escenarios descritos en la documentación de Microsoft y construyendo los elementos necesarios retomando código o creando nuevo para satisfacer las necesidades planteadas por las guías de referencia.

Y si no fuera suficiente... habrá más sobre el tema.

Finito.

miércoles, agosto 22, 2007

Uno de muchas

En este post tengo que agregar varias, varias notas.

Para la gente con la que tengo contacto más directo, principalmente por twitter esto ya no es noticia: ahora soy el flamante propietario de una Apple Macbook :P ¡Lo hice!

Ha sido una experiencia bastante rica, un ambiente agradable, un desempeño excelente y un ambiente familiar, después de todo en el fondo se trata de una variante de *nix. El único problema ha sido AirPort. Nomás no puedo configurarlo con los pinchis modems 2wire. Sucks.

Lo primero fue configurar un ambiente de desarrollo para lo cual me apoyé en los MacPorts, sin ahondar en detalles es un tipo de emerge: get code, compile, install. Easy, easy. Aún así me costó trabajo generar un ambiente para compilar Mono, cosa que conseguí hasta hoy.

Otra cosa agradable fue que resolvieron un bug que levanté en Mono, más detalles en mi blog hermano PartnerApi.

En la parte de las malas nuevas, mi ponencia fue rechazada en el EnLi ¡buaaa! ni modos :( (Sí quería ir).

Otra mala noticia es que pasó menos tiempo en línea gracias a los errores de Hellmex. Me suspendieron el servicio de banda ancha y teléfono por el desmadre que traen con el contrato desde que cambiamos de domicilio. Nomás pa'que le midan: el recibo con el nuevo número sigue llegando al domicilio anterior :S

Y pus bueno, sigo en el underground con Operación PyME. Ahora se me ha clavado la loca idea de desarrollar (bueno, seguir desarrollando) un framework que usé hace un par de años derivado de CSLA.NET y además una serie de Helpers muy similares a los famosos ApplicationBlocks; ya estaré posteando más detalles.

Finito.

martes, agosto 14, 2007

Misterio sin resolver

Entre mis feeds de hoy me encontré este post que refiere a este otro. ¿Cuál es la gracia? Se trata del código fuente de la página principal de Facebook (según su dicho).

Independientemente de esta situación, me parece el clásico ejemplo PHP: ininteligible, aburrido y extremadamente "verbal".

Mi punto de vista sobre un lenguaje siempre nace la capacidad de 1) representar un modelo de dominio y 2) el esfuerzo para representar éste. A lo largo de ya algunos años he conocido y trabajado con dos modelos para construir software, con n lenguajes y en n plataformas. En cualquier caso he ido saltando de lenguaje conforme apareció otro que me representara una ventaja sobre el actual tomando como referencia los numerales anteriores.

En concreto, con PHP no se obtiene ventaja de uno u otro aspecto. Y cuando volteo y me encuentro con RoR, simplemente se afirma mi punto de vista y aumenta mi duda ¿cómo es que PHP llegó a tener la difusión que goza actualmente?

Finito.

jueves, julio 26, 2007

¡Ahora si se va a acabar el mundo!

En el feed de Port 25, encuentro el anuncio de nueva Comunidad Open Source en Microsoft.

¡!

Sip, leyeron bien. Open Source y Microsoft sin ningún vs. de por medio.

Resulta que los chicos y chicas de Redmond, después de casi un año de Port 25, de participar en la mayoría de las grandes conferencias de Open Source, de ayudar a morir a un proyecto (NDoc vs. Sandcastle), de litigar en contra de un ¿ex-?-MVP por publicar un proyecto Open Source que "infringe" una licencia, de anunciar que Linux viola patentes de Microsoft, de..... ¡ash! ya me cansé....

En su FAQ reconocen al movimiento Open Source como una metodología de desarrollo. Mantienen su postura frente a la propiedad intelectual, patentes, copyright, trademark como partes importantes del ciclo de innovación de la industria de las TI's. Muestran a sus partners que trabajan con proyectos Open Source (incluyendo Novell).

Entonces, ¿cuál es el punto? ¿son o no son? Realmente no han cambiado de fondo. ¿será solo un escenario rosa? ¿será que sienten la presión de casos donde se ha dejado atrás toda la infraestructura Microsoft? ¿será que el mundo se va a acabar?

El de ellos, más tarde que temprano, pero sin duda.

Finito.

lunes, julio 23, 2007

IronRuby para todos

John Lam, ha hecho publica la primera liberación de IronRuby.


Soporta la integración con las bibliotecas estándar de .NET, para usarlas se debe incluir lo siguiente:
require 'mscorlib'
require 'System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

Tomar nota en que se está especificando el nombre calificado del assembly.

También se pueden usar clases aún sin haberlas incluido, como sigue:

Window = System::Windows::Forms::Window
Han hecho comparaciones contra Ruby 1.8.6 y reportan al menos un desempeño equiparable en relación a las bibliotecas, en las llamadas a métodos dicen ser más rápidos. Sin embargo, parece ser que hay algunos problemas de desempeño cuando se levantan excepciones.

Considero este anuncio importante desde el momento en que mostraron Silverlight lo acompañaron de un demo de IronRuby. Hace unos meses, Scott Hanselman comentaba acerca del distanciamiento de Microsoft y los Alpha Geeks. No sé si esta liberación es bluffing para recuperar Alpha Geeks o realmente Microsoft tiene interés en Ruby.

Finito.

miércoles, julio 18, 2007

Otra aplicación web

Gracias al blog de Marcos Cobeña me encontré esta interesante aplicación: Gliffy.

Ahora resulta que podemos hacer diagramas tipo Visio o Dia en nuestro navegador. ¡Excelente! Ultimamente me había inclinado por aplicaciones de escritorio y consideraba las aplicaciones web para puro entreteniento o cosas superficiales, pero al irme haciendo cliente de las aplicaciones y servicios Google me voy despegando del escritorio.

Manejo proyectos con Google Code. Comparto documentos con Google Docs. Manejo mis listas de acciones con Google Notebook. Leo mis feeds con Google Reader. Mi correo electrónico es GMail. Y ahora hago mapas mentales con bubbl.us y diagramas con Gliffy.

¿Cuál es la ventaja? En primer lugar la ubicación transparente. No más memorias flash o discos duros externos. En casi cualquier computadora puedo trabajar. A cualquier hora.

¿Desventajas? Depender de una conexión a internet. O sufrir si es una conexión lenta. El riesgo siempre latente de no tener la ultimisisisisima versión en la mano y obvio, de que alguien más o algo más se la pase parseando o scanneando todos mis pensamientos vertidos.

Hasta ahora han sido más ventajas pero no deja de sorprenderme. Bien dice Thomas Friedman en su libro "La tierra es plana": internet es una de las aplanadoras.

Finito.

martes, julio 10, 2007

bubbl.us - free web application for brainstorming online

bubbl.us - free web application for brainstorming online

Ya había encontrado en un post noticias sobre sitios web que ofrecen el servicio de mapas mentales. No los había tomado mucho en cuenta hasta que empecé a usar con más frecuencia Google Docs y su capacidad de compartir documentos. Sin embargo Google Docs solo soporta documentos tradicionales: hoja de cálculo y texto :(

En una rápida búsqueda en San Google encontré Mindomo, que era el sitio acerca del que leí y encontré también este otro bubbl.us. Hice el trámite para registrarme en los dos y simple y sencillamente bubbl.us me encantó. Muy a la Library Thing lo único que tienes que hacer es dar tu correo, nombre de usuario y contraseña y voilà! ¡Estás inscrito y listo para usar el servicio! Y es así, en cuanto di Submit apareció el canvas y empecé a dibujar mi mapa mental.

Mindomo por otra parte, te envía un correo de confirmación y en lo que escribo este post sigue cargando su "canvas".

Obvia cual fue mi decisión ¿cierto?

Finito.

jueves, junio 21, 2007

Próximas mudanzas

Y sigue la búsqueda. Me ha entrado la curiosidá de instalar Gentoo. Ja. Hay va de nuevo el ChilliCoder.

De hecho hoy empecé con la PC de la ofi. Digo, echando a perder se aprende. Es una máquina con arquitectura AMD64/EMT64, bastante interesante el caso. El ejercicio anterior de instalar Gentoo lo hice en una máquina virtual y solo llegué a conseguir un mugroso prompt. En esta ocasión tengo que llegar más lejos. No puede faltar en mi escritorio (de inicio un escritorio gráfico) reproductores de video y audio, un navegador que soporte flash y applets java, editores de audio (ya casi, ya casi sale el primer podcast), herramientas de captura de video (ya casi, ya casi sale el primer screencast), herramientas de desarrollo y demás chunches que se me ocurran.

Como estuve colgado de la pichurrienta red para descargar el stage3 (115MB) y la lap se quedó en casa, empecé a navegar con una PowerMac G4 que me emprestaron dizque pa'compilar Mono :O. Lenta la máquina por que no es de las más recientes. El Safari: insoportable. Simplemente no me pude conectar a leer mi correo en GMail (santo sr google). Tiene Netscape pero fue peor. En uno de esos arrebatos de histeria, me acordé del CD que estaba en el cajón, domidito. Ubuntu 6.06 LTS para Mac. :O

El primer pex fue conseguir insertar el CD en el drive. Control + Opción + O + F para abrir una sesión de Open Firmware :S. Reiniciar, presionar C para que arranque del CD y zzz ZZZ zzz ... esperar. Después de un ratín un escritorio hecho y derecho. FF 1.5. No problemas. GMail rulz.

Me encantó la experiencia de no mismatch impedance al usar Ubuntu en la Mac. Simple. Fácil. Lento :P. Pero me sigue el sabor en la boca de lo maravilloso que es usar "lo mismo" en otra máquina completamente distinta: PowerPC, Mac, etc, etc, etc.

Regresando al Gentoo, lo único que me ha detenido de instalarlo en mi lap es el soporte no nativo de WiFi. "shiale, este w no lee ni el sensacional de luchas" pensarán algunos gurús de Gentoo. Sip, me quedé muy acostumbrado al modo usuario de Ubuntu ¿Y?. Pa'que vean que si leo, me estoy aventando el Handbook. Algo he de aprender. Una vez lista la PC de la ofi, le caigo a mi lap.

Otra cosa que estuve repensando es la planeación de las particiones. En algún sitio encontré la recomendación de crear una partición separada para /home. En este momento me alegró de haber hecho caso. Voy a instalar una distro distinta y no voy a perder nada de mis archivos. También se me vino a la mente el caso de los servidores Solaris que tenemos y en los cuales se llega a saturar / poniendo en riesgo la estabilidad de los equipos. En una instalación de servidor seguramente se tiene que planear con más detalle la distribución de directorios, particiones y a lo mejor hasta de discos: que si /usr en el más rápido, que si /var en donde haya más espacio, que si /home donde sea...

Pues, sigo con mudanzas. Proyectos por desarrollar y sueños por perseguir.

Finito.