Wozniak habla sobre educación y TIC

Es indudable que una de las aplicaciones más directas de las TIC es en la educación, desde la invención de las computadoras estas han estado ligadas al mundo académico e Internet, el gran sistema nervioso de la humanidad fue desarrollado primariamente dentro de las universidades. Pero a pesar de que las computadoras han estado presentes en la enseñanza superior desde hace mucho, sin embargo han sido incontables los fracasos de implementar las computadoras dentro de los salones de clase en escuelas primarias y secundarias.

En una entrevista ofrecida por Wozkiak a MobuzzTV, habla sobre su experiencia como maestro de primaria (que ejerció por 8 años), y entrenando maestros para apliacar las computadoras en el salon de clases, y Wozniak tiene una frase que sólo puede venir de alguien quién ha ejercido la educación: "sólo subiendo el nivel del maestro podemos hacer que suba la exigencia a los alumnos". Y ha sido justamente esa la clave del éxito de la implementación del proyecto OLPC en Uruguay, donde se han preocupado por entrenar a los profesores.

Aquí les dejo el video de Wozniak que deben de ver por las importantes ideas que ofrece sobre eduación y computadoras.

Cloud computing es la palabra de moda

En un post anterior en este blog hablamos sobre la pérdida de interes en web hosting, y como las búsquedas por ese criterio ha caído sostenidamente desde el 2004, y una de las razones que pensamos que podía estar ocacionando esa aparente falta de interés era una nueva palabra para buscar hosting, probablemente originada por un cambio de tecnología y al parecer en el blog de Pingdom han econtrado esa palabra y es "cloud computing".

He verificado en Google Trends y es cierto que hay un increíble repunte para el término "cloud computing". Aquí les dejo el gráfico que he obtenido.

Cloud Computing Trends

Y es que hay mucho interés por parte de los grandes actores de las TIC para proveer soluciones de cloud computing, esta tendencia fue iniciada por Amazon con sus servicios S3 y EC2, luego Google entró en el escenario con su App Engine, y ahora hay rumores de que Microsoft esta planeando estrar a dicho mercado con un servicio llamado Red Dog. Definitivamente hay un gran interés por llevar la "cloud computing" a las masas, ya que tanto IBM, Sun y HP lo han estado haciendo anteriormente pero con un claro enfoque a las grandes empresas.

Así que si queremos estar preparados para el futuro, las aplicaciones que desarrollemos deben ser hechas en base esta tecnología que está entrando con fuerza y que promete cambiar la cara de la web como la conocemos hasta el presente. Pues "cloud computing", ofrece gran disponibilidad y escalabilidad, pero debemos dejar muchas de las libertades que teníamos al tener el servidor propio. Además los lenguajes usados para desarrollar estas aplicaciones diseñadas para correr en una nube de servidores pueden ser radicalmente diferentes a los que usamos actualmente, por ello es que tal vez en el futuro próximo veamos un desuso de PHP en favor de otros lenguajes como Python o Ruby.

Piratas de Silicon Valley

El Valle del Silicio, o Silicon Valley en inglés, es el lugar geográfico donde se concentra la mayor cantidad de empresas relacionadas a las tecnologías de la información. Aunque en él han aparecido y evolucionado muchas empresas, sin duda alguna las dos empresas que han jugado el mayor rol en popularizar las micro-computadoras (PC como las conocemos ahora), han sido Microsoft y Apple, que han estado envueltas en una relación de amor/odio. Sus dos fundadores son personas que pueden despertar tanto odio como admiración.

Dado que hoy ha sido el último día de Bill Gates en Microsoft y probablemente Steve Jobs, sea reemplazado en Apple también, me parece un justo homenaje visionar la que es sin duda la película que mas fielmente retrata la vida de estos dos pioneros de las micro-computadoras, la película se llama "Piratas del Sillicon Valley", porque realmente en aquellos primeros años, las empresas y sus líderes se comportaban como asaltantes, que robaban impunemente la propiedad intelectual de otro, aunque ahora que ya son ricos defienden la legalidad.

Aquí les dejo la película en español para que la puedan ver tambien, lamentablemente la primera parte que es como 8 o 9 minutos que muentra la vida de Steve Jobs y Steve Wozniak antes de fundar Apple no la he podido encontrar en Youtube, todas las demás secuencias las he puesto en un solo playlist para que la puedan ver de principio a fin. Espero que les agrade.

El fin del método científico como lo conocemos

El día de hoy ha aparecido en la revista Wired, un artículo en el que se anuncia la llegada de una nueva era en lo que toca a la investigación científica, y que se ha dado en llamar la era Petabyte ( 1 Petabyte = 1 PB = 106 GB). Como la revista resume el método científico que hemos usado hasta la fecha para poder comprender el universo se basa en un ciclo de "Hipótesis ⇒ Modelo ⇒ Experimento". Donde primero nos formulamos una hipótesis sobre la cuál desarrollamos un modelo que explique un fenómeno de la naturaleza y luego aplicamos un experimento que nos llevará a probar la veracidad o falcedad del modelo.

