Email

pypy-jit

I just read about the new PyPy 1.2 release. I've been monitoring PyPy since I tried rpython and the good news is that they released a JIT! The bad news is that the JIT is only for IA-32 but you can run it in compatibility mode. I could run it in my amd64 Debian.

I hope that now that there is also unladen swallow the development of PyPy gets to be faster. The Python Language Moratorium should also help interpreters other than CPython catch up.

I made a small test using a program that is almost identical tothe one I used in the rpython test and the results are quite positive.

First, PyPy 1.2.

time ./pypy  /tmp/rpython-test.py 
11814485
 
real    1m27.298s
user    1m26.977s
sys     0m0.220s

Python with a python 32-bit build running in amd64, with psyco.

time ./python /tmp/rpython-test2.py 
11814485
 
real    2m9.695s
user    2m9.392s
sys     0m0.172s

Now CPtyhon (2.5.2).

time python  /tmp/rpython-test.py 
11814485
 
real    7m9.937s
user    7m7.103s

Now testing with short-lived code (that does not benefit that much from JIT).

PyPy:

time ./pypy  /tmp/primes.py 
664579
200
1
1
solution: 8013479
 
real    0m2.478s
user    0m2.196s
sys     0m0.140s

Same 32-bit python with Psyco (Psyco performs better in this short-lived program).

time ./python /tmp/primes.py 
664579
200
1
1
solution: 8013479
 
real    0m1.671s
user    0m1.500s
sys     0m0.092s

CPython:

time python  /tmp/primes.py 
664579
200
1
1
solution: 8013479
 
real    0m5.095s
user    0m4.800s
sys     0m0.256s

I am quite happy with the results. I'll keep an Eye on PyPy and I guess I should monitor unladen swallow also.

Loading... Vote up! Vote down! Discussion

ben-nanonote

The Ben Nanonote is shipping now. I am glad to see that some of the people I met in Openmoko are quite active hacking nice hardware and software.

Here is the article in LinuxDevices.

A startup that includes former members of Openmoko has begun shipping a hackable Linux-based "copyleft" clamshell for $99. Qi Hardware's Ben NanoNote incorporates Ingenic's MIPS-compatible 336MHz XBurst Jz4720 processor, 32MB SDRAM, and 2GB NAND flash, and offers a 3-inch, 320 x 240 display.

And of course you can run Doom and nethack on it. The Ben ships with the OpenWrt distribution.

Loading... Vote up! Vote down! Discussion

psyco-debian-amd64

There's a way to build a 32-bit Python for your amd64 Debian. It's useful because with it we can use Psyco.

I found this post with instructions for the 32-bit python but they didn't work for me. The document is still useful, but I'll write down the instructions that worked.

I installed the following packages:

Then I downloaded Python and configured it. I used Python 2.6.4 because Psyco is not available for Python 3.

 CC="gcc -m32" ./configure --prefix=/home/me/python
 make -j 2 # build

I run into the following bugs. I don't need these libraries thus I just didn't do anything about them. I guess you need to install 32-bit libraries for the following programs if you need them.

Failed to find the necessary bits to build these modules:
_bsddb             _tkinter           bsddb185        
dbm                gdbm               sunaudiodev     
To find the necessary bits, look in setup.py in detect_modules() for the module's name.


Failed to build these modules:
_sqlite3

Then I installed it.

make install

Now Psyco.

svn co http://codespeak.net/svn/psyco/dist/ psyco-dist

I compiled it with the python version I just installed.

/home/me/python/bin/python setup.py install

And it works.

$ /home/me/python/bin/python 
Python 2.6.4 (r264:75706, Mar 17 2010, 00:26:22) 
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import psyco
>>> psyco.full()

Loading... Vote up! Vote down! Discussion

randomized-qsort-trick

The qsort algorithm surprised me again.

In the analysis of the randomized qsort it is assumed that the values to be sorted are different but things go really bad when you have a lot of equal values. For instance, if you have a vector with all N elements set to the same value you will get quadratic behavior from this algorithm.

I noticed this because in a test I filled a vector with random numbers in the range [0, 9] and the algorithm was very slow. Since it didn't make sense I noticed that the implementation of the algorithm that you find in the slides is very bad in this case.

Fortunately it's easy to fix. An excerpt from this example (check the remark):

template <class T>
void qsort(vector <T> &v, int first, int last) {
  if (first >= last)
    return;
  int pivot = partition(v, first, last);
  qsort(v, pivot + 1, last);
  while (pivot > first && v[pivot] == v[pivot - 1]) // This cycle is important!
    pivot--;
  qsort(v, first, pivot - 1);
}

In another lecture I noticed that the teacher is very aware of this but somehow this is not in the slides. Perhaps it's too much information for a single session and they were mostly interested in the proof for the randomized algorithm.

