Por ejemplo…

Por ejemplo, hay cadenas que WordPress no tiene marcadas para traducir. Así está cabrón traducirlas.

No es sólo que en PHP no estén marcadas con _(...) o con __(...) o con _e(...)… lo realmente grave es que son cadenas que no tienen un equivalente en algún otro lado, entonces no sólo hay que modificar el archivo .php; hay que regenerar el POT, añadir las cadenas faltantes, generar el .mo, y ver si ahora sí queda.

Que es lo que estoy haciendo en este preciso instante.

Obsesión

Siendo obsesivo como soy, volví a traducir WordPress, asegurándome que quedara justo como a mí me gusta.

La cosa no son sólo las frases idiomáticas: tenía errores de ortografía (y redacción y sintaxis) el archivo es_ES.mo que había encontrado. Y le hablaba de al usuario… una falta imperdonable, si se me permite decirlo.

No sólo no tiene errores de ortografía mi es_MX.mo (excepto algún error de dedo: son casi las dos de la mañana), además habla español de México y es coherente en lo interno. Y es educado con el usuario. Si alguien lo quiere sólo pídalo.

Para asegurarme de que realmente funcionara, generé el POT con xgettext, y empecé de cero. Así que tuve oportunidad de comprobar que hubiera coherencia interna. No digo que sea perfecto: de seguro se me pasaron varias cosas. Pero se acerca bastante a la perfección, sin duda alguna.

Ahora me voy a dormir; mañana quiero empezar a hacer ejercicio.

Español

Buen Dios, eso fue mucho tiempo.

Acabé de traducir el archivo es_ES.po después de mucho más de lo que debió haberme costado. Lamentablemente, parece que ciertas cosas no se tradujeron bien, y a otras no les hace mucho caso WordPress.

Así que no quedó como yo quería, pero al menos ya no tengo que lidiar con ficheros o enlaces. Ni tengo que escribir en inglés, que me estaba retrasando bastante a la hora de escribir.

Fui el viernes a Conacyt con la única idea de chismear. En total, estoy yo ya registrado junto a lo más 50 otros güeyes que pedimos beca, y estaban formados más o menos otros 50 güeyes para meter papeles. No todos esos 50 se los aceptaron: me tocó ver como una chava era cruelmente rechazada. Aunque en honor a la justicia los que recibían los papeles se estaban portando bastante humanos.

Lula está en el país, y el viernes fuimos a comer Juan, Omar, ella y yo. Le platiqué lo de Liliana… y eso será todo lo que diga al respecto.

Vi Robots con Juan; me estaba meando de la risa en la escena de Britney Spears. Lo entenderán al ver la película. Altamente recomendable.

Robots

Robots

Creo que tengo suficiente dinero para mis gadgets; especialmente si canjeo mis vales de la UNAM con mi madre y además me pagan mi resto mis padrotes. En el peor de los casos, puedo dejar para después el iPod y “conformarme” (je) con un iPod Shuffle… con la adicional ventaja de que me obligo a salir a correr en las mañanas. Hey; ¿de qué sirve un iPod Shuffle si no vas a hacer ejercicio con él?

Tengo que estudiar para mi curso; mi desempeño ha dejado mucho qué desear. Tengo que adelantar tareas y proyectos, calificar a tiempo y terminar la página. De hecho ya está arriba, pero todavía no es funcional.

He estado estabilizando mi sistema después de pasarme a GNOME 2.10. Exceptuando algunos problemas menores, todo está jalando. Así que estoy actualizando a la enana en este momento… sin ponerle GNOME, claro.

Viene Semana Santa; que para mí en el sentido espiritual no importa mucho, pero va a ser una semana de cero actividad, casi, así que espero poder pensar tranquilamente acerca de recientes eventos en mi vida.

Virus and trojans

Went to the house of my cousin Melchor and his wife Ruth. Their machine was in bad shape; so bad they couldn’t navigate anymore. The modem conected them, but it was impossible to load any page.

I only took with me a CD-RW with AntiVir Personal Edition, because I thought “that’s everything I need”.

