30 January 2012 ~ 2 Comments

Aplicaciones Qt en VNC y en pantalla local

The QVNCServer is not a full VNC server, but is a Qt display driver where the output is made available as a VNC Server on the network interface. The “VNC server” is not a separate process, and is simpler than a full VNC server in that it can only handle 1 VNC client at a time and it only supports VNC clients that connect with a depth of 32bpp. 

Para lanzar una aplicación solo en VNC:

  appname -qws -display "VNC::"   appname -qws -display "VNC::size=640x480:depth=32:0" 

Para verla en VNC y tambien en el linux frambefuffer (/dev/fbo) en este caso el driver de pantalla es sm501:

  appname -qws -display "Multi: sm501: VNC::" 

(Deben usarse doble dos-puntos para VNC  si no se da argumento)

Se pueden lanzar varios VNC’s uno para cada aplicación en diferentes puertos:

appname1 -qws                   --renders to the local display  
appname2 -qws -display VNC::0   --renders to VNC port 5900  
appname3 -qws -display VNC::1   --renders to VNC port 5901  
appname4 -qws -display VNC::2   --renders to VNC port 5902
Tags: ,

27 January 2012 ~ 0 Comments

Beagleboard bootargs a prueba de tontos

Esto es un volcado de printenv para tener bootargs que arrancan desde mmc o bien desde nand de manera automática.

OMAP3 beagleboard.org # printenv
bootcmd=if mmc init; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run nandboot; fi; fi; else run nandboot; fi
bootdelay=10
baudrate=115200
loadaddr=0x82000000
console=ttyS2,115200n8
vram=12M
dvimode=1024x768MR-16@60
defaultdisplay=dvi
mmcroot=/dev/mmcblk0p2 rw
mmcrootfstype=ext3 rootwait
nandroot=/dev/mtdblock4 rw
nandrootfstype=jffs2
mmcargs=setenv bootargs console=${console} vram=${vram} omapfb.mode=dvi:${dvimode} omapfb.debug=y omapdss.def_disp=${defaultdisplay} root=${mmcroot} rootfstype=${mmcrootfstype}
nandargs=setenv bootargs console=${console} vram=${vram} omapfb.mode=dvi:${dvimode} omapfb.debug=y omapdss.def_disp=${defaultdisplay} root=${nandroot} rootfstype=${nandrootfstype}
loadbootscript=fatload mmc 0 ${loadaddr} boot.scr
bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
loaduimage=fatload mmc 0 ${loadaddr} uImage
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}
stdin=serial
stdout=serial
stderr=serial
dieid#=776200040000000004037f660701701e

Environment size: 1160/131068 bytes

Algunas otras resoluciones de pantalla posibles son (sacadas de aqui):

  • omapfb.mode=dvi:1024x768MR-16@60
  • omapfb.mode=dvi:1280x720MR-16@60 (for 720p HDTV with 1:1 pixel mapping)
  • omapfb.mode=dvi:1280x1024MR-16@60 (tested on revB7, actual output is 57MHZ and may not work on some devices)
  • omapfb.mode=dvi:1360x768MR-16@60 (works nice on 720p HDMI TV which crops edges due to overscan)

26 January 2012 ~ 1 Comment

Qt para Beagleboard

Al incio no tenia idea de que cosa era un toolchain o para qué servía. Ahora entiendo que es el conjunto de herramientas para compilar para plataformas que no son la misma en la que estas desarrollando. Obvio nadie va a usar una Beagleboard como su workstation, desarrollar y compilar ahi mismo, eso seria simple, pero tremendamente lento (peor si fuera una Raspberry Pi). Lo mejor es usar tu compu (x86) y compilar usando un toolchain para la Beagle (ARM). Por eso es importante el toolchain.

