El aporte de Ubuntu a la comunidad Linux


Todos sabemos que desde que apareció Ubuntu hace 4 años, Linux ha tenido una proyección mucho mayor hacia el público en general, pero cual es realmente el aporte, y que podemos esperar en el futuro cercano ?

Desde el punto de vista de un administrador experimentado, en general Ubuntu genera más problemas de los que corrige sobre la base de Debian, sobre todo en cuestión de actualización de versiones, con Debian normalmente el proceso es bastante transparente (digamos 90% de las veces), con Ubuntu simplemente no es fácil actualizar a una nueva versión del SO porque mucho va a fallar. En esencia volvemos al rudimentario mundo de las actualizaciones con disco y sacando de funcionamiento la máquina mientras se realiza la misma.

Para los usuarios de escritorio la historia es bastante diferente, Debian tiene algunas versiones de instalación muy amigables para el usuario, pero solo Ubuntu logra la amabilidad que tienen distribuciones como Mandrake o Suse, eso es una gran ganancia, ya que un usuario sin experiencia puede fácilmente particionar su disco e instalar Ubuntu sin darle cuello a la instalación de Windows.

Y hablando de la ganancia de Linux en general con la aparición de Ubuntu, la cosa se ve medio fea realmente, ya que si bien linux ha ido aumentando discretamente su uso en escritorios, Ubuntu se lleva al rededor de un 30% de las instalaciones, lo cual significa que la aparición de Ubuntu no aceleró la adopción de Linux en escritorio, sino que les quitó a las demás distribuciones una rebanada de su pastel.

Ahora, realmente hay detalles más importantes que podemos ver de Ubuntu, y el principal en mi opinion es que mantiene desarrolladores de SL, eso es algo que no se puede valorar suficiente, aun cuando la empresa sigue siendo “no productiva” en cuestion de ganancias netas, Mark Shuttleworth sigue invirtiendo dinero para que la empresa continue avanzando.

Como conclusión, en mi parecer Ubuntu no ha hecho un gran cambio para Linux, pero si para los desarrolladores que tiene contratados 🙂



Minefield – Firefox 3.1


Estoy escribiendo esta nota desde la version beta 2 de Firefox 3.1 (Minefield).

No está mal, supuestamente es mucho más rápido, pero eso todavía no me queda clarisimo, y para comprobarlo estoy corriendo el benchmark de sunspider, los resultados son estos:

Browser Resultado Liga
FF 3.1b2 6122.4ms +/- 8.1% Liga
FF 3.0.3 11782.4ms +/- 3.2% Liga

Firefox 3.0.3 (iceweasel en realidad) es casi 2 veces más lento que el Minefield, lo cual ya es ganancia :), todavía no es tan estable, pero hasta el momento todo lo típico funciona bien, gmail, reader, slashdot…

Y nunca está demás probar el acid3, que vemos en las siguientes 2 imágenes.

Minefield

Estable

En general me quedo bastante contento con la version beta, todo parece indicar que la versión 3 de FF va a lograr consolidarse despues de una larga etapa de dudas con respecto a regresiones de todo tipo.

Excelente !! 🙂



Actualización a WordPress 2.6.3


Hoy salió una actualización para WordPress la cual ya apliqué tanto a mi blog como a SLM

Esta version contiene una corrección a un problema de seguridad del sistema que importa noticias, puedes encontrar más info en el .



La evolución de la web


Recuerdo mis inicios en el interneis, hace como 13 años, cuando empecé a trabajar en la tesis de mi licenciatura, todo era feo, lo mejor era webcrawler y lycos, y en menos de lo que canta un gallo cada búsqueda en ellos nos daba un 90% de resultados relacionados con p0rn.

En aquellos tiempos ni siquiera había estándares decentes de HTML, es más, JavaScript apareció después, y no fue aprovechado para algo productivo hasta bien entrada la década del 2000. Una página bonita era la que tenia buenas animaciones en GIF !!, despues ya finalizando los 90’s, empezaron los frames, y se empezó a popularizar más el contenido multimedia (antes el internet servia para ver fotos y chatear en IRC/BBC), recuerdo que era la neta bajar cortos de películas (Pulp Fiction era mi preferida para buscar), curiosamente el formato MOV era la neta, luego MPEG llegó a ser popular también, hasta que llegó la era de la locura en los formatos de video con RealPlayer sacando el propio, luego M$ haciendo lo suyo, y así sucesivamente.