Pues bien con la llegada de los grandes clusters de computadoras que pueden lidiar con cantidades de datos, jamas antes imaginadas ahora es posible con un simple modelo estadístico encontrar la respuesta que buscamos a todo problema científico. En pocas palabras con suficientes datos recolectados, los números hablaran por si mismos. Como ejemplifica claramente el artículo, es posible con una cantidad de datos equivalente que Google puede hacer traducciones entre Klingon (lenguaje ficticio, perteneciente al universo ficticio de Star Trek) y Farsi (el idioma que se habla en Irán), sin que el Google entienda una sola palabra de ambos idiomas, así como hace la traducción entre Francés y Alemán.

Esta capacidad de usar las matemáticas para encontrar cuál es el mejor anuncio para una página web, sin necesidad de que Google entienda el contenido de dicha página web o el anuncio en sí, ha hecho que Google se apodere del negocio de la publicidad contextual, en pocas palabras con suficiente poder de procesamiento y almacenamiento de datos, un simple algoritmo como el de correlación puede hacer obsoletas disciplinas como la taxonomía, ontología o psicología.

Ya no interesa buscar los mecanismos subyacentes de un hecho, por ejemplo el modelo newtoniano funcionó por doscientos años, hasta que fue reemplazado por el modelo cuántico, y ya hemos encontrada limitaciones al modelo cuántico que nos han llevado a formular modelos de universos de n-dimensiones. Pero aún por más elaborado que sea el modelo este siempre contiene debilidades, y es propenso a errores, sin embargo los datos son reales, los datos son.

En el artículo se pone como un ejemplo exitoso de esta recolección secuancial y sistemática de datos, a la que llama serialización, el caso del investigador Craig Venter, que ha investigado el genoma humano, y luego paso a estudiar con el mismo método el de todos los seres vivos de la tierra, el océano y el aire, llegando a descubrir nuevas especies que no habían sido descubiertas, usando solamente la colección meticulosa y procesamiento de datos.

Teniendo ésto en mente, ahora comprendo por qué todas las super-potencias compiten por tener la computadora más potente, pues sencillamente más poder de cálculo/almacenamiento representa mayor capacidad para comprender los eventos y les otorga una enorme ventaja competitiva. Eso explica también por qué las grandes compañías de bolsa de Wall Street (que poseen grandes clusters también) no se desplomaron con la crisis del sector inmobilirio en agosto del año pasado y fueron capaces de manipular el mercado hasta la fecha.

La era del método científico ha terminado, demosle la bienvenida al método del uso intensivo de los datos, ha llegado la era del Petabyte.

Escribiendo software de calidad

En Slashdot, encontré el martes de la semana pasada el post de Chuck Connell, sobre su trabajo de investigación en Ingeniería de Software, "Principios de diseño de software". En dicho post Connell hace una pregunta a la comunidad que sigue el popular agregador de noticias, sobre cuáles son los principios que se deben seguir para asegurar un software de calidad. No había tenido tiempo de comentar sobre él porque toda esta semana la he tenido bastante ocupada en la oficina, pero ahora que es sábado y puedo disponer de algo de tiempo hablaré sobre dicha investigación.

Primero algo de antecedentes, Connell esta desarrollando una tesis de investigación para obtener su título de PhD en Computer Science en Tufts University. Dicha investigación busca delinear los principios básicos que permitan un diseño de software de calidad, es más el ha publicado un paper sobre el terrible estado del software en la actualidad que ha titulado "La mayoría de software apesta".

En el paper que mencione Connell propone ciertas características que debe tener el software, para ser considerado "bello" o de calidad, estas son:

  • Cooperativo
  • Forma apropiada
  • Minimalismo del sistema
  • Componentes singulares
  • Localización funcional
  • Facilidad de lectura
  • Simplicidad

Y a lo laro del documento describe cada una de estas propiedades que son necesarias para que un software sea "bello". Al parecer este trabajo de investigación esta redescubriendo la polvora, un poco más y concluirá que el mejor modelo para desarrollo de software es el Open Source, al parecer nadie le ha dicho a Connell que lea "La Catedral y el Bazar", de Eric Raymond.  En general todo lo que comenta Connell no sería más que una formalización del documento escrito por Raymond y que le valiera el reconocimiento mundial hacer más de 8 años.

Lo que me parece raro es que las instituciones educativas de todo el mundo ignoren el excelente documento de Raymond, porque el explica claramente por qué el desarrollo de software cerrado es un modelo que produce naturalmente software de menor calidad. La regla de oro que enuncia Raymond en su paper es que a más ojos vean el código, más fácil es detectar errores y corregirlos. Con lo que se concluye de que no importa la metodología que se emplee para desarrollar software, si éste es cerrado y sólo accesible por los programadores, les tomaría a estos mucho tiempo llegar a un nivel de calidad aceptable, así que software de calidad o "bello" como dice Connell y modelo propietario de código cerrado son dos objetivos incompatibles entre sí.