Archive for the ‘Filosofia’ Category

Programar sin programar.

Tuesday, May 8th, 2007

Bueno, como ya sabemos que P=NP (:P).

La idea que proponía hace un tiempo era hacer una base de datos enorme y compartida, de todos los mejores algoritmos para realizar cualquier función. Usaríamos un lenguaje funcional tan simple como el hablado para resolver cualquier problema.

Aprovechando que P=NP, probablemente siempre sepamos el mejor algoritmos para resolver un problema.

De modo que en esa enorme base de datos ya no necesitaremos tener código. Asúmiendo que se deriven los algoritmos óptimos de sus especificaciones, con guardar especificaciones ligadas al nombre de los algoritmos y/a/o sus sinónimos, basta.

¿Fácil, sencillo y para toda la familia, no?

Algo falla en la educación.

Monday, May 7th, 2007

Y el que no lo vea, en mi humilde opinión, está ciego o tiene poca visión de futuro.

Por eso son importantes iniciativas como esta.

Que se puede aprender lo mismo divirtiéndose y entendiéndolo lo sabe todo el mundo.

Sin embargo seguimos copiando apuntes como borregos, algo que también todo el mundo sabe que es inútil, las cosas no se memorizan a largo plazo por copiarlas, sino por entenderlas.

Aprendemos muchas cosas estériles.

¿Si todos vemos que se puede mejorar porque no se mejora?

¿Falta de medios? ¿No se ve el camino?

En la escuela ya pensaba que la forma de la que nos enseñaban distaba mucho de ser óptima, tiene que haber algo mejor. Y no hablo de adquirir conocimientos con una pastilla mágica.

¿Porque no se dedican equipos enteros a desarrollar, por ejemplo, software EDUCATIVO para universitarios?

Yo me sé de un par de asignaturas de Ingeniería Informática, que si un software interactivo las explicara decentemente y con un mínimo de diversión y elegancia, podrían venderlo a 100 leuros la unidad, y lo venderían como churros.

P.D.: De más joven probé Adi, una maravilla en aquellos tiempos de 486 y Windows 3.1. La idea era genial, y de verdad que aprendías algo, pero el software distraía demasiado y te permitía juguetear en exceso.

Con la iglesía hemos topado.

Friday, March 23rd, 2007

Seguimos con la serie de la (falta de) libertad de expresión en la publicidad.

Esta vez la “polémica” campaña retirada (van tres en una semana), ha sido en Panamá.

Y mira que a mi me parece una campaña cojonuda, en contra de los prejuicios.blank380.jpg

Programar será facíl.

Tuesday, March 20th, 2007

Hay una idea que lleva rondándome ya mucho tiempo.

Para empezar tenemos el hecho, de que programar, sin errores, hoy por hoy, parece imposible.

Por otro lado es una técnica difícil de dominar.

Ahora expongo mi idea, que puede que sea imposible de llevar a la práctica por su complejidad, pero haría de la programación un juego de niños.

Ya conté algo de que lo ideal sería un diálogo en el que tu le indicases, abstractamente, al ordenador, que es lo que deseas hacer.

La primera parte de la idea es buscar un lenguaje de programación que no pueda fallar, y ahí esta SPARKAda.

La segunda es montar sobre ese lenguaje otro mucho mas complejo. Esto llevará posiblemente a una sobrecarga algorítmica bastante importante, pero no se puede hacer una tortilla sin romper los huevos ;).

Con este segundo lenguaje (lo llamare miSOl, si de verdad lo hago algún rato), la idea sería muy sencilla, hay que hacer una base de datos enorme, de algoritmos (una librería, del tamaño de la de Alejandría).

En esta base de datos habrá un algoritmo para cada propósito, pero no se trata de hacer un sistema experto con una librería enorme de per se, la idea es infinitamente más simple y cómoda.

Resumiendo, tu lo que haces es pedir hacer un programa, eliges que tipo de programa quieres hacer y su nombre, luego, siguiendo un procedimiento de diseño descendente, explicas de forma general lo que hace el programa.

