domingo, septiembre 20, 2009

Apoyando a GamerSV

Por iniciativa propia y en apoyo a GamerSV, este blog quiere darle aunque sea una mención a un grupo de individuos que constantemente están luchando por superarse y salir adelante en medio de las vicisitudes que han enfrentado.

Los compañeros de GamerSV, están dedicados a áreas tecnológicas con mucho potencial: juegos, modding y overcloking.

GamerSV, no solo se queda con escribir sobre juegos o nuevas tecnologías para los mismos, sino que también abrieron un "Game Center" en Santa Ana. Lamentablemente, por la situación del país, ellos sufrieron dos asaltos, el último en Julio de este año, por lo que se vieron forzados a cerrar.

Pero como la gente de GamerSV, no se dan por vencido (creo que tienen algo así como "vidas infinitas"), recientemente abrieron la GSVstore en donde venden camisas para Gamers (para ambos sexos) y espero yo, que con el tiempo, amplíen su catalogo para temas geek :)

Los precios son accesibles, y la tienda esta "right here" en El Salvador.

Los que son emprendedores, saben cuanto cuesta tener negocio propio, así que apoyemos lo nuestro y si eres gamer, no dudes en visitar GamerSV y su tienda.

¡Saludos al equipo de GamerSV y muchos exitos en todo lo que emprendan!

Para más información visita GamerSV: http://gamersv.com/
y la tienda GSVStore: http://gamersv.com/gsvstore/

Apoyando a GamerSV

Por iniciativa propia y en apoyo a GamerSV, este blog quiere darle aunque sea una mención a un grupo de individuos que constantemente están luchando por superarse y salir adelante en medio de las vicisitudes que han enfrentado.

Los compañeros de GamerSV, están dedicados a áreas tecnológicas con mucho potencial: juegos, modding y overcloking.

GamerSV, no solo se queda con escribir sobre juegos o nuevas tecnologías para los mismos, sino que también abrieron un "Game Center" en Santa Ana. Lamentablemente, por la situación del país, ellos sufrieron dos asaltos, el último en Julio de este año, por lo que se vieron forzados a cerrar.

Pero como la gente de GamerSV, no se dan por vencido (creo que tienen algo así como "vidas infinitas"), recientemente abrieron la GSVstore en donde venden camisas para Gamers (para ambos sexos) y espero yo, que con el tiempo, amplíen su catalogo para temas geek :)

Los precios son accesibles, y la tienda esta "right here" en El Salvador.

Los que son emprendedores, saben cuanto cuesta tener negocio propio, así que apoyemos lo nuestro y si eres gamer, no dudes en visitar GamerSV y su tienda.

¡Saludos al equipo de GamerSV y muchos exitos en todo lo que emprendan!

Para más información visita GamerSV: http://gamersv.com/
y la tienda GSVStore: http://gamersv.com/gsvstore/

miércoles, septiembre 16, 2009

Microsoft y el Software Libre

¿Posible?, claro que si. En uno de los últimos esfuerzos de abrazar el mundo del software libre, Microsoft ha creado una fundación de software libre. Que vueltas las que da la vida ¿no?.

El 10 de Septiembre, Microsoft lanzo su fundación CodePlex. La fundación CodePlex es como una extensión de la idea de CodePlex.com, que es un sitio para alojar proyectos de software libre (como SourceForge, pero de Microsoft). La idea de la fundación sin fines de lucro, es estar enfocado en el intercambio de código y conocimiento entre las compañías de software y las comunidades de software libre... algo que para mi, suena como un experimento de modelo de negocio. Quizás por eso Codeplex.com y CodePlex.org son independientes, pero no necesariamente excluyentes.


Sam Ramji (guru de software libre en Microsoft) estará sirviendo como presidente interino en la fundación CodePlex, algo que a el (Sam) cataloga como "la culminación del trabajo en la estrategia con respecto al software libre en Microsoft". En sus últimos 5 años de trabajo de Sam Ramji, Microsoft ha aumentado su participación en el software libre, con donaciones de codigo a la Apache Software Foundation, como también con el "Microsoft’s Open Source Technology Center’s (OSTC)", que coopera con la comunidad de PHP. Contamos también con la creación de CodePlex.com y Port25, un laboratorio/casa de la comunidad de software libre en Microsoft.