Loading... Vote up! Vote down! Discussion

android

I was curious about Android and today I installed it in the Openmoko FreeRunner. This is the home of the project.

Installing software was quite easy.

WIFI worked out of the box and I could tweet from a coffee shop.

I'm glad to know I don't have to buy more hardware to make my first tests with Android (I know I can use the emulator but using real hardware is good if you can do it). For simple programs I will be able to use the FR. A friend had an idea for an application and we might try it, if time permits.

I liked the abd program! It stands for Android Debug Bridge.

I'll update this weblog if I get to do something interesting.

Loading... Vote up! Vote down! Discussion

ffmpeg

I liked FFmpeg. I haven't used it before and I ran it with these arguments:

ffmpeg -i source.mov -s vga -vcodec mpeg4 -b 1200kb  dest.mp4

That is, make a mp4 file (dest.mp4) from source.mov.

I found it very useful to make some videos smaller, specially those taken with cheap digital cameras. It will help you a lot if you want to upload the videos to Youtube.

In this case the size of the original file is 151M and the size of the resulting file is just 30M, a factor of 1/5!

There's no surprise here since the original video is encoded as a sequence of JPEG frames with no video compression.

This is is a nice trick I don't want to forget.

Loading... Vote up! Vote down! Discussion

tweets-1

Me gusta guardar en favoritos los tweets que me gustan. Publicaré algunos:

@galactus

 

@mlrivera

@elchiflamicas

 

@olaviakite

 

@rethms

 

@atizador

 

@littlepadawan

@nataliavivas

@cavorite

@carloscaicedo

@bluelephant

 

Loading... Vote up! Vote down! Discussion

santa-marta-2009

En año 2009 estuve bastante tiempo en Santa Marta. Unos 40 días.

Ya superé el desarraigo y ahora sé que extrañaré más la Ciudad.

Se notan cambios. Parece que por fin la administración local y la nacional notaron que una ciudad turística debe ser amable con los turistas.

El centro histórico ahora es más agradable y con muchos lugares para salir en la noche. Hay hasta Jazz.

Taganga ha cambiado bastante. Con todas las casas que han comprado foráneos el ambiente no me parece tan agradable como antes pero afortunadamente hay playas cercanas que son más agradables y se puede ir caminando o en lancha.

Tenía un paseo programado para el parque Tayrona pero lo cambié por uno a Nabusimake, el caserío en el que nació mi mamá. Ir de paseo con ella fue buena experiencia y me gustaría que volviéramos con menos prisa.

Me gusta como el centro está menos congestionado y hay restricción para el ingreso de vehículos al centro dependiendo del día y del número de placa (pico y placa es el nombre que estas resoluciones toman en Colombia). Ahora la calle 19 es completamente peatonal en el centro y el Parque de los Novios es ahora un lugar bonito. Es probable que con el tiempo la calle 19 cambie un poco y haya más lugares para comer, para venta de souvenires y para esparcimiento que viviendas familiares. Muchos turistas todavía no saben que este parque existe en su forma actual.

El Parque Simón Bolívar está completamente recuperado y el resultado es agradable a la vista. Fue una sorpresa ver que había un Juan Valdez en lo que antes era Café de El Parque. Todavía no sé si fue una sorpresa agradable o no.

El 6 de Enero Carlos Vives ofreció un concierto que fue bastante bueno. Cantó muchas canciones y estaba visiblemente contento de poder hacer un concierto grande por primera vez (en la práctica) en su ciudad natal. Creo que en ese momento él estaba más de fiesta que trabajando. Fue emotivo ver que el concierto se abrió en idioma Arhuaco.

La vía alterna al puerto está funcionando y las tractomulas que llevan carga ahora deben tomar esa ruta y no la que toman los turistas para entrar a la ciudad.

Se ve que pronto habrá una doble calzada hasta la Y de Ciénaga. Esta es una obra bien importante.

Pasé bastante tiempo con mi familia. Quiero volver pronto. Probablemente volveré en Abril.

Loading... Vote up! Vote down! Discussion (1)

nabusimake

Este año fui a Nabusimake por primera vez. Nabusimake es la capital de los Arhuacos.

De la Wikipedia:

En 1916 los Arhuacos solicitaron al gobierno enviar maestros para enseñar lectura, escritura y matemáticas, pero en vez de esto enviaron a misioneros Capuchinos del centro del País, que cuatro años después ya atropellaban la cultura indígena, e intentaron prohibirla a los niños, estableciendo un régimen de terror en un internado que denominaban “orfanato”. También establecieron trabajos obligatorios, razón por la cual los indígenas pidieron inútilmente que los retiraran de la región.

