Archive for July, 2004

Side of the road

Monday, July 26th, 2004

Bueno, pues últimamente he estado en lo que es Gtk#, trabajando en el Jaws CPanel Client, en sus widgets, botones y otros triques. Ahorita ya tengo la GUI, voy a ver si al rato me pongo a trabajar en la ventana de cuentas de usuarios.

Por otro lado, mi hijo (mbloggy) ya esta: *a punto*, es decir, pronto lo liberare, me mandaron dos logos nuevos y ya he decidido cual se va a quedar :-) , aparte que he estado leyendo/probando/desarrollando traducciones para mbloggy y jaws usando GetText, es una maravilla!, ya me lo habían comentado en #debian-mono, pero en un comentario de [friend]j0rd1[/friend] sobre la pochez de mbloggy pues me puse a leer sobre archivos .po para traducciones, aparte que ya tengo el pot file pues ando pensando en mandarlo a ‘Traducciones Gnome’, he visto que muchos proyectos (entre ellos muine) mandan su archivo pot a los traductores de gnome y se empiezan a crear traducciones, muine ya soporta casi 10 idiomas!!.

Y bueno, por otro lado, ya la próxima semana a clases :-) , me dieron gusto estas vacaciones ya que las aproveche, trabajé la mitad del tiempo y la otra me dediqué a trabajar en mbloggy y jaws. Ahora en clases vamos a tener carteles de Lopez Obrador!!!! afuera de la escuela: Construyendo la ciudad de la esperanza, que emoción!!!!! :-) .

He cambiado el título de la nota, [friend]j0rd1[/friend] tiene razón, mi hijo necesita un mejor título :-P

I see a red door and I want it painted black…

Sunday, July 18th, 2004

Bueno, el día de hoy (bueno.. de ayer) lo he dedicado a descansar de toda la semana, de trabajitos del servicio social, trabajitos de la familia y del entrenamiento.

Así que hoy mientras estaba viendo una película muy chida en Fox me dediqué a hacer los directorios virtuales de [term]jaws[/term] para el filebrowser.

Pero que rayos son los directorios virtuales de Jaws? (conocidos como JawsVirtualDirs). Pues es una idea que se me ha ocurrido para los webservices que va a traer jaws (la versión anterior la dediqué al uso de plugins y XML, la voy a dedicar totalmente a webservices de CADA gadget)…. bueno bueno. Imaginemos lo siguiente: Vamos a nuestro gadget filebrowser y vemos que tenemos un directorio: foo, así que pues le damos click. Dentro del directorio foo tenemos un archivo que se llama: .jaws_filebrowser. Dentro de este archivo tenemos la siguiente información:

jaws_host=http://ion.gluch.org.mx
jaws_dir=pable

¿Qué quiere decir el archivo .jaws_filebrowser?. Pues simplemente cuando el gadget trate de leerlo, lo primero que debe leer es .jaws_filebrowser, que le indica que haga una conexión al blog de [friend]ion[/friend] y nos muestre su directorio (localizado en data/files/) que tiene como nombre: pable. Así que lanza un cliente WebService para ‘consumir’ el webservice filebrowser y pedirle los archivos. El servidor le va a regresar el contenido de ese directorio (junto con los nombres de directorios que este tenga) con cierta información (tamaño, nombre, si es un directorio, icono, url al archivo/directorio, etc, etc).

De esta manera ya podemos crear (en la versión CVS) directorios virtuales, así que si me interesa un directorio de cierto amigo que usa [term]jaws[/term].

Igual, como es un webservice se puede usar en Mono, Perl, Java o lo que queramos. Un simple ejemplo?

Supongamos que ya tenemos nuestro ProxyClient en nuestra máquina, así que podemos hacer lo siguiente:

JawsAdminWS cliente = new JawsAdminWS ();
 
foreach (JawsFile jfile in cliente.GetFiles ("pablo")) {
Console.WriteLine (jfile.date + " con el nombre de " + jfile.filename);
}

Con esto le pedimos los JawsFile’s (File ya existía, así que tuve que crear otro nombre :-P ), del directorio pablo (que se encuentra en files).. pero que tenemos en pablo?

pablo]$ ls -a
.  ..  .jaws_filebrowser  yaka

Ohhh.. tenemos un .jaws_filebrowser.. que puede tener?..

pablo]$ cat .jaws_filebrowser
jaws_host=http://localhost/jaws/
jaws_dir=pable

Bien!, nos dice que es jaws_host (donde tengo el blog) es http://localhost/jaws/ y el directorio que le pedimos es pable (ES DIFERENTE a pablo, el que le pedimos originalmente).