Boy I was wrong.

The machine had so many trojans and viruses, that it didn’t read the USB plugged CD writter. I had to reboot and enter in safe mode, but then the USB didn’t worked, so I went to the “check every option” mode. The machine has Windows ME (literally the work of the devil), so I was in deep pain.

Finally I was able to read the CD-RW, copy the antivirus and started to check the machine. 16 virus, dialers and trojans in total: fortunately they shut down the machine and unplug the modem at night, but anyway they told me that two suspicious calls were in the phone bills in the last months.

After that, I removed all the software that looked at least a little malicious, installed Firefox, and told them not to install anything without reading first what the software was. The machine felt a lot faster without the viruses and the spyware, and they were finally able to load pages (in Firefox 1.0.1).

While there I watched a little of the súper clásico between Chivas and América. I’m not really fan of neither club, but I enjoy with the suffering from the americanistas.

My car is back to life, but it cost me almost 400 dollars. And my mother asked me for money, so I don’t know if I will be able to buy my gadgets. Maybe I can left the camera and related things out. I don’t know; first I need to talk to Omar and see if he will go to Ciudad Juárez in the next weeks.

Funny thing: I opened Ximian’s OpenOffice Spreadsheet, and it’s fast. I suppose it had to do with the upgrade to Gtk+ 2.6; don’t know. But it’s certainly cool.

Went to work one last time. Basically I returned my security ID, and clean up the machine where I was working. Now I need to focus in my academic duties, and search for a new work.

Gadgets

I want to go to Europe with Liliana. That’s one of the reasons I’m working. But I also want some gadgets; I mention it in my last entry. And I want them now… and I’m planing to be working until June or July, so I will have the money for Europe. I promise.

Buying the gadgets in Mexico is a fuckin’ joke; they are like 20% or 30% more expensive… if available. So I asked Omar if he is going to Ciudad Juarez in this month or the next. If he goes, I can send the order tu the UTEP, where Omar’s brother is currently studying, and that Omar bring them back to me.

I asked Liliana and she’s OK with the plan, and mother says that I can use her credit card (I need to put the money in it, of course). So, I’m going to do it… if Omar is going to CJ in the next weeks…

I’m really excited; but I changed my list to this:

  • Apple 40 GB iPod M9268LL/A

    I really want the 40 GB model. Maybe I’m over-reacting (I only have like 10 GB of music in my collection); but it has just been discontinued, so in the future it will be the 20 GB version or the 60 GB one… and I don’t want either.

    It’s so funcking hot!

  • PalmOne Tungsten C Handheld

    This is the good one. The iPaq looks nice; but I like this the most. Is a little smaller, and it has much more applications available. And it seems that the Palms works better in Linux.

  • Sony Cybershot DSC-T1 5MP Digital Camera with 3x Optical Zoom

    This is hot too. It has a cadle, non-AA battery, and is very slim. It also has an LCD of 2.5″, which is sexy as hell.

Those are the big ones. But I need accessories too. For the camera:

For the PDA:

For the iPod I need only one thing:

Also I’m going to repaint my car, and fix it some things. And repair my cellphone.

All this is nice and perty, but I’m about to spend like 2,000 dlls. That’s a lot of money. It’s OK; I’m not spending all of it, but anyway it’s a lot of money. And I also like an iPod Shuffle.

But as I said, I expect to be working at least three more months. In that spirit, I saw Arturo today, and we talk about a possible job.

Being honest, I don’t really expected to work with Arturo. But I was interested in saw him and talk to him. I discovered that I’m not as mad at him as I was a couple of years before.

Cueris

Hoy me pasé la mitad de la mañana terminando (otra vez) Robots e Imperio, de Isaac Asimov.

Mi jefe llegó tarde, y tardó aún más en darme algo de trabajo. Leí Slashdot, leí User Friendly, leí Penny-Arcade, leí Planet GNOME, y leí Slashdot de nuevo. Cuando por fin apareció mi jefe con chamba para mí, quedé anonadado por la cantidad de trabajo que me esperaba.

