Se empiezan a fabricar las OLPC en serie

Esta semana por fin, despues de tanto tiempo y trabajo de cientos de personas, la OLPC entro en fabricacion en serie en China, y oficialmente deja de ser un proyecto a ser una realidad.

Mis profundas felicitaciones y admiracion a todos los que llevaron y llevan adelante el proyecto.

olpc produccion en masa

También te puede interesar:

Performance en Python

Cayeron en mis manos unos slides sobre Python de Robert Collins, uno de los desarrolladores de Bazaar contratados por Canonical, y queria compartir algunas partes interesantes:

Crear una tupla: 0.04 usec.
Crear una lista: 0.21 usec.
Llamadas a funciones: 0.22-0.29 usec.
Crear un dict estaticamente: 0.53 usec.
Crear un objecto con slots: 1.12 usec.
Crear un objecto sin slots: 1.39 usec.

Cual es la forma mas rapida de escribir 1MB de informacion?

$ python -m timeit -s ’onek = "A"*1024’
-s ’lines=[onek]*1024’
“f = file(’/dev/null’, ’wb’)”
“for line in lines: f.write(line);”
“f.close()”
1000 loops, el mejor de 3: 1.03 msec por loop
1GB/second

$ python -m timeit -s ’onek = "A"*1024’
-s ’lines=[onek]*1024’
’onem = “”.join(lines)’
“f = file(’/dev/null’, ’wb’)”
“f.write(onem)”
“f.close()”
1000 loops, el mejor de 3: 628 usec por loop
1.6GB/second

$ python -m timeit -s ’onek = "A"*1024’
-s ’lines=[onek]*1024’
“f = file(’/dev/null’, ’wb’)”
“f.writelines(lines)”
“f.close()”
1000 loops, el mejor de 3: 510 usec por loop
2GB/second

$ python -m timeit -s ’onek = "A"*1024’
-s ’lines=[onek]*1024’
-s ’onem = “”.join(lines)’
“f = file(’/dev/null’, ’wb’)”
“f.write(onem)”
“f.close()”
10000 loops, el mejor de 3: 19.4 usec por loop
50GB/second

Pueden bajar los slides completos.

Diferencias en archivo gconf

No me acuerdo ni de donde lo saque, pero un programita en python muy util que tengo es el gconf-diff, que te dice la diferencia entre tus archivos de configuracion y el default.
Muy util para los que andamos toqueteando y despues no sabemos como volver atras.
Lo subi para los que lo quieran: gconf-diff.py

Canonical intenta mudar Python a Launchpad

La gente que desarrolla Python está considerando mudarse de sourceforge para el bug tracking y tiró la idea al cyber espacio para ver que les proponían.
La gente de Canonical, que está tan enamorada de Python se esforzó un poco para incorporarlos a su plataforma e hizo todo un sistema de migración de sourceforge a launchpad para mostrarles cómo sería.
Más alla de las críticas que Launchpad no es open source, me encantaría que se migraran mas proyectos para ése lado ya que me gusta mucho más cómo manejan los bugs y el desarrollo.

Compilando Python a C++

Un artículo en slashdot cuenta sobre un proyecto (Shed Skin) ya en etapas de prueba, está creando un conversor y optimizador de código Python a C++.
Básicamente convierte todo el código Python a C++ y te deja compilarlo con lo que más te guste.
Quiero destacar que todavía está en desarrollo, y tiene problema cómo no es “compatible” con tuplas con valores de distinto tipo, cosa que es muy común usar.
Hay una lista de cosas comúnes que no soporta, y también están abiertos a toda la ayuda que puedan conseguir.
Me parece una muy buena opción para poder usar la comodidad y facilidad de Python, y poder compilarlo a código nativo cuando los requisitos lo exijan.
Por supuesto, el proyecto está hecho en Python y C++.

Como instalar Python sobre Apache en Ubuntu

Para Apache 1.3.x
sudo apt-get install libapache-mod-python

Para Apache 2.x
sudo apt-get install libapache2-mod-python

MSN por consola con Python

Siempre es util tener mensajeros instantaneos por consola.
El MSNCP es un sorprendentemente buen MSN por constola basado el Python.
Impresionense con los screenshots.

Consola de Python

Aprovechando el lanzamiento de la version 0.7.1 de iPython, para todos los que no lo probaron todavia, es una consola que te deja usar Python para hacer tu trabajo sucio en ese lenguaje.