Tomcat 5

Por fin funcionaron los malditos queries. Algo o alguien había metido mano a la misma base de datos que uso para el desarrollo, y la consistencia de la misma se perdió. Con eso resuelto, me hice a la tarea de convertir los JPSs a que usaran taglibs.

Los tags son chidos. En primer lugar, permiten que se edite un archivo en XEmacs y que éste lo indente correctamente. Y por supuesto, la indentación es lo más importante del universo. Menos importante, también obligan a mantener la “lógica de negocio” fuera del JSP, y dentro de clases con interfaces bien claras según las reglas de la Orientación a Objetos. Eso hace al JSP más limpio y por ende mucho más manejable.

Una vez hice en Simitel un JSP que, literalmente, daba miedo.

Todo salió casi perfecto, hasta el momento en que tuve que llamar a un procedimiento estructurado de Oracle. No hay un tag para tal cosa en la JSTL, así que hice yo uno. Gran Dios; perdí horas en eso.

Básicamente el problema fue que Tomcat 4.1 no soporta el Expression Language, que es parte del estándar JSP 2.0, que sólo ofrecen las versiones de Tomcat 5 y para arriba. Por supuesto eso era la explicación más sencilla, pero yo me pasé horas experimentado y reiniciando Tomcat pensando que me había equivocado en algún parámetro de configuración. Debió ser obvio cuando vi que un argumento era recibido por el JSP literalmente como “${user}”. Carajo.

Eso fue para convertir el primer query a tags. Veinte minutos antes de irme, fui con mi jefe y le pregunté si podía utilizar Tomcat 5 en lugar de 4.1. Sorpresa sorpresa: sí puedo. Tardé menos de veinte minutos en convertir el otro query a tags (que no necesitaba ningún tag personalizado).

El problema en gran medida es que la JSTL soporta el EL; uno puede hacer cosas del estilo:

<c:set var="user">Canek Peláez Valdés</c:set>
<strong><c:out value="${user}" /></c:out></strong>

uno obtiene lo que se esperaría, o sea Canek Peláez Valdés. Pero si uno hace un tag personalizado con exactamente la misma funcionalidad, entonces obtendría el equivalente de ${user}. Lo cual no sólo es inconsistente; es estúpido. Carajo.

Independientemente hoy fue un fabuloso día para trabajar. Es viernes, así que entra el “viernes casual”, y no siento que soy el único que no lleva traje y corbata. Que de hecho creo que sí soy el único que no lleva traje y corbata. Pasé horas deliciosas frente a una máquina, rastreando un problema que en retrospectiva era bastante idiota (hint: leer la documentación de tu servidor de JSPs y ver si soporta el EL antes de tratar de usarlo… o al menos googlear un poco al respecto), pero esa es de las cosas que me gusta hacer de cualquier forma.

El proyecto por el que me estoy prostituyendo está especificado para que dure mes y medio. Dudo mucho que me tarde más de una semana hábil en terminarlo (de hecho le dije a mi jefe que si no acababa para el viernes algo estaba mal conmigo), y me tomé la libertad de perder tiempo en algo que realmente no importa. A mí me pagan igual si hago el proyecto utilizando tags o JSPs tradicionales. Pero es más divertido con tags.

Si todos mis días de trabajo fueran como el de hoy, pensaría seriamente en hacer mi vida así: trabajando de 9 a 6. Lamentablemente días como el de hoy son raros.

Imprimir entrada Imprimir entrada

Ponderando el hacerse público

Llevo dos días con WordPress. Ya le puse un estilo que me gusta, modificándolo un poco para que las citas (“quotes”) queden de una forma que me guste más, e ingeniándomelas para generar yo mismo mis thumbnails y un estilo para ponerlos en el blog.

Me está gustando mucho, aunque me gustaría que fuera mucho más portable en el sentido de que ahorita lo estoy corriendo en mi máquina, y que me gustaría que moverlo a abulafia o a arce0 fuera tan sencillo como respaldar la base de datos y recrearla en uno de esos dos servidores. Ya estoy viendo que de hecho no va a ser tan sencillo.

