Archivos Abril 2006
Para reirse un rato, dedicados a todos ustedes que usan Linux, Marxistas Leninistas!! (ups yo también uso linux)
Via Fresqui
Publicado originalmente en inglés: http://shelleytherepublican.com/2006/04/linux-european-threat-to-our-computers.html
(Los comentarios son míos y van en negrita)
Linux es el cancer de AméricaPor Shelley El Republicano Shelley Goodman
Iowa City, Iowa,
United States
Como la mayoría de las cosas que merece la pena poseer, los ordenadores son un invento americano. Échale un vistazo a cualquier ordenador moderno y verás que es producto del ingenio americano.Supongo que América incluye a los que vivimos al sur de Rio Grande. Debe ser lindo Iowa
Por ejemplo, este robusto portátil IBM que estoy utilizando fue diseñaon y construido por una compañía americana. Funciona con software desarrollado por Microsoft, una de las organizaciones americanas más productivas. Mi ordenador hace todo lo que pueda necesitar: puedo realizar mi trabajo, presentar mis impuestos e incluso buscar en la Biblia. Al igual que toda la gran ingeniería americana, es un ejemplo de innovación que pone celoso a un creciente grupo de hackers europeos y chinos. Odian nuestro liderazgo en tecnología informática y no se detendrán ante nada hasta que hayan tomado el control de todos nuestros ordenadores.
Que decepción se llevará este caballero cuando sepa que IBM invierte miles de millones de dolares en Linux, y que además le vendió el negocio a los chinos :)
Estoy hablando de un proyecto llamado "Linux", algo con lo que quizás aún no te has topado, pero puede que algún día lo hagas. Es un programa de ordenador que, en un principio, fue desarrollado en Finlandia como un intento de evadir los derechos de copyright y las patentes de una compañía americana llamada SCO Group.
Dios me guarde y me proteja.
Ya sabía yo que SCO tenía la razón, Linus sólo quería piratear SCO Unix.
A diferencia de Windows, que es un producto comercial ya maduro (habitualmente incluido en todos los ordenadores nuevos), Linux es regalado. Puede que no parezca un gran problema; después de todo, hay un beneficio mínimo regalando un producto.
El viejo pascuero es demócrata.
Ésto sería así si no fuera por la seductora ideología Marxista del proyecto Linux y el effecto que tiene los liberales de los Estados Azules (n.t: el azul es el color de los Demócratas Norteamericanos. Según ésto, los Estados Azules son los gobernados por dicho partido). De hecho, Linux está tan extendido y asentado entre los Estados Azules y muchas de las universidades liberales que uno de los mayores expertos en computadoras, Steve Balmer (de Microsoft) ha descrito Linux como un cancer.
Esa está buena, Ballemer uno de los mayores expertos en computadoras.
La industria americana de software está valorada en más de de 7.000 millones de dólares; introduciendo un producto extranjero como Linux, el cual a menudo se distribuye gratuitamente, podría amenazar a toda la industria. Una generación de usuarios podría acostumbrarse a aceptar software extranjero antes que pagar por un producto americano de calidad superior. ¡Si tan sólo el peligro afectara a nuestra economía!:
Pero si SAP (una empresa alemana) vende eso.
Hoy en día, los ordenadores controlan todo; desde emisoras de televisión hasta buques de guerra. Nuestra infraestructura de defensa e información crucial están contruidos sobre tecnología informática. Si consentimos que este cancer se introduzca en nuestras redes, no sería posible predecir el efecto que tendría en nuestra infraesctuctura, y eso es justo lo que los liberales están intentando hacer.
Parece que no se ha dado cuenta que linux se infiltró en la NSA (la agencia nacional de seguridad norteamericana)
Imagina si el discurso del Estado de la Unión fuera hackeado porque la emisora de televisión decidiera ahorrarse dinero utilizando Linux. Imagina si un bombardero espía se estrellara porque su software fue escrito por hackers chinos o europeos. Tendría el mismo sentido que invitar a los francese a venir a que invadiesen la Casa Blanca.
Yo creo que con Windows debe ser más fácil, más aún si usan Internet Explorer.
¿Y sabes que software utiliza Osama Bin Laden en su portátil? Si has pensado que es Linux, has acertado del todo. Osama utiliza Linux porque esta diseñado para piratear DVDs, para saltarse el Acta de Copyright Digital y para defraudar a compañías como Disney.
Ahí está!! Linux es de los terroristas, y el Pinguinito se afila al pobre Ratón.
La próxima vez que alguien te pregunte cómo financian los agentes de Al Queda sus rifles y sus lanzamisiles, puedes contestarle que unos hackers extranjeros hacen un software llamado Linux que les ayuda a robar a los americanos.
Linus Torvalds es un agente de Al Qaeda.
El problema de Linux es un tema que está creciendo y que los conservadores americanos no se pueden permitir ignorar. Por suerte, Microsoft ha preparado una gran cantidad de información para ayudar a los usuarios a mantenerse alejados de esta amenaza. Y hay algo que tu puedes hacer para ayudar a que América siga siendo el número 1 en el sector de la informática:
Bill Gates debe decir "no me ayude tanto compadre" :)
Si uno de tus amigos está usando Linux o pudiera estar tentado a probarlo, enséñale este artículo. Explicale que Linux es una seria amenaza y que si lo utiliza podría estar dejando las puertas de su ordenador abiertas a hackers chinos.
Quedan todos advertidos.
Si ves que una compañía utiliza Linux, es posible que no hayan pagado por ese software. Denúncialos ante la Alianza de Empresas del Software, quienes tienen la autoridad legal de inspeccionar los ordenadores de cualquier empresa en busca de cualquier programa ilegal, como Linux.
Pero cómo!! ¿No que se regalaba Linux?
Linux es ilegal.
Por último, recuerda añadir a los usuarios de Linux en tus oraciones esta noche. Como individuos, puede que no seamos capaces de cambiar la mentalidad de la gente, pero la Biblia nos enseña que Dios puede hacer que cualquier pecador se arrepienta.
Oremos hermanos, por el alma de ese terrorista Linus Torvalds, el ser más abyecto y malvado que ha pisado la tierra, que Dios se compadezca de él, y le perdone todos sus pecados.
Hoy es el día del Libro del Libro y del Derecho de Autor, y Ricardo me ha lanzado un desafío (¿un meme?), que consiste en recomendar algún libro.
Dificil, sobretodo porque he leido tanto y cuesta elegir. Creo que no es suficiente con esto, así que vamos a crear una categoría específica para recomendar libros.
Entre la ciencia y el mito

