jump to navigation

Android rooting… September 23, 2013

Posted by hackandfab in Uncategorized.
Tags: ,
add a comment

This entry will be updated soon.

Using GK802:

boot.img  “key file no exists”  -> It is looking for boot.md5 instead of boot.img.md5

Bordeando el Uncanny Valley. August 3, 2013

Posted by hackandfab in Filobótica.
add a comment

Tenemos tostadoras. Tenemos aspiradoras. Tenemos aspiradoras que rastrean nuestro salón en busca de una mota de polvo fresca. Tenemos fábricas repletas de robots. Tenemos extensiones de nuestro cuerpo que operan en quirófanos o luchan en guerras.

No tenemos un igual.

El desarrollo de un habitante artificial que pueda ser considerado un igual precisa del reconocimiento de nosotros mismos en este ser. Para ello debe contar con un número de equivalencias. Cuanto mayores sean las equivalencias, más nos reconoceremos en él. Sin embargo este reconocimiento no tiene una progresión lineal, sino que entra en crisis cuanto mayor es la semejanza física, hasta el punto de producir repulsión o incluso rechazo. Es lo que llamamos el Uncanny Valley.

Masahiro Mori nos cuenta una historia triste pero con un final feliz. El valle tiene una cima justo al otro lado y esa cima es alcanzable cuando el ser artificial sea prácticamente indistinguible del humano. Desgraciadamente más de 40 años después aún no hemos alcanzado esa cima, aunque ha habido grandes aproximaciones, como los Geminoides de Hiroshi Ishiguro o el desarrollo de David Hanson. Nadie duda que, con presupuesto, mentes especializadas y destreza manual, el Uncanny Valley será finalmente superado.

Pero, ¿cómo pensar en la democratización de la robótica humanoide cuando estos requisitos solo pueden cumplirse en el seno de grandes empresas o universidades? ¿Cómo hacer algo replicable y asequible, si el conocimiento en el que se basa está envuelto en secretismo, o peor aún, basado en la creación de patentes?

Pues pensando que quizás la clave no esté en superar el Uncanny Valley, sino en bordearlo. Desde mi punto de vista, existen dos caminos posibles para realizar esta evasión.

El primero de ellos está relacionado con la percepción de la personalidad del ser creado. Como bien explica Scott McCloud en Understanding Comics: The Invisible Art (1, 2, 3, 4, 5, 6), existen una serie de fenómenos perceptivos, en su caso aplicados al cómic, que permiten a una caricatura generar mayor empatía que un dibujo realista. El mismo David Hanson tomó este camino al crear su robot Zeno, siendo actualmente uno de los pocos robots humanoides que es tratado por los niños como un igual.

El segundo camino consiste en mostrar de forma evidente la materia de la que está fabricada la simulación. El cerebro, al tener resuelto el misterio sobre su origen, baja las alertas y desactiva el rechazo. Si la simulación, aún evidenciando la materia, es lo suficientemente buena, podemos llegar a identificarla como a la igual que buscamos.

Si bien el primero de los caminos ha sido ya investigado, teorizado y puesto en práctica, el segundo aún se encuentra en una fase intuitiva, prematura. Por eso considero necesario mostrar ejemplos encontrados en otras disciplinas artísticas, pues en robótica el uso de esta solución no ha sido puesto en práctica aún de forma intencionada.

TÉCNICAS PICTÓRICAS.

Durante siglos, la pintura ha aspirado a recrear la vida y el alma de los retratados. Métodos como el de las veladuras, mediante la transparencia del oleo, hacían palpitar la piel de los retratados.

Iñigo Montoya by Brian StelfreezePero en su intento por esconder la pincelada, en su empeño por ocultar el medio, no hacían más que activar alarmas en nuestro cerebro: Miedo a la enfermedad, miedo a la sustitución, miedo a lo que es totalmente propio y sin embargo, ajeno.

Ocurre sin embargo que, cuando las proporciones son correctas y el nivel de detalle suficientemente alto, evidenciar el medio a través de la aguada, de la pincelada o del trazo provoca el efecto contrario al esperado: Convence.

CREACIÓN 3D.

La recreación de vida a través de un medio virtual se ha visto afectado desde un primer momento por el problema del Uncanny Valley. Para evitar este conflicto, las grandes producciones han recurrido al primer camino, caricaturizar al personaje para evitar la confrontación (si bien en largos como Las Aventuras de Tintín se acercaron peligrosamente al realismo desde el mundo del cómic).

Aún sin tratar en profundidad el tema antropomórfico, quizás uno de los grandes ejemplos de realidad virtual que logra convencer lo encontramos con Alex Roman y su The Third & The Seventh.