Lo más facil es crearte una imágen de Beagle a la medida usando Narcissus. No te fijes en que la página de Angstrom esta fea, ni en que la actualizan 1 vez cada año, el software sirve muy bien y no esta obsoleto ni abandonado pues los paquetes de opkg se actualizan con frecuencia. Baja tu Angstrom, instálalo en tu Beagle y haz que corra, hay tutoriales para eso. Tambien hay tutoriales para hacer red via usb con g_ether.

Instala el toolchain de Angstrom

Es fácil, se descomprime y ya. Yo usé la versión angstrom-2011.03-i686-linux-armv5te-linux-gnueabi-toolchain.tar.bz2 que no trae Qt, obvio pq yo instalaré una versión más nueva, mide como 40 o 50 megas.

# cd /
# tar -jxvf /tmp/angstrom-2011.03-i686-linux-armv5te-linux-gnueabi-toolchain.tar.bz2

No temas, no ensuciará el sistema, solo instalará algunas cosas en /usr/local/angstrom y otras en /var/lib/opkg/, puedes usar mc para indagar si es que tienes curiosidad.

Hay que bajar Qt, yo usé la version estable mas nueva (4.8.0) pero las instrucciones sirven para cualquier versión y pronto saldrá Qt 5 y entonces todos querran rehacer este turorial para Raspberry Pi, que es casi igual que para Beagle.

Cuidado, esta compilación no usará OpenGL ES 2.0 (porque aun no se como hacerlo bien, jeje).

Compilando Qt

Detalles de Qt:

  • No documentación ni ejemplos ni traducciones, etc. Eso lo tienes en tu versión de escritorio.
  • Quitamos muchas otras cosas inútiles como cups, gtk, y soporte Qt3.
  • Soporte para ratón incluído pues esta versión ejecutará sin X11/Xorg
  • QWS y soporte para linux framebuffer
  • Servidor integrado de pantalla remota VNC para que puedas ver lo que sale en la beagle desde tu PC.
    /opt/miApp/bin/miApp -qws -display VNC:0
  • ¡Multimedia!
  • Scripting ¡y QML!
  • No WebKit para acelerar la compilación, aunque puedes incluirlo si lo  necesitas.
  • PNG, JPG, TIFF y MNG directo dentro de Qt

Compilar Qt para ARM

Se necesita un mkspec especial. Esto es simplemente una receta que le dice al compilador la manera correcta de compilar Qt para ARM. El source (.tar.gz) o tu clon de Qt trae una carpeta llamada mkspecs, ahi estan organizados muchos. Crearemos uno nuevo dentro de la subcarpeta qws.

Crear un makespec para la Beagle

Crear el directorio [qt-source]/mkspecs/qws/linux-DM3730-g++  el nombre lo copié de otro tutorial (por eso dice DM3730), es irrelevante así que déjalo tal cual para que puedas hacer copy/paste de todo lo que sigue.

# cd mkspecs/qws
# mkdir linux-DM3730-g++ 
# cd linux-DM3730-g++

Y ahi crear 2 archivos con el siguiente contenido:

Archivo mkspecs/qws/linux-DM3730-g++/qmake.conf, 21 líneas efectivas (contando comentarios e ignorando lineas vacías). Ignora los comentarios de “modifications to xxx”, no hay que modificar nada, nomas copia y pega las siguientes líneas en el archivo qmake.conf nuevo:

# -------------- qmake.conf --------------
# qmake configuration for building with arm-linux-g++
#
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

# modifications to g++.conf
# Angstrom toolchain
QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CC = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/gcc
QMAKE_CXX = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
QMAKE_LINK = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
QMAKE_LINK_SHLIB = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++

# modifications to linux.conf
QMAKE_AR = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/ar cqs
QMAKE_OBJCOPY = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/objcopy
QMAKE_STRIP = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/strip

load(qt_config)
# -------------- FIN: qmake-conf --------------

Nota que las rutas indican /usr/local/angstrom, tal cual debería ocurrir si no modificaste nada de