Y así mismo, el suceso más conocido y "controversial" (para algunos) entre el software libre y MicroSoft, es la publicacion de los unos controladores de integración para el kernel de Linux, amparados con licencia GPLv2. Solo por mencionar algunas cosas buenas realmente, teñidas como siempre con el velo del escepticismo, pero aun así, es un punto a favor para los amantes del software libre.

Lo que quiero recalcar, es la magnífica oportunidad de mencionar (en cada oportunidad) que el uso de software libre es una opción que una empresa siempre debe tomar en cuenta, después de todo: hasta Microsoft le esta dando una oportunidad al software libre...

"Música angelical de fondo por favor..."

Algo muy interesante de la fundación Codeplex, es que aunque Microsoft es el que suelte el $$$ para invertir en ella, un millón de dolares, poco a poco esta puede aumentar su independencia al recibir inversión de otras empresas ajenas a Microsoft. Un paso fundamental para asegurar su existencia y autonomía.

Lo que hace diferente a esta fundación, es que no esta enfocada en el software, sino en asegurar que es facil proveer "derecho de uso" de software por parte de una comunidad (dueña de un software libre) a una empresa. Una dimensión totalmente nueva, y que acercará probablemente más la brecha existente entre las corporaciones y las comunidades de software libre.

Como nota adicional Ramji se retira de Microsoft, y será el presidente interino en la fundación Codeplex, y en su lugar estará Tom Hanrahan, quien fue alguna vez miembro de la fundación Linux. Asi que el puesto queda en excelentes manos.
Espero, sinceramente, que esta fundación tenga éxito, y no sea un proyecto fracasado o con fecha de vencimiento. Son precisamente iniciativas así, impulsados por empresas e individuos, la que necesitamos los amantes de software libre, para convencer y promover a las empresas de los beneficios obvios y de las estrategias que se pueden implementar para emplear software libre en TI.

Para más información puedes visitar el Blog de Sam Ramji, el sitio CodePlex.com, Port25 y hasta Microsoft.


Microsoft y el Software Libre

¿Posible?, claro que si. En uno de los últimos esfuerzos de abrazar el mundo del software libre, Microsoft ha creado una fundación de software libre. Que vueltas las que da la vida ¿no?.

El 10 de Septiembre, Microsoft lanzo su fundación CodePlex. La fundación CodePlex es como una extensión de la idea de CodePlex.com, que es un sitio para alojar proyectos de software libre (como SourceForge, pero de Microsoft). La idea de la fundación sin fines de lucro, es estar enfocado en el intercambio de código y conocimiento entre las compañías de software y las comunidades de software libre... algo que para mi, suena como un experimento de modelo de negocio. Quizás por eso Codeplex.com y CodePlex.org son independientes, pero no necesariamente excluyentes.


Sam Ramji (guru de software libre en Microsoft) estará sirviendo como presidente interino en la fundación CodePlex, algo que a el (Sam) cataloga como "la culminación del trabajo en la estrategia con respecto al software libre en Microsoft". En sus últimos 5 años de trabajo de Sam Ramji, Microsoft ha aumentado su participación en el software libre, con donaciones de codigo a la Apache Software Foundation, como también con el "Microsoft’s Open Source Technology Center’s (OSTC)", que coopera con la comunidad de PHP. Contamos también con la creación de CodePlex.com y Port25, un laboratorio/casa de la comunidad de software libre en Microsoft.


Y así mismo, el suceso más conocido y "controversial" (para algunos) entre el software libre y MicroSoft, es la publicacion de los unos controladores de integración para el kernel de Linux, amparados con licencia GPLv2. Solo por mencionar algunas cosas buenas realmente, teñidas como siempre con el velo del escepticismo, pero aun así, es un punto a favor para los amantes del software libre.

Lo que quiero recalcar, es la magnífica oportunidad de mencionar (en cada oportunidad) que el uso de software libre es una opción que una empresa siempre debe tomar en cuenta, después de todo: hasta Microsoft le esta dando una oportunidad al software libre...

"Música angelical de fondo por favor..."