Era un query.

“Buen Dios” pensé, “a ver si acabo hoy”.

Acabé como tres minutos después, pero tardé bastante en probar mi cueri porque mi máquina se alenta demasiado. No sé exactamente qué sea.

Sospecho que es el JSP donde genero la imagen. La imagen mide sus buenos 1600×1700 pixeles, y la cargo en memoria para manipularla. Además, la escribo en disco duro y es leída por el navegador para desplegarla. Todo esto ocurre en la misma máquina, ya que corro Tomcat en localhost. Así que tengo dos instancias de una imagen 1600×1700 pixeles. Al menos la parte en Java convierte esta imagen en representación RGB, lo que hace que mida unos 7 MB. No estoy seguro de cómo funcione GDI en Windows para representar imágenes, pero algo me dice que también por fuerzas necesita una representación RGB de la imagen, lo que da un total de 15 MB por las dos imágnes. Esto es más del 10% de la memoria que poseo; sin contar lo que de por sí consume Tomcat.

Pensé en llamar al recolector de basura de Java después de manipular la imagen. Pero no sé si el remedio sea peor que la enfermedad.

Además está el hecho de que corro XEmacs, al menos una instancia de Bash, Gaim y Putty. Gaim estoy casi seguro de que no ocupa mucha memoria, al igual que Putty. Pero XEmacs puedo, literalmente, ver como se dibuja en la pantalla. 128 MB de memoria es sencillamente muy poco para mi ambiente de desarrollo. No quiero ni pensar en cómo sería todo si usara Eclipse.

Después de probar mi cueri, comencé a aburrirme. Leí las preguntas en Slashdot destinadas a Martin Taylor, de Microsoft. Una de ellas me mató de la risa:

So, one a scale of charcoal to black, what color is your cold, cold heart?

Salí exactamente a las 6:00, y en mi casa estaba Liliana, que se fue como a las 9:00 (después de reclamarme que los acentos no funcionaban en su gorda… y tiene razón, fue culpa mía).

Vi las noticias y seguí trabajando en la actualización de Maistro, pero me está costando mucho avanzar. Además estoy bastante decepcionado porque creo que no hay forma de que haga funcional el sitio para varios cursos a la vez. Sólo que metiera todo a la base de datos; que es de las cosas que quiero evitar.

Y aún así, el sitio no puede jalar chido con varios cursos a la vez. ¿Cómo configuraría la seguridad para cada curso, por ejemplo? No; me parece que voy a tener que asumir que cada curso tendrá su webapp. Y voy a ponerlo en arce0; Enrique tiene Gentoo corriendo ahí, y me siento más cómodo así.

De cualquier forma, voy retrasado. Hoy de hecho no hice nada; sólo definí el nuevo CSS para el sitio. Pero mañana ya programo, lo prometo.

Maistro

Algo tarde, como a las 11 de la noche, comencé la tan postergada reescritura de Maistro. Maistro es, por supuesto, la webapp que utilizo para manejar mis cursos.

Estoy utilizando ciertas cosas que he aprendido desde que lo escribí. Como siempre que tengo que retomar algo que había dejado sin tocar durante mucho tiempo, me ataca una hueva enorme. Pero debo tener esto listo para el lunes, o en dos semanas a más tardar.

No debería tomarme mucho; me gano la vida haciendo esto.

La bronca más grande es generalizar el sistema. O sea, hacerlo reusable para n cursos al mismo tiempo. Lo demás son monerías.

Aprovechando, voy a hacerlo menos pesado gráficamente; de hecho creo que voy a quitar todos los gráficos. Sólo XHTML y CSS. Y algo de JavaScript; pero ni siquiera tanto. Y voy a sacar de la base de datos un montón de cosas que no pertenecen ahí. Como los menúes; ¿en qué estaba pensando cuando puse los menúes en la base de datos?

