18 de noviembre de 2005

El túnel del SSH

Esta última semana fue un poco cansada...gracias a cierta aerolínea he tenido que dormir en cuatro capitales de Centroamérica en cinco días..pero bueno, como siempre he creído, siempre aparecen oportunidades de aprender cosas nuevas.

Por tanto viaje, he estado teniendo que usar accesos públicos de Internet a través de redes inalámbricas (Wi-Fi hotspots) en hoteles, aeropuertos, etc. Para facilidad del acceso de la gente que se conecta a esto, los access points están configurados sin ningún tipo de seguridad (aunque sea WEP). Esto es bastante conveniente para uno, pero también es bastante fácil para cualquier script kiddie que ande por allí, que ponga su equipo a escuchar y copiar el tráfico de todos los usuarios...y para hacerlo más interesante, ronda por la Red una herramienta para reconocer passwords dentro del tráfico normal de red (esto lo oí en el podcast de Security Now, por cierto).

Sobre esto, hace poco salió en digg una "nota" que ponía una página que capturaba todos los passwords transmitidos en cleartext durante una conferencia: pusieron un script que hacía sniffing del tráfico inalámbrico y capturaba claves. Aparte de las implicaciones legales, etc. de esto, pues me puse a investigar cómo proteger el tráfico, sin llegar a una solución más complicada, tipo VPN.

Parte de lo que encontré, fue usar SSH tunnels. El concepto es interesante: a través de un cliente de SSH cualquiera, se puede redirigir el tráfico de un puerto local, hacia otro puerto en un servidor remoto, dentro de la conexión encriptada que ya mantiene el cliente SSH.

Con esto, se hace tráfico muy seguro, ya que el protocolo SSH (en la versión 2, verdad?) usa criptografía fuerte.

Lo que hice entonces fue configurar en PuTTY que hiciera el túnel (Connection->SSH->Tunnels), agregando un puerto local (en mi caso, localhost:3128 que corresponde al HTTP proxy Squid usualmente), hacia el puerto 3128 de un servidor remoto.ejemplo.com que corre el proxy Squid, y apuntando el HTTP proxy de mi navegador hacia localhost:3128.

Para evitar que todo el mundo use ese proxy, se configura para que sólamente acepte tráfico de localhost (en este caso, es el localhost del servidor remoto, no de mi PC). Entonces, el PuTTY se encarga de reenviar el tráfico recibido en localhost:3128, y redirigirlo al remoto.ejemplo.com:3128, donde el sshd de remoto lo interpreta como tráfico local, y lo traslada directamente al Squid local que está escuchando en el puerto localhost:3128.

De esa manera, mi tráfico inalámbrico está totalmente encriptado hasta llegar al proxy server! Con eso, ya podría entrar a una LAN segura si el proxy permitiera tráfico hacia ella. La autenticación queda a cargo de SSH, usando passwords.

Hay muchas aplicaciones para estos túneles, y hay bastante información adicional en Gugle, buscando la frase "ssh tunnel". Esta técnica está altamente recomendada para asegurar tráfico en el Internet. Como leí hace poco en un libro: la seguridad se diseñaba anteriormente para evitar que los malos entraran; ahora los malos están adentro, usando los sistemas de seguridad...ya no sólo es protección, necesitamos autenticación, autorización y administración (el famoso AAA en inglés dice "Accounting" para la última A, pero...dejémoslo en administración ;-).

10 de noviembre de 2005

Ponencia para la Jornada Científica de Ingenierías, Licenciaturas y Ciencias Básicas de Unitec

El 01 de diciembre habrá en UNITEC un evento de Investigación Científica en diversas áreas. Este evento está abierto a todas las personas

En lo personal, envié una ponencia dentro del área de Computación Aplicada, que he titulado "Análisis de ataques a un sistema de correo electrónico por medio de mensajes que incluyen contenido alterado de forma maliciosa". Esta investigación será específicamente sobre lo que conocemos mejor como phishing, y el abstract es el siguiente:

"La investigación se realiza con el propósito de evaluar la vulnerabilidad de los sistemas de comunicación por correo electrónico de Internet, para determinar la facilidad de explotación de un ataque por medio de mensajes que incluyen contenido creado con fines maliciosos, con el objeto de diseñar y preparar medidas de mitigación de riesgos y educación de los usuarios.

Se describe el análisis realizado sobre la capacidad de crear mensajes de correo electrónico de Internet, que incluyen código HTML diseñado maliciosamente para hacer creer al receptor que proviene de una entidad o persona de confianza, y hacerle creer que está interactuando con ella, sin que sea detectado por el sistema de correo electrónico o paquetería de filtrado y seguridad, como antivirus y antispam.

Se considera como un ataque de ingeniería social (“social engineering”) hacia los usuarios de los sistemas de correo electrónico, que aprovecha de debilidades en los paquetes de correo electrónico (“Mail User Agents – MUAs”) y sistemas de filtrado de correo y virus disponibles comercialmente. El término utilizado comúnmente para este tipo de ataques se denomina phishing.