Algo muy interesante de la fundación Codeplex, es que aunque Microsoft es el que suelte el $$$ para invertir en ella, un millón de dolares, poco a poco esta puede aumentar su independencia al recibir inversión de otras empresas ajenas a Microsoft. Un paso fundamental para asegurar su existencia y autonomía.

Lo que hace diferente a esta fundación, es que no esta enfocada en el software, sino en asegurar que es facil proveer "derecho de uso" de software por parte de una comunidad (dueña de un software libre) a una empresa. Una dimensión totalmente nueva, y que acercará probablemente más la brecha existente entre las corporaciones y las comunidades de software libre.

Como nota adicional Ramji se retira de Microsoft, y será el presidente interino en la fundación Codeplex, y en su lugar estará Tom Hanrahan, quien fue alguna vez miembro de la fundación Linux. Asi que el puesto queda en excelentes manos.
Espero, sinceramente, que esta fundación tenga éxito, y no sea un proyecto fracasado o con fecha de vencimiento. Son precisamente iniciativas así, impulsados por empresas e individuos, la que necesitamos los amantes de software libre, para convencer y promover a las empresas de los beneficios obvios y de las estrategias que se pueden implementar para emplear software libre en TI.

Para más información puedes visitar el Blog de Sam Ramji, el sitio CodePlex.com, Port25 y hasta Microsoft.


martes, septiembre 15, 2009

Es Momento de Aplicar Reingenieria

"Las aplicaciones requieren constante mantenimiento y actualización. A veces la mejor actualización es su reescritura completa"


Como todos bien sabemos, todas las cosas especialmente los sistemas informáticos tienden a perder utilidad con el tiempo, ya sea debido a que no se adapta a los nuevos avances en hardware, no es compatible con las nuevas plataformas de ejecución o no logra satisfacer las nuevas necesidades del usuario.

De la misma manera como los activos fijos tienen su depreciación y fecha de expiración, cada programa de computadora tiene(o debería tener) definido su período de vida, de manera que los usuarios sepan cuándo sea el momento de reemplazarlos por otros más modernos. Lamentablemente no existe una unidad de medida infalible para saber cuándo un sistema informático ha expirado.

Cuando esto ocurre, es hora de aplicar reingeniería y empezar a rediseñar los sistemas existentes, manteniendo su funcionalidad actual pero utilizando herramientas de desarrollo mas ágiles, técnicas y disciplinas mas ordenadas y frameworks que permiten la extensibilidad del mismo, además de aprovechar para agregar nuevas características que pueda necesitar el usuario.

Si algo ya no sirve, vuélvelo a hacer desde cero.

Si es un programa hecho en Visual Fox Pro 6 que comparte archivos de tablas en una carpeta de red, aunque aún le sea útil al usuario, tú como programador sabes que será un completo dolor de cabeza tratar de consumir web services o transportar datos por Message Queue por lo que en lugar de seguir manteniendo un sistema pasado de moda desarrollado con código obsoleto, es mejor reescribirlo desde cero usando tecnologías que te ahorrarán mucho trabajo en el desarrollo y con capacidad de extenderlo según aparezcan nuevos estándares.

Desarrolla pensando en el futuro.

Como desarrollador puedo estar seguro que los usuarios no siempre saben lo que quieren que haga un sistema y cambian de opinión a medida que el sistema va siendo desarrollado. Por tal motivo, debes tener esto en cuenta a la hora de desarrollar tu sistema y diseñarlo de tal forma que pueda ser adaptable a posibles cambios, que tu sistema no "suponga" ni "imagine" que X o Y proceso se hace de tal manera, que todas las decisiones de negocio sean configurables! Ademas, permite que el programador que retomará tu sistema sea capaz de entenderlo y agregar nuevas funcionalidades que sean requeridas por los usuarios. Como una vez alguien escribió en Stack Overflow Programming Quotes:

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. (Siempre programa como si el que mantendrá tu código será un violento psicópata quien sabe donde vives)

-- Rick Osborne



Demuestrale al usuario que algo ha cambiado, y porqué este cambio es para mejora