También voy a evitar las broncas enormes en que me metí por querer hacer el sitio universal. Si hay una lista de correo, la interfaz web de los archivos serán una liga más en el menú. Nada de querer hacer que namazu tenga el look ‘n’ feel del resto del sitio. Digo; se veía bonito, pero era terriblemente complicado el hacerlo.

Voy a dejar el manejador de archivos remotos, porque la idea es que ayudantes y profes suban archivos (prácticas, tareas) sin broncas. Pero adiós al editor del sitio. O al menos no tal como lo tengo; es muy dado a errores. Voy a hacerle como WordPress; que se pueda editar, pero de forma sencilla.

Y tal vez tenga que ponerle algo de CMS a Maistro; quiero que los profes puedan editar noticias y otras cosas.

Pero me estoy extendiendo; primero lo básico. Que es con lo que empezó el sistema; que los alumnos puedan subir sus prácticas al sistema, para evitar que los manden por correo electrónico. Ya después iré extendiendo.

Ah; y lo voy a escribir en inglés. Me refiero a las estructuras de datos y los nombres de los JSPs. Quiero GPLearlo, y lamentablemente el inglés es la lingua franca del desarrollo Open Source. Pero el idioma del sistema en sí seguirá en español; si alguien quiere traducirlo adelante.

Y el nombre es Maistro.

La Gorda

Liliana tiene una laptop, una Sony Vaio PCG-505 (Pentium III a 1.8, 256 MB de memoria, 30 gigas de disco duro), que es una belleza.

Es de los últimos modelos que salieron con dock station, lo que hace que el floppy y DVD/CD-R vivan en él, mientras que el resto de la laptop puede separarse, con lo que se hace más liviana y delgada.

Delgada es la palabra importante aquí. Siendo Liliana como es, y viendo que con dock station la laptop se ve “gordita”, y sin él se ve “delgadita”, Liliana le puso a su laptop “La Gorda”. Y el dock station terminó siendo denominado “La Lonja”. Ahí está el chiste: “la gorda” se quita “la lonja” y entonces ya no es “la gorda”… o algo así.

Como sea, y siendo que Liliana generalmente termina usando la distribución de Linux que yo le pongo, la gorda tiene Gentoo. Tardó bastante en compilarse, pero tiene Gentoo.

Dado que Liliana sí usa su máquina para trabajar, no se había dado la oportunidad de que se la actualizara. Así que hace unas semanas copié su disco duro a mi máquina grande, y compilé las actualizaciones a paquetes binarios haciendo un chroot. Es el mismo sistema que utilizo para actualizar a la enana, sólo que en el caso de la enana lo hago porque está muy viejita, y el compilador tiende a morirse cada vez que trata de compilar glibc.

Por fin me dejó su máquina para que la actualizara el domingo en la noche. La actualización en sí fue rápida (acabó como a la una de la mañana), pero entonces tuve la genial idea de hacer un emerge sync y actualizarla hasta lo último. A las cuatro de la mañana me fui a dormir, dejando que compilara cerca de 60 paquetes aún.

El lunes en la mañana me levanté tardísimo (obviamente), y vi con horror que a la gorda le faltaban cerca de 40 paquetes. Así que me la llevé a la chamba y ahí terminé la actualización.

Está padrísima la máquina de Liliana; todo viene soportado en el kernel de Gentoo, incluido el video con aceleración 3D, el sonido, y la tarjeta de red wireless que le heredé cuando la negra pasó a mejor vida.

Por fin hoy la utilizó, y no había pasado yo dos horas en la chamba, cuando me habló diciéndome que me pasaba porque XEmacs no jalaba. Como estaba en mi casa, y tenía la gorda conectada por wireless, me metí y vi que se me olvidó correr un revdep-rebuild. Lo hice, y acabó como a la media hora.

Lo padre de todo es que le puse HAL y D-BUS, entonces puede conectar su cámara digital y ver las fotos directamente en su desktop. Lamentablemente no sé cómo hacer que el memory stick funcione de forma directa, y no he encontrado ayuda al respecto. También le puse Rhythmbox, y varios MP3 que sé que le gustarán.

Extraño a la negra. Espero poder tener una laptop de nuevo dentro de poco.