La prueba de concepto se realiza sobre software disponible comercialmente y de uso generalizado entre las personas que se comunican a través de correo electrónico de Internet."

Estoy haciendo un paper, y habrá presentación en el día de la Jornada. A ver que tal sale.


8 de noviembre de 2005

¿Existe un uso para esos MP3 players de 128MB?

Creo que ya lo encontré...¡oír Podcasts en el carro! La nueva onda de masificación de los medios de comunicación por podcasting es una excelente aplicación para esos pequeños MP3 players, ya que por lo general los shows son grabados a un bitrate bajo

Estoy usando smartfeed para PocketPC, y tengo los siguientes podcasts cargados:

- Diggnation
- the WEEK in TECH (tWiT)
- Security Now
- Scifi Dig

Estos se encuentran en el directorio de podcasts de iPodderX.

24 de octubre de 2005

The beauty of fractals

Hace poco estaba viendo un episodio de la primera temporada de Murphy Brown (una de mis sitcoms favoritas), y esta vez el tema era acerca de un "físico" que estaba a punto de ser nominado para el premio Nóbel. Su especialidad eran los fractales...eso me trajo muchos recuerdos de hace algunos años, cuando hacía programas en Turbo Pascal para renderear el conjunto de Mandelbrot, con todo y manejo de mouse, zoom boxes y todo, voy a poner ese código en Internet al rato. Para el tour de Genesis en 1992 que fuimos a ver en Miami, los backgrounds eran precisamente "viajes" sobre el famoso Lago Mandelbrot.

Bueno, para recordar un poco, me fui a leer el capítulo sobre fractales en The new Turing Omnibus (que me regaló para mi cumpleaños un amigo). En general han habido muchas aplicaciones ahora para esto, especialmente en la parte de juegos de video y generación de landscape imagery.

1 de octubre de 2005

A rose is a rose is a rose...

En realidad este post podría tener el título "A Linux distro is a Linux distro is a Linux distro..." parafraseando el título de la famosa línea de poesía de Gertrude Stein por las recientes experiencias que he tenido de probar un mismo feature de Apache en dos distros distintas.

Bueno, para comenzar con un ejemplo, instalar Java en Red Hat Enterprise Linux AS es totalmente otra cosa que instalar Java en Debian (tema que escribí en un post anterior). En realidad estaba buscando cómo hacer para trasladar un sistema que se compró, y que lo había instalado en RHEL a una versión de Linux un poco más abierta (en este caso Debian).

Al final, la instalación de Java en las dos distros permitió que el programa escrito en Java funcionara de manera igual en ambos.

La aplicación a que hago referencia provee servicio a través del Web, sin embargo no corre de forma normal bajo el control de servidor Web (si fuera un CGI o un PHP), sino que pone su propio proceso a hacer listen en un puerto específico, de tal manera que para usarlo se requiere conectarse así: http://www.example.com:8000 (uso el dominio example.com tal como lo requiere la RFC 2606).

Bueno, al final quedó instalada y funcionando, pero para tener dos diferentes bases de datos, se tiene que poner a correr dos instancias, como por ejemplo así: http://www.example.com:8000 y http://www.example.com:8001.

El problema es que para un uso normal esto se hace un poco complicado, especialmente recordarse si el puerto 8000 es la base de datos de ventas y el 8001 es la de mercadeo, etc.

Me pidieron que encontrara algo, o por lo menos asignar un dominio distinto para cada base de datos...

La primera opción era poner http://ventas.ejemplo.com y http://mercadeo.ejemplo.com, lo que implicaba usar servidores virtuales en Apache, y estar jugando con el servidor de DNS...en realidad prefería hacerlo de otro modo.

Así que me acordé que existía un módulo de Apache para reescribir URLs llamado mod_rewrite. Me puse a leer la documentación, y en realidad es interesante, hace un buen uso de las expresiones regulares para recibir URLs y cambiarlas antes de servirlas, bastante útil, incluso hay gente que lo usa cuando abusan de sus imágenes haciendoles hotlinks directos, como en este ejemplo (not safe for work).

En fin, me puse a probarlo primero en el Debian, por lo que tuve que comenzar aprendiendo la organización del archivo de configuración (totalmente distinta a lo que yo acostumbraba normalmente en RH), aprender cómo se activaba el módulo mod_rewrite (leyendo el README incluido) y después de un poco de experimentación para determinar el lugar correcto dónde debía poner la regla de reescritura me funcionó. Esto me pareció excelente porque funcionaba como yo lo quería: en vez de poner http://www.example.com:8000 ya podía escribir http://www.example.com/ventas !!!

Es interesante notar que antes el servidor no se enteraba de las conexiones al sistema, ya que aceptaba directamente la transacción hacia el puerto. Con este cambio, Apache tomó control de la conexión inicial y entonces ya fue posible tener un log de accesos. Un plus para esta configuración.