Como escribí antes, el usuario está conforme y acostumbrado al viejo sistema del año 2000 que le resuelve a medias sus necesidades actuales y posiblemente el cambio que apliques no sea visible en la interfaz sino que solamente en las tecnologías de desarrollo. Aun así, hay que reflejar ese cambio también en la interfaz de usuario aplicando alguna nueva plantilla CSS(en el caso de una aplicación web), agregando nuevos servicios que quizá no eran necesarios pero que reflejen el cambio o agregando una sección de "Nueva versión, nuevas características" a manera de hacerle notar al usuario que algo ha cambiado y poder explicarle cuál es la nueva manera como ahora se realizan los procesos X y Y.

"Los developers de Gmail siempre han tenido la bondad de notificarnos cuando hay nuevas características disponibles"

Recuerden que en última instancia, nuestro trabajo como desarrolladores es satisfacer los deseos más oscuros y enajenados las necesidades de información de los usuarios de negocio en la empresa, por lo que tampoco es bueno pensar en reescribir todos los sistemas de la empresa solo por estar "in" en tecnologías de desarrollo de software.

Es Momento de Aplicar Reingenieria

"Las aplicaciones requieren constante mantenimiento y actualización. A veces la mejor actualización es su reescritura completa"


Como todos bien sabemos, todas las cosas especialmente los sistemas informáticos tienden a perder utilidad con el tiempo, ya sea debido a que no se adapta a los nuevos avances en hardware, no es compatible con las nuevas plataformas de ejecución o no logra satisfacer las nuevas necesidades del usuario.

De la misma manera como los activos fijos tienen su depreciación y fecha de expiración, cada programa de computadora tiene(o debería tener) definido su período de vida, de manera que los usuarios sepan cuándo sea el momento de reemplazarlos por otros más modernos. Lamentablemente no existe una unidad de medida infalible para saber cuándo un sistema informático ha expirado.

Cuando esto ocurre, es hora de aplicar reingeniería y empezar a rediseñar los sistemas existentes, manteniendo su funcionalidad actual pero utilizando herramientas de desarrollo mas ágiles, técnicas y disciplinas mas ordenadas y frameworks que permiten la extensibilidad del mismo, además de aprovechar para agregar nuevas características que pueda necesitar el usuario.

Si algo ya no sirve, vuélvelo a hacer desde cero.

Si es un programa hecho en Visual Fox Pro 6 que comparte archivos de tablas en una carpeta de red, aunque aún le sea útil al usuario, tú como programador sabes que será un completo dolor de cabeza tratar de consumir web services o transportar datos por Message Queue por lo que en lugar de seguir manteniendo un sistema pasado de moda desarrollado con código obsoleto, es mejor reescribirlo desde cero usando tecnologías que te ahorrarán mucho trabajo en el desarrollo y con capacidad de extenderlo según aparezcan nuevos estándares.

Desarrolla pensando en el futuro.

Como desarrollador puedo estar seguro que los usuarios no siempre saben lo que quieren que haga un sistema y cambian de opinión a medida que el sistema va siendo desarrollado. Por tal motivo, debes tener esto en cuenta a la hora de desarrollar tu sistema y diseñarlo de tal forma que pueda ser adaptable a posibles cambios, que tu sistema no "suponga" ni "imagine" que X o Y proceso se hace de tal manera, que todas las decisiones de negocio sean configurables! Ademas, permite que el programador que retomará tu sistema sea capaz de entenderlo y agregar nuevas funcionalidades que sean requeridas por los usuarios. Como una vez alguien escribió en Stack Overflow Programming Quotes:

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. (Siempre programa como si el que mantendrá tu código será un violento psicópata quien sabe donde vives)

-- Rick Osborne



Demuestrale al usuario que algo ha cambiado, y porqué este cambio es para mejora

Como escribí antes, el usuario está conforme y acostumbrado al viejo sistema del año 2000 que le resuelve a medias sus necesidades actuales y posiblemente el cambio que apliques no sea visible en la interfaz sino que solamente en las tecnologías de desarrollo. Aun así, hay que reflejar ese cambio también en la interfaz de usuario aplicando alguna nueva plantilla CSS(en el caso de una aplicación web), agregando nuevos servicios que quizá no eran necesarios pero que reflejen el cambio o agregando una sección de "Nueva versión, nuevas características" a manera de hacerle notar al usuario que algo ha cambiado y poder explicarle cuál es la nueva manera como ahora se realizan los procesos X y Y.