Pero lo que más me impresiona es la cantidad de palabras que he escrito. No digo que tenga algo de calidad lo que he escrito; lo que digo es que es un chingo. Creo que sí me hacía falta desahogar mis pensamientos de forma escrita, aunque todavía no me queda claro el porqué.

Estoy pensando si me voy a ir a producción, si voy a hacer público el blog. No tengo idea; y la verdad no creo que sea tan importante. Dudo mucho que le interese a mucha gente lo que podría o no etar escribiendo.

Pero sí me está gustando escribir. No he decidido si irme “en vivo” todavía, pero sí voy a seguir escribiendo.

Imprimir entrada Imprimir entrada

Dawson’s Creek

Hoy llegué alegremente a mi casa, deseando ver otro episodio de Dawson’s Creek, pero al poner la videocasetera descubrí que la luz se había ido o algo así, y el capítulo no se grabó. Quedé devastado.

De Dawson’s Creek me gustan dos cosas: Pacey y Joey, en ese orden. Digo es obvio porqué me gusta Katie Holmes. No hay necesidad de discutir ese punto. Lo interesante es Pacey; sí está guapetón, pero ese no es el punto.

Soy incapaz de identificarme con el caracter principal del programa, o sea Dawson. Tranquilo, buena gente, educado, obediente, buen hijo, respetuoso, estudiante que no da broncas… qué hueva. En cambio Pacey… alocado, cínico, descuidado, impulsivo… me encanta. Por supuesto me identifico con él.

Y lo que es más importante: al final del día he gets the girl!

Nunca pude ver las dos primeras temporadas de Dawson’s Creek. Algún día rentaré los DVDs, supongo. Pero lo que es la tercera y cuarta temporadas, junto con algunos capítulos de la sexta (incluídos los dos capítulos finales), me encantan. Son los capítulos que exploran la relación entre Pacey y Joey, y el divertidísimo triángulo que se forma con Dawson. Muy entretenidos.

En Estas ruinas que ves de Jorge Ibargüengoitia, el personaje principal cerca del final se da cuenta de que pudo haberse ligado a la dueña de sus afectos, con todo y que ella estuviera comprometida con el “joven de porvenir”. Y entonces el personaje principal lanza una expresión que cambió mi vida (leí la novela a los 14 años más o menos):

“Yo era más feo, pero también más simpático.”

Santa María Madre de Dios. ¿Cómo nunca pensé eso antes?

Por supuesto, Jorge Ibargüengoitia era más feo que escupirle a Dios. Yo disto mucho de ello, pero ciertamente no apareceré jamás en la portada de una revista juvenil.

Esa frase explica muchas cosas en la vida. Y da esperanza. Digo, a los 27 años puedo entender perfectamente que la nena no se queda con el más guapo, sino con el mejor (lo que sea que a ella le parezca o crea que es lo mejor); pero a los 14 no es tan obvio. Y es lo que me gusta de Dawson’s Creek. Pacey no es tan guapo como Dawson, no conoce a Joey de toda la vida como Dawson, no tiene esas pláticas profundas y trascendentales que ella tiene con Dawson… pero la hace reír, y la reta a que haga cosas que nunca ha hecho, y la apoya de una forma que Dawson jamás podrá porque así no es él. Y mientras Dawson la ve y la ama de una forma cuasi mística y la idolatra y la idealiza, Pacey la ama de una forma mucho más real y mucho más humana.

Y, por supuesto, Pacey no es tan guapo. Pero es mucho más simpático.

Pero no pude ver mi capítulo hoy. Ni modo; tendré que ver mañana dos capítulos.

Imprimir entrada Imprimir entrada

La tan ansiada comida

Citlali, Enrique y yo por fin nos pusimos de acuerdo en cuándo nos vamos a ver para comer. Hace dos meses Enrique y yo ayudamos a Citlali con un problema de Perl que tenía en su chamba. En agradecimiento, nos invitó a comer.

Enrique y Citlali son de las personas que más quiero, y va a ir también Liliana. Además vamos a ir a El Churrasco, a sugerencia mía (aunque realmente nadie sugirió nada más). Estoy seguro que nos la vamos a pasar chido… en dos semanas cuando vayamos, porque no pudimos ponernos de acuerdo para ir este fin de semana.