Bueno, ya con esto pensé que sólo era de copiar al RHEL...yeah right. No sólo los archivos de configuración, sino los comandos para subir y bajar el httpd son diferentes. En realidad esto no es nada nuevo, pero cuando hay presión...allí si se da cuenta uno que realmente debería hacerse un mejor trabajo en compatibilizar ciertos servicios, ya que realmente no encontré ningún valor agregado a la diferencia de configuraciones entre Debian y RHEL AS.

Al final, y casi 30 minutos después, logré hacerlo funcionar igual en las dos distros...qué pérdida de tiempo, más el estrés de la gente que necesitaba que eso funcionara.

29 de septiembre de 2005

Live...from the road

La semana pasada estuvimos de viaje en San Francisco, CA. Tuvimos el chance de ver unos cuantos conciertos de rock en vivo: primero Stung, una banda tributo a The Police. Entramos un poco tarde al evento, estaban tocando Roxanne y ya casi estaban terminando de tocar, todavía oímos So Lonely y cerraron con una excelente versión de No woman, no cry de Bob Marley.

Luego vino Counting Crows, buenísimo con excelentes interpretaciones de Round Here, Accidentally in Love (de Shrek 2) y por supuesto Mr. Jones, además de un gran repertorio. Hicieron cover de Friend of the Devil (de los Grateful Dead) también.

Después vimos a Berlin y fue un excelente show. La cantante Terri Nunn tenía una energía excelente, incluso se bajó del escenario en hombros de un guardaespalda a saludar al público. El show fue buenísimo...en realidad, el mejor de la noche. Por supuesto cantaron Take my breath away.

Al regreso a Tegucigalpa, a pesar del desvelo, la atravesada de un continente, etc. pues venía Alan Parson...así que fui con mis vecinos. Debo decir que no creía que iba a estar tan bueno por la mala acústica del Coliseo...pero fue excelente!!! Un super show de luces, sincronizado a la música, excelente sonido y lo que más me sorprendió y me gustó fue ver que una gran mayoría de gente se sabía las canciones! En lo personal yo solamente conocía tres: Eye in the Sky, Time y Games people play!

Bueno, aparte de oír música en vivo (que me encanta), compré la revista Blender que incluía su lista de las mejores 500 canciones de los últimos 25 años...algo heavy con el hip-hop y eso, pero me interesó y ahora pues estoy tratando de escuchar a los artistas que no había tenido oportunidad antes, como OutKast, Joy Division y otros.

Libros: The Historian
Juegos: Settlers of Catan
Música: The Police

13 de septiembre de 2005

Instalando Java en Debian

Usando los recursos Debian GNU/Linux Java FAQ y los de The Debian Universe para lidiar con la onda de APT, ya tengo el JDK instalado, de una versión especialmente creada para Linux. Un cacho complicado para mi gusto, podría ser más amigable...claro que software libre quiere decir a veces "libre de facilidades" ;-) Parece que como la licencia de Java no les gusta a la gente de OSS, entonces hay todo tipo de inconvenientes para instalar, y un montón de JDK "alternativos" para evitar usar la de Sun.

Juegos: Knights of the Old Republic, un poco viejo, pero buenísimo. Estuve viendo también como con el Action Replay para Xbox se puede poner un softmod, ya veremos que tal sale ese experimento.

2 de septiembre de 2005

Un mes entre posts...

Mhh...como que ha estado un poco lento el sitio de blogs. He tenido que hacer algunos viajes por lo que aunque hay bastante que ha pasado, también ha habido bastante trabajo que hay que recuperar.

Me hubiera gustado ir a la Arroba de Oro, lástima que tuve unos problemas de salud ya que parece que, aparte del "circo" (aunque el nombre era Carnaval, no?), estuvo bastante bueno.

Ese mismo fin de semana fueron los Video Music Awards de este año, estuvieron medio aburridos, tal vez el mejor performance fue el de Green Day (of course)...mucho hip-hop para mi gusto.

Voy a volver a tomar el hábito de postiar otra vez...

Libros: estoy leyendo Basket Case de Carl Hiassen, lo compré hace poco y también leyendo snippets de The Medical Detectives.

Música: In your Honor de Foo Fighters, que por cierto lástima que no conseguí el Dualdisc, no sabía que estaba en ese formato. Además, el CD venía protegido contra copia pero como dicen los cubanos: "chico tu sabe"...usamos el truco de shift.

2 de agosto de 2005

¡Una t-shirt!

Se me olvidó contar en el post anterior que un amigo también me trajo del Apple Campus una t-shirt con un diseño que me dejó super sorprendido: es negra, y dice al frente, en letras pequeñas: "Air. Water. UNIX." En la parte de atrás tiene un logo de Apple blanco.

Por cierto, que excelente haber ido al One Infinite Loop, aunque según los mapas de MSN Earth no existe...jajaja.

Pictures at eleven...

1 de agosto de 2005

Le plus nouveau...