Si algo que define el trabajo de Alex Roman es el sabor analógico de sus creaciones: La iluminación, los brillos, el desenfoque, el grano, el uso de una gama de colores definida y de un tipo de movimientos de cámara. Todo nos remite a un momento concreto de la historia de la fotografía donde, en teoría, la cámara registraba lo que ahí estaba, y por lo tanto eso representaba la verdad. Alex evidencia los defectos propios del medio fotográfico para añadir esa veracidad a sus creaciones, de tal forma que nuestro cerebro, aún sabiéndolas imposibles, las toma como reales.

MEDIOS ESCULTÓRICOS.

Si en pintura el resultado se acercaba más a la verdad cuando se evidenciaba el trazo, o la aguada, y en 3D ocurría cuando se evidenciaba el sabor analógico de la fotografía, ¿cómo aplicar esta misma solución a la escultura y, sobretodo, a una cara robótica?

La silicona es un buen material para emular caras humanas. No sufre putrefacción como el látex, puede pigmentarse y, si se añade cierto grado de esponjosidad, tiene un peso parecido a la piel humana. Por lo tanto crear rostros en movimiento con ella debería de resultar efectivo y sin embargo encontramos principalmente malas réplicas y de vez en cuando alguna buena parodia.

Siguiendo la lógica de evidenciar el material con el que está realizado, este rostro no debería de emular las características de la piel humana, sino funcionar como piel humana sin perder su aspecto de silicona. Y la silicona, en el imaginario popular, es o blanca o  transparente.

Transparente como la cara de Sony, el protagonista de I, Robot (2004).

ns5proto Sony como personaje está diseñado para despertar el Complejo de Frankenstein y, por lo tanto, provoca miedo. Pero da miedo, no asco, ni repulsión, ni, desde mi punto de vista, Uncanny. Al hacer evidente el material del que está fabricado su cara, sin intentar emular de forma impecable una piel humana, Sony es sincero, y esto nos produce confianza. Sin embargo es lo suficientemente complejo y parecido como para que podamos considerarlo como a un igual.

 

 

 

Blanca como la cara de Björk haciendo de robot en su propio videoclip:

Tras todo esto, podría considerarse que existe una forma de crear que no necesita de grandes inversiones o de inalcanzable habilidad técnica. Encontrar las fórmulas que desactiven el Uncanny Valley de una manera asequible no solo democratizará la creación de iguales robóticos, sino que también permitirá la generación distribuída y expecífica de los mismos.

Errores en LibreOffice Calc July 18, 2013

Posted by hackandfab in Uncategorized.
Tags: ,
add a comment

El Libre Office Calc tiene errores significativos.

Cuando multiplicas directamente 0,000005 por 1000000 el resultado es 5

 Jugando con coordenadas GPS, En una celda haces 43,271815-43,27181, da 0,000005 clavados y en otra coges lo anterior y lo multiplicas por 1000000. el resultado debería ser 5 y Libre Office dice por el… cuatro te la inco: 4,9999999945

LibreOffice 3.5.7.2
Build ID: 350m1(Build:2)

Libreoffice no me ha dado ticket.
Launchpad report: Bug #1202550

Sendkeys con programas tontos June 28, 2013

Posted by hackandfab in Uncategorized.
add a comment

Como automatizar programas ajenos en windows con Sendkeys

ej: meter esto en un fichero .txt y renombrarlo a .vbs
<code>
rem
rem Autoria, liencia y para que sirve.
rem

Set wshShell = CreateObject(“WScript.Shell”)

wshShell.Run wshShell.ExpandEnvironmentStrings(“””%PROGRAMFILES%\blabla\blabla\bla.exe”””)

rem en windows 7 %PROGRAMFILES(x86)%

Do Until Success = True
    Success = wshShell.AppActivate(“nombre_de_la_ventana_no_del_ejecutable”)
    Wscript.Sleep 1000
Loop

Wscript.Sleep 500
wshShell.SendKeys “{TAB}”
Wscript.Sleep 100
wshShell.SendKeys “{TAB}”
Wscript.Sleep 100
wshShell.SendKeys ” “
        rem asi se envia un espacio

Wscript.Sleep 100
wshShell.SendKeys “Parrafada del copon”
</code>
http://msdn.microsoft.com/en-us/library/8c6yea83%28v=vs.84%29.aspx

Syntaxis de C, C++, JAVA y la cosa de Duff June 22, 2013

Posted by hackandfab in Uncategorized.
Tags: , , , ,
add a comment

Image

