FriendsBlog Archive
|
May 2006El último y nos vamos
La historia, es eso, sin más pretenciones, salvo en las últimas páginas, cuando la muerte viene por mi general, y éste descubre que el objetivo de la vida es aprender a vivirla. La vida no está en el poder, sino en el amor; la vida no está en la dominación del otro, sino en su convivencia. Tengo problemas para decidir el próximo libro. Espero encontrar El Nombre de la Rosa en algún accidente casual. Ocho libros en seis meses: muy mal promedio para el objetivo. Otra vez de viajeAhora fui de nuevo Monterrey el sábado pasado, para regresar el domingo, a sabiendas que este sábado volveré a irme. El motivo fue la boda de Arturo y Ericka. Me fui el viernes con Chuy y Adriana para salir el sábado temprano. Primero fuimos por unas cervezas y unos tacos. En la noche me quedé dormido viendo El lado oscuro del corazón. Me gusta mucho esa pelÃcula, pero no es para verse con sueño. Al dÃa siguiente salimos a las ocho de la mañana.
El camino fue sin mucha novedad, salvo que en un retén de federales el comanche nos inquirió de dónde veniamos, a dónde ibamos y con qué motivo, al responderle nos preguntó si conociamos a quien venÃa en un Mustang. último modelo, color rojo. Lo obvio era que no, no conocÃamos a nadie tan farol, pero al emparejarnos resultó ser Jaime. Nos bajamos, lo saludamos, pero el se quedó porque lo habÃan detenido para una revisión. Después nos enteramos que lo retuvieron media hora en lo que terminaban de revisar un camión. Son una lata. También en la carretera nos encontramos con Panky y sus papà s, quienes también iban a la boda. El domingo me regresarÃa con ellos. Llegamos a la casa de Miriam, hermana de Adriana, quien vive allá con su marido y recién nacido vástago, Diego. Al parecer está de moda el nombre, ¿será por una determinación religiosa al indio Juan Diego o simplemente la generación Timbiriche que ya procrea? En casa de los cuñados de Chuy causó revuelo un nuevo libro de Denisse Dresser y Jorge Volpi. A mi me ha gustado mucho. Tal vez entre en la lista de la próxima ida a una librerÃa. Siguió el ritual de la bañada, arreglada y envoltura del regalo, el cual yo no tuve la prudencia de comprar por que sencillamente se me olvidó. Pero en el ritual se nos hizo tarde para la ceremonia religiosa y gracias a los mensajes de Norberto llegamos directamente al salón de la recepción. Una edecán nos asignó mesa, todo muy elegante. Yo, en mis arranques de originalidad, me llevé mi nudo minimalista de corbata, el cual no pasó desapercibido, y hasta chuleado por Aurora. La velada fue tal como la visulalizé: sentarse, beber, beber, comer, beber, beber y seguir bebiendo. El whisky rifó la noche. Los papás de Norberto estaban ahÃ, los papás de Panki y los papás de Jaime también. El papá de Jaime me recriminó el por qué no le habÃa conseguido los datos del pariente que fue su mejor amigo de la infancia. Yo ni conozco a ese pariente. La gente bailó, yo disfrutaba mi whisky en silencio. Se juntó en nuestra mesa un compañero de carrera de Jaime, Panky, Silvestre y Chuy, no recuerdo su nombre, pero sà recuerdo con claridad su vocación de cómico, los traÃa a risa y risa, pero a mi no me interesaba escuchar sus gracejadas. Yo hacÃa comunión con el whisky. Sin embargo si escuché con atención la copro-aventura de Jaime. Resulta que en la carrera se sintió mal y fué al médico, quien le pidió unos análisis, sÃ, unos análisis de copro. El dÃa en que tenÃa listo el paquete, decidió ir a una clase antes de entregarlo al laboratorio. La clase era de dibujo técnico y una compañera que se sentó a su lado, y por quien tenÃa un crush. Al comienzo de la clase la susodicha le pidió un lápiz y el presto metió la mano a su mochila y la sacó con gran avidéz. El problema fue que con su fuerza de decisión, el paquete salió de la mochila dando tumbos, y derramando su nada agraciado contenido en la mesa de trabajo. Cuenta que vió en cámara lenta como salÃa el botecito, cómo se cayó sobre la mesa, cómo se abrió la tapa y consecuente derrame. Ã?gilmente utiliza su otra mano como exacta barredora y recoge en un santiamén el accidente para salir corriendo al baño, de donde no salió hasta que la clase terminó. Yo seguà empujando whisky. Fue el lanzamiento del ramo. Ninguna mujer se levantaba para llevar a cabo la tradición. Los del sonido tuvieron que vocear personalmente a cada amiga de la novia para que atendiera la suerte. Siete u ocho hicieron caso. En cambio, en la lanzada de la liga, la situación fue muy diferente, gracias a los hermanos de Arturo que hicieron bola y desmadre, animaron a la concurrencia varonil para buscar el premio. ¿Qué normalmente no es al revés? Fue la única ocasión que me paré en la pista. Panky comentó que se regresaba al dÃa siguiente con sus papás y acordamos que me irÃa con él. Silvestre y su esposa Esperanza se retiraron. Norberto y Aurora por igual. Y como Adriana ya cabezeaba, Chuy tuvo que aceptar la retirada. Yo me despedà del whisky con un largo trago. La mañana llegó y desperté con una dócil cruda. Chuy me llevó al hotel donde se hospedaban los Pankis y comenzamos el camino de vuelta. ¡Qué viaje tan tenso! Cuando conducÃa Panki, el papà le iba criticando su conducción. En un momento que tuvo que frenar de improviso, la mamá lanzó un grito de pavo que me espantó más que la razón de la enfrenada. Y cuando el papá conducÃa, Panki se ponÃa a conversar conmigo con un lenguaje de carretonero que hasta a mi me avergonzaba, junto con los reproches de sus papà s. Hubiera sido bueno tener whisky a la mano en esos momentos... Change, now is time to change...Hoy era el dÃa D. Hoy me entrevistaron 4 gabachos de Texas Instrument por teléfono. Comparándola con la entrevista de Sasken, la cosa fue bastante ligera, pero el nerviosismo no fue menor. Lo más complicado fue cuando tuve que deletrear ceyusa y la 'y' se me cuatreapeó. Eso fue bonito, porque querÃan mi nick para buscarme en sourceforge y luego googlearme (el famoso egómetro). Media hora después de colgar me marcó Alexandra para preguntarme cómo me habÃa ido, yo creà que me hablabas para darme la resolución pero creo que me fue no tan mal, es broma porque ya estás dentro ¿cuándo empiezas?
Estoy emocionado: vida nueva, ciudad nueva, empleo nuevo. Cuando entré a la maestrÃa, Adriana, esposa de Chuy, al compartirle que me sentÃa intranquilo porque no sabÃa si darÃa el nivel, me consoló de manera excepcional: "Jáquez, tú siempre descollas, aún sin proponértelo, sólo se tú mismo". Me gusta imaginar que tiene razón. Empiezo el lunes 3 de junio. Ya tengo reservación de hotel. El problema es ahora qué diablos entregarle a Juan José, que me contrató por un mes y no he hecho nada palpable. Asà que siguen un par desveladas, para justificar lo que ya me pagó. No materializé nada pero aprendà varias cosas interesantes: leà sobre el problema de la diferencia de impedancia entre los DBMS y los programas cliente, aprendà sobre JasperReports y sobre SpringFramework. Ahora falta cristalizar todo eso en algo que puedan ver en un monitor. El problema es trabajar con el código ya hecho y para muestra un botón: 2 horas para ver como interactuar con un procedimiento almacenado. Y resulta que aunque compila bien el código en mi Gentoo, a las primeras de cambio truena en un atoi. Viajero que vasSÃ, tenÃa que ir a Cuernavaca para recoger facturas prometidas e intentar resolver el problema de mi kárdex en el sistema de calificaciones. Quedé con Sergio y Gwendy, compré mi boleto y ya montado en el camión, una avalancha de SMS llegarón de distintas personas (Sergio, Blanca y Kiwi) pero con un mismo mensaje: no abrirán el tec el viernes. Carajo. Dudé en bajarme en Querétaro y regresar a Celaya, hasta que llegó un rayo de luz: sà abrirÃa una persona CASA para atender "emergencias". Pues ya estaba en el camión.
Llegué más tarde de lo pensado, el camino al DF y la salida a Cuernavaca estuvo accidentada y con tráfico. Pero ya en la terminal del Pullman no tardaron en pasar por mi Sergio y Gwendy. Me es indispensable agradecer su generocidad y atenciones hacia mi persona. Pasamos la noche, después de beber algunas cervezas. Al dÃa siguiente fuimos ya entrada la mañana al campus, apurando el paso a CASA. Esperé a que se desocupara la señora que estaba de guardia y en mi turno me entregó la única factura impresa, la de marzo ¿y abril y mayo? pues no la solicitaste, pero yo radico en Celaya y no puedo venir cada mes, yo no puedo arreglar nada ahora está cerrado el sistema, y mi kárdex, idem. Un viaje no muy fructifero. Al menos me dieron el correo electrónico de la encargada, a quien ya le escribà si respuesta aún. Pero qué caray, ya estaba en mi querida Cuernavaca, y no sólo eso, sino que asà como asÃ, por la gracia de la casualidad, 5 de los 7 compañeros de la maestrÃa estabamos en la ciudad. Los otros dos (CinthÃa y Michel) recién se habÃan fugado a Acapulco. Pero no nos adelantemos a los hechos. Siguiendo con el viernes, Sergio y yo nos fuimos a comer pozole al Barco, en el centro. Depués nos fuimos al cine cultural Morelos, que ya está reparado y vimos la pelÃcula francesa La ex-femme de ma vie, una comedia romántica, que no ofrece grandes cosas, pero que resulta entretenida. En la noche de nuevo aparecieron las cervezas además de la cena con Kiwi y su mamá, aprovechando el recalentado de su comida de graduación. Del viernes, si la memoria no falla, sigue el sábado, en el cual la mañana pasó sigilosamente a lado de nuestro merecido reposo en cama. Al transcurrir ese paso silencioso llegaron a la casa de Gwendy y Sergio, Jaqueline y Javier, Kiwi y Verónica. La comida no fue tan animada como mi memoria las suele recordar. Supongo que cuando un grupo se separa, los temas de conversación en común se reducen. De nuevo nos agazamos con el recalentado. La noche llegó y nos fuimos a GalerÃas a ver una pelÃcula. Esa noche platiqué un rato con Sergio sobre la neurisis y su etiologÃa sexual. Interesante. Volvió esa añoranza. La felicidad se descubre en retrospectiva. Y sÃ, fuà feliz durante mi posgrado en Cuernavaca. Vino el domingo. Me despedà de mis generosos hortelanos y me llevaron a los Pullman, acompañado de Sheila y un chavo que no recuerdo su nombre (seguramente porque le va al América). Me puse en el camino al D.F. para verme con Joshua. Nos encontramos en Bellas Artes. Me gusta mucho esa parte del Distrito, me da la impresión de ser una gran ciudad que no le pide nada a ninguna capital europea. Ahà convenimos irnos a comer al Café Tacuba. Me gusta mucho discutir con Joshua, recorriendo temas como veredas en un escarpada sierra. Entrando la noche nos despedimos en el metro Hidalgo y me regresé a Celayita la Bella. Mañana me entrevistan. El sábado voy a Monterrey. Ma vie en JavaMi objetivo de estos dÃas ha sido sacar un servidor de reportes utilizando JasperReports. Inicialmente confié en la experiencia de unos amigos, quienes después salieron con la novedad de que esa experiencia no la comparten como cuates, sino que prefieren hacer "un arreglo que nos beneficie a ambos". Yo creÃa que compartir el conocimiento ya era benéfico para ambos. En fin, es decisión de ellos. Asà que tuve que rascarme con mi presiosas uñas (que no son de gobernador).
Resultó que lo en realidad buscaba (y es la solución que venden mis cuates) es un chisme llamado JasperServer, aplicación web/ws ya hecha y cocinada, que únicamente requiere el esfuerzo del "deployment". Con mucho entusiasmo comenzé a jugar con él, cuando vi que este chisme necesita MySQL. Lo utiliza para el manejo de sesiones y control de usuarios, y, cuando lo que se utiliza en el negocio es PostgreSQL, definitivamente serÃa un gasto estúpido de recursos instalar el MySQL sólo para eso, asà que me puse a truquear el chisme. Leà que, en teorÃa, puede utilizar LDAP para los usuarios, pero no habÃa nada más de esa mención, pero me di el lujo de suponer que si con LDAP puede, con PostgreSQL también, sólo es cosa de menearle a al contexto y cambiar el driver del JDBC. Y asà comenzó mi refriega: error tras error. Harto, y como buen macho, hasta que ya estaba desesperado, recurrà al foro de discusión. Busqué y no vi ninguna referencia al hecho de cambiar el driver del JDBC, no quedándome más remedio que hacer la pregunta yo mismo. Al dÃa siguiente tenÃa la respuesta: te la pelas, guey... y clásico: eso viene en la siguiente versión pero tenemos pedos para sincronizar la versión de la empresa con la que está en SourceForge. Entonces me dije, en tono de autocomplacencia, lo que yo necesito no es tanta mamada, un simple servlet que agarre un reporte especificado, lo parametrize, vea si es válido y escupa el reporte o un mensaje de error ¡simple! Me lo aviento. Comencé revisando mis viejos apuntes de las clases de maestrÃa de Arquitectura de Software y Ambientes de Programación Avanzada. Copié de ahà mis proyectos finales, mis notas de hacking y ahora sà a darle. Pero la culpa hizo su aparición: esta aplicación la voy a dejar en una empresa que no sabe nada de Java, ni quiere saberlo, les caerÃa como balde de agua frÃa este módulo del sistema en servlet, donde tienen que rascarle al Tomcat y a toda la API jodida de los servlets. Seguramente se sentirÃan más a gusto con PHP. A googlear de nuevo y di con este puente PHP-Java, el cual permite utilizar objetos de Java dentro de PHP. Básicamente es una comunicación entre procesos y un protocolo alambrado para comunicar los objetos que están vivos en ambos contextos. Y la cosa no termina ahÃ, hay una página en alemán donde arguye que alguien ya hizo eso para JasperReports. Si no entienden alemán, Google les puede echar una manita. ¡Está todo listo! Ahora sÃ, a hacer algo en PHP, que los mortales pueden entender, utilizando un componente Java. Pero al tomar esta decisión la culpa volvió a llegar: "No seas maricón", me decÃa yo mismo, "Hazlo en Java, ya sabes PHP, ya no tiene excitación para tÃ, y en cambio Java, aunque no sea el santo de tu devoción, tiene un hálito de misterio que puedes develar". Asà que a la jodida todas mis meditaciones previas y le di gusto a mi morbo. Y mi morbo exige grandes sacrificios, en especial no utilizar servets pelones, sino utilizar un framework MVC, y emplear tecnologÃa interesante, sin llegar, claro está, a los contenedores de EJBs. SabÃa que Struts está muerto, y que utilizarlo serÃa un graver error, y el fin de semana, mientras me echaba aire en los bajos, leà un poco sobre Spring y me atrajo. Hoy decidà darme un tiempo para seguir el tutorial de Developing a Spring Framework MVC application step-by-step. Pero sólo llegué al principio de la primera parte, y es que, además de interrumpir continuamente mi labor (¡msn es inocente!), me puse a sobar con placer mi build.xml para Ant. Hasta en la tarde pude hacer deployments remotos en mis servidor de pruebas ¡Albricias!. Mañana, después de ir con los amigos del corporativo Roca, regresare por la hazaña. Quixmatos, ahà les dejo la receta para que hagan sus cosas en PHP y no estén peleándose con la tecnologÃa de alto nivel de valor de retorno. Persistencia Objeto-RelacionalMuch of the excitement we get out of our work is that we don't really know what we are doing. -- E. DijkstraMetaprogramación y el boicot de C++No estoy programando dispositivos de hardware, ni aplicaciones de sistema, estoy tratando de programar una aplicación clásica de base de datos, y está escrita en C++. ¿Ha sido un error? Yo insisto que sÃ.
Uno de mis principios más encumbrados es que la computadora debe hacer más trabajo que uno. Para que esto se cumpla, uno tiene que ser lo suficientemente inteligente para decirle a la computadora que ella sea la que escriba los programas y no uno. A esto se llama metaprogramación. Un ejemplo clásico de metaprogramación es precisamente este tipo de aplicaciones, la que manipulan información en una base de datos. Las buenas prácticas dicen que se debe tener una representación de objeto por cada entidad utilizable en la base de datos. Es decir, si tenemos una tabla inventario, con los atributos id, descripcion y precio, deberomos tener un objeto que nos represente un elemento de dicha tabla y, obviamente, tendrá los mismos atributos, además de los métodos Get/Set para su fijado.
class dbInventario: virtual public DataBase { private: unsigned int id; char descripcion[51]; long precio; public: dbInventario(unsigned int id, const char *descripcion, long precio); dbInventario(); ~dbInventario(); void findbyPrimaryKey(unsigned int id); unsigned int getID() { return id; }; void setID(unsigned int id); const char *getDescripcion() const { return descripcion; }; void setDescripcion(const char *descripcion); long getPrecio() { return precio; }; void setPrecio(long precio); } Sin embargo, lo primero que nos salta a la vista es la méndiga hueva de hacer una clase por cada entidad en nuestra base de datos, máxime si es una tabla grande. La solución más elegante es la metaprogramación: observamos que el esqueleto de todas estas clase de entidad tiene un patrón muy similar, ¡entonces escribamos un programa que escriba programas! La respuesta más obvia es programarlo en un lenguaje de Dioses: Perl. Ya estamos pensando inteligentemente. Este programa se conectará a la base de datos, extraerá el esquema de dicha base de datos y creará un archivo .hpp y uno .cpp para cada entidad que encuentra, extrayendo también los campos y su definición, para mapearlos en C++ y dejar un bonito esqueleto para cada clase de entidad. El resto serÃa agregar las validaciones especÃficas para cada atributo de entrada. Hasta ahora viento en popa y buenas corrientes. Entonces es cuando debemos volver a nuestra clase base DataBase. Esta clase es un proxy, una representación de la conexión a la base de datos, manejando tal vez un pool de conexiones, administrando los recursos justos del DBMS y será la responsable de hacer todas las operaciones sobre él: select, insert, update (básicamente). Las clases de entidad, al ser derivadas de esta última, tendrán todas sus capacidades. Meditándolo ahora, creo que no es buena opción hacerlo a través del mecanismo clásico de la herencia, tal vez un patrón proxy serÃa mejor opción, aprovechando su propiedad singleton para controlar el número de conexiones a la base de datos. En fin, esta clase DataBase, que ya de por sà es especial por el control de recursos, es además la encargada de generar dinámicamente las operaciones sobre la base de datos, es decir, esta generará el código en SQL necesario para la operación sobre la entidad manipulada. Para poder hacer esto, esta superclase deberá descubrir los atributos de la clase actualmente manipulada y generar la consulta debida. Para descubrir esto en tiempo de ejecución, los lenguajes de programación decentes utilizan un mecanismo conocido como introspección. Y aquà es donde la marrana tuerce el rabo. Lástima, nuestra clase DataBase ya no podrá ser tan inteligente como nosotros quisieramos, y estaremos oblicados a teclear cada consulta SQL necesaria dentro de cada clase de entidad. C++ es un lenguaje de tipeado duro, con pocas habilidades para la manipulación de tipos en tiempo de ejecución. Esto quiere decir que la introspección es algo inexistente. Y aquÃ, practicamente se acabó la magia, ya no podemos hacer un código que genere código, porque estamos obligados a que cada instrucción SQL necesaria, la tengamos lista a tiempo de compilación. En conclusión, cuando programamos cosas en las que vemos patrones repetitivos, lo mejor es evitar teclear a favor de que la computadora lo haga, sin embargo, en un lenguaje de bajo nivel como C++, esto ya no es tan posible. Sean inteligentes, utilizen la mejor herramienta para cada problema. ADDEUDUM: Existen preprocesadores, como OpenC++, que permite la introspección de clases en C++, sin embargo utilizarlos endurecerÃa el ciclo de desarrollo al aplicar una capa más de software. La noche de un sábadoCarlos me arrastró al bar The Station, saliendo de la comida organizada por la familia de Silvestre para agasajar a los dondadores de sangre para su hija Cristina. Esta atención fue de carne asada, cerveza, rematada con whiskey y cognac. Silvestre viajó desde Monterrey junto con su grávida esposa Esperanza, su hija Fernanda y varios kilos de Sirloin, para ver a su hermana, que llevaba ya una semana de recuperación, y de paso tomarse un par de copas con su amigos y donadores sanguÃneos. La reunión fue bastante agradable, la comida opÃpara y la bebida copiosa.
La (posible) futura exnovia de Carlos le llamó a su Nextel para comunicarle que lo esperaba en "The Station", donde ella estarÃa con sus amigas. Después de esa llamada comenzó el asedio: "Vamos a la estación". Se lo preguntó a las hermanas de Silvestre (Marien, Cristina - en recuperación - y Paloma) y a nosotros. Después las invitaciones se volvieron insistencias. Las hermanas de Silvestre se negaron con la misma porfÃa, Tomás se desentendió rápido argullendo un compromiso posterior con su esposa, y Julio y yo, que al venirnos en el Atos de Tomás quedábamos a merced o de nuestros pies o de la generosidad de Carlos, tuvimos que librar batalla con su necedad. Por demás yo tenÃa un problema por partida doble: habÃa dejado mi cartera en mi mochila y mi mochila en el Atos de Tomás y Tomás ya habÃa partido. En otras palabras, estaba sin dinero en la bolsa. Aprovechando intentar convencernos, Carlos se ofreció a llevarnos. Primero dejó a Julio sin necesidad de mucho ruego, sin embargo conmigo se limitó a decir: "Yo sé que tú no me vas a dejar morir solo pinche Jáquez". Y se estacionó cerca del bar. Por otro lado, el alcohol ingerido me facilitó el cruce de ese pequeño lÃmite entre la templanza y la osadÃa. Momentos antes de pasar la cadena, cruzó por mi mente la posibilidad de me negaran la entrada debido a mi atuendo, consistente en playera, mezclilla y tenis, pero con toda impunidad, antes de terminar de pensar el argumento, ya estaba adentro. Esta serÃa la segunda o tercera ocasión en la que estoy en La Estación. Un bar ya legendario y multigeneracional, donde los treintañeros se juntan beber, fumar e intentar conversar sobre la fuerte música "ambiental". Nunca me ha llamado la atención dicho bar, me aburre, me parece que sus parroquianos son seres vacÃos, rendidos y vendidos al ilusorio sistema, donde confunden los medios con los fines. Un escape formar a sus patéticas vidas, donde evitaran confrontarse consigo mismos y culpar a los demás en descargo suyo. Mujeres vestidas de putas, tratando de atraer las miradas de galanes potenciales, quienes con la mentira adecuada podrÃa bien irse a la cama, poniendo al otro dÃa el pretexto del alcohol para despedirse de la vergüenza. Hombres y mujeres vestidos de mentiras con el objetivos de atraer a alguna mosca, pero no habÃa moscas, sólo canÃbales. El lugar estaba lleno. Encontramos a la novia de Carlos y otros tres amigos de ella. Me acomodé un lugar y me dediqué a escuchar la música y observar a la concurrencia. Dos de los tres acompañantes de Paola se fueron en poco tiempo, dejando a una amiga de Paola, de quién jamás supe su nombre. Situaciones se dieron, entre Paola y Carlos, entre la amiga de Paola y gente que se acercaba a saludar. Yo sólo querÃa mantener el flujo de cerveza abierto y largarme lo más pronto posible. De pronto Paola y su amiga se despieron y Carlos me dice "Vamos al Vanchai", ¡Ni madres! prefiero caminar a mi departamento, Entonces pidamos otra cervezas, ya estoy muy pedo. Para los que no lo sepan, el Vanchai es una disco, digna sólo de adolescentes y pubertosos en busca de nuevas emociones que son incapaces de encontrar en otros aspectos. Y fue cuando la mala copa de Carlos lo llevó a un estado de ánimo nefasto. Me repetÃa una y otra vez que se sentÃa vacÃo, que su relación con Paola iba de mal en peor y el final estaba cerca, que lo único importante para él en esta vida es hacer dinero, un chingo de varo, repetÃa, entre otras cosas que serÃa muy indiscreto hacer eco. TenÃa ahà aún amigo, a quien admiro por su capacidad de ligar, de hacer reÃr a las mujeres, de una idiosincracia simplista, pero entregado a su trabajo, perseverante, quejándose del vacÃo de la existencia, de esa sensación donde la nada nos arrastra. Otro que tergiversa a los medios con los fines: el dinero y el sexo son lo importante, no la gente que nos rodea, ni nosotros mismos. Estaba ahÃ, sentado, cavilando qué responderle, tal vez ninguna respuesta serÃa buena, él ya estaba instalado en su peda y su nefastez, sólo querÃa que alguien le escuchara, pero sin discutirle, cuando una voz femenina rompió el ensordecedor ruido de las conversaciones y la música: "¡Hola! ¿Te acuerdas de mi?". ¡No lo podÃa creer! ¡Era RocÃo en persona! Estaba ante la visión de un fantasma. A RocÃo la conocà cuando estaba en preparatoria. En aquellos dÃas de plata escasa y muchas deudas en la familia, mi tÃo Carlos me daba empleo de medio tiempo donde él laboraba como gerente, agua en garrafón Junghanns. AhÃ, RocÃo trabajaba como secretarÃa y asistente. Para mÃ, y en aquellos dÃas, me resultaba increÃblemente atractiva, lejana, deseada. Un dÃa me turbó cuando me dijo: "VÃctor, eres el primer chavo de diecisiete años que conozco que no tiene una novia". No hallé qué responder. Cuando mi tÃo salió de la distribuidora y yo con él, le perdà la pista. Por medio de mi tÃo supe que habÃa entrado a estudiar una carrera, no recuerdo si LAE o Comercio Internacional o Leyes, pero si tengo presente la impresión de asombro ante el ánimo de esta chica por hacer un uso conciente de su libertad para crecer a sus circunstancias. Digna de admiración, como lo es toda la gente que asumen su realidad y se dan cuenta que son capaces de rebasarla. Tiempo después, cuando estaba en con mi jugete del proveedor de Internet en San José Iturbide, abrà mi cuenta fiscal en Banorte, en la sucursal de la calle Juárez, donde para mi sopresa y alegrÃa, ella era ejecutiva de cuenta. Realmente no conversaba mucho con ella, mi espÃritu retraÃdo sólo me permitÃa cruzar con ella las palabras necesarias para el manejo de la cuenta bancaria. Pero siembre buscaba que ella me atendiera. Tiempo después ella ya era la encargada, casi casi gerente de sucursal. Se notaba que progresaba en el banco y le gustaba trabajar ahÃ. Los años pasaron y sus ausencias en el banco se incrementaron. Un dÃa, despues de un tiempo de ya no verla por el lugar, le pregunté a Belem por ella (Belem es otra historia que contar después) y su razón me dejó helado: "Tiene leucemia y sólo viene cuando la quimiterapia se lo permite". Y sÃ, cuando la llegaba a ver, la veÃa con su peluca, cejas pintadas y cuerpo cada vez más enjuto. No me atrevÃa a hablarle ¿qué le dirÃa? Únicamente podÃa maravillarme ante su ánimo de seguir trabajando teniendo a cuestas su mal. Después la dejé de ver. Con el tiempo, otra vez me animé a preguntarle a Belem por ella. Su respuesta fue sentencia: "Está muy mal. Tuvo una recaÃda y los doctores no le ven muchas esperanzas". Salà del banco muy triste. Supuse que su descanso estarÃa cerca. Le desee lo mejor de esta vida para enfrentar el siguiente paso. Pero ayer, cuando la vi y la reconocÃ, sentà que la alegrÃa me embargaba: estaba ahÃ, en el bar, divirtiéndose. Me confesó que se habÃa escapado para dar una vuelta en su querida estación, para recordar antiguos dÃas idos. Me mecÃa los cabellos, no lo podÃa creer. TenÃa ya el pelo algo crecido y con color en su rostro. Dijo que probablemente le den incapacidad de por vida, por que su lucha contra el cáncer va a largo plazo y las quimios la dejan noqueada. Pero estaba ahÃ, aún con nosotros, celebrando la vida, a diferencia de Carlos a lado mÃo, quien la sufrÃa. Se despidió apresuradamente por que la estaban esperando, no sin antes tomarnos de las manos y despedirnos de beso en la mejilla. Carlos me preguntó quién era ella y le dà una breve reseña. Fue cuando algo se resintió en mi y las lágrimas me comenzaron a brotar sin control. Estaba feliz de haberla visto feliz, radiante. Carlos, ya punto beodo, me dijo: "Ã?nvitala a salir y cógetela". La reación fue en serie: primero sentà una gran ira por su groserÃa, después reconocimiento de su tristeza y, más importante aún, de su borrachera. Con una sonrisa en el rostro le pedÃ: "Ya vámonos Carlos". Cuando las distribuciones se encuentran (Java en Debian Sarge)Los que me conocen saben que a mi me gusta Gentoo para el trabajo diario de interfaz gráfica y programación. También saben que me gusta Debian para los servidores de mis clientes. Las razones son simples: Gentoo me ofrece gran flexibilidad, muchas opciones, gran poder de abstracción y simultáneamente gran poder para manejar los detalles, con su respectivo costo, que son los largos tiempos para la puesta a punto. Debian es rápido de poner a punto, una gran cantidad de paquetes a alcanze de la mano y fácilmente actualizable.
No obstante, en últimas fechas he tenido que meterme a Java (JasperReports más especÃficamente) . El soporte de Java en Gentoo es una maravilla, se pinta solo, pero en Debian es más bien pobre. Hay en Debian una inutilerÃa que se llama make-jpkg, con el cual podemos hacer paquetes deb de los jdk y jre más populares. Escogà el jdk de Sun, el cual bajé de java.sun.com. Entonces con este comando se crea el paquete deb correspondiente: $ fakeroot make-jpkg jdk-1_5_0_06-linux-i586.bin $ sudo dpkg -i sun-j2sdk1.5_1.5.0+update06_i386.deb # emerge -b jasperreports Aquà es cuando aparecen las diferencias entre el manejo de Java en Debian y en Gentoo: Gentoo instala los jar en /usr/share/paquete_java_ver/lib, manejando muy granuladamente el $CLASSPATH. En cambio, Debian mete todos los jars en /usr/share/java, simplificando esta última variable de ambiente. Por lo que harÃa falta hacer un trabajo de traducción y limpieza. Una vez obtenidos los tbz2 con los paquetes binarios generados por el emerge, los copio a la máquina Debian. Luego los descomprimo en un directorio raÃz temporal (~/newroot/) y muevo todos los jar al directorio ~/newroot/usr/share/java y elimino los /usr/share/paquete_java_ver. Este es el trabajo de limpieza engorroso y hay que hacer decisiones sobre qué hacer con los binarios de /usr/bin y las ligas simbólicas (yo borré todo eso). Después, con ese directorio hacemos un tgz. Con este tgz crearemos los paquetes deb utilizando el famosÃsimo alien. Y luego instalas. $ fakeroot alien --description "JasperReports library and several dependencies not available for debian." --to-deb jasperreports-1.0.1.tgz $ sudo dpkg -i jasperreports_1.0.1-2_all.deb Opiniones polÃticas (azuzando a mi zoon politikon)Inmigrantes
Estoy de acuerdo que, como en la comunidad europea, el tráfico de personas debe ser igual que el tráfico de productos en una zona de libre comercio. Cualquiera puede ir de España a Francia y Holanda sin presentar un solo documento en las fronteras. Esto debe ser la norma en paÃses que tengan fronteras e intereses comunes. Sin embargo con el TLC (NAFTA para los nacos) no es asÃ, y es una lástima. Ojalá en el futuro esto cambie. Sin embargo, hablando de inmigración, la cosa es levemente distinta. Quien decida emigrar, irse a radicar a otro paÃs, uno debe adecuarse a su nueva realidad. Bien puedo aceptar a cualquiera que se quiera venir a vivir a México, siempre y cuando aprenda español, coma chile, entienda albures, pague impuestos y cumpla con las leyes. Esto mismo se aplica a cualquier paÃs que acepte nuevos residentes que venga de fuera, por lo que los paÃsanos que se van a vivir a Estados Unidos, lo mÃnimo que se les puede pedir es que hablen inglés y se adhieran a sus leyes. Sin embargo, es increÃble que gente que ni siquiera hace el intento de aprender el idioma, quiera su residencia. Las marchas no sustituyen el respeto al anfitrión. Para los extremistas de los que BX habla ("estas conmigo o en contra de mi"), no estoy, en ningún momento, dando la razón a racistas y xenófobos. Atenco "La violencia es el último refugio del incompetente" -- Isaac Asimov Hacer uso de la violencia es aceptar las limitaciones en el raciocinio, es aceptar estar debajo de la humanidad. Una tremenda estupidez, como violar la ley para usar espacios para realizar operaciones mercantiles, desencadenó una mini-guerra de dÃa y medio: el estado vs engreidos insurrectos. Aquà sà soy tajante debido a mi enojo, el comercio en la vÃa pública es ilegal, no paga impuestos, y la procedencia de los productos es dudosa. Pero lo que más me molesta es que impúnemente bloquean espacio común, que pertenece a toda la comunidad para su traslado. Prácticamente podrÃa considerarse cómo el secuestro de la vÃa pública, la arrancan de la comunidad para el usufructo de unos pocos. Lo más indignante es que si la ley, decide en su decidia, hacer algo, estos mafiosos se levantan como lo que son: unos cavernicolas sin educación ni pensamiento. Con el garrote por delante y la conciencia por detrás. No, no tienen derecho a llamarse vÃctimas de un estado opresor, sólo pueden llamarse mafiosos y criminales. Un hecho que hay que subrayar a todo esto, es que AMLO, protege a René Bejarano, quien a su vez tiene su poder gracias al control que tienes sobre los ambulantes del DF. Indignante. Derecho reproductivo Estos dÃas feriados, saliendo a las calles, vi cantidad de gente pululando. Y noté que la inmensa mayorÃa son parejas jovenes con niños pequeños. Me hize una simple pregunta: ¿cuántos de estos niños y parejas se formaron por un compromiso conciente y razonado? o, aplicando el complemento ¿cuántos de estas parejas y niños están aquà por un "error", falta de información, o cualquier otra justificación pendeja? SÃ, comprendo que los métodos anticonceptivos tienen un margen de error, pero ese márgen de error no se refleja en la cantidad de gente que hay. ¿Cuánta gente se va a la cama, a gozar de sus cuerpos, con responsabilidad (personal y por el otro), información y cierto nivel de compromiso? Ahhh... pero cómo le ponemos pretextos a nuestra ignoracia, pereza y estupidez: "no soy puta, cómo voy a usar pastillas anticonceptivas", "con condón no me gusta", "es que nos ganó la calentura", etc. Es indignante ver, con tanta información a la mano, que gracias a nuestros prejucios sigamos cayendo en errores que ya no tienen justificación. Si la humanidad ha podido separar la reproducción de la sexualidad, es porque hay los medios para hacerlo, y tenemos la obligación de informarnos de dichos medios, si realmente queremos separar estas condiciones. Un ginecólogo, de manera corriente, sirve para dos cosas: tener hijos y no tenerlos. Un libro obligatorio
Otros libros que han caÃdo en esta categorÃa son "Breve Historia del Tiempo" de Hawkings, y "The Cathedral vs de Bazaar" de Raymond. "Lo único que nos humaniza es la compañÃa de otros seres humanos." |
Recent Comments On Blog