Llevo ratos de no escribir en el blog, pero ha sido por tener cosas interesantes que hacer: terminé ya el ultrahyped sexto libro de Harry Potter and the Half-Blood Prince (HBP), me vino de Amazon.com como 4 días después del día de venta, lo cual no está nada mal. Pero por curiosidad fuí a Metromedia el día del lanzamiento mundial y ¡wow! ¡allí estaba!. Leí unas páginas del primer capítulo para darme más curiosidad, y espero que para el próximo y último lo compre directamente aquí, en un par de años supuestamente, en vez de esperar que venga. ¿Mi opinión sobre el libro? Pues me pareció bastante fuerte, pero muy bueno, me mantuvo la atención bastante, y tenía menos "azúcar literario" que el anterior y por lo tanto menos páginas.

También me molestó que en Slashdot comenzaron a poner "spoilers" arruinando el final de HBP...encontré también varias historias que cuentan de locos que se iban a poner a las filas de compra del libro en Inglaterra y Estados Unidos, con carteles diciendo el final...los pobres niños salían llorando de allí...mala onda.

En el paquete de Amazon, y por no poder resistir la oferta de free shipping, venía también la temporada 2 de Futurama...está muy buena, pero definitivamente los episodios estos son más heavys que Los Simpson. Otra cosa es que Futurama tiene en su staff de escritores y asesores a más de algún matemático. Entonces, aparecen referencias interesantes en cada episodio, y se vuelve gracioso ver estos pequeños "easter eggs" ocultos de vez en cuando.

Luego, este fin de semana pasada, un amigo me regaló el dividi de Live Aid, el histórico concierto de 1985 que inició el movimiento del rock para beneficencia (bueno, en realidad hubieron algunos otros antes, como el Concierto para Bangladesh, entre otros). Increíble ver lo excelente que fueron los perfomances, el mejor de todos (los que he visto hasta ahora...son más de 10 horas de concierto) ha sido Queen, tenía a 150,000 personas cantando todas las canciones y aplaudiendo al ritmo de la música...se mira TODO el estado saltando y cantando, super wow.

10 de julio de 2005

Visiones del futuro, o como decía H.G. Wells: The shape of things to come

Este fin de semana estuve releyendo parte del ciclo de Odiseas de Arthur C. Clarke: 2010 y 2061, y también tuve la fortuna de encontrar un videoclub que tenía la película de 2010! Ha sido el fin de semana de la ciencia ficción clásica, aparte de estar de "niñera a prueba de balas", pero eso es otra historia. En el capítulo 7 de 2061, el autor dice:
"I too take leave of all I ever had..." From what depths of memory had that line come swimming up to the surface?... ...With no further clues, it might take the station Computer quite a while - perhaps as much as ten minutes - to locate the line in the whole body of English literature. But that would be cheating (not to mention expensive), and Floyd preferred to accept the intellectual challenge.
Pues se me ocurrió probar a ver que tal se comparaba Google con las computadoras del futuro...y la respuesta salío en 0.39 segundos: Farewell, de Robert Nichols...hasta me encontré un entry en otro blog que comentaba sobre este tema también!

Así que la capacidad de las computadoras y del conjunto agregado que es el Internet ha crecido de una forma que ni un experto en el futuro podría predecir...el libro fue impreso en 1988...pero, ¿y todo lo demás? La conquista del espacio, fusión en frío, combustibles baratos, etc. etc. etc. y otros temas que son favoritos de la SF. Al menos no hemos caído en una distopía como la de The sheep look up...

5 de julio de 2005

Comfortably numb

Que increible...ver a Pink Floyd reunidos en el concierto de Live 8....tocaron cuatro canciones: Breathe, Money, Wish you were here y Comfortably numb. Aquí ningún canal lo pasó en vivo, pero pude verlo por AOL, que en esta página presenta el concierto en streaming, ya separado canción por canción. Realmente algo histórico y super excelente.

Allí también hay unos blogs de la gente que lo estaba viendo en vivo, en otros países. En general, los comentarios hacia MTV son pésimos, porque los VJs bloqueaban las canciones, interrumpían a medio acto, y no dejaban terminar algunos sets. Qué lástima la comercialización y el desconocimiento de artistas clásicos como The Who y Pink Floyd....

4 de julio de 2005

Lo que para unos es alimento, para otros es vil veneno - De rerum natura, Lucrecio

Bueno, el tema de este posting es sobre DNS Poisoning por lo que la cita alusiva al veneno es apropiada...lo que para los spammers y phishers es excelente generándoles visitas a sitios que no son lo que parecen, para otros es puro veneno creando sitios perdidos, imposibilidad de conectarse a Hotmail/MSN, etc.

La semana pasada tuve que lidiar con este problema, ya que los servidores DNS se envenenaron con direcciones falsas de Hotmail, de Passport, y de algunos otros servicios. El problema fue ubicado en unos servidores DNS "upstream" (o sea, los más altos en la cadena), con un archivo de root name servers desactualizado. Por esto, pudo entrar un servidor DNS falso, suplantando a un root server, y que apuntaba a los servidores administrados por un hosting que ocultaba dominios válidos redirigiéndolos a sus propios servidores de oferta, y decía que estaban "for sale".