Durante una comida del trabajo me comentaron que la sintaxis y estructuras básicas de C, C++ y Java eran las mismas poniendo como ejemplo “el while y el case” y yo decia que no era asi. El caso más extremo práctico que no solo es una curiosidad academica es la cosa o dispositivo de Duff.

http://en.wikipedia.org/wiki/Duff%27s_device

Es un tipo de estructura muy usada en drivers para pasar datos entre registros.

Básicamente es un do_while dentro de un switch y esto se puede hacer en C y C++ pero no se puede hacer en JAVA. Es solo un ejemplo de que las estructuras son similares pero no idénticas. Es posible implementar lo mismo sin punteros, no es cuestion de que en JAVA no se puedan usar punteros sin más.

http://www.lysator.liu.se/c/duffs-device.html

send(to, from, count)
register short *to, *from;
register count;
{
        register n = (count + 7) / 8;
        switch(count % 8) {
        case 0: do {    *to = *from++;
        case 7:         *to = *from++;
        case 6:         *to = *from++;
        case 5:         *to = *from++;
        case 4:         *to = *from++;
        case 3:         *to = *from++;
        case 2:         *to = *from++;
        case 1:         *to = *from++;
                } while(--n > 0);
        }
}

¿El principio del fin del movimiento maker? June 18, 2013

Posted by hackandfab in Uncategorized.
1 comment so far

Siempre ha habido gente que construye cosas y resuelve problemas y mientras haya gente las seguirá habiendo.

El enorme incremento actual de “makers” es una burbuja debida al hype y la publicidad causada por la creencia de que si otro puede hacerlo fácil también puedes tu. Puede ser cierto pero no inmediatamente.

Hacer cosas requiere tiempo y aunque las impresoras 3D hayan bajado el listón y permitan una satisfacción rápida no es así cuando hay que diseñar algo. Las impresoras 3D se seguirán vendiendo pero el mercado DIY de impresoras se estancará porque para poder seguir creciendo deben ir a mercados tradicionales donde la gente lo quiere ya sin complicarse la vida.

Los makers disfrutan encontrando soluciones a problemas, una vez los encuentran no son problemas y puede parecer fácil o incluso ser fácil reproducir algo pero no es lo mismo hacer por ejemplo una canción que darle al play.

En la medida en que la gente se vaya dando cuenta del tiempo que requiere la burbuja se desinflará pero no explotará.

Estamos ocupados haciendo cosas May 9, 2013

Posted by hackandfab in Uncategorized.
2 comments

Hacer cosas lleva tiempo y escribir en blogs y usar twitter quita tiempo.

Esto antes era el blog personal de Iker donde ponía lo que me daba la gana y en algún momento pasará a ser la web de Mar e Iker pero eso sucederá cuando haya ganas y tiempo.

 

Evitar proxys transparentes March 4, 2013

Posted by hackandfab in Uncategorized.
Tags: ,
add a comment

Hay un par de trucos que suelen funcionar sin tener que hacer un tunel.

Poner https:// en la URL sirve para acceder a sitios bloqueados por http si es que tienen servicio por https. Con hotfile funciona.

Otra mas simple es poner un ? al final de la url

Tecnicamente esto es usar un tunel pero ya que está hecho…
http://proxy.org/ssl_proxies.shtml

GIT detras de un firewall automaticamente March 1, 2013

Posted by hackandfab in Uncategorized.
add a comment

Cyanogen usa un montón de scripts que hay que cambiar manualmente para que usen https en vez de git para que funcionen en redes capadas por un firewall.

Con esto se hace automáticamente:

git config --global url."https://".insteadOf git://

Modulos USB serie mips(el) para NEC Linkbird MX February 28, 2013

Posted by hackandfab in Uncategorized.
Tags: , , , , , , , , , , ,
add a comment

NEC no publica sus modificaciones al código fuente del kernel de Linux de sus Linkbird MX y viene sin soporte de módulos USB-serie. Deberían publicar y es ilegal no hacerlo pero no lo hacen así que he tenido tunear un kernel estándar similar y compilarlos yo. No le deseo a nadie que tenga que volverlo a hacer asi que los he subido a github.

https://github.com/hackandfab/LinkBird_USB_rs232

Poco a poco según Mar le vaya pillando el truco a github iremos subiendo cosas que hicimos el año pasado.

 

Dado que las herramientas de cross compilación no iban tuve que hacer una maquina virtual y tunear qemu 1.4rc para que admitiese la CPU de 64 bit de NEC (una VR41XX ) pero por suerte NEC solo la usa a 32 bit y es posible usarla en la nueva versión de Qemu 1.3.1 para windows que acaba de compilar Eric Laussage.

http://lassauge.free.fr/qemu/QEMU_on_Windows.html