"Los developers de Gmail siempre han tenido la bondad de notificarnos cuando hay nuevas características disponibles"

Recuerden que en última instancia, nuestro trabajo como desarrolladores es satisfacer los deseos más oscuros y enajenados las necesidades de información de los usuarios de negocio en la empresa, por lo que tampoco es bueno pensar en reescribir todos los sistemas de la empresa solo por estar "in" en tecnologías de desarrollo de software.

jueves, septiembre 10, 2009

Tres películas recomendadas de Ciencia Ficción

Continuando con el tema de la Ciencia Ficción, quiero sugerirles tres películas (de este genero) que TIENEN que ver...

1. Avatar:
Avatar es la historia de un ex-soldado naval, que se ve envuelto entre las hostilidades de un planeta alienígena lleno de formas de vidas exóticas. El, como un Avatar, es decir, una mente humana en un cuerpo alienígena (más información sobre el concepto de Avatar acá), se encuentra entre dos mundos, en una desesperante lucha por su propia supervivencia y la de la especie nativa de ese planeta...


El director, James Cameron, mejor conocido por dirigir películas como Titanic, El Secreto del Abismo y Terminator 2, ha pasado los últimos 10 años trabajando en la realización de este genial filme.



Más información sobre Avatar en Rotten Tommatoes.

2. Tron Legacy:
Más de 25 años después de la película de culto Tron, aparece una secuela que nos introduce el mundo neón de Tron, con nuevos retos, dificultades, una historia seguramente genial y fantástica, y efectos especiales para degustar la vista...


Despues de todo, 25 años han pasado desde la original; y también esos años han pasado en el universo de Tron, así que Tron obtuvo un masivo upgrade ;)



¿No les encanta el sonido de las motos? :D

Más información de Tron Legacy en IMDB.

3. District 9:
El maestro Peter Jackson produce este filme de ciencia ficción por excelencia, con el debut espectacular de Neill Blomkamp como director...


District 9 es brillante desde cualquier perspectiva, tiene una historia llena de riqueza técnica y emocional, con efectos especiales en cada escena, pero cuidadosa y exquisitamente medidos hacen de esta película, sin lugar a dudas, una de las MEJORES películas de ciencia ficción de esta decada. Es una analogía entre la mera violencia y la nobleza parte de nuestra naturaleza. Discriminación, abuso de fuerza, avaricia, amor, difamacion y amistad son solo algunos temas profunamente incrustados en la trama...



Más información de District 9 en IMDB
.
Espero que estas peliculas les gusten, saludos!

Tres películas recomendadas de Ciencia Ficción

Continuando con el tema de la Ciencia Ficción, quiero sugerirles tres películas (de este genero) que TIENEN que ver...

1. Avatar:
Avatar es la historia de un ex-soldado naval, que se ve envuelto entre las hostilidades de un planeta alienígena lleno de formas de vidas exóticas. El, como un Avatar, es decir, una mente humana en un cuerpo alienígena (más información sobre el concepto de Avatar acá), se encuentra entre dos mundos, en una desesperante lucha por su propia supervivencia y la de la especie nativa de ese planeta...


El director, James Cameron, mejor conocido por dirigir películas como Titanic, El Secreto del Abismo y Terminator 2, ha pasado los últimos 10 años trabajando en la realización de este genial filme.



Más información sobre Avatar en Rotten Tommatoes.

2. Tron Legacy:
Más de 25 años después de la película de culto Tron, aparece una secuela que nos introduce el mundo neón de Tron, con nuevos retos, dificultades, una historia seguramente genial y fantástica, y efectos especiales para degustar la vista...


Despues de todo, 25 años han pasado desde la original; y también esos años han pasado en el universo de Tron, así que Tron obtuvo un masivo upgrade ;)



¿No les encanta el sonido de las motos? :D

Más información de Tron Legacy en IMDB.

3. District 9:
El maestro Peter Jackson produce este filme de ciencia ficción por excelencia, con el debut espectacular de Neill Blomkamp como director...


District 9 es brillante desde cualquier perspectiva, tiene una historia llena de riqueza técnica y emocional, con efectos especiales en cada escena, pero cuidadosa y exquisitamente medidos hacen de esta película, sin lugar a dudas, una de las MEJORES películas de ciencia ficción de esta decada. Es una analogía entre la mera violencia y la nobleza parte de nuestra naturaleza. Discriminación, abuso de fuerza, avaricia, amor, difamacion y amistad son solo algunos temas profunamente incrustados en la trama...