Este es un problema difícil de diagnosticar, pero con ayuda de herramientas como DNS Report, nslookup y dig se pudo detectar y corregir. Esta página de SANS también me fue muy útil.

Es importante darse cuenta también que no sólo los security patches son importantes, sino mantener actualizados todos los componentes de la infraestructura.

2 de julio de 2005

Ubuntu como server...resultado...

No me pareció al instalar el Ubuntu como server, no era posible manejarle muchos paquetes, la instalación no era la mejor forma, etc...así que ahora dejé bajando Debian Sarge en DVD, para probar con ese, he tenido buenas recomendaciones de él.

Robo de 40 millones de tarjetas de crédito: What, me worry?

Recientemente hubo un gran problema en Estados Unidos por el robo a un procesador de tarjetas de crédito, de alrededor de 40,000,000 de números de tarjetas válidos. La principal razón para esta brecha fue la falta de seguridad y el ataque de un virus, que permitió a los atacantes extraer la información.

Al leer la noticia, pues pensé un poco "What, me worry?"...pero el jueves de la semana pasada recibí una llamada de mi operador de tarjeta de crédito local, para contarme que "...Visa Internacional nos ha reportado que su número de tarjeta tiene problemas, por lo que hemos procedido a cancelarla...puede pasar al Mall por su nuevo plástico..."

Wow.

¡Nunca pensé que esto fuera a pegar tan cerca de casa! El clavo que tuve fue por usar mi tarjeta en USA hace poco, en abril. Así que ahora a ver si no están comprando cosas en eBay, o haciendo a saber qué con esta tarjeta. Cada vez que nos acercamos más a la globalización completa de la economía y todo eso, todos estaremos expuestos. Así que ahora si, mejor preocuparse por eso.

En otro tema, y también pensando en la onda de la privacidad y la seguridad personal, últimamente he encontrado que han hecho google searches con mi nombre, desde diversos lugares del mundo: España, Motorola Corp., Miami...Me he dado cuenta porque tengo un tracker en mi página web y entonces detecta los términos de búsqueda, entre los que he encontrado mi nombre...me parece raro, porque en realidad es poco común...?!?!

21 de junio de 2005

Ubuntu como server

Estoy ahora configurando un Ubuntu como server, a ver que tal va. Ya lo instalé con el conjunto de paquetes "server", que excluye la interface gráfica. Estoy usando aptitude para manejar los paquetes, es una bonita aplicación en curses. Estaré actualizando aquí para ver que tal va.

17 de junio de 2005

Social bookmarking

He estado viendo bastantes temas sobre el sitio del.icio.us, que es un experimento en social bookmarking. Esto consiste en publicar los bookmarks de cada usuario y crear anillos o nubes de links, de tal manera de agrupar intereseses comunes. Es decir, si yo bookmarkeo por ejemplo el sitio de la Pocket Loox, se asume que tengo una de esas y el sistema enlaza mis bookmarks con los de otras personas a quienes les interesa este mismo tema. Está recomendable, y la verdad ahora uno tiene tantas cosas en Internet, que buscarlas se vuelve aburrido...en cambio con este tipo de navegación guiada (me recuerda los viejos tiempos de Yahoo! y ver los New sites of the Day) uno va descubriendo cosas más interesantes...como por ejemplo este sitio...

Si quieren ver mis bookmarks, están aquí, pero acabo de comenzarlas y no están completas. Hay que registrarse e instalar unos botoncitos de Javascript en su navegador.

9 de junio de 2005

Odisea de instalación de Ubuntu Hoary en VMware 4.5 (Parte 1)

Hace un par de semanas recibí los CDs de Ubuntu Linux 5.04 (release Hoary Hedgehog), y me decidí a probarlos en el ambiente VMWare, en el que corro mi vieja versión de RH9.

La primera impresión fue de un Linux moderno, con una excelente interfaz gráfica, pero completamente orientado a usuario normal, muy amigable. En general no tengo nada contra esto, pero me siento un poco atado cuando no tengo la línea de comando como el primer punto de acceso al sistema...pero bueno, seré un poco old fashioned en esto.

La instalación fue lenta, el sistema sólamente trae un CD y todos los paquetes que vienen están comprimidos, por lo que luego de la primera copia que hace se reinicia e inicia la descompresión e instalación. Tampoco me preguntó por el particionamiento, ni nada por el estilo...supongo que habrá una opción más customizada, pero lo veré luego.

Además, la primera instalación no detectó ningún disco, así que no podía continuar. Esto lo verifiqué en los foros de soporte de Ubuntu, y resulta que en esa versión de VMWare, los discos SCSI emulados no son reconocidos directamente por el OS, así que hay dos opciones: crear la máquina virtual con discos IDE, o hacer un modprobe del módulo SCSI de BusLogic mientras instala.

Media vez ya estuvo instalado y operando normal, incluso con audio dentro de VMWare, luego venía el punto de instalar las VMWare Tools, que son herramientas para mejorar el performance y drivers para una mejor integración con la máquina virtual. Esto implicó compilar las herramientas ya que VMWare no reconoce nativamente al Ubuntu.

