Isaac Ruiz Guerra's Weblog
[7 de 97]Aprende un nuevo lenguaje
El axioma de hoy (tomado del libro 97
things Every Software Architech Should Know) dice:

...
Neither
group understands how the other thinks, or what half of the words they
use means. This leads to mistrust and miscommunication. It’s a basic
psychological principle that people are more comfortable with those who
are similar to them as opposed to those who are different from them.
"Pues bueno, la parrilla de programación esta quedando bien; no se les olvide que requiero un reporte con los targets más solicitados; remarquen ABC+CD+.Los primeros meses del proyecto fueron días en los que teníamos que combinar la codificación de la aplicación con clases express de mercadotecnia! XD
Para las agencias, quiero algo que les recuerde que: compras por CPM no aplican en PRIME TIME . Ya la próxima semana veremos como meter la conciliación en la siguiente versión."
¿Alguna anécdota o comentario que quieras compartir? ;)
Saludos!!!
---
RuGI
Isaac Ruiz Guerra.
Posted at 05:41AM jun 28, 2009 by Isaac Ruiz Guerra in 97things | Comentarios[13]
[6 de 97]. Patronitis
Seguimos con los axiomas del libro: 97
things Every Software Architech Should Know
El axioma de hoy dice:

"Dar {lugar}a la emoción que uno siente cuando esta realizando lo que le gusta no debería de interferir con lo que llaman los procesos cognitivos de funciones ejecutivas, es decir {emocionarse}, no debería interferir con la pericia, con la habilidad {de hacer bien las cosas}"
Blog de Eduardo punset.
"Es preciso emocionarse, pero no tanto."
Design Patterns: A Love Story
Richard tilted his head to watch the waves push flotsam against the boat hull below. Up and down, the flotsam moved. Up and down.
Richard had an idea.
“Virginia, my dear”, he said to the blond woman beside him. “We’ve been singletons on this ship for a long time”.
“I know, Richard”, she replied. “My mean step-mother, the intercepting filter that she is, denies me time with others.”
Richard paused for a moment, to contemplate strategy. Her father, with his pipes and filters, would return soon, and force them to communicate over his message bus. He glanced aft, and saw no one else around. Richard turned his front controller to face Virginia, and looked her in the eyes. She was close now, and Richard could feel his active record rising.
“Virginia”, he whispered. “There is no observer in sight. Let us run below deck. I want to peel away your façade, and tightly couple.”
“Oh yes, Richard”, she blushed, and leaned towards him. “I want you to give me a dependency injection”.
[Author’s note: I’m sorry. I can’t continue. Shortly after typing the words “give me a dependency injection”, I was overcome by a sudden sickness and fell to the floor in convulsions. Let’s just assume the story has a happy ending, and forget this post ever happened. OK?]
Tomado de: http://odetocode.com/Blogs/scott/archive/2005/11/22/2499.aspx
Posted at 08:31PM jun 21, 2009 by Isaac Ruiz Guerra in 97things | Comentarios[5]
[5 de 97] Integrar Continuamente.
El axioma de hoy, aparece en la página 40 del libro 97
things Every Software Architech Should Know , y dice:

The term Continuous Integration (CI) was first coined by Martin Fowler in a design pattern. CI refers to a set practices and tools that ensure automatic builds and testing of an application at frequent intervals, usually on an integration server specifically configured for these tasks. The convergence of unit testing practices and tools in conjunction with automated build tools makes CI a must for any software project today.
The most prominent part of a CI implementation is the build which is usually automated. You have the ability to do a manual build but they can also be kicked off nightly or can be triggered by source code changes. Once the build is started the latest version of the source code is pulled from the repository and the CI tools attempts to build the project then test it. Lastly, notification is sent out detailing the results of the build process. These notifications can be sent in various forms including email or instant messages.
Continuous Integration will provide a more stable and directed development effort. As an architect you will love it but more importantly your organization and your development teams will be more effective and efficient.
Posted at 08:02PM jun 14, 2009 by Isaac Ruiz Guerra in 97things | Comentarios[10]
[4 de 97]. Lo Perfecto es enemigo de lo suficiente.
El axioma de hoy dice:
Software designers, and architects in particular, tend to evaluate solutions by how elegant and optimum they are for a given problem. Like judges at a beauty contest, we look at a design or implementation and immediately see minor flaws or warts that could be eliminated with just a few more changes or re-factoring iterations. Domain models simply beg for one more pass to see if there are any common attributes or functions that can be moved into base classes. Services duplicated in multiple implementations cry out their need to become web services. Queries complain about "buffer gets" and non-unique indexes and demand attention.
My advice: Don't give in to the temptation to make
your design, or your implementation, perfect! Aim for "good enough" and
stop when you've achieved it.
Remember that application development is not a beauty contest, so stop
looking for flaws and wasting time chasing perfection.
Me imagino a varios gurús reunidos tratando de llegar a un acuerdo sobre como debía ser la especificación (mi mente geek los visualiza como una reunión de Ent's), y, me imagino a todos tratando de lograr que la especificación llevara lo mejor de sus propuestas; me imagino también lo difícil que debió llegar a un acuerdo en donde, muy probablemente más de uno tuvo que doblegar a su ego para permitir que las propuestas de otros tuvieran cabida.
"Una especificación que sea técnicamente perfecta pero que no tenga soporte en la industria es inútil.
{...}
Hay que conseguir una especificación que sea técnicamente válida {...}
No es cuestión de que todos digan: 'esta es la mejor especificación que yo podía hacer' sino:
Esta es la mejor especificación que todos hemos podido hacer conjuntamente".
Entrevista a Eduardo Pelegri por Abraham Otero (10:12min)
"Recuerda que el desarrollo de aplicaciones no es un concurso de belleza, por lo que deja de mirar los defectos y perder el tiempo persiguiendo la perfección."
Posted at 08:12PM jun 07, 2009 by Isaac Ruiz Guerra in 97things | Comentarios[4]
[3 de 97]. Controla los datos, no sólo el código.
El axioma de hoy dice:
Control de data, no just de code.
Chad LaVigne
Chad LaVigne,
es un arquitecto que trabaja en TEKSystems, Inc, participa
activamente en la comunidad openSource y dirige un JUG en las oficinas
de su compañía.
Aquí las partes que considero mas relevantes del axioma (tomado del libro 97
things Every Software Architech Should Know ):
Control de data, no just de code.
Source code control and continuous integration are excellent tools for managing the application build and deployment process. Along with source code, schema and data changes are often a significant part of this process and thus warrant similar controls. If your build and deployment process includes a list of elaborate steps required for data updates, beware.
....
Database changes shouldn’t create a ripple in your build’s time-space continuum. You need to be able to build the entire application, including the database, as one unit. Make data and schema management a seamless part of your automated build and testing process early on and include an undo button; it will pay large dividends. At best it will save hours of painful, high-stress problem solving after a late night blunder. At worst it will give your team the ability to confidently charge forward with refactoring of the data access layer.
Hombre ¿No será que se les ha pasado migrar los stores y los triggers?Si la estadística no falla, toda la línea de mando del DBA guardará silencio y el gerente en turno dirá:
Bueno, revisaremos eso y luego te llamamos.
Esa llamada nunca llega ;)
Pero bueno, regresando al punto inicial, en estos tiempo en que
requerimos ser más que ágiles, es buena idea considerar
agregar este tipo de estrategias para tener un poco más de
control sobre nuestros desarrollos y permitir, por fin, crear un
ambiente de desarrollo más sano y menos estresante.
A todo esto, sólo me queda preguntar:
¿Has tomado en cuenta los scripts de datos para ofrecer una
solución integral en
tus aplicaciones?
Saludos!!
---
RuGI
Isaac Ruiz Guerra.
Posted at 09:26PM may 31, 2009 by Isaac Ruiz Guerra in 97things | Comentarios[6]
[2 de 97]. Comienza con un esqueleto funcional.
Siguiendo con los comentarios sobre el libro:
97
things Every Software Architech Should Know
El axioma de hoy:
Start with a walking skeleton.
Clint Shank
Clint Shank,
es un desarrollador de software y mentor de Sphere of Influence, Inc.
una empresa de diseño e ingeniería de servicios.
Aquí un fragmento de su axioma:
Para mi es una las estrategias favoritas para atacar una integración muy compleja o con un equipo mediano/grande de desarrolladores.
Start with a walking skeleton.
One very useful strategy for implementing, verifying, and evolving an application architecture is to start with what Alistair Cockburn calls a Walking Skeleton . A Walking Skeleton is a minimal, end-to-end implementation of the system that links together all the main architectural components. Starting small, with a working system exercising all the communication paths, gives you confidence that you are heading in the right direction.
Once the skeleton is in place, it's time to put it on a workout program. Bulk it up with full body workouts. This means implement incrementally, adding end-to-end functionality. The goal is to keep the system running, all the while growing the skeleton.
Posted at 03:20PM may 24, 2009 by Isaac Ruiz Guerra in 97things | Comentarios[3]
[1 de 97]. Para el usuario final, la IU es el sistema.
Cito textualmente:
"For the end user, the interface is the system"
Vinayak Hedge
El comentario de Vinayak resalta mucho lo relevante que puede ser lograr una IU altamente funcional, que permita una buena interacción y tenga la suficiente "usabilidad" como para que la IU refleje la totalidad del producto de software.
Y esta frase, tambien, encaja perfectamente en el desarrollo y liberación del sistema en cual participo actualmente.
Al usuario final no le importa si debajo de esa IU estas realizando:
Tampoco le importa si estamos
No, a el sólo le importa que su comboBox tenga los valores que espera y que el mensaje de respuesta traiga una descripción que él pueda entender. XD
Y la verdad, no tiene porqué importarle :)
El hacer que todo esto sea transparente para el usuario final creo es una de las mayores satisfacciones que podemos llegar a tener.... pero, debo reconocer que a veces sí que dan ganas de escupxxxx decirle amablemente que debería tomar en cuenta la complejidad de un proceso para reconsiderar sus comentarios poco sensibles a nuestro trabajo.
Todo esto me recuerda un comentario repetitivo de uno de mis maestros durante mis estudios de ingeniería
(la verdad a estas alturas no puedo más que agradecer todo lo que me enseñaron o me dejaron de enseñar, esa singular combinación de omisiones y presencias ha tenido curiosos efectos secundarios en mi desempeño profesional)
Decía:
"Jóvenes, para evaluar la tarea yo parto del hecho de que todos me entregarán algo que cumpla lo que pedí,
si quieren aumentar su calificación... hagan que se vea bonito"
Posted at 09:29AM may 10, 2009 by Isaac Ruiz Guerra in Java | Comentarios[2]
Oracle Service Bus 10gR3 en Ubuntu 9.04
Recien publicado en debugmode on.
Instalación del Oracle Service Bus 10gR3 en Ubuntu 9.04
Saludos!!!
Posted at 03:29PM may 02, 2009 by Isaac Ruiz Guerra in ESB | Comentarios[0]
jH Podcast 039. Dudas del foro Abril
Pues, se ha publicado un nuevo podcast sobre las dudas del foro.
Aquí los temas que tocamos en esta ocasión:
Espero les resulte interesante.
La noticia completa en javaHispano:
Saludos!!!
RuGI
Isaac Ruiz Guerra.
Posted at 01:14PM abr 19, 2009 by Isaac Ruiz Guerra in General | Comentarios[2]
Breve Screencast con NetBeans. Crear componente.
Hace unos días descargue la versión de prueba de Camtasia Studio., tenía ya ganas de grabar algo y antes de que se termine el periodo de prueba decidí probar con un breve screencast para resolver una duda que apareció en el foro de IDE's en javaHispano.
La duda concretamente era:
He creado un control propio que sólo tiene un JLabel y un JTextArea. Lo estoy utilizando en varios formularios y no tengo problemas con él. Lo que quiero hacer es lo siguiente: me gustaría que en la vista Diseño de NetBeans me aparezcan los formularios con mi control y que el JLabel tenga el Text que le he asignado
Así que, Alfredo, espero que aún te sea de utilidad:
Saludos !!!
RuGI
Posted at 10:14PM abr 12, 2009 by Isaac Ruiz Guerra in Java | Comentarios[3]
REST para desarrolladores Java.
Hoy por la mañana revisando JavaWorld me encuentro con una serie de artículos por demás interesantes.
Es una serie sobre REST.
Y de momento incluye los siguientes:
Espero les sea de utilidad.
Saludos!!
---
RuGI
Posted at 01:24AM abr 06, 2009 by Isaac Ruiz Guerra in Java | Comentarios[0]
Paranoia fan...
Sí, soy un paranoide :)
Buen día a todos!!
:D
Posted at 11:58PM abr 04, 2009 by Isaac Ruiz Guerra in Java |
jH Podcast 039. Dudas del foro
<culto_al_ombligo>
Pues, ya esta una nueva entrega de "las dudas del foro".
En esta ocasión junto con Ruben Egiluz platicamos de:
Esperamos le sea de utilidad a alguien :)
</culto_al_ombligo>
Saludos!!
RuGI
Isaac Ruiz Guerra.
Posted at 05:36PM mar 16, 2009 by Isaac Ruiz Guerra in Java |
ESB sin palabras
[Sin palabras]


