Comida Internacional o pero como el revuelto de hongos no hay n�... 2
Al, hay te van mis sugerencias para comida internacional :
Cubanos : La pequeña Habana (Alameda Recalde, 45)
Turco: Al lado de mi casa en Barakaldo, no es un restaurante precisamente (más tipo hamburgeseria), pero los kebabs estan bastante bien. La jBilbo de esta semana podia ser en Barakaldo (estamos en FIESTAS!!!!) y os invito a unos cuantos...
Peruano : AJI COLORADO (Barrencalle, 5)
Tailandes-Japones: Buddha Bar (Ayala, 1)
Mejicano: El placer de Guadalupe (Telesforo Aranzadi, 6)
Multicultural de la mejor calidad : Casa Aitor (contactar para reservar en aitor AT javahispano DOT org ;-)
La princesa prometida o pero que suerte....! 3
Via Jorge. Que suerte he tenido mi personaje favorito de la Peli. ¿Y a la primera....!:

Which Princess Bride Character are You?
this quiz was made by mysti

Which Princess Bride Character are You?
this quiz was made by mysti
JRun 4.0 o sera que todavia no le he cogido el truco...
Si es cierto , desde que macromedia compro Allaire (anterior dueño de Jrun) el servidor de aplicaciones tiene una pinta inmejorable, y la creo una de las mejores administraciones Web para servidores de Aplicaciones que existen. Ya podia aprender JBoss en este aspecto (por cierto estoy pensando en una administración web para JBoss ¿alguien se apunta?).
Pero debajo de la piel de cordero no hay solo grasa, tambien algunas pulgas.
Lo probemas empiezan segun intentas hacer deploy de tu war. Por alguna razón que todavia desconozco (y que espero sea responsabilidad mia porque sino vaya cagada de macromedia), la administracion web se niega a hacer deploy del fichero. Y el error que proporciona es un poco criptico (no tengo el StackTrace a mano): algo relacionado con kfactor.war (el nombre de nuestro aplicativo) no es un nombre valido para un fichero war. En verdad es curioso que ni siquiera por este metodo se puede hacer deploy de los war que vienen como ejemplo con el propio JRun. Ummmm... que raro.
Bueno. Pues lo intentas poniendo directamente el fichero en el directorio Webapp. Y funciona. Deploy correcto sin ningun error:
Pero claro alguna XSL que no esta donde tiene que esta, XML que no se encuentran,etc... Voy a mirar los logs a ver que pasa... Oooopsss!. No hay fichero de logs. Solo uno llamado "-event" que contiene información con respecto al arranque y deploy de aplicaciones en el servidor. ¿Como es posible?
[...algunas listas de correo despues...]
Ya. O sea que tengo que tener arrancado el JRun como servicio para que me genere estos ficheros. Y si lo arranco como aplicación todos mis cat.debug("Joder que coño esta pasando?"); se los traga ¿no?. Ya muy logico...
Bueno menos mal que me consuelo con que puedo explorar los logs por la magnifica administración web. Eeeerrrrrrrrnnnnnnnnn!. Error. Por supuesto en la administracion web solo se puede ver el event. Ya. Imagino que algun dia averiguare que hay que hacer en el JRun.xml para que se puedan ver todos. Ein?. ¿Por qué te va tan lento el pc roberto ?. Ah! que el JRun se ha metido en un bucle infinito y en la consola pone que esta haciendo deploy del deploy del deploy de la madre de todos los deploy. ¿Y que en el directorio temporal de deploys ya te lleva comidos 200 Mb?. Bueno ya se sabe cosas de la vida....
Y que .........................................................................................
/******************************************************************
Transmisión interrumpida por causa desconocida . Revise el contenido inflamatorio de su weblog y reinicie su aplicativo
******************************************************************/
Pero debajo de la piel de cordero no hay solo grasa, tambien algunas pulgas.
Lo probemas empiezan segun intentas hacer deploy de tu war. Por alguna razón que todavia desconozco (y que espero sea responsabilidad mia porque sino vaya cagada de macromedia), la administracion web se niega a hacer deploy del fichero. Y el error que proporciona es un poco criptico (no tengo el StackTrace a mano): algo relacionado con kfactor.war (el nombre de nuestro aplicativo) no es un nombre valido para un fichero war. En verdad es curioso que ni siquiera por este metodo se puede hacer deploy de los war que vienen como ejemplo con el propio JRun. Ummmm... que raro.
Bueno. Pues lo intentas poniendo directamente el fichero en el directorio Webapp. Y funciona. Deploy correcto sin ningun error:

Pero claro alguna XSL que no esta donde tiene que esta, XML que no se encuentran,etc... Voy a mirar los logs a ver que pasa... Oooopsss!. No hay fichero de logs. Solo uno llamado "
[...algunas listas de correo despues...]
Ya. O sea que tengo que tener arrancado el JRun como servicio para que me genere estos ficheros. Y si lo arranco como aplicación todos mis cat.debug("Joder que coño esta pasando?"); se los traga ¿no?. Ya muy logico...
Bueno menos mal que me consuelo con que puedo explorar los logs por la magnifica administración web. Eeeerrrrrrrrnnnnnnnnn!. Error. Por supuesto en la administracion web solo se puede ver el event. Ya. Imagino que algun dia averiguare que hay que hacer en el JRun.xml para que se puedan ver todos. Ein?. ¿Por qué te va tan lento el pc roberto ?. Ah! que el JRun se ha metido en un bucle infinito y en la consola pone que esta haciendo deploy del deploy del deploy de la madre de todos los deploy. ¿Y que en el directorio temporal de deploys ya te lleva comidos 200 Mb?. Bueno ya se sabe cosas de la vida....
Y que .........................................................................................
/******************************************************************
Transmisión interrumpida por causa desconocida . Revise el contenido inflamatorio de su weblog y reinicie su aplicativo
******************************************************************/
Iniciando mi vida pragmatica o como hemos cambiado...
En la ultima semana he estado bastante liado con el porting de una aplicación que tenemos a la ultima versión de JRun, la 4.0. A parte de las asquerosas dificultades con las que nos hemos encontrado con referencia al servidor de aplicaciones (ver post siguiente) he tenido que afrontar parte de las decisiones e implementaciones asquerosas que tomamos (mi equipo de desarrollo bajo indicaciones mias) en el pasado, cuando como dijo el gran Manuel Rivas eramos jovenes y verdes.
Lecciones aprendidas:
Sigue el principio DRY : *Nunca* repitas conocimiento en ninguna de sus formas, ni a nivel de codigo ni a nivel de scripts: nada.
*JAMAS* dupliques repositorios de CVS solo porque sea mas comodo o porque tienes que desarrollar un paquete especifico para un cliente.
Automatiza todo lo que puedas. Lo que manualmente te parece comodo la primera vez dejara de parecertelo la decima vez (o antes).
Si no estas testando de manera automatica tu codigo vas a perder *mucho* tiempo. Yo lo he perdido y lo estoy perdiendo. Por mi ignorancia y por mi dejadez.
En resumen sigue unos cauces más pragmaticos (ver anterior post). Tu salud te lo agradecera.
En resumen sigue unos cauces más pragmaticos (ver anterior post). Tu salud te lo agradecera.
The Pragmatic Programmer o cuando encontre el libro de mi vida...tecnica.
He terminado de leer el libro de "The Pragmatic Programmer" y la experiencia no ha podido ser mejor. Hasta tal punto me ha gustado que he decidido iniciar una seccion sobre el libro que leo cada mes y publicar una critica del mismo en JavaHispano. Si alguien encuentra util estos articulos me dare por satisfecho y si no ... tambien que cojones!. Ahi va un avance de la critica:
*Jamas*, en *ningun* libro que haya leido antes he encontrado un compendio mas correcto y adecuado de ejemplos, metaforas y parabolas relacionadas con el mundo del desarrollo de software (y casi con ningun otro mundo). Durante 12 años estudie en un colegio catolico (al que por cierto jamas le estare lo suficientemente agradecido por convertirme al ateismo). Durante varios (demasiados) cursos estudié y leí la Biblia. En ella abundan sobremanera parabolas y similes utilizados por los evangelistas para hacer llegar a las masas conceptos abstractos relacionados con la Santisima Trinidad, la inmaculada concepción de la Virgen y el modo de vida de un cristiano. De la misma manera este libro rebosa de similes, puzzles y ejemplificaciones tan utiles y adecuadas que se quedan grabadas en la mente como mini-mantras que repites una y otra vez.
Larry Elison o la astucia del zorro...
Genio y figura hasta la sepultura. Este tio me encanta y el articulo merece la pena:

El Subcomandante Ellison en la charla de Madrid
"Hasta hace algunos años, yo leía todas las mañanas el New York Times. Allí me enteraba del cierre de los mercados asiáticos, de la situación política de la Argentina y de los últimos movimientos de las empresas. Toda esa información y más; todo por un dólar. Luego llegaba a mi oficina y le pedía a mi gente que me diga cuánto dinero había ganado ayer. No lo sabían. Algo andaba mal teniendo en cuenta que yo gastaba miles de millones en mis sistemas de información"

El Subcomandante Ellison en la charla de Madrid
El fundador de Oracle narró una anécdota previa a la unificación de la información de su empresa. "Un día decidimos bajar el costo de las PCs que comprabamos. Decidí pedirle yo personalmente una rebaja a Michaell Dell (presidente y fundador de Dell Computers). Le dije con voz muy firme 'Oye Michael ¿sabes cuánto dinero gasta mi compañia en comprarte equipo?'. Y luego le dije: 'porque yo no tengo ni idea'"
Ante la consejera delegada de Microsoft Ibérica, Rosa García -presente en el almuerzo- (según Europa Press) Ellison recordó que hace cinco años el servidor web de Microsoft dominaba el mercado, pero apareció Apache, de código fuente abierto y lo desbancó. "Microsoft no tiene posibilidades de vencer a Linux", fulminó.
Synergy o pero que útiles son las utilidades...
(1 CPU SCO OpenLinux + 1 CPU Windows XP) * Synergy = 1 Raton + 1 Teclado + Escritorio multiplataforma con 2 monitores
Habia visto hace algun tiempo este proyecto pero ha sido hoy cuando le he empezado a sacar jugillo. He empezado a montar uno de los aplicativos Java de mi empresa en Tomcat sobre Linux y la falta de un Hub y el trabajo de mantenimiento que voy a tener que realizar en el Linux me han hecho instalar este pequeña utilidad. El sistema es muy sencillo: Un PC (con su respectivo monitor) hace de servidor y n PCs (tb. con sus respectivos monitores) hacen de clientes. En cada uno de ellos instalamos el software (que trae las dos versiones juntas, la client y la server, synergyc y synergys) y los configuramos correspondientemente.
Para ello en el servidor indicaremos que clientes se van a poder conectar, por ejemplo pcOpenLinux y pcWindowsXP, y determinaremos que pcWindowsXP esta a la izquierda de pcOpenLinux y pcOpenLinux a la derecha de pcWindowsXP. En los clientes indicaremos simplemente que el servidor es pcOpenLinux. Sencillo ¿no?. Al arrancar los programas en cada una de las estaciones podremos, utilizando un solo raton y teclado, controlar ambos, de tal manera que cuando el cursor llegue al limite de una de las pantallas seguirá magicamente su curso en la pantalla que se encuentre instalada al lado. El teclado actuará en consecuencia y sera funcional en la pantalla en la que se encuentre el cursor. Para terminar de bordar la funcionalidad del sistema hay que resaltar que el aplicativo mantiene un sistema de portapapeles compartido entre las estaciones que estemos utilizando permitiendo copiar directamente contenidos de una a otra (incluso interpretando los diferentes saltos de linea que existen entre Windows y Linux). Asi mismo los salvapantallas de ambos sistemas se pueden sincronizar y desbloquear a la vez.
Ay!, como me gustan las cosas que simplemente funcionan...