Recuerdo cuando empezó el royo del DHTML, que ahora conocemos con JavaScript/DOM, ahi fué cuando empezó a ponerse buena la cosa, ya se usaban los lenguajes para algo más que poner un texto movil en las páginas, ya podíamos ver layouts complejos !!, dinámicos, etc. Y bueno, más o menos por la misma época dimos el salto de páginas etáticas a las dinámicas, todo era CGI !!! afortunadamente no me metí a programar para web en esos entonces, que miedo !!, recuerdo que Perl se consolidó como “EL” lenguaje de programación, claro con otros como Java y no recuerdo que más, pero no se tardaron en crear lenguajes realmente amigables, como PHP (aunque ya existian desde hacia algunos años, no se hicieron populares hasta entrado el 2000), python, e incluso ruby, entre muchos otros menos populares, y bueno, no voy a dejar de mencionar cosas propietarias como las versiones de Java que sacó M$, que luego degenerarían (por las demandas en contra) en lo que es .NET ahora.

Pero bueno, ya desde hace unos 5 años a todo mundo le queda claro que el lenguaje no es realmente demasiado importante (sobre todo si no manejas demasiado tráfico), sino las habilidades de los programadores, y de los diseñadores para hacer cosas agradables a la vista, y funcionales de verdad.

De unos 3 o 4 años para acá (la cita aquella famosa del web 2.0), entramos en la transición más relevante que hemos tenido en esta década. Durante bastante tiempo Flash (no lo había mencionado !) acaparó totalmente el tema de las animaciones (los GIF simplemente se movian, pero no podría reaccionar facilmente a la interacción), la verdad es que Flash aportó mucho, pero hizo de la navegación web una experiencia frecuentemente desagradable para muchos de nosotros, no solo se llenaron las páginas de animaciones sin sentido, y menus con movimiento, sino que nos acostumbramos a entrar a una página para ver una barra con un mensaje de “Cargando n%”, que simplemente se volvió una locura, nadie podía hacer una página sin meterle flash, incluso me tocó trabajar (mi primer trabajo !) en una empresa que sucumbía a flash a la menor provocación, hasta recuerdo que hice el core de una aplición que en ese tiempo no era realmente muy factible con JavaScript (era demasiado lento todavía), en fin, una época horrible !!, pero no duró demasiado, porque justo por ahí del 2004-2005 empezó JavaScript a tomar muchisima fuerza (se usaba mucho desde antes) al grado de que dió paso a lo que ahora conocemos como web 2.0, que podría existir sin JavaScript, pero que se enriquece muchisimo de este.

Esta transición fué en 2 areas, una fué el inicio del uso de AJAX (curiosamente un invento genuino de M$ !!), así como la transición de páginas dinámicas a páginas comunitarias (wikis, blogs, foros, etc).

Afortunadamente con las mejoras que se le hicieron a JavaScript, de unos años para acá es dramáticamente menos probable encontrarse con páginas que tengan flash, y con ello no solo la vista mejoró, sino que hemos dejado de sufrir por la inestabilidad que Flash tenía a bien en darle a los navegadores.

También hemos ganado que cada empresa/grupo/organización que hace un navegador de web se preocupe realmente porque respete estándares, no solo de JavaScript, sino de CSS y HTML, hace 10 años era terrible ese problema, y ahora sigue siendo un dolor de cabeza (en gran medida por el MSIE), pero ya no es un problema tan serio, y existen buenas bibliotecas de JavaScript que “corrigen” los problemas de despliegue de MSIE principalmente.

Ahora vivimos en la época en la que es posible crear aplicaciones muy al estilo de lo que estabamos acostumbrado a usar en el escritorio, para ejemplos concretos y fáciles de acceder están todos los servicios de google, pero incluso hay ejemplos muy populares, que seguramente te has encontrado muchas veces en esta misma semana, como los editores de “texto rico” como tinymce, y otros menos populares, que son un muy buen ejemplo de lo que se puede hacer con JavaScript, no solo es una aplicación sencilla y completa para crear texto complejo en HTML, sino que además es totalmente portable es fácil de integrar a cualquier otra aplicación web, y funciona en prácticamente todos los navegadores que tiene las características para soportarlo.

En poco más de una década pasamos de maravillarnos con simples animaciones GIF, a tener una cantidad impresionante de juegos en Flash que hacen real gala de lo que es una animación dinámica, y ahora estamos en un punto en el que seguramente muy pronto va a ser posible crear grandes juegos en 3D a través de bibliotecas estilo OpenGL adaptadas a JavaScript, de tal manera que podamos abrir nuestro navegador, y visitar una página en la que podamos empezar a explorar un escenario de Quake Arena y empezar a disparar a diestra y siniestra.

Al menos eso espero yo 🙂



Seguridad para mortales


Como dice mi buen amigo Kwame, te vas a volver loco leyendo tanto de seguridad.