Archivo mkspecs/qws/linux-DM3730-g++/qplatformdefs.h,   solo tendrá una línea:

#include "../../linux-g++/qplatformdefs.h"

Ahora configura Qt con los módulos necesarios y sin los módulos irrelevantes:

# ./configure -opensource -confirm-license -prefix /opt/Qt-4.8.0_ARM -no-qt3support -embedded arm -little-endian -xplatform qws/linux-DM3730-g++ -nomake examples -nomake demos -nomake docs -nomake translations -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-qt3support -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -no-javascript-jit -script -scripttools -declarative -declarative-debug -no-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -no-nis -no-iconv -no-pch -no-opengl -no-openvg -no-sm -no-xshape -no-xvideo -no-xsync -no-xinerama -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-mitshm -no-xinput -no-xkb -no-xmlpatterns -no-webkit -no-sql-sqlite -no-sql-sqlite2 -multimedia -audio-backend -qt-gfx-vnc -qt-gfx-linuxfb

Ver en las notas finales parte de la salida del ./configure… Luego compilar e instalar.

# make && make install

Eso instalará todo en tu PC en /opt/Qt-4.8.0_ARM. Ahora crea un .tar y mandalo a la Beagle. En la Beagle crea la carpeta /opt si no existe y ahi mismo coloca lo de tu PC que esta en /opt/Qt-4.8.0_ARM.  Tendras lo mismo em ambos lados.

¡Qt está instalado en tu Beagle! Ahora configura algunos detalles necesarios para evitar dolores de cabeza.

Note: If filesystem was created using the narcissus progam, libstdc++.so.6 will be missing within the “/lib” directory of the target filesystem. This *.so file is needed to run Qt:

# opkg update
# opkg install libstdc++6

Configurar lo necesario en la Beagle

Edita en la Beagle: /etc/profile y coloca al final:

# Qt for ARM
export LD_LIBRARY_PATH=/opt/Qt-4.8.0_ARM/lib

Crea un usuario para tu Beagle, por comodidad yo usé “beagle”:

# adduser beagle

Cambia permisos y grupo de /opt (para deployment via Qt Creator):

# chown root:beagle /opt
# chmod g+rwx /opt

Para ejecutar aplicaciones sin X/Xorg con el parámetro -qws en el framebuffer con el usuario beagle, se necesita que esté en el grupo ‘video’. Edita directamente /etc/group para que la linea quede:

video:*:44:beagle

A lo mejor no es un 44, con cuidado en tu Beagle, ponle el que tenga. Aún así marcará error en la tty (el teclado) y en el audio y en otras cosas, habrá que editar las reglas de udev y poner todo como grupo beagle, eso es mas efectivo.

Una alternativa más fácil es hacer deploy como root, con eso todo funciona bien y no hay problemas de permisos ni grupos.

Notas

Pos si hace falta, entre lo que arrojó el ./configure salió:

Building on: qws/linux-x86-g++
Building for: qws/linux-DM3730-g++
Architecture: arm
Host architecture: i386
Build .................. libs
Configuration .......... cross_compile release shared dll embedded stl neon exceptions_off minimal-config small-config medium-config large-config full-config no-pkg-config embedded reduce_exports ipv6 clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify png no-gif freetype zlib multimedia audio-backend svg script scripttools declarative release
Debug .................. no
Qt 3 compatibility ..... no
QtDBus module .......... no
QtConcurrent code ...... yes
QtGui module ........... yes
QtScript module ........ yes
QtScriptTools module ... yes
QtXmlPatterns module ... no
Phonon module .......... no
Multimedia module ...... yes
SVG module ............. yes
WebKit module .......... no
JavaScriptCore JIT ..... no
Declarative module ..... yes
Declarative debugging ...yes
Support for S60 ........ no
Symbian DEF files ...... no
STL support ............ yes
PCH support ............ no
MMX/3DNOW/SSE/SSE2/SSE3. no/no/no/no/no
SSSE3/SSE4.1/SSE4.2..... no/no/no
AVX..................... no
iWMMXt support ......... no
NEON support ........... yes
IPv6 support ........... yes
IPv6 ifname support .... yes
getaddrinfo support .... yes
getifaddrs support ..... yes
Accessibility .......... no
NIS support ............ no
CUPS support ........... no
Iconv support .......... no
Glib support ........... no
GStreamer support ...... no
PulseAudio support ..... no
Large File support ..... no
GIF support ............ no
TIFF support ........... plugin (qt)
JPEG support ........... plugin (qt)
PNG support ............ yes (qt)
MNG support ............ plugin (qt)
zlib support ........... yes
Session management ..... no
Embedded support ....... arm
Freetype2 support ...... auto (yes)
Graphics (qt) .......... linuxfb multiscreen vnc linuxfb
Graphics (plugin) ......
Decorations (qt) ....... styled windows default
Decorations (plugin) ...
Keyboard driver (qt) ... tty
Keyboard driver (plugin) ..
Mouse driver (qt) ...... linuxinput
Mouse driver (plugin) .. linuxtp pc
OpenGL support ......... no
OpenVG support ......... no
OpenSSL support ........ no
Alsa support ........... no
ICD support ............ no
libICU support ......... no
Finding project files. Please wait...

26 January 2012 ~ 0 Comments

VNC para Qt Embedded (QWS) con resolución personalizada

Ejecuta la aplicacion usando los parámetros:

./miApp  -qws -display VNC:0  -geometry 1024x768+0+0

Si tu aplicación ejecuta en pantalla completa no es  necesario el -geometry. Pero para que realmente funcione debe existir una variable de ambiente

QWS_SIZE=1024x768

Por ejemplo, se puede hacer

# QWS_SIZE=1024x768 ./miApp  -qws -display VNC:0  -geometry 1024x768+0+0
Tags: , , ,

25 January 2012 ~ 0 Comments

Access to the Beagleworld for my little Beagle

So you have made a wrong choice and bought a Beagleboard without ethernet, looked so cheap, oh no…damn!

Let’s fix that easily. I assume you already have a booting card with some version of Angstrom and that you know what you are doing, so i won’t enter into trivial details. You will need:

On the Beagleboard:

  • We will use g_ether in auto insertion (next step) but you could
    modprobe -v g_ether

    yourself, the first time just in case

  • Fix the address for auto setup at /etc/network/interfaces:
# Ethernet/RNDIS gadget (g_ether) or LAN9514
 auto usb0
   iface usb0 inet static
   pre-up modprobe g_ether
   address 192.168.3.2
   netmask 255.255.255.0
   gateway 192.168.3.1
   post-down rmmod g_ether
  • Setup your real nameserver IP”s at /etc/resolv.conf

On your desktop

  • You also  need ‘g_ether’, so
    modprobe g_ether

    And maybe you wan to add ‘g_ether’ to /etc/modules for auto-loading on boot.

    You will see on the beagle a “link becomes ready” message on the dmesg output, look at it via serial.

  • You can use Network Manager and setup a fixed ip (192.168.3.1) for that interface or use any other tool for that.

Now you must be able to ping from both sides.

Internet Access

This needs additional configuration on the desktop. This a useful script:

# Assuming:
#-BEAGLE---+---DESKTOP PC------>
#-usb0-----|---usb0--eth0-->internet
#
echo "Remove any previous NAT setup"
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

echo "Setup NAT to forward packets from usb0 <---> eth0"
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface usb0 -j ACCEPT

echo "Enable packet forwarding in the kernel"
echo 1 >> /proc/sys/net/ipv4/ip_forward

Now your beagle will have access to the world.

24 January 2012 ~ 0 Comments

Before the night falls

Maybe you could think this blog is dead. But as a friend does with his Bar, I will go right into demise before letting my toy rot. Keeping a blog alive is incredibly cheaper than keeping a real Bar, but not less time consuming. Anyway, I was just taking a break, thinking about life and stuff.