Imprimir entrada Imprimir entrada

Conexiones Oracle

Quería terminar hoy con los dos queries que puedo hacer “fácilmente” (el tercero implica manipular una imagen, y eso no sé cómo hacerlo… todavía). Si mañana no acabo al menos esos dos, me voy a sentir muy frustado.

Está bien raro. Para poder obtener el estado de ciertas cosas en la base de datos, necesito limpiar los registros viejos que marcaban el estado, llamar a un stored procedure para que se llenen los registros nuevos con el estado actual, y sacar el estado de una tabla (que llena el stored procedure).

Ya había logrado eso con una herramienta que se conecta directamente a la base de datos. Al momento de implementarlo en Java, sin embargo, nomás no quiso jalar. No me marcaba ningún error, sencillamente me regresaba cero renglones. Carajo.

Una vez vi algo parecido (con MySQL, toda proporción guardada), y era que no podía utilizar un mismo statement (y a veces ni siquiera la misma conexión), así que cerré todo entre cada llamada a la BD. No jaló, y luego pensé que a lo mejor la tabla de donde sacaba los datos era temporal y que tenía definida vida de sesión, y que por alguna razón no me preservaba la sesión mi conexión.

Nada: la tabla no es temporal, y además parece que sí se preserva la sesión con mi conexión.

Pero lo más desesperante es que, después de un rato de estar jugando con queries, volví a intentar un query con la herramienta que se conecta directamente a Oracle, ¡y resulta que no hay nada en la tabla!

Me voy a casa: alguien además de mí le está metiendo mano a la BD, o bien ya llegué a mi horizonte de pendejismo. Ayer me dormí tarde instalando WordPress, así que no sería muy extraño.

Imprimir entrada Imprimir entrada

¡Óra[c]le!

Hoy por fin pude hacer algo de chamba en mi chamba. Llevaba una semana atorado por el simple hecho de que no tenía máquina. De hecho aún no tengo, pero me reservo la historia para cuando por fin tenga una máquina para mi solito.

El proyecto se ve muy sencillo; casi de risa, pero me peleé toda la mañana tratando de crear un DataSource para una base de datos Oracle en Tomcat 4.1. Como siempre con estas cosas, son detallitos los que hacen que las cosas no funcionen.

Cosas para considerar:

  • En Tomcat 4.1 las webapps individuales no pueden tener su propio context.xml para su <Context>, sino que debe ir dentro del server.xml.
  • Como quiero que la webapp tenga su propio logger, necesito un <Context>, y Tomcat parece no querer abrir automáticamente el .war si la webapp tiene definido uno.
  • Oracle utilza unos URLs muy chistosos para las conexiones a las base de datos.

Además tengo a Citlali en una ventanita de MSN quejándose amargamente de un compañero de chamba suyo que escribe muy mal código. En general no tendría bronca, me gusta mucho platicar con Citla, pero estoy usando el webmessenger (estúpidas reglas de firewall, como generalmente pasa en las compañías grandes), y su ventanita sigue poniéndose encima de esta ventana, donde estoy posteando en lugar de terminar mi chamba.

Debería regresar a chambear.

Imprimir entrada Imprimir entrada

Gentoo Lila

Llevo varios meses con el tema Lila de Gentoo.

GNOME con el tema Lila

GNOME con el tema Lila

Está padre, si bien algo femenino y caricaturesco. Pero también ya creo haber superado mi etapa de pongo-a-cualquier-sabrosa-como-background y también la de soy-muy-malo-y-muy-macho-y-mi-baground-también.

Lo que más me gusta (además de que se ve bien), es que está muy completo. Hay un componente para Firefox, otro para XMMS (aunque casi no uso XMMS), y casi todos los iconos de GNOME están cubiertos. De hecho, están cubiertos varios iconos que no están en el gnome-icon-theme. Incluso hay cursores, que lamentablemente no se ven en el screenshot.