Más información de District 9 en IMDB
.
Espero que estas peliculas les gusten, saludos!

miércoles, septiembre 09, 2009

Ciencia Ficción: Despertando la imaginación


Con este post marco mi regreso al Sr. Byte después de un largo y tortuoso exilio voluntario, pero productivo. Pero claro, no estoy aquí para hablar de qué hice, qué pasó o cómo fue. Además este es un blog de tecnología y ustedes están aquí para leer cosas cosntructivas, no anécdotas personales.
Entremos ya en materia. El día de hoy hablaremos de uno de los géneros cinematográficos más representativos del cine. Me refiero a la ciencia ficción.

En ocasiones sucede que cuando se menciona el término de ciencia ficción, lo primero que nos viene a la mente son entes mitad humanos mitad mecánicos, grandes computadoras con mentalidad propia, ciudades perfectas...
En fin, una visión futurista espectacularmente tecnológica.

Aún con una forma rústica, ¡los robots sí que nos facilitarían la vida!




No obstante, la ciencia ficción no es un género de reciente explotación. Alrededor de 1900 ya se hacían algunos esfuerzos por hacer producciones que echaran a volar la imaginación, dar un toque de magia y recrear situaciones que en la realidad serían casi imposibles. Un ejemplo de ello es el corto Viaje a la Luna del francés George Méliès.





La Luna que vigila todo es una de las imágenes más emblemáticas del corto.




Considerado como el primer film de ciencia ficción, este corto de casi ocho minutos y medio es una de las obras combres de los inicios del cine. Su guión fue retomado del libro de Julio Verne que se titula De la Tierra a la Luna y del libro de H. G. Wells, Los primeros hombres en la Luna.

Le voyage dans la lune fue realizado en el año de 1902 y es considerada una gran hazaña cinematográfica, no sólo por los efectos utilizados, sino por su complejidad en la producción. Hecha en base a fotogramas, este corto revolucionó la forma en que los hermanos Lumière comenzaron a hacer cine, la forma de pensar de las personas con respecto a la realidad y su manera de contar sus historias. Además de que mantuvo la inocencia e ingenuidad que hacía más empático el film para los espectadores de la época.

En cuanto a producción, cabe resaltar que para la época se contó con mucha imaginación para caracterizar a los miembros del consejo, a los miembros del protocolo con sus edecanes, las constelaciones y a los habitantes de la luna. Además de establecer una bien entendible línea narrativa y argumental de la historia, sin necesidad de utilizar diálogo o texto.

Para que puedan juzgar por sus propios ojos de qué estoy hablando, les dejo el film para que lo disfruten. Hay que tomar en cuenta que para nuestra época, muchas de las cosas que aparecen ahí resultan risibles y nada verosímiles.






Ciencia Ficción: Despertando la imaginación


Con este post marco mi regreso al Sr. Byte después de un largo y tortuoso exilio voluntario, pero productivo. Pero claro, no estoy aquí para hablar de qué hice, qué pasó o cómo fue. Además este es un blog de tecnología y ustedes están aquí para leer cosas cosntructivas, no anécdotas personales.
Entremos ya en materia. El día de hoy hablaremos de uno de los géneros cinematográficos más representativos del cine. Me refiero a la ciencia ficción.

En ocasiones sucede que cuando se menciona el término de ciencia ficción, lo primero que nos viene a la mente son entes mitad humanos mitad mecánicos, grandes computadoras con mentalidad propia, ciudades perfectas...
En fin, una visión futurista espectacularmente tecnológica.

Aún con una forma rústica, ¡los robots sí que nos facilitarían la vida!




No obstante, la ciencia ficción no es un género de reciente explotación. Alrededor de 1900 ya se hacían algunos esfuerzos por hacer producciones que echaran a volar la imaginación, dar un toque de magia y recrear situaciones que en la realidad serían casi imposibles. Un ejemplo de ello es el corto Viaje a la Luna del francés George Méliès.





La Luna que vigila todo es una de las imágenes más emblemáticas del corto.




