Posts

GNOME 2.22

Image
Hace unos días atrás recordé que pronto debía salir GNOME 2.22. Hoy Yasser me comentó que había leído algo sobre eso ayer y lo primero que hice fue chequear que ya estuviera algo de eso en los repositorios de Debian que mantenemos aqui en la Universidad de La Habana Para mi felicidad ya empezaron a entrar poquito a poco los paquetes nuevos, acabo de hacer un aptitude dist-upgrade y estos son los paquetes que llegaron con versión 2.22: deskbar-applet gconf2 gconf2-common gnome-accessibility-themes gnome-devel-docs gnome-media gnome-media-common gnome-menus gnome-terminal gnome-terminal-data gnome-themes gnome-user-guide gnome-volume-manager libgconf2-4 libgconf2-dev libgnome-media-dev libgnome-media0 libgnome-menu-dev libgnome-menu2 Enseguida que reinicié GDM vi que hicieron unos cuantos cambios en el tema Clearlooks y en el Deskbar applet. Todavía espero con ansias que entren los demás paquetes porque lo que anuncian en las notas de lanzamiento me gusta cantida...

De svk a git

Desde que trabajamos en conjunto, Yasser y yo, usamos svk como herramienta de control de versiones distribuida. Así tenemos en alguna PC de la escuela a la cual ambos tenemos fácil acceso el repositorio svn y modificamos nuestros repositorios locales con svk. Ya varias veces svk nos dio problemas para hacer mezclas de los cambios a la hora de ponerlos en el repositorio svn pero el último fue bastante catastrófico, tal es que elimino código que yo había tecleado y cambió otros ficheros porque le dio la gana. En fin, que nos puso en la cabeza la idea de sustituirlo. Hace tiempo escuché hablar bastante bien de git, tan bien que era el que usan en el Kernel Linux y GNOME está migrando sus repositorios. Tras el chasco con svk decidimos salir a buscar información sobre este tan bien mencionado. Resulto ser mejor de lo que esperaba. El git puede usar como repositorio principal no solo otro repositorio git sino uno svn o cvs. Incluso su uso me parece mucho más sencillo que el de svk. Ahora...

Wordpress 2.5-beta1

Este weblog que estas leyendo esta usando lo último en Wordpress, la versión 2.5-beta1, descargada directamente de su svn . A parte de el nuevo diseño de la administración se ve a simple vista el alto uso de AJAX. Aunque todavía no es la versión final, la cual se espera para marzo de este año, no he tenido problema alguno en actualizarme. Tan solo ejecutar svn co http://svn.automattic.com/wordpress/trunk/ wordpress y ya está. Para mantenerlo al día solo tendré que hacer svn up a cada rato (personalmente lo haré cada 2 días).

Jugando en Linux con Cedega

Image
El otro día a mi hermana le prestaron el juego City Life Deluxe que por alguna razón todavía desconocida no funciona en mi Windows XP. A raíz de esto busqué en información para probarlo en Linux y en seguida salió el nombre Cedega . La lista de juegos funcionales en él es inmensa, más de 100, pero para mi pesar no hablan sobre el de mi hermana. De todas formas busqué el último Cedega, la versión 6.0.5 y la instalé ayer. El único juego que tenía a mano para probarlo era una demo de American McGee's Alice y ese mismo le instalé. Pues nada, atónito me quedé con lo que vi y jugué. Las fotos hablan por si solas. Ya pedí prestado el Need For Speed Underground 2 y el GTA San Andreas a ver que tal corren.

CSS Type Set

Image
Para todo principiante en el diseño web, más específicamente llevando un diseño a XHTML con CSS sería de gran utilidad una herramienta visual que después de tener lo que buscamos ofrezca el trozo de CSS. Pues revisando del.icio.us/popular encontré CSS Type Set . Este sitio hace exactamente eso en el ámbito de las fuentes. Podemos modificar el tipo, tamaño y color de la fuente, el ancho de la línea, el espaciado de las letras, etc. Nada, una herramienta tal vez vital para acelerar el proceso de desarrollo web.

