Hablando de código

¿Qué hacer cuando tienes un código de poco más de 10,000 líneas, con varias funciones como las siguientes?

if (conditionA) {
   functionA();
}
else if (conditionB ) {
   functionA();
}
else if (conditionC) {
   functionA();
}
else {
   functionA();
}

En todo lo que llevo de vida de programador, jamás había escrito un código así. ¿Se nota lo que uno hace cuando anda a las carreras por tratar de sacar un paper?

Me da risa esa parte de código 🙂

Me gustaría poner un poco de lo que estoy haciendo en el laboratorio, pero por ondas de confidencialidad por parte de la universidad, no puedo (de momento, jeje). Pero sí planeo liberar algunas cosas en la que he estado o estuve trabajando hace tiempo. El código del appletcito de las noticias lo he mejorado considerablemente, solo que quiero agregarle un par de funciones extras. De hecho, son 3, pero la última implica MUCHO trabajo, y no creo tener tiempo en estos meses para poder hacerla.

Aprendiendo SDL y OpenGL



En los tiempos muertos que tengo en el laboratorio de vez en cuando, me he puesto a leer un poco sobre SDL y OpenGL, y lo he encontrado interesante y divertido, tanto como por aprender algo nuevo, como para aplicarlo en algun juego de PSP (hay port de ambos para esta consola).

La imagen de arriba es un screenshot del primer programa que hago desde ceros usando estas 2 tecnologias. Si, se que no es mucho, pero por algo se empieza. Me falta mucho por aprender, y con el poco tiempo que tengo seguramente me tomara mucho poder hacer algo decente, pero al menos ya se que son estas 2 cosas y con que se comen 😀

El fenómeno MSN

Esta entrada puede ser aplicada a cualquier mensajero instantáneo, pero la dirijo específicamente al MSN por ser, en estos momentos, el más famoso.


El MSN Messenger. Casi cualquier persona que navegue frecuentemente por la red sabe qué es y para qué sirve (aunque no conozcan todas las funciones). También conocido en México como “Mazinger” (¡verídico! Tuve que apretarme cierta parte del cuerpo para no carcajearme delante de la persona que lo dijo), “Mesenger” (así como suena en español), “MSN”, entre otros nombres curiosos, el mensajero instantáneo de Microsoft pasó de ser otro mensajero más (en los tiempos donde IRC y ICQ reinaban) a ser el más popular (que ya sabemos que eso no quiere decir que sea el mejor). Incluso en estos tiempos, donde Skype reina en la comunicación por voz (porque el MSN Messenger apesta en este sentido) y donde Yahoo Messenger y Google Talk ahí andan todavía. y el ICQ solo para quienes lo usaban desde el principio, el MSN sigue siendo el más conocido, y la prueba es que ahora casi cualquier persona que use una computadora, incluso sin poseer una (léase “quienes van a los cibercafés”) tienen al menos una cuenta para este servicio.

Sin embargo, esta entrada no es para presentar el programa en sí, sino lo que sucede alrededor de él, sobre todo con las personas que o no tienen idea de cómo usarlo, quienes le dan mal uso, o quienes tienen peores modales que un amante de Halo 3 cuando le dicen repetidamente que es una vil copia de Halo 2. Todo esto que rodea al programa en cuestión, lo titulo: “El fenómeno MSN”.

Continue reading “El fenómeno MSN”

Sobre el código Captcha

Varias personas me han hecho el honor de contactarme por correo electrónico para preguntarme qué pasa con el Captcha cuando se escribe un comentario, porque siempre les manda un error.

La solución es, si bien simple, también confusa si no hay explicación:

El Captcha que uso en este blog es “Math Captcha”. Es decir, a diferencia del Captcha común, no hay que escribir lo que sale en la imagen, sino **el resultado de la operación matemática que sale en la imagen**.

Ejemplo:

Código Captcha: 1 + 1 = ?
Yo escribo: 2.

A todos quienes tuvieron la amabilidad de enviarme correo, con gusto les enviaré respuesta en la primera oportunidad posible 🙂

Gracias, y avísenme si hay alguna otra cosa extraña en el blog.

Preparando el ambiente

Compilando el PSPSDK:

* En la computadora de la casa (Pentium D 830 (3.2 Ghz), 1 GB RAM, Fedora 7, 64 bits) no supe cuanto tardo porque deje compilando todo y me fui a dormir. Por la man~ana ya estaba todo listo.
* En la laptop (Pentium 4 1.6 GHz, 1 GB RAM, Ubuntu 7.0.4) llevo 5 horas y contando.



Aunque pienso desarrollar en la casa, tambien quiero tener todo en la laptop por si se me ocurre alguna idea mientras estoy en el laboratorio.

Safari para Windows actualizado.