Considerado como el primer film de ciencia ficción, este corto de casi ocho minutos y medio es una de las obras combres de los inicios del cine. Su guión fue retomado del libro de Julio Verne que se titula De la Tierra a la Luna y del libro de H. G. Wells, Los primeros hombres en la Luna.

Le voyage dans la lune fue realizado en el año de 1902 y es considerada una gran hazaña cinematográfica, no sólo por los efectos utilizados, sino por su complejidad en la producción. Hecha en base a fotogramas, este corto revolucionó la forma en que los hermanos Lumière comenzaron a hacer cine, la forma de pensar de las personas con respecto a la realidad y su manera de contar sus historias. Además de que mantuvo la inocencia e ingenuidad que hacía más empático el film para los espectadores de la época.

En cuanto a producción, cabe resaltar que para la época se contó con mucha imaginación para caracterizar a los miembros del consejo, a los miembros del protocolo con sus edecanes, las constelaciones y a los habitantes de la luna. Además de establecer una bien entendible línea narrativa y argumental de la historia, sin necesidad de utilizar diálogo o texto.

Para que puedan juzgar por sus propios ojos de qué estoy hablando, les dejo el film para que lo disfruten. Hay que tomar en cuenta que para nuestra época, muchas de las cosas que aparecen ahí resultan risibles y nada verosímiles.






miércoles, septiembre 02, 2009

¿Qué es ORM?

Object Relational Mapping, u ORM, O/RM y O/R mapping, es una técnica empleada en la programación, para convertir datos entre sistemas incompatibles, como lo son las bases de datos relacionales y los lenguajes de programación. Esta conversión de datos entre los sistemas crea un efecto una base de datos virtual de objetos, que puede ser usada en el programa (en esa forma).



Hay implementaciones comerciales y libres disponibles para crear el "mapeo" (mapping) objeto-relación, aunque algunos programadores (o mejor dicho empresas) optan (por ignorancia o espiritu de aventura... o ambas quizas) por crear sus propias herramientas ORM.


Las empresas siempre poseerán una base de datos normalizada, para "ahorrar espacio" (como algunos individuos administrativos lo ven). Para un programador, la tarea de leer estos datos, manipularlos y finalmente modificarlos o eliminarlos pende de un hilo, de acuerdo al grado de ignorancia a la hora de elegir a las herramientas y/o librerías de software (de ORM) empleadas para tales fines.


Una librería de ORM (como Hibernate, Oracle Toplink o Linq) siempre, absolutamente siempre reducirá la cantidad de código, porque habrá algo que permitirá realizar el proceso de mapeo (como el IDE), y se encargara de crear las clases equivalente u homologas con las tablas en la base, además permitirá manejar diversos tipos de relaciones entre las tablas (uno a uno,
uno a muchos, etc), reducirá la cantidad de defectos en esta delicada area, y todo esto, para beneficio del programador, que se concentrara más en codificar la lógica del negocio, que en hacer "INSERT", "UPDATE", "DELETE" y "SELECT" en la base. Otra razón por la que una librería ORM reduce la cantidad de código, es porque permite centralizar los procesos de búsqueda de datos en la base, liberándonos de escribir consultas ad-hoc innecesarias o "quemadas" en el código. Sin mencionar que, también gestionara el pool de conexiones a la base de datos.
Todo para que el programador, no se convierta en un esclavo codificando algo que ya existe, ustedes ya saben que en una empresa el codigo es el enemigo... y que de nada sirve estar reinventando la rueda...



Queda en claro, que una librería ORM, generara el mapeo de tablas a clases de base de datos (que esperamos que este BIEN diseñada) de una forma completamente automatizada. Netbeans por ejemplo, posee una excelente integración con JPA usando Oracle TopLink, y genera el código necesario para manipular toda la información de la base, en menos de un minuto... para 42 (cuarenta y dos) tablas.

¿Me pregunto cuanto se podría tardar una persona, haciendo el proceso a "pie"?