Para poder compilar, tuve que usar el bonito paquete Synaptic para agregar los kernel-headers, y el compilador gcc, ya que no se incluyen por default. Con esto, ya supuestamente podía darle, pero ahora me pedía que estuviera fuera del ambiente gráfico...me tardé un poco en encontrar cómo cambiar esto, porque normalmente sólo me salgo del X server y estoy en la línea de comandos, pero como el Ubuntu no le gusta instalar login de texto....

Bueno, encontré al fin que el cambio de consola gráfica a consola de texto se hace por Ctrl-Space-F2, y se retorna a consola gráfica con Ctrl-Space-F7. Probablemente la mara acostumbrada a trabajar con login gráfico se mueren de risa de ver esto, pero yo no sabía...en lo personal me gusta arrancar el X con startx cuando lo necesito.

Al final logré entrar a la consola de texto, logré compilar los VMWare tools perfectamente, y según yo todo funcionó bien...me pasé con el truco de Ctrl-Space-F7 al ambiente gráfico, y ejecuté vmware-tools, y me apareció bien, logré sincronizar el reloj, etc.

Más tarde, al reiniciar de nuevo la máquina virtual, el sistema gráfico ya no funcionaba! >:-( Alagrannnn! Bueno, me esperaba algo como esto, porque el VMWare como tal lo marcaba como un genérico kernel 2.6, y bueh...

Traté de reinstalar, pensando que tal vez había habido un error del puro VMWare...continuaré al rato...

13 de mayo de 2005

Actualizando mi viejo RedHat 9

Hace algunos días se comentaba en LinuxMaya sobre el tema de actualizar un servidor Red Hat 9, cuyo soporte fue descontinuado por Red Hat. Investigando un poco, encontré la forma de hacerlo por medio de yum, que es el paquete de actualización que manejan los releases de Fedora.

Con las instrucciones de aquí, modificándolas un poco ya que la versión del código fuente cambia constantemente, funcionó de lo lindo. El cambio que hice fue que en vez de hacer un wget, lo bajé directamente con lynx desde la dirección http://download.fedoralegacy.org/fedora/1/os/SRPMS (uso lynx porque normalmente los servers los instalo sin ambiente gráfico...menos security updates, menos clavos, mejores prácticas...).

Otro cambio fue que la versión compilada coloca un yum.conf apuntando a los repositorios de Duke, así que hay que cambiarlo por los repositorios de Fedora Legacy Project.

P.S. Lo instalé también en un RH8 que tengo por allí y funcionó también...nice.

10 de mayo de 2005

La donna e mobile...

Bueno...regresando a la onda del blogging, el titulo de este post viene de Rigoletto y tiene dos temas (guglear queda como ejercicio para el lector) : uno por el Día de la Madre, que en Guatemala es el 10 de mayo de todos los años, y otro porque estoy posting desde una PocketPC, usando WiFi...ha sido una experiencia interesante "aprender jugando" sobre esta plataforma...ah, también esta es la razón por la cual este post no tiene links.

En otros temas, terminé de leer la trilogía de Artemis Fowl, la recomiendo como una buena alternativa de Harry Potter...

9 de marzo de 2005

Lorem ipsum...

Estaba creando una página un poco larga en mi site, y para dejar el texto que iba a rellenar escribí LOREM IPSUM, recordándome de algunas pruebas de impresión y paquetes de publishing que traen esto como una especie de "demo". Me dió la curiosidad y lo fui a guglear, y me encontré con la interesante historia de esta frase, que viene desde 1500s...wow...

8 de marzo de 2005

¿No trae licencia? ¡Bájese del carro con las manos en alto!

Hace poco me comentaron sobre un nuevo sitio de Internet, que iniciaron unos chavos de Honduras sobre desarrollo de juegos. Se llama GamedevHN y está con una comunidad muy activa de gente, y que tiene muchas ganas de trabajar.

Parte de la comunidad de este sitio es un foro para compartir código fuente que uno ha desarrollado. Eso me llamó la atención porque tengo un par de programitas interesantes que hice en mis tiempos de universidad. Ahora que ya los desempolvé (los saqué de los diskettes de 5 1/4"...not!), viene la pregunta: ¿cómo hago para compartirlos con los integrantes del sitio? ¿Sólo los pego en el site? ¿Los pongo en mi site?

Normalmente no debería ni siquiera importarme dónde se publiquen, pero recientemente he estado leyendo sobre las licencias de software tipo GPL, y de texto para compartir como el Creative Commons, así que decidí investigar un poco más.

Existen algunas licencias que yan sido aprobadas para uso en código abierto, que están detalladas aquí. Para mi código fuente he decidido usar la licencia MIT, y para los textos que pongo en my site la licencia Creative Commons Attribution Licence.

Me gustan estas licencias porque permiten al usuario hacer lo que quieran con el contenido (si es que les sirve de algo), dando únicamente crédito del autor original.

¿Por qué licenciar? Pues más que todo es por experimentar e investigar de qué se trata esto, y porque me parece que a medida que los temas de protección de derechos de autor y de gestión de derechos digitales (DRM) cada vez tendrán mayor impacto en lo que hagamos. Además, no debemos quedarnos rezagados y ser de los últimos que pensamos en esto, luego que todo el mundo está trabajando bajo estos parámetros.

28 de febrero de 2005

Fin de semana sin luz...

No hubo energía eléctrica este fin de semana en la casa, por un buen rato durante el sábado y el domingo. Así que aproveché para ponerme al día con la lectura, terminé The Battle for Betazed, una novela de Star Trek: The Next Generation que está muy buena, me gustó el concepto de los Betazed tratando de matar telepáticamente y la forma "benévola" en que se resolvió el conflicto moral de usar estas habilidades de forma negativa. Luego comenzé con Altered Carbon, una novela al estilo de The Caves of Steel de Asimov, toda una novela de detectives en un escenario de ciencia ficción. Este libro me está gustando bastante, con una historia que realmente llama la atención. Una parte especial es el Hotel Hendrix, cuyos dueños son AI (Inteligencias Artificiales)...

22 de febrero de 2005

Técnicas avanzadas de análisis para compiladores

Estuve recientemente investigando sobre la tecnología usada en editores inteligentes de entornos de desarrollo (IDEs), con capacidades de syntax highlighting, code completion, y otras facilidades de revisión incremental del código.

Los entornos modernos como Eclipse, Netbeans y otros ayudan al desarrollo rápido de software en Java u otros lenguajes (en el caso de Eclipse, por medio de una arquitectura excelente de plug-ins). Para facilitar el manejo de código fuente, se hace uso de técnicas en línea o incrementales de análisis de código. Por ejemplo, puede el editor crear automáticamente los bloques de { y } del cuerpo de una función, si detectan que se ha tecleado lo que pareciera ser una función en el lenguaje para el que se está editando. Si el programador cambiara la definición de la función, tal vez el editor tendría que modificar la estructura editada.

Para esto, se requiere analizar el texto editable, considerándolo como un stream de tokens, pero que tiene la posibilidad de cambiar dinámicamente, en un entorno muy localizado (muy cerca entre sí) de tokens adyacentes. Encontré un par de papers buenísimos del proyecto Harmonia de la Universidad de Berkeley: uno sobre análisis léxico dinámico (PDF) y otro sobre análisis sintáctico dinámico (PDF). Este último método es una adaptación del General LR (GLR) parsing algorithm, conocido también como Algoritmo de Tomita, o la versión rápida del GLR de Aycock y Horspool (PDF).

Lo interesante de estos algoritmos de parsing es que se realizan en paralelo, como si múltiples threads del parser se partieran en un punto del tiempo de análisis, para generar múltiples caminos dentro del proceso de búsqueda de soluciones.

Habrá que hacer más investigación de esto, y seguramente lo incorporaré en una clase futura.

10 de febrero de 2005

On the boulevard of broken dreams...

Wow...acabo de recibir el último CD de Green Day: American Idiot....está buenísimo! Había oído la canción que tocan en el radio "American Idiot", pero no me imagine que todas las canciones eran buenas. Llevo ratos de no tener un CD así en el que me gustan casi todas las canciones de primera oída (cual fue el último?!?!....creo que fue Elephant de White Stripes o All that you can't leave behind de U2).

Las canciones que más me han gustado de momento son Boulevard of Broken Dreams, Jesus of Suburbia y Whatsername.

9 de febrero de 2005

Nueva versión del libro del "Dragón"

El famosísimo libro de compiladores de Alfred Aho, et.al "Compilers, Principles, Techniques and Tools" (el Dragon Book, o libro del Dragon) tendrá una nueva versión este año, llamada "21st century compilers". Logré encontrar un site con una pequeña descripción y tabla de contenidos aquí. Ya lo agregué a mi wishlist, para comprarlo cuando salga. Se mira buenísimo, aunque el libro del dragón de 1986 todavía es usable, necesita actualización para las nuevas arquitecturas de CPUs con multicores, pipelining, etc.

2 de febrero de 2005

Hablando de vi

La página de vi que puse en el post anterior incluye aquí una entrevista con Bill Joy, el creador de vi, y que luego fuera a ser uno de los fundadores de Sun Microsystems. Vale la pena verla.

El proyecto ya está posteado, y algunos cambios en la página

Acabo de poner en mi página el proyecto de Compiladores para este semestre (1er semestre del 2005). Hice también unos cambios, agregándole los anuncios de Google y un tracker de visitas (experimentos...experimentos).

Como estoy usando una herramienta para hacer la página (real men use vi, ya sé...), es un poco difícil controlar el HTML que se genera. Creo que no quedó tan bien, con el texto un poco abajo del margen superior de la página, para que quepan estos bloques de código, pero luego cuando tenga un poco más de tiempo lo trato de arreglar.

1 de febrero de 2005

Me gusta el Mambo...?!?

Bueno, ya me dejaron un comentario sobre Mambo, justo cuando estaba instalando este otro CMS...

Estuve probando el PHP-Nuke, pero le faltaba una característica que necesitaba: restringir noticias y posting a ciertos grupos, y niveles de acceso. Vamos a probar ahora con este otro paquete ...siempre sigo con el RH9, a ver si los RPMs que instalé le funcionan también, o si habrá que bajar más librerías.

25 de enero de 2005

Instalando PHP-Nuke en un "stock" RedHat 9

He estado tratando de instalar el sistema de gestión de contenidos, mejor conocido como Content Management System (CMS) PHP Nuke en RedHat 9 (hay unas comparaciones excelentes aquí de los diversos sistemas de este tipo...el Nuke me parece como el más popular).

Estoy usando Red Hat 9 para tener una plataforma estable, aunque sé que es un poco "vieja", y que RH no le está dando soporte.

El Nuke requería que Apache interpretara directamente PHP, pero esta versión no venía preparada directamente para esto, y además pasaron dos cosas:

i) Olvidé instalar el MySQL desde el inicio
ii) El programa de Add Packages de Red Hat 9 no agrega ciertos componentes básicos para el desarrollo en PHP.

Al final logré hacer que corriera el PHP Nuke...aquí están unos tips para hacer esta instalación de una manera más fácil, asumiendo una instalación limpia de RH9, a la cual no se le han corrido las actualizaciones sugeridas por el up2date:

i) Se requieren los siguientes packages, los cuales deben ser instalados de los CDs:
  • mysql-server
  • mysql
  • mysql-devel
  • php-mysql
  • php
  • php-devel