Mi mamá estudió allí, y me cuenta como recibían tratos inhumanos. Los trabajos forzados para los menores eran fuertes. En ocasiones era necesario que caminaran varios días para ir a recolectar cosechas. Mi mamá cuenta que en ocasiones la castigaban mandándola a dormir con las gallinas, pero afortunadamente ella se escapaba y dormía en casa de una Española, para volver temprano al lugar de castigo.

Creo que lo peor del orfanato es haber perdido por completo su cultura nativa. Mi mamá es una persona de ciudad que no se imagina viviendo en el monte.

Mamá en un puente

El paseo fue corto y no fue tan turístico. Estuve acompañando a mi mamá mientras ella saludaba a algunas compañeras de estudio que todavía viven allá.

El incidente más curioso fue notar como mi mamá llamaba a los lugares con nombres diferentes elegidos por los Capuchinos. Nombres que ya no se usan. Por ejemplo un pozo que los Arhuacos consideran sagrado era conocido por mi mamá como "El pozo del diablo" y nos explicaron que así era como los Capuchinos llamaron al lugar debido a que allí era donde hacían rituales de pagamentos que ellos consideraban Brujería.

Me alegra mucho que hayan sacado a los Capuchinos pacíficamente de allá.

Río

También descubrí que hay muchos lugares de la sierra nevada que son una reserva y que a ellos no pueden entrar turistas. Un tío vive bien arriba en la Sierra y me dicen que es bonito, que hay lagunas y que la nieve está cerca. Desde hace años él me ha querido llevar y no me había animado pero es probable que me anime pronto a conocer.

No tengo mucho que decir de esta visita. Creo que fue un choque cultural que yo inconscientemente estaba evitando. Es bonito ver que una cultura vieja y aislada ya considera la tierra como un organismo vivo que hay que cuidar, que alcanza para sostenernos pero no para satisfacer nuestra avaricia. Mucha gente ve a los indígenas como salvajes, pero al estar cerca y verlos caminando tranquilos y sin afán dudo que envidien nuestra vida agitada.

Incluso en el centro del caserío el amanecer es bonito. Espero ver como es un amanecer en una zona menos poblada.

Me da curiosidad el idioma y me gustaría aprender. No tengo mucho por decir, solo que quiero volver con más tiempo y sin tanta prisa de "hombre blanco".

Algo que estuve pensando es que yo nunca me sentí Arhuaco y que la poca identidad que siento ahora proviene de el seudónimo que escogí por accidente. Sé que tengo algo de identidad porque al visitar me sentí más del lado de los Arhuacos que no quieren que se facilite el acceso a la Sierra Nevada que del lado del turista que espera más infraestructura. Ellos no quieren mejorar carreteras, no quieren teleféricos, ecoturismo, hoteles, ni nada por el estilo.

Loading... Vote up! Vote down! Discussion (5)

libevent

I didn't know of libevent.

The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support callbacks due to signals or regular timeouts.

It seems useful to make portable programs that watch file descriptors. TODO: Try it.

Loading... Vote up! Vote down! Discussion (1)

los-pericos

Una de las cosas que me gustan de la Santa Marta son los pericos. Oírlos cantando y libres.

Recuerdo que cuando niño imaginé y armé una trampa para capturar pericos. Una caja en el patio con 3 mangos nada frescos recogidos del suelo y un mecanismo sencillo para dejar caer la caja y en mis planes atrapar pericos.

Una nueva forma de entender la inocencia: pensar que un perico bajaría 10 metros por tan poco.

En realidad todo era curiosidad científica. Luego en la casa me compraron unos pericos australianos que se reproducían como ... pericos australianos.

Con ellos presencié por primera vez la magia genética. Por una mutación (o algo así) uno de ellos nació con el pico al revés. Lo alimenté a mano pero igual murió, ignoro si fue solo por el pico deforme o por otra falencia que no se podía ver a simple vista.

Cuando crecí aprendí a odiar las jaulas y a no tener animales encerrados. Los pericos que quedaron terminaron en casa de la abuela.

Cuando veo los pericos sueltos trato de pensar que los que vivieron presos por mi son los mismos pericos y que están libres y cantando. Son muy parecidos. Y no me refiero a los australianos que tuve que probablemente nacieron en una jaula. Escribo sobre otro tipo de perico (cotorro) menos doméstico que tuve.

PD: Necesito ayuda del profesor Super-O para el primer párrafo de este texto.

Loading... Vote up! Vote down! Discussion (3)

Roxanne by La 33

I like this cover of Roxanne by La 33.

Loading... Vote up! Vote down! Discussion

stackoverflow

Entré a StackOverflow indirectamente influenciado por Manuel.