Y veamos.. que tiene el directorio pable (que YA es un directorio remoto, que se encuentra en http://localhost/jaws/).

$ ls -a
.  ..  1280_liz.jpg  adios  adios.png  hola

Bien, nos dice que el directorio virtual pable tiene esos archivos.. uhm, entonces en total son cinco archivos, cierto?, los mios (el de yaka) y los remotos (1280, adios, adios.png y hola)..

Entonces…

$ mono Admin.exe
18/07/2004 0:11:30 con el nombre de hola
18/07/2004 0:11:31 con el nombre de adios
18/07/2004 0:29:24 con el nombre de adios.png
18/07/2004 1:47:35 con el nombre de 1280_liz.jpg
18/07/2004 0:01:28 con el nombre de yaka

Bien!!!, ya muestra todos, aunque sean virtuales!. Lo que falta es crear el webservice de filebrowser (probando estoy usando el de admin, pero solo es copy & paste a webservices/filebrowser.php, cosa de cinco minutos).

Inspirado en: Painted Black, de Rolling Stones (bueno en la versión de Mephisto)

I see the gods walk by dressed in their summer clothes
I have to turn my head until the darkness goes

Jaws 0.4, o El Encoding Contraataca?

Wednesday, July 14th, 2004

Como muchos ya saben, hemos liberado la versión 0.4 de Jaws, la cual tiene por ‘alias’: Well It’s True That We Love One Another (una canción que estaba escuchando mientras buscabamos un nombre).. medio cursi el nombre :-P .

Bueno, Jaws 0.4 ha sido la admiración de muchos por todas las cosas que trae ahora.. sin embargo se ha ganado el repudio por forzar el encoding.

En mi caso no tengo ningún problema, pero ya he probado en blogs que tienen el problema y creo que tenemos la solución, posiblemente liberemos un Jaws 0.4.1 (con un nombre MAS cursi) que va a tener todos los fixes :-) .

El problema es ’sencillo’, bueno no es uno.. son tres:

* He encontrado que la librería classTextile (que se encuentra en php) forza el encoding, sin importar si el usuario lo necesita o no. Una solución es el comentar la linea

$text = $this->encodeEntities($text);

* Otro problema es el encoding que las páginas tienen y que [friend]ion[/friend] ha forzado a aplicarlo en los temas (te dije [friend]ion[/friend]! ;-) ). Es decir, ahora usamos un ‘encoding’ en el registry, el cual el usuario puede configurar. La bronca es que ese encoding se ‘pega’ en el theme que el usuario este usando. Es decir, si el usuario anda usando un template que dice: UTF-8, pues ya se la pelo, porque SOLO le va a funcionar con UTF-8. Bueno no es tanta bronca esto si se quita del layout.html del template el encoding. Si se lo quitamos el browser/apache se pueden hace cargo (el browser lo puede configurar el cliente y el apache puede ser CAPAZ de forzar el encoding o poner uno por default, el DefaultCharSet).

* Ahora, que si aparte de usar un encoding ‘forzado’ en nuestro html, le aplicamos a que guarde texto en la BD ‘forzando’ de nuevo al encoding pues ya se imaginan.. seria como un ‘doble encoding’. Me he dado cuenta que cuando mandas un texto por POST, el texto va a ir en el encodign que este configurado el HTML, asi que si le aplicas de nuevo el ‘encoding’ pues se hace: basura. La solución es hacer como era en Jaws 0.3: no usar htmlentities ni htmlspecialchars, no preocuparnos por el encoding, que el browser y el apache se preocupen por el. Claro, muchos van a brincar: “como carajos piensas dejar a X usuario a que escriba un comentario sin htmlentities”.. calma, calma, para eso tenemos el str_replace y strip_tags.. para quitar esos ‘malevolos’ tags.

Las soluciones ya las tenemos y probadas, ahora falta aplicarlas a todos los temas y .php’s.

Ahora ando escuchando Primus, Sugarcubes y Björk:

Primus - The Family and the Fishing Net

There’s a moment when fear and dreams must collide…

Thursday, July 8th, 2004

Pues luego de tantas promesas por fin mi querido hijo mbloggy ha empezado a dar a luz, y es que mbloggy se encuentra al 98%, sí sí.. el cliente ya existe, ya existe un plugin, ¿qué es ese 2% que falta?, pues el logo de mbloggy y separar lineas nuevas por break spaces (br en html) para el preview.

Ya he hecho pruebas con el blogger, tanto en jaws como en el blogger original, aparte que le he agregado muchos features que he ido tomando de otros.

No puedo distribuir el código ahora ya que el CVS de Novell anda fallando, mañana mando un reporte para ver que pex, y no pienso subir el .tar.gz hasta tenerlo en el CVS, mientras tanto he aquí un screenshot:

Si quieren ver otros screenshots los he subido aquí.

Cualquier duda, ya saben: pablo_arroba_pablo.com.mx ;-)

SpiderMan 2

Sunday, July 4th, 2004

Bueno, pues ayer en la noche fui con mis primos y otros amigos (de ellos) al cine a ver SpiderMan, mi primo y yo como buen fan y tener aquellos comics viejiiiitos de Spiderman no podíamos perdermos SpiderMan 2.

Yo esperaba menos de la película, digo, si sabía que iba a ser una MUY BUENA película, pero la película me dejó apantallado, hay partes en las que te mete a la película, todos saben que SpiderMan no es el tipico superheroe idiota de DC que solo se la pasa salvando al planeta con superpoderes.. por decir: ‘estúpidos’.

Como decía, hay partes en la película, en las que te metes dentro de ella (claro que en el cine más de la mitad se levanto a aplaudir por la película). Una GRAN película, la recomiendo mucho para aquellos que llegamos a leer esos viejitos comics de SpiderMan de papel corriente. Buen guión, buen reparto, la historia la respeta casi al 100%, y excelentes frases que muchas si son ciertas y me dejaron pensando, como una que va algo asi (traducida): “Algunas veces tenemos que rechazar nuestros sueños, porque muchas veces ellos nos pueden llevar a cosas que las personas no quieren que pase”, me ha pasado infinidad de veces y me he dado cantidad de topes por ser tan terco..

Pero bueno, pienso volverla a ver, hay dos películas en este año que me han gustado tanto, BigFish y SpiderMan 2, ahora falta ver la otra obra maestra: HellBoy que mi primo me la ha venido contando desde hace un año y medio.