ii) Luego de verificar que estos paquetes están instalados, ya se puede proceder a hacer las actualizaciones y parches por medio de up2date, para facilidad.

ii) Estos packages no vienen en los CDs de instalación, y hay que bajarlos del sitio de Updates de Red Hat:
  • php-mysql
iii) Luego de instalar todo esto, ahora hay que configurar el servidor Apache para que interprete el lenguaje PHP. Usé las instrucciones que están en esta página, a partir de la sección 11 hasta la 15. Lo que dicen las secciones 1-10 son para instalar desde fuentes, y no aplican por estar usando paquetes binarios de instalación (RPMs). El script con el phpinfo() es bastante bueno para verificar la funcionalidad.

iv) Al tener esto ya instalado, entonces ya funcionaron las instrucciones del Install.txt del Nuke. Ahora viene lo bueno...me ayudó mucho usar los scripts de prueba de la sección 3.9.1 del PHP-Nuke HOW-TO.

Al terminar todos estos pasos, que requieron de una buena investigación, entonces ya estoy listo para la parte interesante....configurar el CMS.

20 de enero de 2005

¿Me sirve de algo esta clase?

¿Para qué sirve la clase de Compiladores? En este artículo hay una discusión sobre la relevancia de los conocimientos que se adquieren sobre el funcionamiento interno y la generación de código para su aplicación posterior en otro tipo de proyectos. De todas maneras sabemos que hay poca probabilidad que nuestro trabajo requiera de escribir un compilador, pero lo aprendido sí que sirve para muchas cosas, como analizar registros, mejorar nuestro propio código, usar programación en módulos, etc.