En cada parte de lo que has dicho que hace explicas lo que hace esa parte, y así sucesivamente, hasta que reduces el problema a  uno que se pueda escribir en un par de lineas de SPARK. Este programita en SPARK se añade a una gigantesca base de datos, y cada vez que quieras volver a hacer eso, directamente usará ese algoritmo.

Aún tengo que pensar que estructura habria qe usar para esa base de datos, y creo que aún no se me han ocurrido ni una facción de los problemas que puedan aparecer(el principal creo que sería automatizar la especificación en SPARK, pero de verdad pienso que la idea es realizable, y que puede simplificar la programación  e incrementar su velocidad y fiabilidad de forma exponencial (al fin y al cabo es nuestro lenguaje el que dominamos, incluso pensamos con él).

Inmortalidad.

Tuesday, March 20th, 2007

Seamos sinceros, ¿a quien no le gustaría ser inmortal?

Pues este tipo, propone investigar en ese campo, como si de cualquier ingeniería se tratase.

Hay que añadir que él es un ingeniero informático, que mas tarde se ha interesado en la genética, algo muy parecido a lo que tengo en proyecto ;). Otro día os hablare de mi PDU -Plan de Dominación Universal, primero crearemos La Herramienta, luego la inmortalidad, y por fin, conquistaremos el universo.

En mi opinión (y es sólo mía), en un futuro a medio, largo plazo, el ser humano seguirá dos caminos simultaneos en busca de la inmortalidad: la modificación genética (yo desde luego trastearía con mis genes siempre y cuando hubiera un mínimo de seguridad) y la utilización simultanea de nanobots para controlar que todo en nuestro cuerpo funcione lo mejor posible, corregir los posibles fallos de la naturaleza falible e inestable de la biología.

También creo que un primer paso sería “quimerizarnos” un poco. Me explico, habría que investigar las bases genéticas que sustentan las increíbles capacidades, de por ejemplo estas dos especies: la hidra y la salamandra.

La hidra (que yo sepa) es el único animal biologicamente inmortal, es decir, no envejece. Esto ocurre porque nuestras células están concebidas para dividirse un numero limitado de veces, en cambio, las de este animal acuático se pueden multiplicar sin límite. Se cree que este limite, en los humanos, sirve para luchar contra los tumores. Una célula cancerígena es básicamente una célula que “quiere ser inmortal”, por lo tanto la existencía de este limite, limita su propagación.

Por otro lado, la salamandra, es capaz de regenerar sus miembros, si los pierde.

Creo que ambas habilidades, si se pudieran extrapolar a los humanos, serían increíbles.

Sobre todo la primera, pero junto a la segunda nos harían prácticamente inmortales (esto va por ti, peonza ;)).

Interfaces hápticos.

Saturday, March 17th, 2007

Leo vía Macuarium, lo que llaman interfaces hápticos.

El tema no carece de interés, y hay por ahí vídeos de pantallas táctiles haciendo cosas impresionantes.

Pero yo esta tecnología la veo limitada.

Sí, tiene una ventaja, y es que al estar los sensores sobre una superficie es relativamente fácil que esa misma superficie le devuelva un “feedback” al usuario (bajo forma de vibración, pequeña descarga electrica, sensacion de “forma”..etc).

En ese camino sería interesante estudiar como pequeñas corrientes podrían variar las percepciones del sistema nervioso.

Lo que ocurre es que yo no creo que este “feedback” táctil sea necesario.

Preferiría no verme limitado por una superficie bidimensional, y que el sistema capturara posiciones en tres dimensiones (añadiendo el eje z de la profundidad), pese a que así fuera más dificil o imposible “sentir” que realmente estas tocando algo.

Me bastaría con, por ejemplo, ver mis manos representadas en pantalla, y puede que algún sonido de confirmación, si hace falta, para confirmar que alguna acción ha sido realizada.

P.D.:¿Que os parece este hack de XGL?

Accesibilidad

Sunday, March 11th, 2007

No creo que un sistema operativo debiera tener ventanas.