IPO

Hoy terminó la semana laboral, pero estos últimos dos días fueron de una producción algo decepcionante para el ritmo que había tenido. El no poder instalar Cygwin me demoró muchísimo.

Como el jueves http://www.cygwin.com seguía muerto, hice un mirror de uno de los mirrors en arce0 (para garantizar velocidad y acceso), e instalé a pie Cygwin. Que resultó ser una experiencia mucho menos que placentera.

La maldita biblioteca cygwin1.dll seguía quejándose y quejándose acerca de que no tenía exportado el punto de entrada _impure_ptr. Whatever that fuckin’ means! Carajo; estoy acostumbrado a lddear bibliotecas en Unix; pero en Windows soy como un retrasado mental con mal de Parkinson y las manos atadas a la espalda. Que es justo la razón por la que instalo Cygwin nada más le pongo las manos a una máquina que tiene Windows (y que yo vaya a usar para trabajar).

Omar una vez me dijo que cuando me sentaba en frente de una máquina con Linux, mis dedos comenzaban a aporrear el teclado a una velocidad impresionante y cosas muy rápidas ocurrían en la pantalla. En cambio, en Windows parezco masahua en Aurrerá: dando tumbos, mirando confundido a un lado y otro, y sin saber exactamente qué hacer.

(Lo de “masahua en Aurrerá” es comentario de la amiga Meche de mi mamá; por supuesto es completamente Políticamente Incorrecto; pero no me importa porque se me hace muy chistoso.)

De verdad casi no hice nada este jueves y viernes, porque sencillamente no podía. La línea de comandos de Windows es una broma; y en 2000 es peor que en XP. En XP siquiera hay autocompleción; en 2000 uno tiene que hacer cosas como:

cd \doc*\c*\desk*\my*

si uno quiere ir ligeramente más rápido que un oso perezoso en velocidad de pánico.

Después de instalar y desinstalar cygwin varias veces, y de crear otro mirror de cygwin en arce0 (razón por la cual Enrique me llamó para decirme que le habían informado que estábamos haciendo “cositas” de nuevo en arce0… como si en algún momento de nuestra vida Enrique y yo hubiéramos hecho algo remotamente ilegal en esa máquina), pude al fin levantar bash. Lo demás fue de volada; denme un shell con autocompleción y directorios que se separen con “/” y yo me encargo de lo demás.

Luego está el problema de que esta “nueva” máquina tiene 128 poderosos megabytes de memoria. Lo que significa que cada vez que inicio Tomcat bien puedo irme por un café, porque todas las otras aplicaciones quedan inutilizadas. Pedí un DIMM de 128 a mis jefes los que me pagan (mi padrote), a ver si me la hacen buena. Por cierto muy sospechosos en el teléfono; que cómo me iba, que si estaba contento, que qué necesitaba. Muy acomedidos.

Cuando terminé de levantar mi ambiente de trabajo (Cygwin, XEmacs, ant, Tomcat), ya sólo me dio tiempo de hacer un vil JSP, y de hecho sólo la mitad. La otra requiere el llamar a un stored procedure, y no me daba tiempo ni de chiste a terminar la clase… de hecho creo que podía terminar la clase con todo y documentación de JavaDoc; pero si esperaba a que Tomcat reiniciara, bien podía cruzar Periférico e ir al cine. Y no podía porque Liliana estaba en casa esperándome.

Me llamó diciéndome que iba para mi casa y que me esperaba ahí. Ya platiqué con mi madre, y le voy a dar unas llaves a Liliana para que venga a trabajar en mi casa mientras yo trabajo en TMM. Se me hace muy chido, porque aprovecha la infraestructura de mi casa (mi maravillosa máquina y mi banda ancha, entre varias cosas), y puede trabajar tranquilamente. Mi casa es muy silenciosa.

Cuando llegué a casa, vi que había traído su nuevo coche: se compró un Ford Fiesta, nuevecito, bastante bonito. Ya le pegó, pero es cosa de nada.