A tan solo unos días de haber visto la luz, ya hay una nueva versión beta de Safari para Windows, lo que me lleva a pensar: ¿No se pudieron haber esperado un poco más para resolver los problemas tan simples que tenía antes de sacar la primera beta?

Parece que ya está mejor, después de todo. Aquí la información de la página oficial:

Download Updates

Changes in Safari 3.0.1 for Windows beta:

* Latest security updates

Coming Soon

* Support for International users
* International text input methods
* Advanced text (contextual forms, international scripts)
* Localized menus and help
* NTLM support
* PAC file auto-detection
* FTP directory listings
* Link to proxy settings from Safari (Safari respects the proxy settings in the Windows Internet control panel)
* Cookie management
* LiveConnect support
* Tooltips
* Spell checking
* Printing page numbers, titles, margins

Ahora iremos probándolo poco a poco.

¿También Apple le entra al software malo?



Salió Leopard, la nueva versión de MacOS. Se ha hablado mucho de él y tiene algunas funciones interesantes, como la de “Time Machine”, que permite regresar en el tiempo dentro de una carpeta para recuperar archivos borrados, entre otras cosas. Me llama la atención porque quiero saber cómo lo implementaron. Además, visualmente, Leopard es muy muy bueno.

El párrafo anterior describe a la perfección un producto de Apple, con todo lo que se puede esperar de él. Sin embargo, parece que también ya le entró a las prácticas estilo Microsoft:



Quienes nunca hayan usado o visto una Mac de cerca seguramente no tendrán idea de qué es Safari. Es simplemente el navegador de internet default de Apple (también hay, para su desgracia, IE para Mac, y para su fortuna, Firefox para Mac). Pues bien, resulta que salió el **beta** de Safari 3 también para Windows. Y aunque muchos pueden alegar que porque es un “beta” la aparición de errores repentinos es común. Sin embargo, cuando los errores que se comenten son muy básicos a la hora de diseñar browsers, los hackers no hacen más que reirse: Safari para Windows ha tenido un montón de problemas que van más allá de la excusa de un beta: Texto por ningún lado, no se puede instalar bien, y, en el caso de que lo logres instalar, tiene muchos problemas de seguridad muy básicos. De ahí que puse en la imagen un recuadro rojo en lo que dice Apple de Safari en su página. Y todavía de pilón, te tienes que aguantar con el estilo visual que tiene: Uno que está fuera de “onda” en Windows, y no se le puede cambiar, al menos no de momento.

Leopard es casi casi un éxito anticipado para la compañía de la manzana, pero Safari para Windows se ve que necesita mucho trabajo para poder entrar en el gusto de los internautas, quienes se dividen en tantos grupos como browsers hay: Firefox, IE, Nestcape, Mozilla, Opera, etc. Pero por desgracia, ha tenido un comienzo malo, que, al menos yo, espero que no vaya a convertir poco a poco a Apple en una compañía al más puro estilo Microsoft.

De DVI con letras japonesas a PDF en Ubuntu: How-To

Posiblemente este problema no lo conozca nadie que no tenga que ver con los sistemas operativos en japonés: Desde la versión 6, existe un error en Ubuntu que no te deja crear pdf desde archivos dvi que contengan caracteres japoneses. Ni siquiera pasando de ps a pdf después de usar dvi2ps para hacer la conversión de formatos.

Este problema sigue estando presente en Ubuntu 7, algo que creo que ya debería estar arreglado.

Por supuesto que estamos hablando de que instalamos todo lo necesario para tener el ambiente en japonés: anthy, emacs, xdvi-ja. dvipdfmx y un largo etc.

Como tengo que estar creando pdf de los papers que hago (porque mi sensei es Windowsero y no le sabe bien a los PS), era una lata estar creando el ps, pasarlo por scp a mi cuenta en el server de la escuela, crear el pdf y traérmelo de regreso. Me puse a leer un rato sobre el problema y encontré la solución, pero por partes, es decir, tuve que hacer lo que decían 3 páginas diferentes para que todo funcionara. Lo malo, para todos los que no leen japonés, es que esos 3 sitios están solo en japonés, así que solo salen si se busca correctamente en google en japonés.

**¿Cómo resolver el problema**?
[more]
* Si no tienes **dvipdfmx** instalado, es hora de hacerlo.
* Crea el archivo **/etc/texmf/texmf.d/50dvipdfmx.cnf** o si ya lo tienes, edítalo, y agrega lo siguiente al final:

CMAPINPUTS=.;/usr/share/fonts/cmap/adobe-japan1//;/usr/share/fonts/cmap/adobe-japan2//;/usr/share/fonts/cmap/adobe-gb1//;/usr/share/fonts/cmap/gs-cjk-resource//

* Ejecuta **update-texmf** (como root)
* Ejecuta **jifstconfig add**
* Crea el archivo **/etc/texmf/dvipdfm/dvipdfmx.cfg** , o si ya lo tienes, edítalo y agrega lo siguiente al final:

f jis-cjk.map

* Ejecuta **update-texmf** (como root)
* Instala los paqutes **cmap-adobe-cns1 cmap-adobe-gb1 cmap-adobe-japan1 cmap-adobe-japan2** . Con apt no debes tener problemas para encontrarlos si tienes los repositorios en japonés.
* Ejecuta **update-texmf** (como root)

Después de esto, ya no debes tener problemas para convetir tu dvi con letras japonesas a pdf usando dvipdfmx.

Ojalá que esta información le sea útil a alguien.

Como en casa otra vez



Era hora de un cambio. OpenSuSe 10.1 me funciono de maravilla. Nunca tuve problemas, pude desarrollar sin ninguna contrariedad y use una distribucion de Linux que tenia mucho de no tocar. Sin embargo, tenia una version de Compiz-Quinn muy vieja, y cuando intente cambiarla, le de en la torre al gtk. Explico:

Para instalar la version mas reciente de compiz era necesario tener cierta version de Metacity, pero para poder instalar esta habia que instalar muchas cosas antes, entre ellas, una version nueva de gtk. Hice lo debido: Borre la version anterior como piden en el INSTALL y compilo sin problemas, pero los programas ahora no encontraban la libreria y ni una sola ventana me abria. Sabia que era el problema, posiblemente lo pude haber resuelto, pero decidi usarlo como excusa para probar otra distribucion de Linux.

Primero, instale Ubuntu 7.04 de 64 bits, pero nunca pude echar a andar la tarjeta Nvidia. Instale de todas las formas posibles (usando apt-get y a pie), y siempre habia versiones diferentes entre los modulos del kernel y la version del driver. Cuando las actualizaba, X arrancaba bien, pero solo en esa sesion, ya que si salia y volvia a entrar, me marcaba el mismo problema. Reinstale un par de veces y nada… Hora de pensar en otra cosa.

Recorde el “dark side of the force”, lease “Fedora”, y al darme cuenta que estaba por salir la version 7, decidi esperar una semana para bajarla e instalarla. Asi lo hice, y el resultado lo pueden ver en la imagen de arriba: Todo funcionando a la perfeccion, incluyendo Beryl. De lo unico que me quejo es de que el mplayer no me agarrar todo el monitor wide cuando lo corro de pantalla completa. Igual lo voy a desinstalar (lo instale con yum) y mejor lo compilo. En OpenSuSE nunca tuve este problema.

Fedora no es de mis distribuciones favoritas, pero hay que darle oportunidad a todo. Eso del SELinux esta interesante, pero hay que leer bien, porque no me dejaba instalar correctamente el driver de Nvidia hasta que no lo puse en modo “permissive”. De ahi en mas, pues ya con SuSE estaba dentro del mundo de los RPM’s, asi que no me quejo; y si quiero compilar programitas, tampoco es ningun problema. Incluso el Flash Player 9 esta funcionando de maravilla usando nspluginwrapper.

Ahora el que no arranca es Windows. Parece que le di en la torre al MBR del disco, asi que habra que ir a la consola de recuperacion, darle un fix, y despues arrancar Linux desde el Live DVD para reinstalar el GRUB correctamente. Pero como sea, estar de nuevo en Linux es como estar en casa otra vez.

Microsoft Surface



Apenas Microsoft presentó esta tecnología y ya se habla de ella alrededor del mundo.

¿Qué es? Mejor véanlo ustedes mismos:

La magia:
http://youtube.com/watch?v=EYrJ1IkPNLc

El poder:
http://youtube.com/watch?v=8hVSnCfN8OI

Las posibilidades:
http://youtube.com/watch?v=rP5y7yp06n0

Sí, ciertamente es sorprendente, y con el hype que están teniendo consolas como el Nintendo DS y el Wii por la facilidad de manejo, no sería nada extraño que esto se convirtiera en un estándar en unos 5 años.

Las primeras computadoras (mesas) con Surface estarán disponibles este año, aunque al principio solo se proveerán a negocios (hoteles, restaurantes, etc.), y su costo inicial oscila entre 5,000 y 10,000 dólares. Por supuesto, se planea que esto llegue a los hogares.

En lo personal, había visto algo similar hace tiempo, pero la compañía que mostraba su sistema operativo usaba todavía mouse, aunque todo se manejaba en 3era. dimensión, muy parecido a lo que Surface ofrece. ¿Se habrán aliando como Microsoft? ¿Habrá Microsoft robado tecnología (al cabo ni le halla)? Como sea, esto prevé un cambio interesante en la forma de crear y desarrollar aplicaciones.

Aprovechando:
En la primera oportunidad que tenga me cambio a WordPress. Nunca pude encontrar como poner directamente los videos de Youtube, y Jaws, muy bonito, pero nada de documentación.