Estoy también pensando en utilizar el tema cristal. De hecho lo puse un momento, pero no estoy seguro… es demasiado parecido a KDE, y los hombres de verdad usamos GNOME. También coqueteé un momento con el tema Industrial, que es el default (“por omisión”) de GNOME.

Al fin y al cabo el tema lila me gusta. Es consistente, e incluso tiene temas para gensplash, GDM y yo mismo hice uno para LILO:

Tema Lila para LILO

Tema Lila para LILO

Me gusta mi escritorio en Gentoo. Y pierdo demasiado el tiempo en él.

Actualización (Junio 26, 2005): Al actualizar mi galería, perdí mis screenshots originales, así que puse uno que tenía por ahí, mostrando la transparencia en el nuevo X.org.

Imprimir entrada Imprimir entrada

Vero en Jalapa

Verónica me contestó el correo que le envié hace más o menos seis meses. Dos líneas:

¿Todavía respiras?
Besos jalapeños

Le contesté tratando de explicarle cómo me sentía, lo que no salió muy bien dado que yo no termino de entender cómo me siento. Me contestó pasándome su número de teléfono en Jalapa, y pidiéndome que le llamara.

No lo he hecho.

Quiero muchísimo a Vero, pero de una muy jija de la chingada manera, siento que la he perdido. Primero fue el novio, que nunca me cayó bien. Votó por Fox, así que no había muchas posibilidades de que eso pasara. Luego se embarazó y casó. Y luego, nada más por no dejar, se embarazó de nuevo. Y por último se fue a Jalapa.

Lo que sea en que consistiera nuestra amistad para motivos prácticos ha desaparecido. Yo me hice amigo de una activista estudiantil que peleó a brazo partido por sacarnos de la cárcel a mí y a otra bola de güeyes que caímos el fatídico 6 de febrero de 2000. Ahora es un ama de casa con marido y dos hijos.

En provincia. “Soccer mom!”

La realidad es que también me siento intimidado por ella. Siempre me he sentido intimidado por ella; es una mujer especial. ¿Por qué siempre los seres humanos más impresionantes que conozco son mujeres? Debe ser el gen Y. ¿Es el Y el que tienen las chavas, no? No, Wikipedia dice que no, así que debe ser el doble gen X.

Siendo una mujer fuerte y decidida, Vero me intimidaba. Ahora con hijos, marido y viviendo en provincia, de algún modo me intimida más. ¿Qué le voy a decir? ¿En qué la puedo ayudar? ¿Qué le puedo decir que no haya pensado ya?

Supongo que sólo puedo quererla. Pero es muy difícil querer a distancia, y menos cuando el ser querido tiene poca tendencia a los métodos modernos de comunicación electrónica.

Y apesto en el teléfono.

Imprimir entrada Imprimir entrada

Transportes Marítimos Mexicanos

En mi primer trabajo, la “oficina” era una casa (grande, pero casa), y trabajaba con otros cinco programadores, un administrador, una secre, dos “arquitectos”, y uno o dos jefes, dependiendo de cómo contáramos. Era un grupo de trabajo bastante lamentable; buenas gentes, pero… limitadas. Duré tres meses haciendo programitas en Power Builder.

¿Sabían que Power Builder es la herramienta del diablo, no? Y no me refiero a que sea difícil de usar, o incómoda. Me refiero a que es el medio por el cuál el Malo De A Deveras, el Patas-de-Chivo, el Anticristo en persona succiona las almas de los pobres programadores condenados a tener que hacer aplicaciones con “cueris” y “ventanitas”.

En mi segundo trabajo éramos siete programadores, un CTO, un CEO, un contador y dos más que se dedicaban a “ventas”. No soy mamón cuando digo que teníamos un ci-ti-ou y un ci-i-ou: los mamones eran ellos que ponían eso en sus tarjetas de negocios:

Serge Kruppa: CTO, Simitel

El buen Serge. Era un buen lugar para trabajar; probablemente lo siga siendo. Tenía que ser un buen lugar: duré un año a pesar de que hacía más de hora y media en llegar de mi casa a la oficina (que sí era propiamente una oficina), y hora y media en regresar. De hecho, la ubicación de la oficina era la única desventaja; en esa compañía pasé mi mejor experiencia laboral en la Iniciativa Privada.