Habia visto hace algun tiempo este proyecto pero ha sido hoy cuando le he empezado a sacar jugillo. He empezado a montar uno de los aplicativos Java de mi empresa en Tomcat sobre Linux y la falta de un Hub y el trabajo de mantenimiento que voy a tener que realizar en el Linux me han hecho instalar este pequeña utilidad. El sistema es muy sencillo: Un PC (con su respectivo monitor) hace de servidor y n PCs (tb. con sus respectivos monitores) hacen de clientes. En cada uno de ellos instalamos el software (que trae las dos versiones juntas, la client y la server, synergyc y synergys) y los configuramos correspondientemente.
Para ello en el servidor indicaremos que clientes se van a poder conectar, por ejemplo pcOpenLinux y pcWindowsXP, y determinaremos que pcWindowsXP esta a la izquierda de pcOpenLinux y pcOpenLinux a la derecha de pcWindowsXP. En los clientes indicaremos simplemente que el servidor es pcOpenLinux. Sencillo ¿no?. Al arrancar los programas en cada una de las estaciones podremos, utilizando un solo raton y teclado, controlar ambos, de tal manera que cuando el cursor llegue al limite de una de las pantallas seguirá magicamente su curso en la pantalla que se encuentre instalada al lado. El teclado actuará en consecuencia y sera funcional en la pantalla en la que se encuentre el cursor. Para terminar de bordar la funcionalidad del sistema hay que resaltar que el aplicativo mantiene un sistema de portapapeles compartido entre las estaciones que estemos utilizando permitiendo copiar directamente contenidos de una a otra (incluso interpretando los diferentes saltos de linea que existen entre Windows y Linux). Asi mismo los salvapantallas de ambos sistemas se pueden sincronizar y desbloquear a la vez.
Ay!, como me gustan las cosas que simplemente funcionan...
Confesiones de Mr I-have-a-spanish-blog-and-am-an-IDEA-sheep o el deconstructivismo mal entendido
Parece ser que mis habilidades para la dialéctica estan bastante más que flojas. Y por ello desde BileBlog se encargan de darme un par de imprescindibles conceptos para no quedar como un patán analfabeto ante mis inexistentes lectores. Muchas gracias. Ahora ya puedo vivir tranquilo. Con la lectura de tu post me siento una persona más completa, mucho más refinada y culta. Si señor. Faltaria más.
He de disculparme sinceramente por no haber sido lo suficientemente claro al comentar mis/tus opiniones sobre IDEA, y haber dejado el suficiente espacio a la ambiguedad para que un cerebro brillante como el tuyo se colase por el hueco. Por un momento creí que mediante los comentarios que hacía permitia al lector conocer mi opinion de una manera más interesante. ¡Craso error!. ¡Gracias por la leccion!.
PD.: Despues de tu post sobre las enumerations y sobre JBoss, he confimado que efectivamente lo unico que haces es despotricar (con y sin razon, aunque coincido contigo en casi todo lo que dices de JBoss) sin ninguna otra finalidad que no sea la propia critica improductiva. Bien. Pues que te lea Rita. La cantaora. Aunque esta igual no sabes quien es, no?. Para sensacionalismos baratos ya tengo el Hola!.
PD II.: Pssst. Oye. Estaba pensado que quizás deberías cambiar el nombre de tu weblog por algo como YellowBileBlog, o quizas BlackBileBlog. Lo digo porque a las personas que hemos leido algo de Hipócrates (en los bordes de los paquetes de cereales que es lo unico que leemos los que hablamos en castellano por supuesto) nos resulta un poco confuso el uso de la palabra "Bile" per se. Ya sabes, especificando el tipo de bilis podriamos saber (en base a la teoria de los cuatros humores) si tu comportamiento es el tipico producido por una descompensación de bilis amarilla que desenvoca en la ira maniaca o por la bilis negra, lo que hace que te comportes como un jodido demente. Uuuupsss. Perdona, queria decir en un pobre demente. Así sabria a que atenerme.
PD III.: If you don't undestand this post, please feel free to request me an english translation. It's free :-).
He de disculparme sinceramente por no haber sido lo suficientemente claro al comentar mis/tus opiniones sobre IDEA, y haber dejado el suficiente espacio a la ambiguedad para que un cerebro brillante como el tuyo se colase por el hueco. Por un momento creí que mediante los comentarios que hacía permitia al lector conocer mi opinion de una manera más interesante. ¡Craso error!. ¡Gracias por la leccion!.
PD.: Despues de tu post sobre las enumerations y sobre JBoss, he confimado que efectivamente lo unico que haces es despotricar (con y sin razon, aunque coincido contigo en casi todo lo que dices de JBoss) sin ninguna otra finalidad que no sea la propia critica improductiva. Bien. Pues que te lea Rita. La cantaora. Aunque esta igual no sabes quien es, no?. Para sensacionalismos baratos ya tengo el Hola!.
PD II.: Pssst. Oye. Estaba pensado que quizás deberías cambiar el nombre de tu weblog por algo como YellowBileBlog, o quizas BlackBileBlog. Lo digo porque a las personas que hemos leido algo de Hipócrates (en los bordes de los paquetes de cereales que es lo unico que leemos los que hablamos en castellano por supuesto) nos resulta un poco confuso el uso de la palabra "Bile" per se. Ya sabes, especificando el tipo de bilis podriamos saber (en base a la teoria de los cuatros humores) si tu comportamiento es el tipico producido por una descompensación de bilis amarilla que desenvoca en la ira maniaca o por la bilis negra, lo que hace que te comportes como un jodido demente. Uuuupsss. Perdona, queria decir en un pobre demente. Así sabria a que atenerme.
PD III.: If you don't undestand this post, please feel free to request me an english translation. It's free :-).
No way boy o pero ¿de qué diablos hablas? 1
Hay veces que la intransigencia de la gente (sobre todo de los geeks como nosotros) me sorprende brutalmente. Atención a los despotricamientos del compañero :
Un poco de aire por favor. El egocentrismo no me deja respirar...
Instead of being driven by the genius of a select few, it is driven by votes of a bunch of complete and utter imbecilesChico ¿estas hablando de la teoria eugenésica?. Pues creo que tu y yo somos de bronce...
AspectJ support: Amazing, just amazing. How on earth can such a stupid idea be so popular?Si a mi tampoco me parece la via correcta hacia el AOP pero jamas pensaria que detras de esa implementación (ludicrous childish) este gente *ni mucho menos* estupida. ¿Por qué no propones un framework AOP?, quien sabe igual es mejor que Nanning y que AspectWerkz. O igual a alguien le parece estupida.
Subversion integrationYo uso CVS, pero no me parece mala idea soportar varios sistemas de control de versiones, incluso Source Safe. Por cierto ¿te has molestado en mirar la especificación de Subversion?. Tiene cosas bastante interesantes...
Maven integration: See my maven rant for more details about this freakish monstrositySi, si. Una herramienta basada en Ant , que es capaz de autodescargar las ultimas versiones de las diferentes librerias que utilizas, de generar un sitio web para sustentar el proyecto que desarrollas, que integra clover automaticamente, que permite mostrar el codigo de tus clases automaticamente en la web, y que es facilmente extensible a cualquier cosa que se te ocurra. S�, que monstruosidad.
Support for RMI compilation: because rmic is too hard to use in ant, I presumeSí, ¡qué tonteria!. ¿Para qué facilitarlo?.
There's also the gui editor issueOh, sí, ¿no te lo habia dicho?. Yo soy uno de esos programadores mediocres que no son capaces de soportar (los muy estupidos) las *simples* y *pocas* 115 lineas de codigo que hacen falta para crear un JPanel y 18 JEditFields. Tonto de mi...
Serious swing developers I suspect are likely to scoff and stick to using their own hand rolled magic. Still, I'm sure java needs yet more ignorant mediocre inexperienced developers dabbling in swing eh?
The latest EAP (828), for example, refuses to start up on OSX.Oh, sé. ¡Quememos JetBrains!. Una de las *betas* que han subido no es estable. Joder, que ineptos!.
Un poco de aire por favor. El egocentrismo no me deja respirar...
IDEA designer o pero quitame esas lineas...
Si bueno ya se sabia que se iba a sacar un editor GUI para IDEA (en algun momento tendrian que sacarlo) pero esto me ha impactado. Via talios:

La verdad es que librarse del codigo fuente Swing que lleva hasta el más simple de los aplicativos es un alivio. *Cientos* (y no exagero) de lineas para generar un mantimiento con 15 controles. Ademas el enfoque que adoptaban hasta ahora los IDEs ("La maldita zona Azul de NetBeans" , lease esto con voz profunda y un poco gangosa estilo pelicula de Serie B) *apestaban* en lo que a diseño grafico se refería.
Felicitaciones de los creadores de mi IDE favorito !.
Jetbrains have opted for a somewhat controversal approach - byte code manipulation. When a user creates a new GUI form, they bind it to a class in their project. At compilation time, after the class calls super() in its construction, IDEA inject's GUI loading code into the bytecode.
... the form compiler, and runtime code will be released as open source once its complete, and stable...

La verdad es que librarse del codigo fuente Swing que lleva hasta el más simple de los aplicativos es un alivio. *Cientos* (y no exagero) de lineas para generar un mantimiento con 15 controles. Ademas el enfoque que adoptaban hasta ahora los IDEs ("La maldita zona Azul de NetBeans" , lease esto con voz profunda y un poco gangosa estilo pelicula de Serie B) *apestaban* en lo que a diseño grafico se refería.
Felicitaciones de los creadores de mi IDE favorito !.