I was in several parts of my little egg-shaped world since the last post, maybe, if you behave, i will tell you.

28 August 2011 ~ 0 Comments

Preguntas y Respuestas del Gran Colisionador (LHC)

Tríptico informativo en español del Large Hadron Collider del CERN. Útil para repartir entre los amigos no-iniciados y esclarecer rápidamente las dudas que puedan tener.

23 August 2011 ~ 0 Comments

EDIS Interactive tiene un Qt Ambassador

Ahora soy un Qt Ambassador. En la página de Qt se listan los beneficios. Ademas los proyectos de EDIS apareceran en la pagina de Ambassador Showcase.

Por ahi he encontrado que hay un paquete de bienvenida para los Ambassadors, que incluye playera, stickers y otras cosas. ¿Me tocará un paquete de esos?.

Por cierto, soy el primer Qt Ambassador Mexicano :-)

 

01 March 2011 ~ 1 Comment

El 5 y sus trapitos

five
Hay muchas características interesantes del número 5.

  • 5 es el menor número de reinas requeridas para atacar todos los cuadras de un tablero de ajedrez.
  • 5 es el único primo que es la diferencia de dos cuadrados de primos
  • 5 es el único primo que es miembro de 2 pares de primos gemelos.
  • 5 es el único numero que es la suma de los primos anteriores a él
  • 5 es el número de sólidos platónicos
  • 5 es el grado mas chico en el cual las raíces polinomiales no se encuentran en forma cerrada
  • 5 es el primo mas chico impar que no es primo Gaussiano
  • 5 es el menor número de vértices necesarios para crear un grafo no planar
  • El único poligono con el mismo número de vértices y diagonales es un pentágono.
  • 5 Es el primer primo seguro (de la forma 2p+1)
  • La Wikipedia tiene más cosas acerca del 5, muchas de las cuales me cuesta trabajo comprender sin ponerme a estudiar.

¡Y 5 es el número de minutos que me faltaron!

(Photo By woodleywonderworks)

11 February 2011 ~ 0 Comments

Why? Why do you persist?

Smith will try to break you, he does not understand you…

Why, Mr. Anderson? Why, why, why? Why do you do it? Why, why get up? Why keep fighting? Do you believe you’re fighting for something, for more than your survival? Can you tell me what it is, do you even know? Is it freedom, or truth, perhaps peace, could it be for love? Illusions, Mr. Anderson, vagaries of perception. Temporary constructs of a feeble human intellect trying desperately to justify an existence that is without meaning or purpose! And all of them as artificial as the matrix itself, although only a human mind could invent something as insipid as love. You must be able to see it Mr. Anderson, you must know it by now. You can’t win, it’s pointless to keep fighting! Why, Mr. Anderson, why? Why do you persist?

06 February 2011 ~ 1 Comment

Receta para confundir y mezclar la realidad y los sueños

  1. No dormir en 36 horas
  2. No comer en 12 horas,
  3. Cambiar de huso horario.
  4. Comer algo lite y dormir mientras se tiene la TV prendida a un volúmen medio-bajo con una película extraña.
  5. Intentar mantener la noción de la realidad mientras se dormita
  6. Elegir para dormir un lugar totalmente diferente a tu lugar habitual, en otra ciudad de preferencia, puntos extra si jamás has estado ahi
  7. Pensar fuertemente en el trabajo que tienes pendiente tanto en el huso horario actual como en el que dejaste
  8. Dormitar approximadamente 2 horas (si el punto anterior es auténtico seguro soñarás eso)
  9. Al despertar de inmediato intentar acoplar las ideas que tienes en la cabeza

Verás que la realidad parece mezclarse con los sueños y con ideas extraídas del programa de TV. Casi como si aún estuvieras soñando. Tu cerebro intentando justificar las ideas raras de la película, el trabajo por hacer y creando lazos de lógica muy raros (o mejor dicho ilógicos).