Después de usar el sitio por unos días puedo decir que me gustó y que probalemente mi patrón de uso será el siguiente. Esperar a que tenga una duda urgente y escribir. Cuando me respondan en agradecimiento estaré pendiente para contestar las dudas de alguien. No me gusta la idea de estar peleando por responder primero cosas que otro responderá. La etapa de karma whore ya la quemé hace ratos.

Lo que más me gusta es que el sitio está optimizado para interacción de una comunidad de programadores. Debo aclarar que no me imagino haciendo parte de muchos sitios de este estilo. Ya estoy muy acostumbrado a las listas de correo.

Enlaces:

Loading... Vote up! Vote down! Discussion (3)

Balance o experience points level 2009

Este año estuvo interesante sin que eso implique que me haya ido bien en todo o que no haya tenido que sortear problemas. La falta de problemas por resolver no me interesa.

Listaré algunas de las cosas que pasaron o que no pasaron.

Taganga

¿Qué espero para el otro año?

Pasarla bien mientras se pueda y compartir tiempo de calidad con familiares y amigos. La vida es corta. La vida es una tómbola y cualquier cosa puede pasar.

Lo más probable es que me la pase concentrado trabajando en Bogotá. Este año descansé bastante y el otro trabajaré más. Me gustaría volver a jugar baloncesto con frecuencia y comprar bicicleta.

Loading... Vote up! Vote down! Discussion (5)

Matemática estructural

Hoy recibí una copia del libro Matemática Estructural escrito por Andrés Forero.

En una parte de la introducción dice:

Además de esto, el autor ofrece el libro a aquellos "matemáticos frustrados" que siempre quisieron profundizar más en la reina de las ciencias y que por diversas razones no han podido hacerlo. Este libro pretende ser para ellos una puerta de entrada definitiva al universo de los patrones y las estructuras.

Suena bien :-) Estaré reportando.

Loading... Vote up! Vote down! Discussion (2)

Free

I like this song.

Loading... Vote up! Vote down! Discussion

Que mal que se celebre la trampa

Me gustó este escrito corto de Rudolf Hommes en SOHO sobre la celebración de la trampa en la cultura colombiana.

Para hacer parte de la sección de humor está bastante serio.

Un aparte:

Cuando a alguien le meten gato por liebre, el que queda como un bobo es el estafado mientras que el tramposo suscita admiración. El principio que rige es que se cuide el que compra ("caveat emptor") de que no lo engañen y que si lo engañan es por su propia culpa. Es posible que a muchos no les parezca ni extraña ni nociva esta manera de ver las cosas y digan que precisamente se trata de que la gente sea responsable y maneje sus asuntos con la diligencia debida.

Otro aparte:

El costo para la sociedad de que la trampa se recompense en un mercado es que mucha gente se abstiene de hacer transacciones en él.

Esto se lo he venido escuchando a Mockus desde hace unos 12 años.

A la derecha en la sección de artículos relacionados hay más enlaces del especial completo "9 Razones por las que Colombia es inviable".

Loading... Vote up! Vote down! Discussion (2)

watchmen

Leí Watchmen por primera vez. Digo por primera vez porque siento que es algo que debo leer varias veces para entender más las pistas.

Hasta ahora me ha gustado bastante la lectura que es más sobre temas humanos que sobre superheroes.

Es difícil identificarse con uno de los enmascarados. Me parece interesante el personaje Rorschach.

Give me smallest finger on man's hand. I'll produce information. Computer unnecessary.

El libro me gustó mucho y creo que fue una oportuna lectura. Últimamente mi visión del mundo no es muy optimista.

A los ojos de la naturaleza (si eso puede significar algo) no hay buenos ni malos. A los ojos del universo lo humano es tan chiquito que casi nada importa.

I've walked across the sun. I've seen events so tiny and so fast they hardly can be said to have occurred at all, but you... you are a man. And this world's smartest man means no more to me than does its smartest termite.

The end is nigh.

Loading... Vote up! Vote down! Discussion (2)

las-llaves

Creo que había visto que tengo un gancho en el armario pero hasta hoy sé que está ahí. Esas cosas pasan.

Un gancho.

Se supone que debo poner ahí las llaves pero ya me he acostumbrado al ritual diario de buscarlas. A veces no aparecen.

Los lugares más usuales para buscar son:

Y si no aparecen toca buscar en todos lados.

Es un juego medio tonto pero no sé si prefiero el gancho. Buscar las llaves me recuerda cuando estudiaba Ajedrez y jugaba en ambos lados de la partida. A veces me sorprendía con los movimientos que hacía el contrincante.

Loading... Vote up! Vote down! Discussion (3)

the-black-page

The black page.

On the live album Zappa in New York, Zappa noted the "statistical density" of the piece.

Loading... Vote up! Vote down! Discussion (2)

Loading... Vote up! Vote down!

Last update: 2007-06-28 (Rev 11825)

svnwiki $Rev: 15576 $