Pero muchísimo menos una linea de comandos (lo siento, Bencer), al menos para el usuario común.

Un sistema operativo (de cara al usuario) debería ser una interfaz tan intuitiva o más que el mundo que nos rodea.

Cuando miremos una zona de la pantalla, esta debería de iluminarse, si señalamos un objeto, acercarse, si le decimos a nuestro ordenador “ordenador, quiero hacer un programa que haga tal cosa”, que comience un diálogo entre nosotros y nuestro ordenador, de forma que mediante unas pocas (breves y abstractas) descripciones, en unos minutos tengamos un programa acabado, sin necesitar ningún conocimiento de programación, ni que haga falta saber que hace “en sus tripas” el computador. Que cuando movamos nuestra cabeza, lo que haya en pantalla cambie su perspectiva para acercarnos un mundo realmente tridimensional.

Un sistema sin menús ni nada que nos resulte tan intuitivo que no haya que aprender a usarlo.

Y no es que a mi no me guste saber como lo está haciendo, es que creo que lo ideal es que el usuario no lo sepa.

Un sistema operativo, y por lo tanto un ordenador, debería de ser una ventana a otro mundo.

Un mundo en el que no debería haber ni un solo fallo, porque sino los ordenadores se relegan a lo que son para la mayoría de usuarios hoy en día, poco más que un juguete y un procesador de textos.

A partir de entonces tendriamos una herramienta, LA HERRAMIENTA. Que nos facilitaría cualquier tipo de trabajo y abriría todo un mundo de posibilidades.

Pero para ello hay que desarrollar cosas que ni siquiera sé si son posibles, para empezar programas infalibles, y un lenguaje de programación natural de verdad, con algúna caracteristica muy especial. Por otro lado, creo que mucha parte del hardware que haría falta ya existe, ahí estan las webcams en casi todos los portátiles.

Y aquí acaba (por ahora) mi disertación filosófica.

P.D.: (Repito que hablo de un SO orientado únicamente al usuario, a un único usuario, que es lo que debería de haber en cada casa).

Las tres leyes de la róbotica están mal formuladas.

Wednesday, March 7th, 2007

Isaac Asimov propuso unas leyes en las que el primer objetivo es proteger al ser humano (más tarde a la especie humana, con la ley cero o Zeroth). Pero había situaciones en que los robots de sus novelas de ficción se veían en casos extremos donde tenían que violarlas, entonces morían como consecuencia de sus actos.

Hasta aqui veo dos fallos, que tal vez introdujera Asimov, con el fin de dotar a sus novelas de mayor dramtismo.

-Las leyes no deberían ser leyes que castigaran, sino simplemente leyes que impidieran, realizar ciertos actos.

-Estas leyes no corresponden exactamente a nuestros instintos y/o a nuestras leyes.

Por lo tanto propongo mi reformulación:

Ley 0: Proteger la persistencia de la especie humana.(O no poner nunca en peligro la especie humana)

ley 1: Proteger la libertad de la especie humana.(O no poner nunca en peligro la libertad de la especie humana).

Ley 2: Proteger la vida de cada ser humano.(O no matar nunca a un ser humano)

Ley 3:Proteger la integridad de cada ser humano.(O no dañar nunca a un ser humano)

Ley 4:Proteger la vida de todos los robots.

Ley 5:Proteger la integridad de todos los robots.

¿Que puntos flacos les veis a estas leyes? (Por si no os habéis fijado he puesto por delante la libertad de la humanidad a la vida de un individuo).

¿Habrían de proteger los robots sus libertades?

¿Sobraría las dos últimas ley?

En cualquier caso no cabría la posibilidad de dañar a alguien para salvar a otros, sino que habría que “salirse por la tangente” y buscar una solución alternativa sin dañar a nadie. Pese a que cada “directriz” tenga un peso… todas ellas deberían de ser inviolables, y evitar los conflictos entre una y otra en la medida de lo posible.

ACTUALIZACIÓN: Parece que en Corea empiezan a tomarse estas cosas en serio.