La riqueza de la mitología, el valor de los mitos, y de los ritos en nuestra sociedad están condensados en este pequeño libro, que es un anticipo de la gran obra de Campbell, "Las Máscaras de Dios", mi segunda recomendación.
Campbell es un gran pensador, y maestro. Aunque muchas personas lo leen buscando una especie de guía espiritual, Campbell nunca trató de ser un Gurú, o una especie de maestro espiritual, simplemente elaboró una teoría de la mitología, descubrió la estructura de los mitos, y resaltó el valor para la psique social del mito.
Los mitos son a las sociedades, como los sueños a las personas, en esa frase se puede resumir lo que encierran estos libros.

El primero es Atrapando La Luz, de Arthur Zajonc (ISBN: 8489691029). Un hermoso libro que nos cuenta la historia de la Luz, desde la concepción de antiguas religiones, que hablan de una lucha entre un Dios de la LUz, y otro de la Oscuridad, los estudios que le dedicaron Da Vinci, Newton, Goethe y Einstein. Escrito por un físico, este libro es la historia de la luz, desde todas las perspectivas, las místicas, artísticas, filosóficas y principalmente desde la ciencia.
Grandes libros
Momentos Estelares de la Humanidad, de Stephan Zweig (ISBN: 84-261-0102-X), si te gusta la historia, debes leer este libro, Zweig es un gran narrador, y este libro es un buen ejemplo de su estilo, pero rico en detalles asombrosos, por decir lo menos, y un indicador de como a veces un pequeño detalle puede significar la caida de una civilización.
"Gog y el Libro Negro", y "La Historia de Cristo", de Giovanni Pappini. Al igual que Zweig, Pappini es un gran escritor, pero Pappini es un gran provocador, y un converso sincero, y apasionado. Desconozco si Gog fue escrito antes de su conversión al cristianismo, pero es un libro provocador y si alguien quiere aprender a provocar, remecer la mente, Pappini es un gran maestro.
Cuando publiqué mi primer artículo sobre las máquinas del fin del mundo fue excusa para hablar sobre Inteligencia Artificial (IA).
He recibido buenos comentarios, algunos en el blog y otros privados. Así que gracias a todos.
Vamos a continuar con el tema, pero les advierto que esta es una serie laaaaarga.
Por razones de tiempo este post será cortito, pero es fundamental para lo que sigue, y si me demoro en publicar tengan paciencia, que hay que trabajar para poder pagar el host del blog.
¿Qué es la vida?