Viaje a la Lenin

Image
Hacía 2 años que no iba a la Lenin, y ayer fui. Una palabra puede describir el viaje, desastroso. Primero porque tuve que pasar por la CUJAE a buscar a Lisandra, segundo porque salir del puente de Calabazar fue extenuante y tercero porque de donde nos dejó el autobús hasta la entrada de la escuela hay mucho que caminar. Y por si fuera poco la salida fue no tan mala pero igual, muy cansante ya que tuvimos que caminar toda esa carretera de nuevo. La escuela está casi totalmente cambiada, ahora tiene aire acondicionado en las habitaciones, agua todo el día y comida decente. Nada que ver con mis tiempos (que conste que son solo 5 años los que tengo de graduado) cuando teníamos que ir a bañarnos a veces al organopónico en la cisterna de las regaderas del huerto, pasar frío las noches de Diciembre y Enero debido a la escases o ausencia total de persianas en las ventanas, hacernos los de la vista gorda el día que de almuerzo había arroz, chicharos y la mitad de una toronja. Esos momentos son...

El planet está creciendo

Desde la salida al aire ayer de nuestro Planeta GRyD hemos estado recibiendo buenos feedbacks sobre la idea. De hecho hoy se han hecho ciudadanos Rodney , Orapma y Zuzel . Esperamos que en los próximos días lleguen más y más blogueadores . Si perteneces a la facultad de Matemática y Computación, tienes un blog en un dominio uh.cu y estás interesado en pertenecer a nuestro planeta solo tienes que escribirme a mi correo personal con el enlace a tu blog y una imagen con tamaño 128 x 128 pixeles que quieras que te identifique. Más adelante queremos montar un servicio de almacenamiento de snippets para tener un repositorio de código en cualquier lenguaje a disposición de todos. Si somos una facultad donde se generá tanto código y estamos en el camino del open source deberiamos tener abiertas y gratis para los que las necesiten todas esas líneas que hemos tecleado. Ya estoy maquinando en mi cabeza como hacerla con Django . Hasta entonces. Actualización 31 de enero de 2008, 11:01 PM: G...

Creación de un planeta

No se trata de un planeta físico, al menos no uno como nuestra Tierra o nuestro vecino Marte, me refiero a un planet como Planet Gnome y Planet Debian . Un lugar donde estarán las últimas entradas de los blogs de varios activistas del GRyD y del claustro de profesores del Departamento de Redes. La idea se le ocurrió a Yasser hace un par de días y no falto mucho para que me embullara a ayudarlo. Durante la mañana de ayer terminamos de instalar y configurar el planet . Casi todo fue bastante fácil ya que el software que usamos viene en el repositorio de Debian así que solo fue hacer aptitude install planet y ya está. Lo más complicado fue entender un par de cosas del archivo de configuración pero nada imposible. Después de almorzar y ver que no teníamos clases nos quedamos en el laboratorio para personalizar el tema, que por suerte encontré en internet un comprimido con el que usa Planet Ubuntu . Así que fue una tarde de mucho CSS y XHTML para mí. En nuestras maquinas del laboratorio...

Zend + Smarty

Cada vez que he querido usar plantillas con PHP he usado Smarty . Hace rato, no mucho después de empezar a usar Python , me hablaron sobre Django y en cuanto lo probé me dí la tarea de encontrar un framework que tuviera la mayor cantidad de funcionalidades que trae este pero en vez de ser en Python lo quería en PHP . Así fue como dí con Zend Framework . En un primer momento me mostré un poco escéptico porque no es tan a lo Django como quería pero después de probarlo un poco terminó gustándome. Pero entonces llegó el momento de hacer uso de las plantillas y me pregunté ¿por qué no usar el ya conocido Smarty ? Tras mucho navegar no encontré algo que me funcionara del todo bien así que lo implementé yo mismo. Esto es lo que quedó: SmartyView.php En el archivo de configuración de la aplicación está el camino a los directorios que necesita Smarty para funcionar. Básicamente mi archivo config.ini es este: [general] smarty.dirs.template = ./application/views/ smarty.dirs.compile = ./app...

