¡Ladran Sancho! Señal que cabalgamos...
¡Cómo me gusta que esta gente se ponga nerviosa!
Véanlo ustedes mismos, en barrapunto: Microsoft y Extremadura
Cambalache: Un poco de todo.
¡Cómo me gusta que esta gente se ponga nerviosa!
Haciendo un poco de egogoogling me encontré que, en el sitio www.archive.org, hay un vídeo con licencia creative commons de mi última presentación, en la conferencia de software libre de Badajoz.
Pueden bajar el vídeo desde esta página:
http://www.archive.org/details/FSWCOLPCSqueak
También podemos encontrar el audio de la edición especial del programa de radio “Red Babel”, que se emite los sábados en RNE 3 (Radio Nacional de España 3); sobre Software Libre en general, donde compartí mesa con Richard Stallman, Marcelo Branco, Paco Huertas, etc.
Pueden bajar el audio de las 2 horas de programa desde acá:
http://www.rtve.es/rne/r3/audios/prog/redbabel/red_20070210_a.mp3
http://www.rtve.es/rne/r3/audios/prog/redbabel/red_20070210_b.mp3
Imaginemos que tenemos que procesar 20 cuadros por segundo, y que la imagen mide 320x240 píxeles. Cada píxel está compuesto por 3 datos (la parte Roja, la parte Verde, y la parte Azul) que se denominan RGB (Red, Green, Blue). Si tenemos que procesar cada punto de la imagen, tendremos que procesar 320x240 veces, por cada cuadro, las operaciones para la parte Roja, Verde y Azul.
Para lograr tener 20 cuadros por segundo, con una imagen de 320x240, tendremos que realizar:
320 (ancho) * 240 (alto) * 3 (RGB) * 20 (cuadros/seg) = 4.608.000 (operaciones/seg)
En un procesamiento como ese, la poca velocidad de la OLPC se hace notar.
Bueno, el primer port del código Linux a la OLPC, fue prácticamente sin problemas PERO la velocidad de procesamiento obtenida era de lástima. Sólo procesaba 3 cuadros por segundo.
Después de algunos cambios en el código (evitar aritmética de coma flotante, loop unrolling, uso de bitmaps de 16 bits en lugar de 32 bits, etc) logramos 20 cuadros por segundo.
Una cosa a tener en cuenta es que el modelo y la filosofía de Squeak imponen mayores requerimientos al código. Dicho de otra forma: Procesar vídeo en Squeak no es SOLO mostrar un vídeo a pantalla completa, lo más rápido posible. Si sólo hiciésemos eso, podríamos obtener los mismos 30 cuadros x segundo con una imagen de 640x480 pixeles que logran la mayoría de los programas de control de cámaras de vídeo. Procesar vídeo en Squeak es integrar el vídeo como un ciudadano de pleno derecho dentro del mundo de objetos 100% manipulables y programables.
No sirve de nada poder ver vídeo si no podemos hacer nada con el. En Squeak el vídeo puede ser manipulado como cualquier otro objeto (se puede rotar, mover, cambiar de tamaño, etc). También puede ser programado desde guiones de eToys.
Este es el vocabulario del objeto de vídeo:
Con este vocabulario (y el vocabulario de los demás objetos Squeak) se pueden hacer algunos experimentos interesantes.... Por ejemplo: Si hacemos una animación en Squeak, de las clásicas, pero si en lugar de llenar el Contenedor con dibujos hechos a mano, lo llenamos con 1 cuadro por segundo desde la webcam (usando la propiedad #lastFrame), obtendremos una animación que es un vídeo acelerado (como esos vídeo de crecimiento acelerado de las plantas que ponen en los canales de documentales, o una manzana que se pudre en 20 segundos, etc) de lo que esté capturando la Webcam.
Lo más interesante de esta opción es que, el vídeo acelerado, es una producción del niño. No usa la opción “mostrar vídeo acelerado” que hace todo por el, sino que tiene que enfrentarse a resolver el problema, usando conocimiento que ya tiene. Muy en la línea de Squeak.
¿Qué otros experimentos se podrán hacer con la Webcam y Squeak?
De la misma forma en que se adelantó Papá Noel, los Reyes me trajeron el “prototipo B1” de la OLPC.
Debemos recordar que el proyecto OLPC no es un proyecto tecnológico, sino que es un proyecto educativo. Las diferentes decisiones que se fueron tomando, fueron siempre considerando que el objetivo es hacer una computa barata, portátil, fuerte y eficiente que será usada por chicos, para mejorar su educación, en lugares donde pueda ser difícil conseguir energía para las máquinas.
Para explicar rápidamente que es una OLPC, podemos decir que es una notebook “pequeña” pero lo suficientemente “potente” para lograr un gran impacto en los procesos educativos.
Pequeña:
Para los pequeños. Es una computadora pensada para ser usada por chicos.
¡Es verde!
Esquinas redondeadas
Manija para llevarla
Tiene un joystick
El teclado es de goma, para que se ensucie menos y soporte algo de agua.
Las antenas, cuando están plegadas, protegen los conectores.
No se puede abrir la computadora sin abrir las antenas. Esto quiere decir que, por diseño del hardware, todo el mundo siempre tendrá las antenas levantadas... maximizando la posibilidad de que la red P2P funcione.
Pequeña en Tamaño:
pesa menos de 1.5Kg
el display mide 7.5”
las teclas son para el tamaño de los dedos de los chicos
Poco Consumo:
Uno de los lemas del diseño es: “Más duración de la batería == Más Utilidad”.
El consumo es, a grosso modo, 1/10 del consumo de una notebook “normal”.
No hay partes móviles.
Display con poca superficie a iluminar.
Diseño en el hardware que permite el uso del display y de la placa inalámbrica con el procesador suspendido.
Barata.
El objetivo es que cada unidad se pueda vender en 100USD.
El precio conseguido, hasta hoy, es de 130USD.
Pequeña en Capacidades:
Comparadas con las notebooks comerciales que se venden hoy en día, son pequeñas en capacidad. Aunque debemos recordar que el objetivo es que cada unidad cueste sólo 100USD (un costo bastante menor al de las notebooks actuales).
También debemos tener en cuenta que se maximizó el ahorro de energía, así que no se consideró poner un mega-cuadruple-super-cpu que necesite un reactor nuclear para funcionar.
Potente:
Pantalla Dual Color/Blanco y Negro, con resolución de 1200x900 (200dpi).
La pantalla puede ponerse desde un modo de muy bajo consumo (Blanco y negro, con el backlight apagado), hasta un modo muy cómodo (Color, con la iluminación completa).
La pantalla puede funcionar con el procesador suspendido. Permitiendo, mientras el chico está sólo leyendo, el ahorro de energía.
El display, en modo blanco y negro y sin la luz, tiene muy buena visibilidad incluso con la luz del sol.
Red inalámbrica con capacidad P2P.
La placa inalámbrica puede rutear paquetes mesh incluso con el procesador suspendido.
Multimedia
2 parlantes incluidos.
1 micrófono
Webcam
Todo lo necesario para hacer video-conferencias.
Extensible
3 puertos USB
1 lector de tarjetas SD-Card.
1 conector para auriculares.
1 conector para micrófono (que, además, puede usarse como un puerto de conexión de sensores baratos).
Modo eBook. Se pliega el display sobre el teclado.
Cómodo para usar como libro.
Cómodo para jugar.
Robusta
No tiene partes móviles. ¡NO HACE RUIDO!
Los conectores son del tipo más fuerte posible.
El teclado es de goma.
Se van a romper 500, de las 800 y pico unidades B1 que se hicieron, para probarlas.
Todas las características en: http://wiki.laptop.org/go/Hardware_specification
Etiquetas: olpc
Los días 7, 8 y 9 de febrero de 2007, se celebrará la Conferencia Internacional de Software Libre 3.0, organizada en conjunto por los gobiernos regionales de la Junta de Extremadura y la Junta de Andalucía.
Estoy invitado a participar dentro de la Mesa de Creadores de Conocimiento Libre, el día 7 de febrero, de 18:00 a 19:30Hs; donde mostraré las novedades relacionadas con Squeak ocurridas durante el último año. Seguramente mostraré un Squeak funcionando en un prototipo de la OLPC, así como también los desarrollos relacionados con la Web 2.0, y alguna cosita más...
¡Están todos invitados!
Ya había comentado que estaba trabajando para el Squeak que vendrá instalado en las OLPC (las míticas notebooks de 100USD.
Específicamente mi trabajo es lograr que el Video4Squeak (proyecto que yo ya tenía desarrollado para la imagen de Small-Land que usamos en Extremadura) funcione con la configuración de hardware que tienen las OLPC.
Sin más preámbulo, les dejo un screenshot del Video4Squeak funcionando en una OLPC (prototipo beta):

No son desconocidos los “problemas” de licencia de Squeak. Por otro lado, hace poco hablábamos que Apple había acordado relicenciar el Squeak (versión 1.1) como APSL2.
Poco después, supimos que Apple nuevamente había acordado relicenciar Squeak, y esta vez lo hizo con una licencia Apache 2.
Ahora Viewpoints Research Institute está encargándose de contactar a todos los autores de código incluido en Squeak después de la versión 1.1 para relicenciar todo el Squeak con una licencia MIT.
Yo ya envíe, por correo normal y firmado en original, el acuerdo donde acepto relicenciar la parte que me corresponde.
Hace algún tiempo que anunciábamos el vídeo que La Junta de Extremadura había producido sobre el uso de Squeak en la región.
Este fin de semana me enteré de esta nota:
http://www.groklaw.net/article.php?story=20061118091048997
La nota no tiene desperdicios, pero me quedo con estos fragmentos:
“I enjoyed personally from the video the little girl who said Squeak introduced her to computers and she found out she likes them. Is that not what education is supposed to do for children?”
“... so programmers can work to create masterpieces like Squeak that benefit society.
What a concept. Benefit society. ”
“Please think it over, everyone, and decide just how much damage you are willing to let software patents do, just to benefit a few companies, who by the way made their billions at a time when there were no software patents to get in *their* way, and at the expense of everyone else on the planet with them.
And please look at the Squeak video and the children's faces as they talk about Squeak before you decide.”
Debido a que estoy colaborando con la versión Squeak que va a correr en la OLPC (estoy haciendo que el Video4Squeak funcione bien con los limitados recursos de la OLPC), me convertí en uno de los felices poseedores de una placa alpha de la OLPC.
Hola gente,
Hace algunos días les comentaba de los proyectos, relacionados con la web 2.0, que estoy desarrollando con Smalltalk.
Estoy en un punto donde puedo decir que podemos lograr bastante más de los browsers (de internet), y los ejemplos que fui generando (SocialShopping, Unnamed, LiveWiki, etc) lo prueban.
Hasta ahora fui desarrollando las herramientas conforme las necesite, así que el framework tiene un poquito de todo. Ese "poquito de todo" prueba que se pueden hacer muchas cosas, pero para que el framework se convierta en una herramienta posible debería hacer más que "un poquito" de todo.
Para completarlo necesito ayuda.
Hay bastante trabajo para hacer, desde traducir la documentación que estoy haciendo al Inglés, completar clases de “ayuda” (como Color, Rectangle, etc) y, sobre todo, completar en cantidad y funcionalidad los widgets.
Para dar el primer empuje, hice algo que no suelo hacer: Documentación ;-)
http://smalltalk.consultar.com/wiki/
Los proyectos en marcha son:
Asteroid: Comet para Squeak. Muy simple, no hay mucho más para hacer acá.
ST2JS: Traductor de código Smalltalk a Javascript. En el traductor en si no hay demasiado más para hacer, pero si hay bastante en las clases de compatibilidad.
SWT: Framework para hacer aplicaciones Web 2.0. Usa los 2 proyectos anteriores. Implementa comunicación entre el navegador y el Smalltalk, etc.
La documentación no está terminada todavía, pero (creo que) ya se ve bastante de las posibilidades.
También cree una lista de correo, en google, para coordinar el trabajo y discutir sobre el futuro del proyecto:
http://groups.google.es/group/web20-smalltalk
Espero que les guste y, que muchos, se animen a darme una mano.

http://research.sun.com/self/compiler.html
http://www.strongtalk.org/documents.html
Por supuesto que esta noticia no es buena sólo para los Smalltalkers, sino que las comunidades de Ruby y Python también puede beneficiarse mucho si implementan, en sus respectivas máquinas virtuales, las tecnologías que tiene la VM de StrongTalk. Miren las reacciones que produjo, esta noticia, en las comunidades de Ruby y Python:

Para ser franco, hace años que dejé de prestarle atención a la interminable lista de nombres y acrónimos fashion que genera nuestra industria. Sin embargo, con la intención de que la gente encuentre estas notas en google, hace varios posts que estoy usando términos “modernos” como Web 2.0, Ajax y esas cosas.

http://www.mactech.com/articles/mactech/Vol.13/13.04/Spreadsheet2000/index.html

http://www.consultar.com/trastero/U1-Reducido.htm