El año pasado me uní a la celebración internacional del día del blog, y finalmente la fecha nos ha alcanzado de nuevo.
Parte de la celebración es referir cinco blogs que leo frecuentemente.
Los nominados son:
Tecnológicos
Gente
Finito.
Anotaciones de diversos temas relacionados con código abierto, metodologías de desarrollo y programación con Ruby on Rails
viernes, agosto 31, 2007
jueves, agosto 30, 2007
Casi por sorpresa
Sin mayor preámbulo, apareció en la página de descargas la versión 1.2.5 de Mono. Se encuentra disponible para casi todas las plataformas (de hecho, creo que la única que falta es Solaris).
Finito.
Finito.
Etiquetas:
community,
development,
dotnet,
milestone,
mono
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.
Me encanta la última escena.
Finito.
Rails vs. .NET
Estos weyes de Rails Envy 'tan K's. Pa'que no se sientan desamparados los pehacheperos también le dedican uno de sus video parodias a .NET. Enjoy it!
Finito.
Finito.
Etiquetas:
crossposting,
development,
dotnet,
fun,
rails,
video
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.
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.
Etiquetas:
development,
dotnet,
milestone,
mono,
opensource,
opinion
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.
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.
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.
Etiquetas:
development,
opinion,
rails,
ruby
lunes, agosto 13, 2007
Y viceversa
Tengo miedo de verte
necesidad de verte
esperanza de verte
desazones de verte.
Tengo ganas de hallarte
preocupación de hallarte
certidumbre de hallarte
pobres dudas de hallarte.
Tengo urgencia de oírte
alegría de oírte
buena suerte de oírte
y temores de oírte.
o sea,
resumiendo
estoy jodido
y radiante
quizá más lo primero
que lo segundo
y también
viceversa.
necesidad de verte
esperanza de verte
desazones de verte.
Tengo ganas de hallarte
preocupación de hallarte
certidumbre de hallarte
pobres dudas de hallarte.
Tengo urgencia de oírte
alegría de oírte
buena suerte de oírte
y temores de oírte.
o sea,
resumiendo
estoy jodido
y radiante
quizá más lo primero
que lo segundo
y también
viceversa.
Mario Benedetti
Suscribirse a:
Entradas (Atom)