Comando 'cp' con porciento

Image
Anoche mientras leía el Debian Planet encontré esta función en BASH que provee nuestra consola de un comando para copiar ficheros mostrando el avance del proceso como lo hace el WGET . Aquí está la función: cp_p() { set -e strace -q -ewrite cp -- "${1}" "${2}" 2>&1 \ | awk '{ count += $NF if (count % 10 == 0) { percent = count / total_size * 100 printf "%3d%% [", percent for (i=0;i " for (i=percent;i Solo tienen que copiarla en su ~/.bashrc ó en /etc/bash.bashrc y para copiar usar cp_p <fuente> <destino> y verán algo como esto: Esta es la entrada donde encontré la función: "Can you get cp to give a progress bar like wget?"

Cross compilling

Este semestre que empieza nos agregan una asignatura llamada Programación de Máquinas donde se imparte este semestre programación en lenguaje C++ con el API de Windows y el próximo semestre programación en lenguaje ensamblador. Con lenguaje ensamblador no vi problema alguno pero con el API de Windows tenía el gran inconveniente de que uso completamente GNU/Linux en mi PC. Así que me pasé un rato googleando en busca de alternativas y lo que encontré me encantó: cross compiling. Lo único que tuve que hacer fue instalar los paquetes mingw32, wine y libwine. Después hice la aplicación más básica que pude hacer que usara API de Windows : #include int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MessageBox(NULL, "Goodbye, cruel world!", "Note", MB_OK); return 0; } Después lo compilé con i586-mingw32msvc-gcc y lo ejecuté con wine . Mejor imposible, ya no tengo que ir a Windows para entregar las tareas de PM.

Adios ..., felicidades ... y gracias ...

Image
Hace ya más de 2 meses que no paso por acá a dejar algunas letricas y me disculpo por eso. Pero bueno, aquí estoy de nuevo para mis preciados lectores. Adios ... A finales de noviembre, mi buen amigo José Enrique se fue a probar fortuna a España. Nos reunimos todo el grupo para decirle unas cuantas cosas antes de que se irse, como nuestro número de calzado y la talla de pantalón que usamos; como siempre, el cubano pensando en los regalitos del exterior que nos pueden traer. Nos fuimos de parranda al club "Diablo Tún Tún" a freakear un poco, como hacía tiempo no haciamos. El día de su vuelo fuimos a su casa a despedirnos. Todo fue un poco triste. José resultaba ser un buen compañero de borracheras, alguien con quien salir a ahogar las penas causadas por alguna preciosa pero desalmada mujer. Voy a extrañar las penosas fiestas que con tanto entusiasmo haciamos en casa de Daniel, que invitabamos a cantidad de amigas pero al final terminabamos los mismos 4 gatos de siempre bebi...

Si seguiremos desarrollando CopyManager

Desde hace rato vengo siguiendo el avance del Nautilus con gio que está desarrollando Alexander Larsson . Varios días atrás me chocó bastante el anuncio de que había unido ya la rama de gio con el trunk del proyecto ya que entre las cosas que incorpora está una cola de las acciones de copiar y mover. Como explica Yasser en una entrada de su weblog, nos quedamos en la disyuntiva de seguir o no con nuestro proyecto CopyManager , por lo que él envió un correo a nuestra lista de desarrollo para pedir opiniones acerca del futuro del mismo. Hoy cuando llegué aquí a la escuela y revisé el correo me alegré mucho al ver que se habían interesado en darnos ánimos de seguir adelante, así que ya saben, van a oir hablar del CopyManager por un buen rato. Gracias a los que nos animos para seguir desarrollandolo, principalmente el más cercano a nosotros, Yudivián Almeida .

¡Python me hace volar!

Image
Bien acertada esta tira de comic. Espero la disfruten tanto como lo hice yo Tomado de xkcd.com

¿Metaprogramación en javascript?

Hace tiempo choqué con el concepto de metaprogramación cuando avanzaba en mi aprendizaje en python y ya por ese entonces movió el piso bajo mis pies. Bueno, leyendo mis suscripciones rss encontré una conferencia dada por Dan Webb en el evento @media Ajax de este año donde hace una presentación y disertación de lo que sería la metaprogramación en javascript. La idea me pareció muy interesante y más en estos tiempos en que las aplicaciones web 2.0 llenan la red de redes. Actualización 10:46 a.m.: Pueden descargar la presentación en pdf desde aquí: Metaprogramming in javascript

Aplicación con ícono en el área de notificación usando pygtk

Hace unos días escribí en la lista de pygtk un ejemplo de como crear una aplicación que muestre un ícono en el área de notificación y que permita mostrar y ocultar una ventana cuando se haga clic sobre dicho ícono. Me pareció algo sencillo de hacer pero que le puede servir de guía a más de una persona. Esta es la idea que usamos en el CopyManager así que si quieren ver otro ejemplo más usado de esto pueden remitirse a nuestro svn . import pygtk pygtk.require('2.0') import gtk class Application(object): def __init__(self): # Creamos el icono que se mostrará en el área de notificación self.statusicon = gtk.status_icon_new_from_stock('gtk-about') # Y lo ponemos en dicha área self.statusicon.set_visible(True) # Creamos la ventana self.window = gtk.Window() self.window.show_all() # Conectamos las señales que vamos a usar self.statusicon.connect('activate', self.on_activate) self.window.connect...

Sobre "The Shadows Realm"

Desde hace un par de semanas mi buen amigo José Enrique terminó de configurar su weblog y empezó a escribir una serie de artículos sobre programación de juegos que creo que todos los interesados deberían leer. Aunque está en inglés está bien interesante todo lo que está exponiendo, además que lo está haciendo de manera que no haya necesidad de tener muchos conocimientos sobre el tema para entender la lectura. En fin, los invito a pasarse por allá: The Shadows Realm .

Buenas nuevas para el framework Prototype de javascript

Aquellos que programamos en javascript y usamos el framework Prototype estamos de fiesta por estos días. Ayer leí en Ajaxian que habían liberado la versión final 1.6 de Prototype y la versión 1.8.0 de script.aculo.us . Y eso no es todo, acabo de revisar los enlaces populares de del.icio.us y encontré esta librería de extensiones para Prototype . La idea es que ahora tenemos todo a mano para desarrollar a gusto cualquier aplicación web 2.0. Ya descargué todas estas nuevas versiones, cuando tenga un tiempo este fin de semana empiezo a jugar con ellas.

¡Ya tengo Gmail 2.0!

Image
Hace un rato entré a revisar mi antigua cuenta de Gmail que ahora uso para las listas y cosas menos personales y noté que me habían actualizado a la nueva versión. Aquí están fotos de las cosas nuevas que encontré, espero con ansias que hagan lo mismo con la cuenta personal que uso más a menudo. También noté en "Settings" que me activaron el IMAP, esto si en las 2 cuentas. Actualización 6:05 p.m.: Me acaban de activar la nueva versión tambien en mi cuenta personal, ¡qué bien!

Unas gafas encontradas y muchas cosas que estudiar

Image
Estamos muy cortos de tiempo con las pruebas por estos días, en especial hoy porque tenemos Matemática Discreta mañana por la tarde. Pero eso no evitó que nos divirtieramos un poco con estas gafas que alguien dejó por descuido hace como un mes sobre mi mesa. gnuaha7 yglez y yo