:)
Tomado del libro :
Enterprise Service Bus by David Chappell
Posted at 12:23PM feb 23, 2009 by Isaac Ruiz Guerra in ESB |
MX. Buscando blogs.
Dentro de las iniciativas de la comunidad java méxico, nos gustaría tener referencias de blog's mexicanos, así que; sí escribes desde dentro de las fronteras de los , nombre oficial, Estados Unidos Méxicanos (o sabes quien es el tri, comes tamales y sabes porqué el 2 de Febrero es dia de descanso), entonces, te agradeceré te pongas en contanto.
Saludos y, que sea un buen 14 de Febrero para todos.
:)
Posted at 09:35AM feb 14, 2009 by Isaac Ruiz Guerra in Java |
Comentando dudas del foro III.
Pues, se ha publicado un nuevo número del podcast de JH. En esta ocasión me ha tocado participar :)
En el podcast comentamos algunas preguntas que aparecen en los foros de jH.
Los hilos que comentamos son los siguientes:
Espero le sea de utilidad a alguien :)
Saludos...
---
RuGI
Isaac Ruiz Guerra.
Posted at 12:40PM feb 02, 2009 by Isaac Ruiz Guerra in Java |
[debugModeOn]Algo de Haskell
Acabo de publicar un HelloWorld con Haskell en debugmodeon.
Saludos!!!
Posted at 12:18AM ene 27, 2009 by Isaac Ruiz Guerra in Haskell |
MX.Comunidad java.1a del 2009
[10:35 AM]
Estoy en el 4to. encuentro de la comunidad de SpringHispano.org en conjunto con la comunidad de Java México.
El plan del día es el siguiente:
Al finalizar.... la idea es platicar un poco entre todos para hacer comunidad. :D
Ya les estaré contando :)
RuGI
[Update 10:58am] Arrancamos!!!
[Update 11:40]
Julio Carlos Sanchez Ortega (aka @thegeekinside) inicio platicandonos de Bazaar.
Aprendimos que existen varias herramientas distribuidas para el control de vesiones: Bazaar, Git, Darcs ,Git, Mercurial, Monotone.
Ya hablando sobre Bazaar, aprendimos que:
"Es amigable, inteligente, Rápido, Ligero (sacrifica desempeño por usabilidad). Lo cubre el manto de Canonical."
También aprendimos queiene distintas maneras de utilizarlo (Worflows) solo, partner, centralizado, centralizado con commits locales, descentralizado con mainline compartido, desentralizado con revisión humana, desentralizado con revision automatico.
Concluimos esta parte con una demostración de su uso.
[Update 12:00]
Seguimos con GIT con Segio Acosta.
Links interesantes: http://www.gitcasts.com/
Sergio detalla la manera en que GIT guarda la "referencia" de cada archivo.... es una locura!!! XD
Conclusión: Debo aumentar y mejorar mis conocimientos en matemáticas :P
[02:00 PM] break;
[02:55 PM] Toca a Struts 2 con Marco Antonio.
Posted at 10:52AM ene 24, 2009 by Isaac Ruiz Guerra in Java |
Eufemismos de RuGI I
Pues inagurando mi cuenta en http://www.scribd.com.
Espero que al leerlo se diviertan tanto como yo al escribirlo ;)
Eufemismos de RuGI Ver0.8
Saludos!!
RuGI
Isaac Ruiz Guerra.
Posted at 10:51PM ene 14, 2009 by Isaac Ruiz Guerra in Humor | Comentarios[3]
La ultima del 2008.
Pues, a finales de este año logré integrarme a la comunidad oracle hispana., y además de utilizar este post para invitarlos a integrarse, les comparto un par de post que me han permitido escribir ahi:
Como decimos aquí en México: "La última y nos vamos....."
Adiós 2008, ¡¡¡bienvenido 2009!!!
RuGI
Isaac Ruiz Guerra.
Posted at 10:30AM dic 31, 2008 by Isaac Ruiz Guerra in SOA |