Si estas en un proyecto de software, en el que NO te permiten emplear librerías para ORM, eso simplemente refleja la ignorancia de tus inmediatos superiores o de los encargados de tu proyecto. Si ya tienes algo que te asista en el proceso, bien por ti!, pero deberías de estar pensando en emplear herramientas que son prácticamente el estándar de la industria (Hibernate), de comprobado rendimiento (Oracle Toplink) y que existen, para que nadie tenga que codificar como esclavo, algo que se puede generar en un par de clics y en no mas de "cien segundos".
ORM esta, para facilitar la vida de los programadores, reducir a la mínima expresión un proceso que es terriblemente tedioso, y también, para mejorar y producir mejor software.


¿Cuantos de ustedes utilizan tecnologías ORM en su trabajo o en la Universidad para proyectos de software?

Más información sobre ORM en la Wikipedia.

¿Qué es ORM?

Object Relational Mapping, u ORM, O/RM y O/R mapping, es una técnica empleada en la programación, para convertir datos entre sistemas incompatibles, como lo son las bases de datos relacionales y los lenguajes de programación. Esta conversión de datos entre los sistemas crea un efecto una base de datos virtual de objetos, que puede ser usada en el programa (en esa forma).



Hay implementaciones comerciales y libres disponibles para crear el "mapeo" (mapping) objeto-relación, aunque algunos programadores (o mejor dicho empresas) optan (por ignorancia o espiritu de aventura... o ambas quizas) por crear sus propias herramientas ORM.


Las empresas siempre poseerán una base de datos normalizada, para "ahorrar espacio" (como algunos individuos administrativos lo ven). Para un programador, la tarea de leer estos datos, manipularlos y finalmente modificarlos o eliminarlos pende de un hilo, de acuerdo al grado de ignorancia a la hora de elegir a las herramientas y/o librerías de software (de ORM) empleadas para tales fines.


Una librería de ORM (como Hibernate, Oracle Toplink o Linq) siempre, absolutamente siempre reducirá la cantidad de código, porque habrá algo que permitirá realizar el proceso de mapeo (como el IDE), y se encargara de crear las clases equivalente u homologas con las tablas en la base, además permitirá manejar diversos tipos de relaciones entre las tablas (uno a uno,
uno a muchos, etc), reducirá la cantidad de defectos en esta delicada area, y todo esto, para beneficio del programador, que se concentrara más en codificar la lógica del negocio, que en hacer "INSERT", "UPDATE", "DELETE" y "SELECT" en la base. Otra razón por la que una librería ORM reduce la cantidad de código, es porque permite centralizar los procesos de búsqueda de datos en la base, liberándonos de escribir consultas ad-hoc innecesarias o "quemadas" en el código. Sin mencionar que, también gestionara el pool de conexiones a la base de datos.
Todo para que el programador, no se convierta en un esclavo codificando algo que ya existe, ustedes ya saben que en una empresa el codigo es el enemigo... y que de nada sirve estar reinventando la rueda...



Queda en claro, que una librería ORM, generara el mapeo de tablas a clases de base de datos (que esperamos que este BIEN diseñada) de una forma completamente automatizada. Netbeans por ejemplo, posee una excelente integración con JPA usando Oracle TopLink, y genera el código necesario para manipular toda la información de la base, en menos de un minuto... para 42 (cuarenta y dos) tablas.

¿Me pregunto cuanto se podría tardar una persona, haciendo el proceso a "pie"?

Si estas en un proyecto de software, en el que NO te permiten emplear librerías para ORM, eso simplemente refleja la ignorancia de tus inmediatos superiores o de los encargados de tu proyecto. Si ya tienes algo que te asista en el proceso, bien por ti!, pero deberías de estar pensando en emplear herramientas que son prácticamente el estándar de la industria (Hibernate), de comprobado rendimiento (Oracle Toplink) y que existen, para que nadie tenga que codificar como esclavo, algo que se puede generar en un par de clics y en no mas de "cien segundos".
ORM esta, para facilitar la vida de los programadores, reducir a la mínima expresión un proceso que es terriblemente tedioso, y también, para mejorar y producir mejor software.


¿Cuantos de ustedes utilizan tecnologías ORM en su trabajo o en la Universidad para proyectos de software?

Más información sobre ORM en la Wikipedia.

Sunsetting Sr. Byte.

El Sr. Byte ha estado más de 5 años inactivo. Digamos que estaba en " code freeze ". Pero ahora es el último release. Quizas no...