La verdad es que el asunto de seguridad es un tema ya sea para genios o para paranóicos, normalmente los moratales, aquellos que no andan por arriba del ±10% del IQ promedio, no tienen gran interés en el tema: “Mientras no pierda datos que me hagan perder el trabajo, no hay problema”.

Entonces qué puede esperar una persona normal (en cuestion de inteligencia y estabilidad emocional) cuando tiene interés en la seguridad computacional?

Respuesta rápida: Leer mucho, entender poco, aplicar conceptos básicos a sus sitemas (actualizaciones, seguridad permietral básica, monitoreo interno básico).

<Respuesta larga>

El proceso va a ser mucho más doloroso que para los afortunados genios y paranóicos, normalmente la falta de obsesión no ayuda a aprender cosas complejas como jugar ajedrez bien, cualquer matemática que vaya más allá de una derivada (integrales ya no califican como sencillas), o la razón por la que la teoría de cuerdas, o la de funcionales de la densidad han fallado en explicar cosas que otras teorías si han logrado (o para el caso, entender porque son usadas por tanta gente).

Pero a pesar de que va a requerir mucho trabajo (más que para los genios, y esos trabajan como locos), necesitamos mucha gente involucrada en la seguridad, no podemos dejarle el tema exlcusivamente a los “inteligentes”, no son suficientes, y normalmente no se ocupan de temas triviales como asegurar la red de una empresa que no tiene cientos de servidores y miles de PCs.

Lo básico es entender TCP/IP, jeje, si, ya se, pero es necesario, se puede aprender bastante sin entenderlo, pero eventualmente se llega a un punto en el que si no puedes entender al menos lo más básico de la salida de tcpdump (o incluso los argumentos de tcpdump correctos para cada situación típica) simplemente no vas a poder mejorar tu conocimiento, y mucho menos detectar problemas y solucionarlos (una intrusión califica como problema).

Desgraciadamente muy pocas escuelas le entran al tema de redes con una profundidad más allá de saber decir “trama de paquetes” o “modelo OSI”, pero tenemos internet !!, así que material para estudiar si hay.

Por otro lado, la realidad es que aunque los congresos de Software Libre son tan informales como todo entusiasta de ellos, son la mejor fuente de información tanto “legacy” como nueva. En los congresos de SL puedes encontrarte con temas tan novedosos como seguridad en virtualización, y desde luego fuzzing, buffer overflows, ID[S,P], nuevas formas de ataque (web 2.0 sale al tema constantemente en estos días), y un gran etcetera.

En un congreso de computo tradicional, incluso en eventos especializados de seguridad que no sean enfocados al SL, puedes encontrar cosas interesantes, pero en general el fuerte de la información que proporcionan tiene que ver con la comunicación a niveles superiores del organigrama, con justificar gastos, y con actualizar el caló ejecutivo en cuanto a seguridad computacional. Entonces, tienen su valor, pero está más relacionado con mantener tu trabajo, o justificar aumentos de sueldo.

Y bueno, aunque ya lo mencioné, hay que puntualizarlo bien, en la actualidad la mejor manera de aprender sobre seguridad es buscar información en Internet. Existen blogs muy interesantes (al final pongo ligas) sobre casi cualquier tema de interes en esta área, aunque normalmente esos blogs no son muy explícitos, nos dan muy buenas pistas, y de vaz en cuando pruebas de concepto (PoC, de sus siglas en inglés) muy educativas. Las listas de correo sobre avisos de seguridad también son muy importantes, hay un par al menos que discuten abiertamente muchos ataques, siempre hay que expulgar entre toda la basura, pero es una habilidad que se aprende fácilmente. Y por último, y no menos importante, hay que estar visitando los sitios que publican exploits, y todo lo relacionado a ataques locales y en red, ahí no solo nos damos cuenta de que vulnerables somos, sino que tenemos material para experimentar y aprender a distinguir la diferencia entre un programa en C que va a borrar nuestra información y uno que va a atacar una vulnerabilidad (no hace script kiddies de mejor nivel).

La seguridad es tan complicada y tan extensa que simplemente nunca vas a lograr tener un panorama completo, pero si podemos tener el conocimiento suficiente para disminuír en gran medida la posibilidad de un ataque exitoso. Por lo pronto esto fue todo por hoy, el panorama de la autopista al DF está atrayendo cada vez más mi atención, y no me voy a resistir.

</Respuesta larga>

Buen día.

Update (Gracias por el aviso Alex!)

Corregí el desastre de formato que había, es lo malo de escribir offline y solo dar el copy/paste cuando llegas a la oficina :), sorry
Ligas interesantes