05 November 2010 ~ 0 Comments

One paper to rule them all

Un autor anónimo bajo el seudónimo “Carven von Bearnensquash”,  publica este año en el Proceedings of Computer Vision and Pattern Recognition (CVPR), 2010 un interesante y divertido paper. Comienza hablando de que año con año los candidatos a publicación en el CVPR aumentan y eso ha obligado a que se haga uso de referees subóptimos (léase gente chafa). Hace notar que hay cosas que de inmediato apantallan a los revisores y hacen creer que el autor tiene mas conocimiento del que realmente tiene, entonces el paper debe ser bueno. Ciertos tipos de gráficas, el incluír fórmulas y hermosos dibujos hacen que el paper automáticamente tenga mejor ranking.

Siendo un congreso de visión, no extraña que el paper se trate de visión. La propuesta se trata de tener un sistema automatizado, basado en visión, que clasifica los papers en buenos y malos, luego entrena su sistema y muestra que tiene un muy buen desempeño. Finalmente hace bootstrap y muestra que su sistema piensa que el paper en que se autodescribe es un buen paper. Hehehe. : )

El “Paper Gestalt” está aqui.

Tags: , ,

03 November 2010 ~ 0 Comments

El Diablo y Simón Flagg (completo)

Si estuvieron leyendo en las ultimas semanas, estuve traduciendo el relato: “The Devil and Simon Flagg”, ahora aqui pongo los 3 enlaces para que puedan volver a leerlos. El relato es algo largo, así que yo lo partí para poder traducirlo cuando tuviera tiempo.

El relato del Diablo y Simón Flagg trata de un matemático que practicamente le vende su alma al diablo a cambio de que le resuelva una pregunta. El trato se pone interesante cuando el matemático le hace una pregunta extremadamente dificil relacionada obviamente con matemáticas.

Si te gusta compra el libro y no te conformes con un resúmen. O si sabes ruso, puedes ver mas información en esta página, o en esta otra. O ver el siguiente video para disfrutar de su adaptación al cine.

03 November 2010 ~ 0 Comments

El Diablo y Simón (III). El final.

Cuando el diablo justo salía, la esposa de Simón entró.

“¿Escuchando en la puerta de nuevo?” le reprochó simon, sin resentimiento. “Naturalmente”, dijo ella.  “Y, querido, -quiero saber- acerca de esa pregunta ¿es muy dificil? porque si no,  Simon, Estoy muy preocupada.”
“Es difícil, y bastante.” Dijo Simon con cierta emoción. “Pero la mayoría de la gente no se da cuenta al principio. Verás”, prosiguió Simon dandose su status de Senior Mathematician II,  “cualquiera puede encontrar dos enteros cuyos cuadrados sumen un cuadrado. Por ejemplo 3^2+4^2=5^2; o sea, 9+16=25. Ves?”

“Oh hoh.” Ella ajustó su corbata.

“Pero cuando intentas encontrar dos cubos que sumen un cubo o de potencias mayores, al parecer no hay ninguno. Asi que,… “  — concluyó dramáticamente –, “nadie ha sido capaz de probar que esos numeros existan, ¿entiendes?”

“Claro”. La esposa de Simon siempre entendió matematicas, aunque a veces no muy bien. De otra manera la explicacion le era repetida hasta que lo hiciera, lo cual dejaba muy poco para otras actividades”.

“Haré algo de café” dijo ella y escapó.

“Cuatro horas despues cuando se sentaban a escuchar La Sinfonia 3 de Brahm, el diablo reapareció” [...]

19 October 2010 ~ 0 Comments

Maximiliano I

“Perdono a todos y pido a todos que me perdonen y que mi sangre que esta apunto de ser vertida, se derrame para el bien de este país; voy a morir por una causa justa, la de la independencia y libertad de México. ¡Que mi sangre selle las desgracias de mi nueva patria! ¡Viva México!” (En el final del Segundo Imperio Mexicano)