Poco después de las nueve se fue, en su carro, y yo sintiendo entre gusto de que no tengo que ir a dejarla, y sentimiento de culpa de que me diera gusto el no tener que ir a dejarla. Sé que de verdad le conviene aprender a andar en carro, y que nos hará la vida mucho más sencilla a ambos; y no me voy a hacer pendejo: adoro la idea de no tener que ir al Cerro de la Estrella (ida y vuelta) para ir a dejarla… pero a la vez siento que fallo de cierta manera como novio. Igual y es mi macho saliendo por mi pecho; no sé.

Después vi Enterprise (sintiéndome algo mal de que ya por fin la cancelaron), y Dawson’s Creek. De mis desgracias para tratar de grabar Dawson ahora que trabajo, ahora sí me pasó la más ridícula de todas: ¡lo grabé en mute! Así que vi todo el programa como un show larguísimo de Marcel Marceau. De cualquier forma me gustaron ambos capítulos; especialmente el de Enterprise: en Dawson’s Creek sólo hubo una escena de Pacey y Joey, y fue realmente corta.

Después vi (electrónicamente) a Juan y le dije que mañana le caigo; igual y va Enrique. Estamos tratando de ponerle Gentoo a su máquina, y ya lleva un par de semanas la instalación. Por cierto que me dijo que tiene un blog él también: en blogspot. Tiene una entrada, y dice: “Bienvenidos a mi blog”.

Pero eso me hizo a pensar. Ya basta de este andar en el clóset: es hora de hacer la IPO.

Cuando RedHat cotizó en NASDAQ en la bolsa gringa, yo leía en todos lados que RedHat iba a ofrecer su “IPO”. Yo no tenía idea de qué carajo era eso, ni siquiera cuando me explicaron que significaba “Initial Public Offering”. Eventualmente llegué a comprender qué significaba, y qué importante era para una compañía. También aprendí que muchas veces, ofrecer la IPO también se podía decir como going public.

Pues carajo; I’m going public too. Y aquí está mi IPO.

No podía ser en otra máquina que no fuera abulafia. Pudo ser arce0; pero estoy más ligado a abulafia por razones sentimentales. Espero que no la crackeen como lo han hecho las últimas siete veces.

Pasar la base de datos y los estilos fue muy sencillo. Ya está corriendo, y esta es mi primera entrada. En una máquina pública. Verde; me da hasta cosa.

(Claro que el que esté en una máquina pública no quiere decir que le vaya a dar a nadie la dirección).

Pentium III, 128 RAM

Hoy por fin me dieron una máquina para mí solito. Resulta que cuando llegué, no había máquina para mí. Escenario común, por cierto, cuando uno llega a una compañía grande.

Me “prestaron” una temporalmente. Era una Pentium… no Pentium IV, III o II, Pentium… con 32 MB de memoria y dos gigas de disco duro. 32 MB de memoria… en mi casa tengo 1024. Mi tarjeta de video tiene 64 MB de memoria.

Pero encima de todo ello, venía con Windows… 95. Santa María Madre De Dios… había olvidado que se sentía eso. Fue como regresar a 1996. Lo más interesante del caso, es que es tal vez la instalación más estable de Windows 95 que yo haya visto. No se cayó ni una sola vez. Eso no me pasaba cuando usaba Windows 95.

Usé la divertida maquinita dos días, sin quejarme. Me decían que me iban a dar una máquina para mí después, así que no me preocupé. Al menos podía navegar. A 800×600… con 8 bits de profundidad. 256 colores para mí solito. Pero podía navegar.

Eso fue hasta que me enteré de que usaban esa máquina para correr procesos remotos con VNC. Así que un día me quedé viendo como se movía solito el ratón de mi máquina.

Al otro día llegó mi máquina. Fue un upgrade total: Pentium I, con 64 megas de memoria, 4 gigas se disco duro, y Windows 98. Ahí sí protesté. No había manera de que desarrollara en Java utilizando esa máquina. Me sentía como en 1998 con ella.

