Archive for the ‘Informática’ Category

Chrome supera a Opera

Tuesday, September 23rd, 2008

Desde que salió Chrome hasta ahora ha pasado menos de un mes y ya ha superado en numero de accesos a este blog a Opera.

Interprete de Brainf*ck

Wednesday, June 18th, 2008

¿Qué es Brainfuck?

Es un lenguaje de programación extremadamente “simple”.

Su gramática sería algo como:

S:=[ + | - | > | < | [ | ] | . | , ]*

es decir, una cadena de caracteres compuesta por los símbolos

+

-

<

>

[

]

Supuestamente cualquier otro carácter en el código se debe ignorar, lo cual quiere decir que todo lo demás son comentarios.

El objetivo fundamental de este lenguaje no fue otro que el de permitir crear el compilador mas pequeño del mundo (originariamente 240 bytes).

BF está basado en la máquina de Turing mejorada (en realidad la máquina de Turing original solo podía escribir 0 ó 1 en la cinta) sin embargo BF tiene una limitación importantísima con respecto a las máquinas de Turing: tiene un tamaño de cinta finito (el límite, aunque no es un estandar, suele estar fijado en 30000 bytes). Dicha máquina de Turing sirve sobre todo para estudiar conceptos matemáticos relacionados con la teoría de la Computabilidad y la teoría de la Complejidad.

Según la tesis de Church-Turing no existe ninguna máquina conceptual capaz de resolver un algoritmo que no resuelva una máquina de Turing.

Normalmente los defensores de la IA fuerte mantienen que el cerebro humano (y según parece ser, el Universo) es reducible a una máquina de Turing.

¿Para que sirve BF?

Programar en este lenguaje en lugar de utilizar uno de más alto nivel (como puede ser por ejemplo el lenguaje ensamblador) sólo puede tener un motivo: llevar al extremo la práctica del onanismo mental y probar el nivel de frikismo.

A continuación: un interprete de Brainfuck que yo programé hace tiempo en forma de applet de java (me apetece un café)

El logotipo de Google (favicon) cambiado por una g minúscula

Sunday, June 1st, 2008

Parece ser que, desde hace un par de días, Google ha cambiado el icono que aparece en la barra de direccion de la página principal (favicon)

Google's favicon

Las conjeturas no se han hecho esperar y ya he oido de todo, desde que se trata de un error, un ataque, una nueva estrategia de Marketing, e incluso que lo han hecho en pro de satisfacer el 5 mandamiento de Google:

5) Don’t take success for granted

  • Think and act like an underdog
  • Be humble with success; don’t be arrogant
  • Be scrappy and resourceful

Dreamhost vuelve a estar caido

Tuesday, May 27th, 2008

A ver cuanto dura esta vez

Tireless

Thursday, May 22nd, 2008

El 19 de Mayo se cumplieron 8 años desde que el submarino nuclear HMS Tireless se vió obligado a atracar en Gibraltar con motivo de su reparación. Por aquel entonces yo me encontraba cursando 1º de Bachiller, y, dada la repercusión de la noticia decidí utilizar el tema como motivo de mi primer videojuego: “Tireless”, un pong bastante sencillito pero gracioso. Espero poder mostraroslo pronto.

Visión por computador II

Monday, May 12th, 2008

 Parece que tenía razón, usar la crominancia da mejores resultados para detectar una mano que simplemente usar la intensidad.

Visión por computador

Sunday, May 11th, 2008

En estos estoy terminando un pequeño proyecto de visión por computador. Se trata de un programa que reconoce cosas, ya sea círculos por la pantalla o mi mano.

Por ejemplo aquí el programa está reconociendo con éxito un circulo dibujado a mano en la pizarra y la forma redonda del objetivo. Sin embargo solamente en ocasiones reconoce correctamente los dos cirulos pequeños.

Circles recognition

Aquí por ejemplo el programa está delimitando los bordes de mi mano. Esta primera versión tiene en cuenta diferencias de intensidad, pero creo que funcionará mucho mejor cuando lo cambie a diferencia cromática.

Computer vision

Google Speaker Series: Inteligencia Amplificada

Tuesday, April 29th, 2008

Hoy ha tenido lugar en Gløshaugen una conferencia protagonizada por Patrick J. Hayes a la que estoy muy contento de haber podido asistir.

Patrick J Hayes

En la conferencia, Patrick ofreció tres razones por las que rechazaba el test de Turing como mecanismo para determinar la existencia de inteligencia o no en una “máquina”:

  1. Mala definición del experimento: Según el método científico, se debería enunciar una hipótesis para posteriormente deducirla a partir de consecuencias observables. Sin embargo el test de Turing se centra en demostrar que una máquina no es capaz de pensar cuando no supera el test, mientras el hecho de que la máquina supere el test plantea cuestiones sin resolver.
  2. La máquina desde el principio debe estar diseñada para mentir , con lo que, por ejemplo, debe ocultarle al interrogador su alta capacidad de cálculo numérico o la velocidad de escritura. En ese aspecto, no parece razonable afirmar que la máquina puede hacer algo más que simular inteligencia.
  3. Cualquier experimento debe ser reproducible de manera objetiva en cualquier situación, sin embargo en este caso el resultado del experimento depende en gran medida de la cultura del interrogador, de su procedencia, personalidad, etc…

Tras esto, propuso una alternativa a la definición de IA, como “Inteligencia Amplificada” (manteniendo el acrónimo) desde un punto de vista más práctico, donde la máquina supone una prótesis cognitiva que extiende la inteligencia humana de la misma manera que unas gafas extienden la capacidad de visión. Según Patrick, Deep blue no fué quien derrotó a Garri Kasparov, sino el hombre que había sentado en la silla escribiendo en la terminal los movimientos en cada jugada.

También remarcó que “cuando algo funciona correctamente, automáticamente deja de ser IA, para convertirse en un simple algoritmo”, dando un claro ejemplo de lo que se consideraba Inteligencia Artificial a mediados de los años 50, cuando John Bakus propuso a la IBM una forma de convertir un lenguaje de alto nivel (FORTRAN) en lenguaje entendible por la máquina de manera automática.

Sin ninguna duda, esta conferencia ha sido altamente enriquecedora, aunque personalmente considero que la definición del test de Turing es un concepto de lo más valioso aún 50 años después de ser expuesto. Google, incluso, lo sabe bien desde el mismo momento en que pretende desarrollar una máquina que supera dicho Test. ¿Qué objetivo puede querer conseguir Google con esto?, ¿Conquistar el mundo?, según Patrick, conquistar el mundo es una obcecación exclusivamente Estadounidense … pero… Google no, el mundo ya lo tienen, ahora mismo están con la Luna. El objetivo real puede ser más sencillo que todo eso, por ejemplo, intentar sentar en la silla del interrogador a la “máquina inteligente” para detectar si un correo electrónico ha sido enviado por un ser humano o por otra “máquina menos inteligente” que solo sabe escribir SPAM.

BUG 5930745: Nada de Oracle funciona.

Monday, April 28th, 2008

De acuerdo, todo parece funcionar correctamente, ya has terminado tu aplicación de ADF (con un gran esfuerzo) y se ejecuta correctamente en tu servidor local. Ahora intentas subirla al servidor y… “java.lang.NoSuchMethod exception” … “error 500″… ¿Se puede saber que clase de información es esa para depurar un error? ¿Qué se supone que hay que hacer ahora?

Codigo fuente de Windows Vista robado

Tuesday, April 8th, 2008

Se ve que han vuelto a filtrar trozos de código fuente de Microsoft. Aquí esta la función principal de Windows Vista.

Windows vista source code