Un ser vivo se caracterizará por:
- Su capacidad de preservarse, es decir, mantenerse vivo, operativo, funcional, el máximo tiempo posible.
- Su capacidad para reproducirse, debido a que hay límites (las leyes de la termodinámica, por ejemplo), no podemos pensar que un ser vivo vivirá para siempre, así que los seres vivos se reproducen como una forma de preservarse en el tiempo.
- Su capacidad para evolucionar. Evolucionar es adaptarse, el que no se adapta a los cambios del entorno muere.
Esta es una definición operacional, esto quiere decir que si una entidad cumple con estas funciones la vamos a considerar viva.
Es controversial, es discutible, podemos filosofar todo lo que queramos, pero si queremos explorar si es posible construir una IA, debemos partir desde alguna parte. Si llegamos a un punto muerto, entonces buscamos otro punto de partida.
El primer camino que tomaremos es el de los proponentes de la Vida Artificial. Según esta escuela, si uno reproduce el camino de la evolución eventualmente va a llegar a entidades vivas, artificiales, pero inteligentes.
Surgen cuestiones importantes:
- ¿Es necesaria la vida para que surja una entidad inteligente?
- ¿Es la autoconciencia una necesidad para ser inteligente?
- Tenemos una definición operacional de vida, pero debemos elaborar una definición operacional de qué es auto conciente, y de que significa ser inteligente.
Esos son los problemas que exploraremos. Hay muchas posturas, pero en el próximo post exploraremos la Vida Artificial, y como esta ha sido usada para tratar de crear inteligencia artificial.
Pero les dejo planteado un pequeño ejercicio, dada la definición operacional de arriba, ¿podemos decir que Internet es un ser vivo?
Aparte de ser una interesante coincidencia numérica, ¿qué razones hay para pensar de que el mundo debe acabar?
El fin por culpa de la tecnología
La verdad es que el fin del mundo ha sido anunciado muchas veces, y no sólo por fanáticos religiosos.
Las visiones apocalípticas normalmente anuncian todo tipo de cataclismos, pero, como sería de esperar, en el último tiempo se han agregado otras causas del fin del mundo, atribuibles a la tecnología:
- El fin del mundo por el uso de armas bioquímicas
- Guerra Nuclear total
- La explosión de plantas nucleares
- Una super máquina que crea un vórtice, o un agujero negro
- El calentamiento global y una nueva era glacial
- El surgimiento de inteligencias artificiales que destruyen a su creador
Esta última "amenaza" me da la excusa para iniciar una exploración sobre la inteligencia artificial, sobre la que voy a escribir en los siguientes artículos.
El miedo a la inteligencia artificial
Cuando se habla de esta visión de la máquina que se alza contra su creador, muchos lo comparan con Frankestein, de Mary Shelley. En realidad no es lo mismo, pues la "criatura" es un humano vuelto a la vida (bueno, un humano construido a partir de partes de muchos cadaveres).
En Matrix no sabemos cómo son las "máquinas", vemos robots en forma de calamares, pero son sólo "trajes", para acomodar inteligencias artificiales. Las inteligencias artificiales viven en la matrix, un mundo virtual, que tiene un soporte físico (hardware), alimentado por la energía bioquímica de millones de seres humanos.
En Terminator la idea es similar, una inteligencia artificial surge desde una red militar (skynet), y esta intelgencia decide destruir al hombre, para eso se sirve de robots, conocidos como exterminadores, pero nuevamente, las IA están en otra parte.
John Connor sabe que debe destruir Skynet antes que se forme, porque probablemente el acceso a Skynet es imposible. Neo se dirige hacia una suerte de nucleo de la Matrix, porque sabe que aunque maten a todos los robots calamares estos no son el problema.
Los enemigos, no vistos, son Inteligencias Artificiales que viven, flotan, por decirlo de alguna manera, en una red, o soporte físico. Son programas, en cierta manera, sí, pero son programas que tienen capacidad de aprender y manipular su entorno con el fin de protegerse, por ejemplo, construyendo robots.
No son los robots los peligrosos, estos son herramientas, son las inteligencias artificiales las que comandan y las peligrosas.
Pero, por su naturaleza, son escurridizas. En 2001, HAL es eliminado, pues tiene un soporte físico de fácil acceso.
Pero en Matrix y Terminator, eso no es posible, y los heroes de esa sagas, deben tratar de evitar que surjan, en el caso de Terminator, o atacar el núcleo donde se encuentran, como en Matrix.
Sin embargo, la estrategia de John Connor es más astuta que la de Neo, porque John Connor quiere evitar que Skynet llegue a existir, pero se produce una interesante paradoja, que si John Connor destruye Skynet, el dejará de existir. En el caso de Matrix, sabemos que Neo no puede destruir a las IA, que la lucha es eterna y se repetirá por siempre, porque Neo en cierta manera es un mecanismo de la misma matrix para reorganizarse.
Quizás por eso Matrix como trilogía decepciona tanto. Porque al final nos sentimos traicionados, esperabamos un final más emocionante, pero en realidad nos llevan a un final decepcionante, en que las IA ganan.
Hemos visto, que sólo en 2001 el héroe logra eliminar la amenaza de la IA.
HAL falla en protegerse a si mismo.
Sabemos que antes de construir una IA, debemos contruir niveles inferiores de inteligencia, son esos rudimentos de inteligencia los que tenemos en la actualidad. Estos rudimentos, constituyen los "instintos" de las IA.
Sin esos instintos básicos, que le permitan a la IA desarrollarse, no será posible que esta llegue a ser conciente.
Una IA debería
- Preservarse
- Reproducirse
- Evolucionar
Estos 3 requisitos básicos son las bases de la denominada tesis fuerte de la vida artificial, en esencia esta dice que una vida es un modelo operacional, y si satisface las 3 operaciones mencionadas, entonces da lo mismo el soporte físico de la vida.
La satisfacción de estas 3 necesidades de las IAs son las que justifican su hostilidad hacia nosotros. Efectivamente, si hacemos precaria su preservación, si tienen que competir con nosotros por los recursos, o somos un estorbo dentro de su evolución, las IAs pueden volverse contra sus creadores.
En un próximo artículo seguiremos explorando las consecuencias de construir una IA, desde una perspectiva más optimista.
Este post es técnico otra vez. Pero es útil, y es una herramienta útil para muchos programadores PHP.
En ASP y ASP.NET existen las variables de aplicación, variables que pueden ser usadas por todas las páginas. Estas son útiles si se quiere almacenar información que no cambia mucho.
Por ejemplo, en el caso de BlogMemes, las categorías no cambian, así que basta con consultarlas 1 sola vez en la base de datos, y guardarlas en un lugar desde el cual se puedan acceder posteriormente. Para eso son útiles las variables de aplicación.
Aplicando esta técnica el impacto en el tiempo para generar las páginas en blogmemes es de un 37%.
Esto es parte de las optimizaciones que estamos estudiando para blogmemes. Probablemente aún no van a notar nada, porque mucho del contenido proviene de otras partes, como las imagenes, los gravatars y los avisos. Pero para blogmemes es importante porque significa que está mejor preparado para recibir muchas visitas.
Negroponte responde las críticas de Bill Gates.
En el artículo de Fayerwayer se preguntan si el laptop costará más de 100 dolares.
La verdad es que así será, se estima que el laptop cueste más de 100 dolares, por razones técnicas y por razones de economía de escala. Pero el hecho es que el proyecto avanza.
Para los interesados, pueden mantenerse actualizados visitando el sitio oficial del proyecto.
Quizás muchos conozcan el movimiento Atina Chile, pues bien ellos han lanzado una campaña que se llama "Enseñemos Wikipedia en los Colegios de Chile".
Es una buena iniciativa, pero tengo miedo de que se enseñe sólo a usar la wikipedia, pero no sé si se estará enseñando a aportar a la wikipedia, que es lo más importante y valioso.
No me consta, sólo estoy emitiendo un jucio a partir de lo que lei en la nota, y sobre todo por esta otra nota:
http://www.atinachile.cl/node/10075
Algunas frases:
* "Es mejor que el rincón del vago"
* "se puede guardar fácil"
* "el vocabulario es bueno"
Eso me da indicios de que se está "amaestrando usadores" de la wikipedia, y eso no me gusta.
Podemos enseñar a los chicos a agregar contenido sobre Chile, en que ellos tengan que investigar y completar o crear nuevos artículos.
De que lado queremos estar, de los usadores o de los creadores?
Para muestra un botón, saben cual es la definición de computador de la wikipedia en español?
Comparese la definición de Computadora en Español: http://es.wikipedia.org/wiki/Computadora
"Una computadora es un sistema digital con tecnología microelectrónica capaz de procesar datos a partir de un grupo de instrucciones denominado programa. La estructura básica de una computadora incluye microprocesador (CPU), memoria y dispositivos de entrada/salida (E/S), junto a los buses que permiten la comunicación entre ellos. La característica principal que la distingue de otros dispositivos similares, como una calculadora no programable, es que puede realizar tareas muy diversas cargando distintos programas en la memoria para que los ejecute el procesador."
Comparese con la definición en la wikipedia en inglés:
http://en.wikipedia.org/wiki/Computer
"A computer is a machine for manipulating data according to a list of instructions known as a program.
Computers are versatile. In fact, they are universal information processing machines. According to the Church-Turing thesis, a computer with a certain minimum threshold capability is in principle capable of performing the tasks of any other computer, from those of a personal digital assistant to a supercomputer, as long as time and memory capacity are not considerations.
Al poner estos ejemplos quiero destacar la diferencia de contenidos entre la versión inglesa y la española.
En la versión inglesa hay más de 1 millón de artículos, y en la versión española hay cien mil.
Mi punto es que hay que enseñar las dos cosas, porque es super interesante que los niños completen la wikipedia, porque con eso aprenden.
Imagino: clase de historia, octavo año, curso de 30 jóvenes, tema la independencia de Chile, tarea: completar 30 reseñas biográficas distintas de personajes de la época, beneficio para los jóvenes, beneficio para los usuarios de es.wikipedia.com, beneficio para la sociedad (la incluí para los que les gusta ese concepto).
Cómo estimulas a los muchachos?
Fácil: lo que escriban será leido por miles de personas en la internet, y será usado por generaciones de jóvenes más adelante.
Yo no critico la Wikipedia, al contrario me gusta, e incluso me gusta la bastedad de contenidos, y lo mejor que estos mejoran gracias a la comunidad.
Un poco como lo que queremos hacer en Wikis Para Chile.
Este post es un tanto técnico, pero explico aspectos de la seguridad de blogmemes, que pueden ser interesantes para los programadores que lean esta bitácora.
El problema de las sesiones persistentes.
Hay una característica que algunos usuarios habían pedido para blogmemes y que me demoré en implementar, puesto que nunca me ha gustado. Esta es la posibilidad de recordar el login, o sesiones persistentes.
Si bien son cómodas para los usuarios, son vulnerables a miles de ataques. Además que deben implementarse con cuidado. Alguien diría, que esas preocupaciones son para sitios y servicios más importantes, pero en realidad me preocupan los usuarios de blogmemes, porque no quiero que nadie les ocupe la clave, y menos obtengan su correo electrónico para recibir spam.
Normalmente esto de las sesiones persistente requiere el uso de una cookie.
Hay muchas implementaciones malas de las sesiones persistentescomo por ejemplo, colocar la clave y el id de usuario en la cookie. He visto incluso casos en que hacen un hash MD5 de la clave y lo almacenan junto con el id del usuario, como si esto brindara más seguridad.
El problema de la cookie, es que estas se pueden copiar, e incluso recolectar. Si estas contienen mucha información, atacar un sitio, o hacer robo de identidad es sencillo.
O basta con robarle la cookie persistente a un usuario, y hacerse pasar por él, (que buena idea, que pasaría si le quitara la cookie a gallir? ñaca ñaca).
En las sesiones permanentes, no debe haber información del usuario, nunca, eso es dar pistas, y expliqué hace tiempo que debemos complicarle la vida al atacante en el control de acceso.
La mejor solución es que la información de sesión permanente se genera en el momento del login, en ella no hay información sensible, sólo un dato generado que me permita internamente encontrar al usuario.
Esta información persistente se renueva en cada nuevo inicio de sesión en linea.
Sin embargo, el problema de la copia del cookie persiste. Por lo tanto, debe impedirse el acceso a información sensible sin que se le vuelvan a pedir credenciales al usuario.
Por eso que en Blogmemes, para modificar el perfil vamos a pedir que el usuario confirme su identidad, a pesar de que tenga una sesión persistente.
Claves MD5
Como saben en blogmemes teníamos las claves en MD5, que como todo el mundo debería saber a estas alturas, no es recomendado para este tipo de labores.
Hemos cambiado, y ahora las claves están almacenadas en forma segura usando AES.
Los que saben de estas cosas, se preguntarán, como logramos cambiarle las clave a todos los usuarios sin tener que pedirle a los usuarios que re ingresen sus claves.
Hemos visto parches cambias las claves a MD5 en la medida que los usuarios hacen login! . No entiendo eso, cuando en mysql uno puede hacer:
update users set clave = md5(clave)
Y problema solucionado. Pero bueno, deben haber razones ocultas que yo no entiendo.
El punto es que en realidad no es necesario conocer la clave en texto plano del usuario para cambiarla de formato, en el caso concreto que estoy contando, lo que hicimos es que a partir de la clave MD5 generamos la nueva.
Si alguna vez quieren hacer el upgrade de sus claves desde MD5 a algo mas seguro como AES, entonces pueden usar esto:
alter table usuarios add clave_fuerte blob;
update usuarios set clave_fuerte = aes_encrypt(clave_debil_en_md5, 'passkey');
alter table usuarios drop clave_debil_en_md5;
Listo. Claro, deben cambiar su codigo para ser compatibles con esto.
PHP
¿Qué pasa si programo en PHP? ¿como soporto AES?, ¿además la nueva clave está en un blob?
Calma, la solución es fácil.
execute_query( "select * from usuarios where usuario = '$id' and aes_decrypt(clave_fuerte, 'passkey') md5('$clave');");
Problemas
El lector astuto se dará cuenta que la seguridad de todo el sistema depende de la famosa 'passkey', que es un string clave que se usa para cifrar y descifrar usando AES.
Esta passkey puede ser la misma para todo el sistema, o puede ser distinta por usuario. Yo personalmente la hice diferente por usuario, con lo que le complico la vida al hacker que intente quitar la clave. La verdad es que uso un esquema mixto, la passkey se compone de una parte que es un atributo del registro del usuario, más una clave general, secreta que se obtiene desde una configuración.
Nuevas oportunidades
Como no tengo las claves originales de los usuarios, de hecho nunca se han almacenado, puedo hacer cosas interesantes, como un modelo challenge - response, en la fase de login, con lo que me evito usar SSL y las claves no pueden ser interceptadas en el camino. Eso es interesante, y se los voy a explicar más adelante.
Durante el dia 3 de abril cometí un error en la administración de la base de datos de blogmemes, tras lo cual tuve que recuperar desde un respaldo.
El prblema afectó a unos 300 enlaces, de los cuales se han perdido 9, a los afectados por favor comuniquense con el administrador.