Mi jefe entonces dio con una solución salomónica: me prestaba su laptop mientras me conseguían una máquina que funcionase.

La solución funcionó casi más de una semana; conectaba la laptop a un monitor y teclado externos, y todo jalaba perfectamente. Pero por fin llegó mi máquina. Como era de esperarse, es un poco menos poderosa que la laptop: Pentium III con 128 megas de RAM y 5 gigas de disco duro. Windows 2000.

Al menos se puede programar con ella.

Pero he tenido broncas todo el día para actualizarle mi ambiente de trabajo. En primer lugar, http://www.cygwin.com ha estado caído todo el día; y yo no fui. Además, todo el tiempo que traté de bajar el JDK de Sun, se detenía al 8%. Lo bajé primero a arce0, y cuando traté de bajarlo con Firefox, ¡se detenía al 8%!

Después bajé wget para Windows, y cuando traté de bajarlo con wget, se detenía al 8%. Partí el archivo en arce0 en casi veinte pedazos, y pude bajar todos, excepto el que contenía el punto donde llegaba al 8%. Ese último pedazo lo zipeé, lo bajé, los dezipeé, pegué los pedazos, y por fin pude instalar el JDK.

Ahora sólo tengo el problema de Cygwin; de verdad no puedo trabajar sin él. Y la máquina se vuelve inútil al momento de iniciar Tomcat; pero creo que ya podré trabajar bien, sin preocuparme de que llegue mi jefe para que le tome la laptop.

Estoy haciendo un mirror en arce0, de un mirror de Cygwin. Bajaré los paquetes a esta máquina, y espero que pueda instalarlo de disco duro. Y ya tengo más chamba.

Ayer fui con Liliana a ver The Aviator.

The Aviator

The Aviator

Me impresionó la actuación de Leonardo DiCaprio; lo tenía en muy mala impresión como actor. Después comimos tacos (yo siete de suadero, con todo mucha salsa). Hoy llegué bastante tarde; cerca del medio día. Así que saldré después de las ocho; pero no es tanto problema. Me gustaría dejar la máquina ya lista para que mañana pueda trabajar cómodamente con ella.

Escupiendo Excel

Terminé los queries utilizando únicamente tags, que es über cool. Tardé un poquito más de lo que me hubiera gustado moviendo todo a Tomcat 5.0, pero valió la pena. Todo sale de forma muchísimo más sencilla.

Mi jefe me pidió el viernes que además de mostrar los datos en el navegador con los JSPs, le pusiera al sistema la opción de escupir un archivo de Excel con exactamente la misma información. Ya había visto en muchos lugares que hacían eso, así que supuse que no sería difícil. Pero de cualquier forma lo dejé para hoy.

Resulta que para hacer que el JSP escupa un archivo en Excel tengo que cambiar:

<%@page contentType=”text/html”%>

a:

<%@page contentType=”application/vnd.ms-excel”%>

Así que ya acabé “lo fácil” y tengo que empezar a hacer lo difícil, que es manipular una imagen con Java para mostrar un mapa que refleja el estado del sistema en tiempo real. No creo tampoco que sea difícil, pero le he estado dando la vuelta. Me dan flojera los gráficos.

Como me salió tan fácil lo de Excel, me premié instalando Gaim, para poder platicar en el messenger sin que la ventanita del webmessenger se me ponga encima cada vez que alguien me escribe. Lo geek y chido del asunto, es que me conecto a mi casa con SSH (Putty), y hago un túnel para que Gaim se conecte a localhost en lugar de al servidor de messenger. Mi túnel redirecciona la conexión al servidor de messenger. También redirecciono el puerto 80, pero ese lo mando a mi máquina en mi casa, donde corro WordPress. Eso me permite escribir entradas en el blog desde mi chamba, lo que me facilita encontrar excusas para evadir mi trabajo.

Tengo WWW, tengo salida SSH, y tengo Gaim. Esa es mi definición de ambiente amigable en el trabajo.

(Por supuesto, dudo que los administradores de red la hayan cofigurado para que los empleados puedan correr Gaim y SSH fácilmente; pero tampoco ponen tantas trabas.)

