Novedades en la categoría La Naturaleza del Software
Parece que no aprendemos nada y se sigue insistiendo en tratar de controlar la internet, como si la fuera una cosa que se puede poseer.
Quizás es bueno recordar lo que nos dijieron hace unos años atrás Sears y Weinberger, con respecto a Internet:
Internet no puede ser poseída, ni siquiera por las empresas a través de cuyos "caños" fluye, porque es un acuerdo, no una cosa. Internet no sólo está en el dominio público, sino que es un dominio público.
Hace 5 años atrás Sears y Weinberger nos dejaron World of Ends, el que podemos leer en nuestra lengua gracias al trabajo de traducción de Javier Smaldone. Si nunca han leido este texto, los invito a conocerlo, o a reencontrarse con este, para que no olvidemos lo fundamental sobre internet:
Mundo de Extremos (World of Ends)
Qué es Internet y Cómo Dejar de Confundirla con Otra Cosa
por Doc Searls y David Weinberger
Hay errores y errores.
De algunos errores aprendemos. Por ejemplo: pensar que vender juguetes para mascotas en la Web es una gran forma de volverse rico. No volveremos a hacerlo de nuevo.
Otros errores insistimos en cometerlos una y otra vez. Por ejemplo, pensar que:
- ...la Web, como la televisión, es una forma de mantener los ojos quietos mientras los anunciantes los rocían con mensajes.
- ...la Red es algo que las empresas de telecomunicaciones y de cable deben filtrar, controlar y, de algún modo, "mejorar".
- ...es algo malo para los usuarios comunicarse a través de distintos tipos de sistemas de mensajería instantánea en la Red.
- ...la Red sufre de una falta de regulación que proteja a las industrias que se sienten amenazadas por ella.
Cuando se trata de la Red, muchos de sufrimos del Síndrome del Error Repetitivo. Esto es especialmente cierto para los editores de diarios y revistas, radio y televisión, televisión por cable, la industria discográfica, la industria cinematográfica y la industria telefónica, por nombrar sólo a seis.
Gracias a la enorme influencia de estas industrias en Washington, el Síndrome del Error Repetitivo también afecta a los legisladores, reguladores e inclusive a las cortes. El año pasado la radio de Internet, una prometedora nueva industria que amenazaba dar a los radioescuchas opciones que por lejos excedían cualquiera de las cada vez más uniformes (y tecnológicamente paleolíticas) emisoras de AM y FM, fue asesinada en la cuna. Las armas, las municiones y los gritos de aliento fueron provistos por la industria discográfica y la Ley de Copyright Digital del Milenio (Digital Millennium Copyright Act), que incorpora todos los miedos que sentían los dinosaurios de Hollywood cuando hicieron lobby a favor de la Ley a través del Congreso en 1998.
"Internet interpreta la censura como una falla y la esquiva rodeandola", según una famosa frase de John Gilmore. Y es verdad. A la larga, la radio de Internet tendrá éxito. Los sistemas de mensajería instantánea interoperarán. Las compañías bobas se volverán listas o morirán. Las leyes estúpidas serán matadas o reemplazadas. Pero entonces, como dijo John Mainard Keynes, "a la larga, todos estamos muertos".
Todo lo que necesitamos hacer es poner atención a lo que realmente es Internet. No es difícil. La Red no es ingeniería espacial. No es ni siquiera ciencia de sexto grado. Podemos poner fin a la tragedia del Síndrome del Error Repetitivo durante nuestras vidas y economizar unos cuantos billones de dólares en decisiones tontas, si solamente recordamos un hecho simple: la Red es un mundo de extremos. Usted está en un extremo; todo y todos los demás están en los otros extremos.
Seguro, esta es una declaración simplista que afirma que todo el mundo tiene valor en la Red. Pero es también el hecho más básico y sólido sobre la arquitectura técnica de la Red. Y el valor de Internet se basa en su arquitectura técnica.
Afortunadamente, la verdadera naturaleza de Internet no es difícil de entender. De hecho, sólo un puñado de afirmaciones se encuentran entre el Síndrome del Error Repetitivo y la Iluminación.
1. Internet no es complicada
La idea detrás de Internet, en primer lugar, fue aprovechar el asombroso poder de la simplicidad, tan simple como la gravedad en el mundo real. Excepto que en vez de mantener pequeñas piedras sujetas a una gran piedra redonda, Internet fue diseñada para mantener pequeñas redes juntas, transformándolas en una gran red.
La forma de hacer esto fue hacer fácil, fácil, fácil para las redes el enviar y recibir datos hacia y desde otra red. Por lo tanto, Internet fue diseñada para ser la forma más simple concebible para enviar bits desde cualquier A hacia cualquier B.
2. Internet no es una cosa. Es un acuerdo
Cuando miramos los postes, vemos a las redes como cables. Y vemos a esos cables como partes de sistemas: el sistema telefónico, el sistema de alimentación eléctrica, el sistema de televisión por cable.
Cuando escuchamos la radio o miramos televisión, se nos dice en cada corte que las redes son fuentes de programación que es transmitida a través del aire o de los cables.
Pero Internet es diferente. No es un cableado. No es un sistema. Y no es una fuente de programación.
Internet es una forma para que todas las cosas que se dicen redes coexistan y trabajen de manera conjunta. Es trabajo entre-redes (inter-network, en inglés). Literalmente.
Lo que hace que sea una inter-red es el hecho de que Internet es simplemente un protocolo: el Internet Protocol, para ser más exactos. Un protocolo es un acuerdo sobre como las cosas trabajan juntas.
Este protocolo no especifica qué puede hacer la gente con la red, qué puede construir en sus bordes, qué puede decir, quién puede hablar. El protocolo simplemente dice: si usted quiere intercambiar bits con otros, así es como debe hacerlo. Si usted quiere poner una computadora o un teléfono celular o un refrigerador en la red, tiene que aceptar el acuerdo que es Internet.
3. Internet es estúpida
El sistema telefónico, que no es Internet (al menos no aún), es terriblemente listo. Sabe quién está llamando a quién, donde están ubicados, si es una llamada de voz o de datos, qué tan lejos llega la llamada, cuánto cuesta, etc. Y provee servicios que sólo tienen que ver con una red telefónica: llamada en espera, identificador de llamada y otras muchas cosas que a las compañías telefónicas les gusta vender.
Internet, por otra parte, es estúpida1. A propósito. Sus diseñadores se aseguraron de que la red más grande e inclusiva de todas sea tan tonta como una caja de piedras.
Internet no sabe muchas cosas que una red inteligente, como la telefónica, conoce: identidades, permisos, prioridades, etc. Internet sólo sabe una cosa: este montón de bits necesita ir desde un extremo de la Red hasta otro.
Hay motivos técnicos por los cuales la estupidez es un buen diseño. La estupidez es robusta. Si un ruteador falla, los paquetes se rutean esquivándolo, lo que significa que la Red sigue de pié. Gracias a la estupidez, la Red acoge nuevos dispositivos y gente, de manera que crece rápidamente y en todas las direcciones. También es fácil para los arquitectos incorporar capacidades de acceso a la red en todo tipo de dispositivos inteligentes -- filmadoras, teléfonos, regadores de jardín -- que viven en los extremos de la Red.
La razón más importante por la que la estupidez es buena tiene poco que ver con la tecnología y mucho con el valor...
4. Agregar valor a Internet disminuye su valor
Suena extraño, pero es cierto. Si usted optimiza una red para un tipo de aplicación, la empeora para otros. Por ejemplo, si usted deja que la red dé prioridad a los datos de voz o vídeo, asumiendo que necesitan llegar más rápidamente, le está diciendo a otras aplicaciones que deberán esperar. Y ni bien haga eso, habrá transformado la Red de algo simple, para todos, en algo complicado, sólo para un propósito. Ya no es Internet.
5. Todo el valor de Internet crece en sus bordes
Si Internet fuese una red inteligente, sus diseñadores hubieran anticipado la importancia de un buen buscador y hubieran incorporado capacidades de búsqueda dentro de la misma Red. Pero dado que sus diseñadores fueron listos, hicieron a la Red muy estúpida para eso. Por lo tanto, las búsquedas son un servicio que puede ser construido en uno de los millones de extremos de Internet. Dado que la gente puede ofrecer cualquier servicio que desee desde su extremo, los buscadores compiten, lo que se traduce en alternativas para los usuarios y asombrosa innovación.
Los buscadores son sólo un ejemplo. Dado que Internet mueve bits desde un extremo hasta otro, los innovadores pueden construir cualquier cosa que imaginen, contando con Internet para mover los datos por ellos. Usted no tiene que preocuparse por obtener permisos de los dueños de Internet o los administradores de sistemas o del Vice Presidente del Servicio de Prioritización. ¿Usted tiene una idea? Realícela. Y cada vez que lo haga, el valor de Internet crecerá.
Internet fue creada como un mercado libre para la innovación. Ésta es la clave del valor de Internet. Del mismo modo...
6. El dinero va hacia los suburbios
Si todo el valor de Internet está en sus bordes, la conectividad de Internet se vuelve un "commodity". Debe permitirse que eso suceda.
Existen buenos negocios en la provisión de "commodities", pero cada intento de agregar valor a Internet por sí misma debe ser resistido. Para ser más específicos: aquellos quienes proveen conectividad a Internet, inevitablemente desearán proveer contenidos y servicios adicionales, ya que la conectividad en sí misma sería demasiado barata. Manteniendo las dos funciones separadas, habilitaremos al mercado a fijar los precios que maximizarán el acceso y maximizarán también la innovación de contenidos y/o servicios2.
7. ¿El fin del mundo? No, un mundo de extremos. (The end of the world? Nah, the world of ends)
Cuando Craig Burton describe la arquitectura estúpida de la Red como una esfera hueca enteramente formada por extremos3, pinta una imagen que captura lo más destacable de la arquitectura de Internet: quite el valor del centro y habilitará un enloquecido florecimiento del valor entre los extremos conectados. Porque, por supuesto, cuando cada extremo está conectado, uno con uno y uno con todos, los extremos dejan de ser puntos finales.
¿Y qué hacemos nosotros, los extremos? Cualquier cosa que pueda ser hecha por cualquiera que desee mover bits.
¿Nota el orgullo en nuestra voz cuando decimos "cualquier cosa" y "cualquiera"? Viene directamente desde la simple y estúpida arquitectura técnica de Internet.
Porque Internet es un acuerdo, no le pertenece a ninguna persona o grupo. Ni a las influyentes compañías que proveen su "columna vertebral" ("backbone", en inglés). Ni a los ISPs que proveen nuestras conexiones. Ni a las empresas de hosting que alquilan nuestros servidores. Ni a las asociaciones de industrias que creen que su existencia es amenazada por lo que el resto de nosotros hace en la Red. Ni a ningún gobierno, no importa que tan sinceramente crea que está tratando de mantener a sus ciudadanos seguros y satisfechos.
Conectarse a Internet es aceptar el crecimiento del valor en sus bordes. Y entonces ocurre algo realmente interesante. Estamos todos conectados en igualdad de condiciones. No importa la distancia. Los obstáculos desaparecen y, por primera vez, la necesidad humana de conectarse puede ser satisfecha sin barreras artificiales.
Internet nos da, por primera vez, los medios para transformarnos en un mundo de extremos.
8. Las tres virtudes de Internet
Estos son los hechos acerca de Internet. Ya ve, le dijimos que eran simples.
¿Pero, qué significan para nuestro comportamiento y, más importante aún, el comportamiento de las mega-corporaciones y gobiernos que hasta ahora han actuado como si Internet les perteneciera?
Aquí están tres reglas básicas del comportamiento que están directamente ligadas a la naturaleza básica de Internet:
Nadie la posee
Todos pueden usarla
Cualquiera puede mejorarlaExaminemos más de cerca cada una...
8.a. Nadie la posee
Internet no puede ser poseída, ni siquiera por las empresas a través de cuyos "caños" fluye, porque es un acuerdo, no una cosa. Internet no sólo está en el dominio público, sino que es un dominio público.
Y esto es algo bueno:
- Internet es un recurso confiable. Podemos construir negocios sin tener que preocuparnos de que "Internet, Inc." vaya a forzarnos a actualizarnos, duplique su precio una vez que hayamos comprado, o sea adquirida por uno de nuestros competidores.
- No tenemos que preocuparnos por que algunas partes trabajen con un proveedor y otras con otro distinto, como ocurre con el negocio de los teléfonos celulares en los EEUU actualmente.
- No tenemos que preocuparnos por que sus funciones básicas vayan a funcionar solamente con "plataformas" de Microsoft, Apple o AOL, porque están por encima de ellos, fuera de su control propietario.
- La manutención de Internet está distribuida entre todos los usuarios, no concentrada en las manos de un proveedor que pueda quebrar. Todos nosotros somos un recurso más robusto de lo que puede ser cualquier grupo centralizado.
8.b. Todos pueden usarla
Internet fue construida para incluir a cada habitante del planeta.
Es cierto, sólo una décima parte del mundo (unas 600.000.000 personas) actualmente se conecta a Internet. Por eso la palabra "pueden" en la frase "Todos pueden usarla" está sujeta a las variaciones miserables de la suerte. Pero, si usted tiene la suerte de ser lo suficientemente rico para poseer una conexión y un dispositivo de conexión, la Red no le impone ningún obstáculo a su participación. No necesita que un administrador de sistemas se digne dejarlo participar. Internet intencionalmente deja los permisos del lado de afuera del sistema.
Es por eso que muchos de nosotros consideramos a Internet como un recurso natural. Nos aprovechamos de ella como si fuese una parte de la naturaleza humana que estaba esperando aparecer, de la misma manera que hablar y escribir ahora se sienten como parte de lo que significa ser humano.
8.c. Cualquiera puede mejorarla
Cualquiera puede hacer de Internet un mejor lugar para vivir, trabajar y criar niños. Empeorarla requiere de una gran estupidez, junto con una voluntad de acero.
Hay dos formas de mejorarla. Primero, puede construir un servicio en el borde de Internet, que esté disponible a quien lo desee. Hacerlo gratuito, hacer que la gente pague por él, poner un recipiente para que depositen monedas, lo que sea.
Segundo, puede hacer algo más importante: habilitar un conjunto de nuevos servicios "del extremo hacia la Red" mediante un nuevo acuerdo. Así es como fue creado el correo electrónico. Y los grupos de noticias. E inclusive la Web. Los creadores de estos servicios no hicieron simplemente aplicaciones finales y, seguramente, no manosearon el protocolo de Internet. En cambio, crearon nuevos protocolos que usan a Internet tal como es, de la misma manera que el acuerdo sobre cómo codificar imágenes en papel que es usado por las máquinas de fax para utilizar las líneas telefónicas sin requerir ningún cambio en el sistema telefónico propiamente dicho.
Recuerde sin embargo, que si usted crea un nuevo acuerdo, para generar valor tan rápidamente como lo hizo Internet, tiene que ser abierto, no propietario y para todos. Este es exactamente el por qué la mensajería instantánea a fallado en alcanzar su potencial: los sistemas líderes de mensajería instantánea (el AIM de AOL, ICQ y el MSN Messenger de Microsoft) son territorios privados que pueden correr sobre la Red, pero que no son parte de la Red. Cuando AOL y Microsoft decidan que deben correr sus sistemas de mensajería instantánea usando un protocolo estúpido que nadie posea y que todos puedan usar, habrán mejorado la Red enormemente. Hasta entonces, sólo están siendo estúpidos, y no en el buen sentido de la palabra.
9. Si Internet es tan simple, ¿por qué tantos se confunden sobre ella?
¿Será porque las tres virtudes de Internet son la antítesis de la visión de los gobiernos y las empresas acerca del mundo?
Nadie la posee: Las empresas están definidas por lo que poseen, tal como los gobiernos están definidos por lo que controlan.
Todos pueden usarla: En los negocios, vender bienes significa transferir derechos exclusivos de uso del vendedor al comprador; en los gobiernos, hacer leyes significa imponer restricciones a la gente.
Cualquiera puede mejorarla: Empresas y gobiernos valorizan roles exclusivos. Es sólo el trabajo de cierta gente hacer ciertas cosas, hacer los cambios apropiados.
Empresas y negocios, por su naturaleza, están predispuestos a malinterpretar la naturaleza de Internet.
Existe otra razón por la cual Internet no ha hecho un gran trabajo explicándose a sí misma: "El Gran Dinero" preferiría mantenernos pensando que la Red es solamente televisión lenta.
Internet ha sido como Walt Whitman escribió en "Canción de mí mismo" ("Song of Myself"): No me preocupo por ser entendido. Veo que las leyes elementales nunca se disculpan.
Por otra parte, las leyes elementales de Internet nunca imaginaron que habría gente que basaría sus carreras en no entenderlas.
10. Algunos errores que ya podemos dejar de cometer
Las empresas cuyo valor proviene de distribuir contenido de formas que el mercado ya no desea -- ¿puedes oírnos, Industria Discográfica? -- pueden dejar de pensar en los bits como si fueran átomos livianos. Nunca nos impedirán copiar los bits que queramos. En cambio, ¿por qué no nos dan algunas razones para preferir comprarles música a ustedes? Diablos, hasta les podríamos ayudar a vender sus cosas si nos lo pidieran.
Los funcionarios gubernamentales que han confundido el valor de Internet con el valor de sus contenidos, podrían darse cuenta de que al manosear el corazón de Internet están realmente disminuyendo su valor. De hecho, también podrían entender que tener un sistema que transporte todos los bits con igualdad, sin censura de gobiernos o empresas, es la fuerza más poderosa para la democracia y los mercados abiertos de la historia.
Los influyentes proveedores de servicios de redes -- Pista: comienza con "tele" y termina con "com" -- podrían aceptar que la red estúpida va a devorar a sus redes inteligentes. Podrían morder esa bala ahora en vez de gastar billones de dólares en los costos de demorar y pelear contra lo inevitable.
Las agencias federales responsables por la administración del espectro, podrían darse cuenta de que el valor de un espectro abierto es igual al verdadero valor de Internet.
Los que quieren censurar ideas, podrían darse cuenta de que Internet no puede distinguir entre un bit bueno y un bit malo, en ninguna circunstancia. Cualquier censura efectiva debería ocurrir en los extremos de la Red, y eso no funcionaría muy bien.
Tal vez las compañías que piensan que pueden forzarnos a escuchar sus mensajes -- sus banners, sus gráficos entrometidos que se superponen con las páginas que estamos tratando de leer -- se darán cuenta de que nuestra habilidad de movernos de sitio en sitio es intrínseca a la arquitectura de la Web. Podrían simplemente poner un banner que diga "¡Hola! No entendemos lo que es Internet. Ah, por cierto, te odiamos."
Ya es suficiente. Dejemos de machacar nuestras cabezas contra los hechos de la vida de Internet.
No tenemos nada que perder, excepto nuestra estupidez.
Referencias
1. "End-to-End Arguments in System Design" (J.H. Saltzer, D.P. Reed y D.D. Clark). "Rise of the Stupid Network" (David Isenberg).
2. "The Paradox of the Best Network" (Isenberg y Weinberger).
3. Entrevista de Doc Searls a Craig Burton (en inglés).
Traducción al español: Javier Smaldone (http://www.smaldone.com.ar)
Versión original (en inglés) y otras traducciones: http://www.worldofends.com/
Algunas modificaciones a la traducción por Eduardo Díaz
Vas a leer tu código 10 a 100 veces por cada vez que lo escribas, así que vale la pena tomarse la molesta de hacerlo legible. Lo modificarás al menos 5 veces después que lo hayas escito, así que tiene sentido hacerlo fácil de modificar. Y dado que no puedes predecir el futuro, no tiene sentido contruir un montón de cosas que no necesitarás de inmediato. Estos son los principio inmutables del desarrollo de software, y ni siquiera usando palabras como 'scripting', o 'model driven', o cualquier metáfora de programación de moda cambiaras ninguno de estos.
Kent Beck, en una reciente entrevista en The Register.
"Si miras al software hoy en día, a través de los lentes de la historia de la ingeniería, ciertamente es un tipo de ingeniería, pero del tipo de ingeniería que hacía la gente que no conocía el concepto del arco.
Mucho software hoy día es en cierta medida como una pirámide egipcia con millones de piedras apiladas una encima de otra, sin integridad estructural, construido por fuerza bruta y miles de esclavos."
Alan Key en una entrevista para la revista Queue, a lo que el entrevistador responde
La analogía es aún mejor porque hay cámara ocultas que nadie puede entender.
Hoy falleció Bobby Fischer, personaje del ajedrez. Una figura interesante, con una vida que da para novela o una buena película.
El ajedrez se ha convertido en un problema completamente solucionado desde el punto de vista computacional. En 1997 Deep Blue derrota a Kasparov y se demuestra que es posible construir una máquina que supera al mejor de los jugadores de este deporte.
La historia del ajedrez jugado por una máquina es de larga data, famosa es la historia del turco mecánico, una máquina con aspecto de turco que se dice derrotó incluso a Napoleón Bonaparte, en realidad no había ningún mecanismo, sino que en su interior era operada por el campeón austriaco de ajedrez Johann Allgaier.
Lo interesante es que los grandes pioneros de la computación han participado, en algún momento de su carrera, en este desafío de construir una máquina capaz de jugar ajedrez tan bien como un humano.
Alan Turing, el verdadero padre de la computación, Claude Shanon, creador de la teoría de la información, John Von Neuman en primer diseñador del computador programable y del modelo de casi todos los computadores modernos, y Ken Thompson, el creador de UNIX. Todos ellos han jugado ajedrez a otro nivel, construyendo programas o máquinas que jugaban ajedrez.
Turing
Alan Turing, al final de la segunda guerra mundial diseñó las instrucciones para una máquina capaz de jugar ajedrez. Como no habían máquinas en ese tiempo que pudieran ejecutar las instrucciones que el escribió decidió actuar el mismo como una "CPU humana", cosa que le tomaba aproximadamente una hora y media por jugada. Esta "máquina de papel" de Turing fue probada y tenemos el registro de una de sus partidas, en que la máquina de papel de Turing pierde ante uno de sus colegas:
Partida de Ajedrez entre la máquina de papel de Turing's versun Alick Glennie, en Manchester 1952:
1.e4 e5 2.Nc3 Nf6 3.d4 Bb4 4.Nf3 d6 5.Bd2 Nc6 6.d5 Nd4 7.h4 Bg4 8.a4 Nxf3+ 9.gxf3 Bh5 10.Bb5+ c6 11.dxc6 0-0 12.cxb7 Rb8 13.Ba6 Qa5 14.Qe2 Nd7 15.Rg1 Nc5 16.Rg5 Bg6 17.Bb5 Nxb7 18.0-0-0 Nc5 19.Bc6 Rfc8 20.Bd5 Bxc3 21.Bxc3 Qxa4 22.Kd2? [22.h5 podría haber tomado al alfil] 22...Ne6 23.Rg4 Nd4? [23...Rxb2! 24.Bxb2 Rxc2+] 24.Qd3 Nb5 25.Bb3 Qa6 26.Bc4 Bh5 27.Rg3 Qa4 28.Bxb5 Qxb5 29.Qxd6 Rd8 0-1.
Shanon
Claude Shannon, creador de la teoría de la información, analizó el problema en 1950 y consideró dos tipos de estrategias, una de fuerza bruta (Tipo A) y otra más selectiva (Tipo B). Y aunque Shanon consideró que los algoritmos de Tipo B son más eficientes, porque consumen menos recursos y toman menos tiempo. Sin embargo los mejores programas de ajedrez son del Tipo A, porque en la práctica el problema de seleccionar las jugada más plausibles en un momento dado es un problema muy complicado, y los adelantos en el hardware han permitido superar algunas de las objeciones en cuanto al tiempo de ejecución que planteó Shannon en su estudio.
John von Neumann
Durante el desarrollo de la bomba atómica uno de los problemas complicados eran los cálculos de la forma correcta que deberían tener las cargas de implosión que gatilan la reacción en cadena. La contrucción de un computador que hiciera estos cálculos fue encomendada a John von Neumman.
En 1950 el trabajo de von Neumann se reflejó en una gigantesca máquina llamada MANIAC I. Compuesta por miles de tubos de vacío y relés era capaz de ejecutar 10.000 instrucciones por segundo y además era programable (recordemos que el modelo de von Neumann es el estandar en casi todos los computadores modernos).
En vez de empezar a trabajar de inmediato en las bombas atómicas los científicos decidieron darle un uso más interesante a esta máquina, y lo primero que hicieron fue escribir un programa que jugaba ajedrez. Claro que una clase especial de ajedrez, donde el tablero tenía 6×6 casillas, sin alfiles. COn estas restricciones el programa era capaz de analizar jugadas hasta 4 niveles de profundidad y se tomaba unos 12 minutos en esta tarea (si se hubieran incluido los alfiles la tarea habría tomado tres horas).
Se hicieron 3 juegos a mediados de los 50 con este programa, el primero jugando contra si mismo, en que ganaron las blancas, el segundo contra un jugador experto, que tomó 10 horas para finalmente perder, y el tercero contra una joven voluntaria (que había aprendido a jugar una semana antes), en este caso el humano perdió en menos de media hora, y también tenemos registro de esa partida (recuerden que es un tablero de 6×6 y no hay alfiles):
MANIAC 1 - Human, Los Alamos 1956: 1.d3 b4 2.Nf3 d4 3.b3 e4 4.Ne1 a4 5.bxa4? [5.Nd2 and 6.Nd2-c4+ Nbcxc4 7.b3xc4 con un buen juego] 5...Nxa4 6.Kd2? Nc3 7.Nxc3 bxc3+ 8.Kd1 f4 9.a3 Rb6 10.a4 Ra6 11.a5 Kd5 12.Qa3 Qb5 13.Qa2+ Ke5 14.Rb1 Rxa5 15.Rxb5 Rxa2 16.Rb1 [para pevenir 16...Ra1 mate!] 16...Ra5 17.f3 Ra4 18.fxe4 c4 19.Nf3+ Kd6 20.e5+ Kd5 21.exf6Q Nc5 22.Qf6xd4+ Kc6 23.Nf3-e5 mate.
Esta partida corresponde a la primera vez que una computadora derrota a un humano.
Ken Thompson
A principios de los 80 Thpomson y algunos colegas en Bell Labs construyeron una máquina con un diseño específico para jugar ajedrez. De hecho fue la primera máquina en alcanzar el nivel de maestro en 1983.
Esta máquina, afectuosamente llamada Belle, costó unos 20.000 dolares y era capaz de analizar 180.000 posiciones por segundo (los super computadores de la época sólo eran capaces de hacer 5000 posiciones).
Era tan poderosa que fue confiscada por el departamento de defensa norteamericano cuando el equipo trataba de llevarla a un torneo en la Unión Sovietica en 1982.
Belle fue la campeona imbatible en casi todos los torneos entre computadores entre 1980 y 1983, hasta que fue derrotado por la supercomputadora Cray XMP, que costaba mil veces más.
Fuentes:
Aprendí Fortran en la Universidad de Chile, cuando era mechón. Aunque normalmente el curso se hacía con Ratfor, y al año después se empezó a hacer con Pascal, a mi, por razones que no recuerdo, me tocó hacer Fortran.
Acostumbrado a programar en Basic, no fue dificil para mi aprender este venerable lenguaje de programación.Hoy leí una reseña que en realidad nos muestra un Fortran bastante más moderno del que me tocó, Watfor-77.
Ahora se cumplen 50 años de Fortran, en el mismo año que su creador falleción, John Backus.
Backus además inventó la forma Backus-Naur, que es el formato en que se describen los lenguajes formales, en particular los lenguajes de programación.
No se cuantos programadores pueden decir que han inventado su propio lenguaje de programación, pero yo he inventado varios, y en los 90, junto con Marco Zúñiga alcanzamos a vender licencias y hacer cursos de un pequeño lenguaje de programación, inventado por él, y que después expandí, se trataba Sanscript.
Trabajamos por lo menos 2 años con este lenguaje, en diversos proyectos de telecomunicaciones, y tuvo un éxito modesto dentro de la industria nacional, tenía su propia máquina virtual, y correspondería a lo que hoy llaman lenguajes de dominio específico (DSL).
Algo de Fortran había en ese mini lenguaje, así que puede que sin Fortran no podría haber habido sanscript, y tampoco un memorable momento de mi vida.
Una de las mejores definiciones que he encontrado:
Hardware: Dícese en una computadora de todo aquello susceptible de romperse mediante el uso adecuado de una hacha, por oposición al software, que sólo puede ser maldecido.
Fuente: Lengua Tirada, en Le Vieux Coq
Les quiero presentar un par de innovaciones del investigador Johnny Chung Lee, postulante a doctorado en la Universidad de Carnegie Mellon.
La primera innovación la descubrí a través de un post en
Botón Turbo.. Lamentablemente en ese blog no entendieron muy bien que es lo que sucede, así que permitanme explicarlo, antes de presentarles el video.
En este caso Chung Lee escribe un programa en C# y utiliza el control de la Wii como dispositivo de entrada conectado a su Laptop, corriendo Windows. En ningún momento ha escrito código que se ejecute en la consola de Nintendo, todo ocurre en el laptop, y lo que se usa es el WiiMote. La característica principal de esta innovación es que utiliza el control de la Wii al revés, mueve el sensor infrarrojo en vez del WiiMote.
Noten el efecto que se produce al introducir el marco, una técnica usada en computación gráfica. Claro que sólo sirve para un usuario, el que esté portando el sensor infrarrojo a la altura de sus ojos. Como explica Chung Lee, esta innovación le da nuevas posibilidades a la Wii.
La segunda innovación de Chung Lee, y que a mí me parece más interesante es cómo usa este concepto de usar el WiiMote para seguir el rastro de un lapiz infrarrojo. Con esto monta una pizarra interactiva, y luego construye su propia versión del Surface, claro que a una centésima parte del costo (una WiiMote cuesta unos 50 dolares, y un Surface unos 5000).
¡¡Con esto se pueden montar pizarras interactivas en cualquier colegio, a una fracción del costo!!
Lo mejor es que todo el código fuente de estos proyectos está publicado, les sugiero explorar la página de proyectos de Chung Lee y sorprenderse con este innovador.
Estos proyectos han sido desarrollados en Windows usando como base la Managed Library for Nintendo's Wiimote escrita por Brian Peek y publicada en el blog de Microsoft Coding4Fun.