Que ondas con tu vida GaRaGeD


Este post es en esencia para mi 🙂

Esta semana ha estado medio fea, algo pesada, y además desde el jueves o viernes pasado me di a la tarea de migrar el sitio de SLM de postnuke a WordPress, lo cual creo que me salió bastante bien, a pesar de que realmente no está migrado todo.

Bueno, en el trabajo he andado haciendo cosas dispersas, en el proyecto que estoy actualmente hay que hacer un analisis y reporte que tiene que terminarse muy pronto, y andamos en la loca.

Personalmente tengo broncas con la familia, nunca falta, pero ni modo.

Y bueno, hoy (por tercera o cuarta vez en medio año aprox) algo me cayo mal de lo que comí, y traigo inchado el labio superior, lo peor es que no tengo ni idea de que es lo que me lo ocaciona, y ya me ha pasado varias veces en circunstancias muy diferentes.

Y bueno, mañana ya es viernes, así que como sea, la semana si la termino 🙂



NüNet


Ayer se lanzó el anuncio oficial del primer número de la revista de software libre “NüNet”, que estamos haciendo gente de SLM y Gruslic.

Anuncio oficial

La revista es un proyecto que estamos organizando entre varios de los entusiastas de SL en Morelos, y tiene como objetivo principal animar a todo aquel que desee escribir algo al respecto del SL o temas relacionados con computo, etc.

Pues nada, hay que hacer ruido, espero que la revista empiece a tener lectores desde ahora, y esperamos sacar el segundo número a más tardar en diciembre, si se puede antes 🙂



TCP ofuscado (obfuscated TCP)


obstcp es una propuesta de Adam Langley (empleado de google) para mejorar la seguridad en interneis.

Cual es en general la propuesta ? pues una especie de TLS con certificados autofirmados.

Y qué ganamos ? pues que todo el tráfico esté ofuscado, de tal manera que solo lo entienden (facilmente) el que manda y el que recibe (dependiendo del sentido).

En teoría esto ayuda a que un ataque “Man-in-the-Middle” (MitM) sea menos probable, y que no sea posible que un proveedor de internet (tu BOFH, sysadmin, etc) pueda saber lo que andas haciendo en internet.

En la práctica si podría tu proveedor crear un MitM capturando certificados y enviando los suyos entre ambas partes, lo cual podría darle la posibilidad de entender que está pasando entre ambas terminales de la red. El esenario feo está realmente muy cerca, así como el proveedor podría crear sus certificados y mandarlos en vez de los originales, cualquiera en medio podría hacerlo !!, o sea, nomas hace falta parchar ettercap y ya recuperamos la funcionalidad !!

Obviamente el autor no está intentando convencernos de que ha decubierto el hilo negro, pero postula que obscureciendo el proceso de sniffeo mejoraría mucho la confidencialidad del tráfico de internet, pero como vemos no es realmente nada complejo darle la vuelta a la técnica, como sucede casi siempre con la “seguridad por obscuridad”.



Un anillo para dominarlos a todos


Siempre he dicho que los *nix BSD están mal y Linux está bien, pero M$ de plano quiere ser el campeon de los errores.

Y a que viene semejante tontería ??, pues a que por mucho tiempo M$ ha mantenido un número “n” de sistemas operativos “especializados”, desde tonterías como “home edition”, “multimedia sh*t”,, hasta el dichoso “mobail”, y ahora resulta que incluso van a sacar un “cloud computing edition”, como si tener un “server” no sirviera exactamente para lo mismo, o al menos eso se esperaría no ??

Y no vamos a dejar a la Apple fuera de esto, si, el iphone tiene un OSX, pero es modificado !!, que chingados, si tienen tiempo para mantener 2 sistemas operativos, porque no lo hacen bien ??

Linux funciona trivialmente en un monton de arquitecturas, incluso en muchas “cajas negras” totalmente no amigables a terceros. Como es que los demás no pueden hacer lo mismo ??

Si al menos dijéramos que Linux tiene muy malos desempeños el alguna de ellas, pero ni eso, desde ARM hasta RISC, 32 y 64 bits, donde sea funciona bien, y es el mismo kernel!!, cual es la diferencia ? que está bien diseñado.

Como es posible que empresas tan grandes y ricas como apple y M$ no puedan hacer algo similar ???, vamos, la apple ni aprovechándose de la falta de filosofía de la licencia BSD puede lograr algo que compita.

Eso si, en menos de lo que canta un gallo voy a empezar a ver la aparición de servidores para cloud computing en muchos lados, cuando ni siquiera invierten en programadores que sepan hacer bien su trabajo. Viva la mercadotecnia !!