Ahora trabajo en una compañía que es como un gran padrote, y que en lugar de tener putas tiene programadores. El cliente llama al padrote (mis jefes), y si les gusto (o sea, tengo lo que ellos quieren), me mandan. Es mi deber satisfacer al cliente. Y soy una completa zorra insaciable.

Así que después de cuatro años de carrera universitaria, terminé siendo puta. Cara, eso sí, pero puta al fin y al cabo.

Mi primer cliente fue ING Comercial América. Él me gustaba. Me trataba bien, y no pedía nada extraordinariamente locochón. Pero eso no era tan importante para mí; estoy acostumbrado a dar lo que el cliente pide. Lo que me encantaba era que hacía veinte minutos de mi casa a la suya. Después de trabajar un año perdiendo tres horas diarias en ir y venir al trabajo, uno desarrolla cierta fobia a la idea.

Lamentablemente ING decidió que no necesitaba mis servicios y me vi ante la perspectiva de ir a trabajar a Santa Fe, o quedarme sin chamba. Y Santa Fe es un no-no-doble-no, así que estuve desempleado unas semanas antes de que mi padrote me consiguiera otro cliente.

El nuevo cliente es TMM: Transportes Marítimos Mexicanos. Como ING, es una empresa enorme con cientos de empleados. Como ING, su mayor ventaja es que está muy muy cerca de mi casa.

Llevo una semana, y todavía estoy viendo cómo se desenvuelven las cosas. Me gustaría quedarme; no hago nada terriblemente interesante, pero está muy cerca de mi casa. Y de cualquier forma, no está ahí mi futuro.

Nunca lo ha estado.

Imprimir entrada Imprimir entrada

Corazón, diario de un niño

Recuerdo haber visto el animé, y me parece recordar haber leído algunos capítulos de la novela. Me parecía algo ridícula (la serie), y queda principalmente en mi memoria como otra de esas caricaturas que veía porque daba la casualidad de que estaba en la programación. En esa época sencillamente me chutaba toda la programación.

Ai no Gakkou Cuore Monogatari

Ai no Gakkou Cuore Monogatari

(Además, ni siquiera me genera una sombra de duda como Josefina… ¿de qué carajo trataba todo eso? ¿Una ballena enana, que flotaba? ¿Qué demonios? Al menos a Josefina quiero volverla a ver para resolver el misterio.)

Nunca quise llevar un diario básicamente porque mi letra es espantosa. De verdad, es horrible. Mis compañeros de la facultad dicen que lo que pasa es que conforme transcurría el tiempo en la clase, me daba más y más hueva el escribir, y ponía cada vez menos esfuerzo en hacer la letra legible. Al final de la clase, mis apuntes eran poco más que algunos puntos y líneas y círculos, chiquitos chiquitos que sólo yo (a veces) podía leer.

Así qué, ¿cuál es la idea de todo esto? Las páginas personales me parecen la cosa más patética del universo, e inicialmente creí que los blogs eran su más abominable legado. Después de un rato terminé leyendo algunos, como todo mundo; pero ciertamente no espero que nadie lea esto (¡Hola mamá!)

Supongo que la idea de todo esto es que, después de tres años de stand-by en cuanto a lo relacionado a mi vida se refiere, parece que ahora sí va a llegar el momento de reiniciarla (podría incluso decirse que iniciarla), y no sé, creo que quiero tener una forma de recordar todo lo que estoy sintiendo sin tener que recurrir a mi memoria (que a veces raya en lo genial, para luego parecer de teflón) o a mi terrible costumbre de racionalizar todo, cambiando mis recuerdos a como me convenga en el momento. Necesito mantenerme sincero conmigo mismo.

Como sea, esto probablemente no será un diario (conociéndome lo dejaré abandonado semanas enteras), ciertamente no será tal cual mi corazón (es un blog, se supone deben leerlo otras personas), y puedo asegurar que ya no soy niño.

Pero la idea me emociona. Como a un niño.

Imprimir entrada Imprimir entrada