Java tutorial? We don't need no stinkin' Java tutorial!

Acabo de encontrar una forma interesante de aprender Java...programando pequeños robots de batalla! La página de esto está aquí.

Me parece casi como que fuera la evolución del famoso Redcode que me emocionó en los viejos tiempos...

19 de enero de 2005

Las posibilidades de trabajo de un grupo de amateurs armado de herramientas de software libre

Me ha parecido increíble el trabajo que han hecho un grupo de "aficionados" (lo pongo en comillas porque creo que son super profesionales) con las imágenes que la sonda Huygens ha enviado desde Titán (la luna de Saturno).

Han usado herramientas gratuitas, y armados de paciencia han pegado como un rompecabezas las imágenes "crudas" (raw images), para formar imágenes completas de panoramas, mapas de elevación, y hasta vistas tridimensionales.

Una página web que trata de reunir el trabajo de estos chavos es http://anthony.liekens.net/huygens_static.html

Muy recomendable visitarla, y conocer acerca de cómo hicieron este trabajo en un tiempo récord, incluso antes que las agencias espaciales NASA y ESA!

18 de enero de 2005

First post?

Como dirían en Slashdot...first post! En la clase de Compiladores que estoy impartiendo en Unitec, les voy a pedir a los alumnos como parte del proyecto que escriban semanalmente al menos una entrada sobre cómo van con el proyecto, que cuenten los problemas que van teniendo y lo que están aprendiendo, para que mejoren los temas de documentación y expresión.

Además, pues ya que está de moda tener un blog, podría estar escribiendo sobre otros temas, pero principalmente sobre ciencias de la computación, o tal vez sobre los libros que estoy leyendo, música que escucho, etc.

A ver que les parece...