28 September 2010 ~ 2 Comments

Igual que mi sueño

Increíblemente comienza como un viejo sueño que tuve. Quien me conoce se sabe la historia. La diferencia sustancial es que este comic tiene una historia mucho mas geek, pero sublime. Me recuerda tambien a una vieja historia que un dia pondré, será luego de que termine de publicar la traducción de El Diablo y Simón.

22 September 2010 ~ 0 Comments

Déjà vu: Seguimiento 3D monocular

Acaba de salir al mercado el nuevo control de PS3 llamado “Playstation Move”:

Creo que me recuerda algo por allá del 2007 ~ 2008, incluso el color de la esferita:

Hasta donde entiendo, el principio de funcionamiento es el mismo, solo que la cámara del PS3 es mucho mas veloz (creo que 120FPS ). El sistema del video funcionaba en vivo a unos 15 o 20FPS creo, además el PS3 tiene muchísimo más poder de cómputo que la máquina que usaba yo. Y bueno, Sony tiene fabricas que hacen una carcasa de plastico muy bonita.

El sistema del video era un palito de sushi clavado en una pelota de goma, jejeje.

19 September 2010 ~ 0 Comments

Driver propietario de nvidia en Kubuntu

Muchos sitios mencionan la instalación del driver, pero la mayoría tienen un error. El driver de invidia necesita los headers del kernel para poder compilar el modulo. Sin los headers no se compila el modulo y te aparece un mensaje similar a:

Module build for the currently running kernel was skipped since the
kernel source for this kernel does not seem to be installed.

Entonces la manera de instalar el driver mas actual es (por ahora usando un PPA):

  1. sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
  2. sudo apt-get update
  3. sudo apt-get install linux-headers-`uname -r` nvidia-current nvidia-current-modaliases nvidia-settings

El paso 3 es la diferencia con los demás. Hay que instalar los linux-headers para tu version del kernel.

06 September 2010 ~ 0 Comments

Que nunca se te olvide

When running your app on commodity hardware, don’t expect anything better than commodity performance.[source]

23 August 2010 ~ 2 Comments

El Diablo y Simon (II): La pregunta

Claramente este relato fue antes de los 90′s, antes del trabajo de Andrew Wiles. Pero antes de dar clic en el enlace lee y no arruines la historia.

Cuando el diablo hubo firmado su línea, se frotó las manos, volteó a ver a Simón con una mirada que dejaba entrever cierta posesividad y dijo jovialmente. “Bueno, ¿cual es la pregunta?. Acabemos rápido esto y aun me quedará tiempo para otro cliente esta noche.”

“Esta bien”, dijo Simon. Tomo un respiro profundo y entonces:

“Mi pregunta es esta: ¿Es cierto el [...]

16 August 2010 ~ 5 Comments

El Diablo y Simon (I): La firma

“Este es un relato corto que por ningún lado encontré en español. Lo leí hace tiempo y esta divertido.

Luego de muchos meses de la más intensa investigación y el estudio de incontables manuscritos medio borrosos, Simon Flagg lo logró, contactó al diablo. Siendo una competente mediavalista, su esposa probó ser invaluable en la tarea. Él, siendo un mero matemático, estaba difícilmente capacitado para decifrar grafos en Latín, particularmente cuando términos complicados de demoniología del siglo décimo aparecían, por lo que fué afortunado que ella pudiera ayudarle.

Pasadas las primeras discusiones y malos entendidos, Simon y el Diablo se calmaron y comenzaron a negociar.  El Diablo no estaba muy feliz, Simon había declinado sin respeto muchos de sus gambitos fácilmente detectando la trampa que se le tendía en cada uno.

- Supón que escuchas una propuesta distinta de mí. Sugirió Simón. Es algo directo.