Le platiqué a Citlali que por fin tenía Gaim. Y en ese momento caí en cuenta de algo. Estoy trabajando en Windows XP (todavía no tengo una máquina mía mía, pero de eso platico luego), pero me di cuenta que estas son las aplicaciones que corro:

  • Firefox
  • XEmacs
  • Cygwin
  • Benthic Software Golden32
  • Tomcat
  • Putty

El Golden lo utilizo para conectarme a Oracle; pero realmente lo utilizo muy poco. O sea que mis aplicaciones como usuario final son software libre. Básicamente utilizo Windows como manejador de ventanas.

Por supuesto, Windows también se encarga del manejo de memoria y de acceso a hardware y nimiedades así. Pero es básicamente la misma configuración que tengo en casa… aunque extraño Rhythmbox.

Hay una discusión acerca de si es “bueno” para Linux que existan las mismas aplicaciones de software libre para Linux y para Windows. Los que dicen que sí, dicen que si primero el usuario final se cambia de aplicaciones poco a poco, moverlos al final con Linux será mucho más sencillo que si el cambio es brutal y de golpe. Los que dicen que no, argumentan que si tienen ya las aplicaciones, ¿para qué se cambiarán de Sistema Operativo?

Yo estoy con los que dice que es bueno. Pero además se me hace algo medio contradictorio que, si el software libre defiende la libertad de usuarios y programadores, ¿por qué van a coartar la libertad de alguien que quiere portar un programa a Windows? Encima de eso, es fabuloso tener las aplicaciones que me gustan aunque esté en Windows.

Desconectado

Algo pasó con el teléfono. Está muerto.

En general podría vivir con tal cosa; el teléfono no es mi medio principal de comunicación, y además tengo mi celular. El problema es que al estar muerta la línea, se lleva consigo a mi conexión DSL (Prodigy Infinitum).

Contratamos Infinitum cuando yo trabajaba en Simitel. Era la conectividad que teníamos en la oficina, y me gustó tanto el servicio como su estabilidad. En general ha sido muy poco el tiempo que la red ha estado caída. Creo que esta es la vez que más tiempo ha estado caída la red.

Yo comencé a utilizar Internet en la facultad. Y de hecho no lo usaba mucho; yo fui de los que no entraron a los laboratorios de cómputo durante el primer semestre. Después conseguí una conexión a la RedUNAM “prestada” (la RedUNAM permitía que varias personas se conectasen con el mismo login/password). Recuerdo que cuando vi la diferencia entre la velocidad de la red en la UNAM y por módem, por poco estallo en risa. En la UNAM tenemos T1.

Cuando entré a trabajar a Simitel, me decían que en Puente de Vigas (donde estaba el hosting de nuestros servidores), la conectividad era fantástica: “algo como jamás has visto”. Fui a Puente de Vigas una única vez en mi vida, a actualizar nuestro firewall a la última versión de OpenBSD (3.1 en el momento, creo). También era T1. Y de hecho creo que en la UNAM jalaba más rápido.

Sin embargo, la diferencia entre módem y DSL es abismal. Especialmente para alguien como yo, que actualizaba Linux cada tres meses y tenía que bajar las imágenes de los CDs. Fue la velocidad del DSL la que me hizo decidirme a cambiarme a Gentoo. Aunque creo que podría haberlo hecho con módem, hacerlo por DSL ayudó muchísimo.

Ahorita no tengo ni siquiera módem. Para ello tendría que tener teléfono.

Y yo básicamente leo mi correo no sólo diario, sino que lo leo todo el día. Por no decir de las varias páginas que reviso a lo largo del día. No leer Slashdot me produce síndrome de abstinencia.

Y es ridículo, pero casi toda la información que obtengo viene de la red; incluso leo La Jornada en línea. Así que estoy desconectado.

Supongo que le hablaré a Amílcar para que siga hablando con Telmex y les diga que no mamen y que nos restauren la línea.

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.

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.

¡Ó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.