El Diablo giró irritante su cola con una mano, así como un hombre haría con su llavero. Obviamente se sintió injuriado.
- “Esta bien”, aceptó, con una voz poco amable. “No podría ser tan malo. Escuchemos tu propuesta.”

- “Yo haré una pregunta”, comenzó Simon, y el Diablo mostró algo de felicidad, “será respondida en menos de 24 horas. Si no lo haces, deberás pagarme $100,000. Eso es una suma modesta comparado con lo que te piden. Nada de millonadas ni Helenas de Troya en pieles de tigre.  Naturalmente no habrá represalias de ningún tipo si yo gano.”

- “Ciertamente!” murmuró el Diablo. “Y tu que arriesgas?”

- “Si pierdo, [...]

15 August 2010 ~ 0 Comments

BlackBerry y su mesa interactiva

BlackBerry estuvo muy presente en Campus Party 20120, incluso tenian una mesa interactiva en el stand. Campus TV cubrió su stand y este es el video que publicaron. Por lo que noté, a los niños les fascinaba estar jugando con los efectos.

11 August 2010 ~ 0 Comments

Commander Coriander @ Campus Party 2010

Kul Takanao Wadhwa, CEO de Wikipedia

Reportándo desde Campus Party 2010. Por supuesto que con pase de prensa, como debe ser ya que toda la Corporación Zarzamora está informando a sus lectores de este magno evento. Así que entremos en materia.

Las noticias como todos sabran es que ya han venido algunas personalidades importantes. Wozniak por ejemplo estuvo ayer en conferencia de prensa. Es raro que el resúmen oficial de Campus Party México cita fuera de contexto a Wozniak diciendo “la tecnología debe ser gratuita para llevarla a todos” siendo que cuando le hicieron justamente la pregunta acerca de la brecha digital, Wozniak respondió tajantemente que el no estaba de acuerdo en llevar para cierto “contenido” a la gente pobre para mostrarles lo que debido a su condición (de pobres) no pueden tener. Woz mencionó enseguida que los mejores ejemplos son dejar a la gente como está y que incluso en paises pobres lo que sucede que poco a poco se reduce la brecha y los pobres pueden acceder por sus propios medios (económicos) a la tecnología y de repente ya no es necesario llevarles nada. Algo asi como no darle un pez a un hombre sino enseñarlo a trabajar (o a pescar)…. No darle una netbook a un pobre sino un trabajo para que se compre una, teniendo en cuenta que no de la noche a la mañana todo el país tendrá una. Como sea Wozniak citó el caso de china.

La conferencia de prensa de Wozniak, que seguro encontrarán en mil lugares de internet.

Así que bueno, mañana seguimos con la información al mas puro estilo de Zarzamora Corporation.

20 June 2010 ~ 0 Comments

Commander Gonzalitos @Monterrey

Valió la pena.

Hubo excelentes comentarios y muchisimo interés, personas que muy sorprendidas decian (acento norteño) “¡No no no… esto esta con madre!, ¡ni me imaginaba yo que esto existía!”.

- El Compadre Tiësto me prestó parte de su equipo un ratito

Y ya luego durante el segundo dia, me subi a dar un mini concierto para todos mis fans. Hay muchas cosas que escribir que fueron divertidas o chuscas pero acabo de llegar y estoy cansadísimo.


12 June 2010 ~ 0 Comments

Tic, tac, tic, tac… monterrey contrareloj!

¡Necesito mayor prioridad del kernel del universo!

sudo renice -n -20 -p $(pidof ariel)

Chevillote, el prototipo de la UDLA, la presentación de Doctorado, Monterrey y los Casinos de Yak, un millon de llamadas a las aduanas, peleas con los agentes aduanales por la supuesta tecnología de guerra, todas las empresas de paquetería desfilando en las instalaciones del ITAI (Tresguerras, Julian de Obregon, Multipack, DHL, UPS, Fedex,…).

under pressure

Under pressure by massdistraction