Certificados Falsos de Google

No siempre podemos confiar en los mecanismos de seguridad disponibles en el mercado, por ello es que deben co-existir muchos productos para una misma necesidad, pongamonos en el caso de SSL, existen 1001 manuales en Internet que exponen ataques usando N tecnicas diferentes logrando comprometer la información transferida entre los 2 puntos. TLS nace para suplantarlo pero para algunos cojea de la misma pata pues mientras el mecanismo de encriptación genere resultados seguros a nivel militar y la información sea transferida entre los 2 puntos siempre habrá al menos un eslabón debil en la cadena y es el caso a continuación.

Al parecer una empresa dedicada a generar certificados de Seguridad “DigiNotar” a distribuido certificados fraudulentos para direcciones *.google.com a un tercero con intenciones de redirigir trafico de usuarios localizados en Iran. Lo curioso es que estos certificados pueden ser usados para generar ataques usando técnicas de Man in the Midle (MITM) para todos los servicios de Google. En mi opinión se han prostituido las llaves maestras del Internet, dándole poder a muchas empresas que no siguen al pie de la letra las condiciones de seguridad generar certificados a “titirimundachi”.

Todavía es muy temprano para realizar la caceria de brujas, me gustaria esperar un poco para quemar vivo al responsable y asegurarme de que es el antes de prenderle candela a la leña y evitar un nuevo Ipswich antes de tiempo. En CNET tienen la noticia completa, clic aquí para leerla.

Comenta… comenta…!!!

No todo lo grátis es bueno!

Desde que trabajo de manera independiente he tenido que ser más paciente e incisivo sobre las preferencias de los clientes, sobre todo cuando hay diseño gráfico involucrado, la mayoría de las veces no saben por cual muestra decidirse o escogen la que menos me gusta, irónico pero cierto. Aveces llega lo que defino como “clientes celestiales” estos ya saben lo que quieren, tienen bastante tiempo con el concepto en su cabeza y son muy decididos, la mayoría del tiempo ya poseen algunas muestras de lo que quieren o intentos hechos por otros freelancers que han fallado en completar el proyecto.

Hace semanas me contactaron para diseñar/desarrollar un sitio web completo, lastimosamente no puedo divulgar mucho sobre la finalidad del mismo, solo puedo decir que si todo va bien podría ser Trend Topic en twitter muy pronto, lo curioso es que fue uno de esos “clientes celestiales”, decidido y bien centrado en lo que quiere, tan atento que me proporciono algunas plantillas a modo de inspiración, estas plantillas para WordPress las había descargado de un sitio famoso, lo mejor de todo es que como el refirió, la plantilla “es gratis”.

Luego de examinar la plantilla en cuestión, me encontré con una linea bastante “diferente”, check this out:

La linea que me llamo la atención
Linea malvada!


WTF!, eso no parece un código común de una plantilla de WordPress, luego de decodificar varias veces esa linea me encuentro con esto:

Código Verdadero
Lo que escondia la linea en base64


Examinando el código observamos que no es tan grave, no están tratando de explotar una vulnerabilidad o algo parecido, solo están colocando publicidad, pero creo que a mi cliente no le hubiese gustado tener esa publicidad en su sitio. Moraleja… no todo lo gratis es bueno, siempre debemos al menos pasarle un antivirus al contenido que descargamos por la web, saludos.

Para la próxima verifica donde colocas tu laptop!

Foto de Aluminio en la Portatil
El destructor!
A las 9:34 PM llega la visita inesperada, un amigo del edificio donde vivo, en sus manos trae una Compaq Presario F754LA que al parecer no encendía y el AC Adapter desprendia un olor a achicharrado, usualmente hago servicio técnico para la familia y amigos cercanos, “casos dificiles”, casos que ninguno de los técnicos de las N tiendas en Cumaná quiera tomar. Despues de conversar acerca de la falla y de donde provenia el equipo, termine aceptando y no es sino hasta hoy que logre recuperar mis herramientas de electrónica que pude revisar el equipo.

La primera incognita es que el cargador aunque huele a quemado funciona bien, la pista más obvia fue el led verde localizado en la carcasa del ac adapter, pero el equipo seguia sin encender, usando un milivoltimetro comprove la salida correcta de 19,38 voltios, la otra pista fue que al conectar el jack del adapter al equipo este emitia un sonido casi como un tick y el led parpadeaba. Luego de una busqueda rapida en google, acuñe la idea de que la tarjeta madre estaba en corto, pero según me cuenta mi amigo la máquina no estuvo conectada desde hace un tiempo, por lo que me decidi a desarmar para obtener un mejor angulo del asunto.

Mi sorpresa fue encontrar ese pedazo de papel de aluminio comun y corriente, de esos que usamos para envolver cosas en el interior del equipo, pero mi teoria es que el equipo fue colocado en la mesa del comedor (en realidad pudo ser en cualquier lugar) y el pedazo de papel aluminio fue absorvido por el fan cooler y estuvo dando vueltas adentro hasta que toco alguna parte vital y provoco el deceso. Esta hipotesis tiene que ser al menos corrovorada con lo que diga el dueño del equipo una vez que lo contacte el Lunes, pero estoy seguro que no le gustara recibir esa mala noticia.

De todas formas podemos aprender algo de esto, al menos tratar de verificar la superficie donde colocamos nuestros equipos para que cosas como estas no nos arruinen el día y un equipo perfectamente funcional, sin pensar en el gasto economico en el que puede repercutir.

Manejando Fechas al Programar (PHP)

La manera más facil y efectiva de manejar las fechas cuando estas desarrollando una aplicación (en este caso usando PHP) es usar fechas en formato “UNIX timestamp“. Podemos definir a las fechas en formato UNIX timestamp como la cantidad de segundos que han pasado desde 1 Enero, 1970 a las 00:00:00 GMT, lo que nos permite facilmente ejecutar calculos para transformar valores de fecha y tiempo.

Pero este formato no es perfecto, tiene características que pueden afectar tanto su uso como el funcionamiento, una de ellas es que no es leible por humanos normales (a menos de que seas Sheldon Cooper), por ejemplo si me preguntaras ¿Qué día es hoy? y te respondo 1309666385 ¿Estarías en capacidad de interpretar el numero y obtener la fecha en que necesitas?, seriamente lo dudo.

El otro inconveniente es que este formato solo puede usarse en un rango limitado dependiendo del Sistema Operativo. En sistemas basados en GNU/Linux puedes retroceder hasta el año 1902 y avanzar hasta el año 2037. En Windows el limite menor es “Enero 1, 1970” debido al tamaño del numero en UNIX timestamp. Cualquier Sistema Operativo puede manejar enteros hasta un tamaño especifico (2 levado a la 32, o 4.249.967.296 para 32 bits) despues de esta cifra se necesita más trabajo para manejar numeros grandes. Por materia de eficiencia este “maximo” es impuesto para valores importantes como horas y fechas. Linux permite tener valores negativos para ambos y por ende puedes obtener fechas anteriores al limite menor. Algunos se preocupan por estos limites, inclusive acuñan al problema como un segundo Y2K, yo tengo la confianza de que para el 2038 ya todos los Sistemas Operativos de 32 bits habran sido reemplazados y no esto no será un problema.

Lo anterior deberia preocuparte si estas pensando desarrollar una aplicación que necesite planificar tanto para el futuro como para el pasado o que simplemente permita el registro de personas donde uno de sus campos sea la fecha de nacimiento, pero para todo existe una solución. Existe otra razón para estar pendientes y es debido a la presentación de las fechas en numeros enteros, por ejemplo si tenemos la fecha Enero 2, 1970 en formato UNIX sera mucho mas corta en digitos que Mayo 13, 2009. Si vas a almacenar fechas o horas en formato UNIX timestamp en una base de datos asegúrate de que el campo tenga una longitud de 10 digitos y eso bastara para almacenar fechas lo suficientemente largas para mantener tu sistema ejecutandose unos cuantos años.

MySQL tiene su propio formato de timestamps y es mas sencillo de usar, su formato es “YYYY-MM-DD HH:MM:SS” y normalmente es almacenado en su propio tipo de columna llamado “datetime”. Si necesitamos usar comparaciones y ordenamiento simple este formato funciona muy bien usando las funciones internas del RDBMS; adicionalmente tienen la ventaja de ser legible por humanos y su longitud es predecible lo que lo hace más fácil para validar, pero si necesitamos que nuestra aplicación sea flexible a la hora de cambiar de manejador de base de datos y no dependa tanto de funciones internas de MySQL es preferible usar UNIX timestamps.

A la hora de hacer operaciones complicadas relacionadas con fechas u horas terminaras convirtiendo todo a UNIX timestamps, haciendo tantas conversiones manejando grandes porciones de datos probablemente caigas en el uso excesivo de recursos de Hardware altamente valiosos que pueden aminorar la velocidad de tu aplicación. Yo era estricto al usar MySQL timestamps y casi todas mis aplicaciones “viejas” las usan pero luego de estudiar más el tema comprendí la ventaja de usar UNIX timestamps.

La epifania llega al momento de hacer operaciones con intervalos de tiempo, es mucho mas facil usar UNIX timestamps a la hora de hacer ordenamiento, adiciones, substraciones y comparaciones entre dos fechas, ayuda a mantener consultas mas simples y a no comprometer la compatibilidad de tu aplicación si Oracle decide cambiar alguna funcionalidad de MySQL. En PHP tal facilidad viene de mano de la función “mktime()” que nos permite construir Unix timestamps usando segundos, minutos, horas, meses, dias y años de la fecha/hora necesaria. Imaginandonos que tenemos un sistema con millones de usuarios (Facebook, twitter, etc.) y donde cada bit de información es importante yo seguiria usando UNIX timestamps dado a que los campos “date” y “datetime” ocupan más espacio que uno “INT(10)”, quizas les paresca descabellado pero cuando tenemos 500 millones de usuarios cada bit (termina acumulandose y formando petabytes) de información que se almacena o se transmite a traves de DataCenters localizados en distintas partes del mundo es muy importante que esa data sea la más depurada y liviana posible, tal principio parece innecesario para una pequeña aplicación, pero su uso ahora puede ser un salvavidas mañana.

Finalmente es tema de opinion, MySQL también ha incluido funciones internas que hacen el manejo de UNIX timestamps más sencillo y flexible, eres libre de estudiar el tema y opinar al respecto en la sección de comentarios. Saludos.

Diferencia entre Clases Abstractas e Interfaces (PHP)

Como siempre hay amigos, familia, amigos de la familia, entusiastas del SL y de la Programación que encuentran mi correo por internet o me conocen por referencia y aprovechan la oportunidad para hacerme preguntas sobre temas diversos, en esta oportunidad 3 personas diferentes que estan comenzando a programar en PHP y estan estudiando el paradigma de la Programación Orientada a Objetos se han estado confundiendo mucho con las definiciones de Clases Abastractas e Interfaces proporcionadas en la documentación oficial de php.net y esta publicación es un intento para diluir esas dudas adicionalmente aprovecho esta oportunidad para disculparme con ellos pues prometí escalercer las dudas antes, pero esta semana los problemas terrenales me alcanzaron y tuve que lidiar con las diligencias/molestias/atenciones que conlleva una operación de emergencia, dando gracias porque todo salio bien y no hubo inconvenientes mayores.

¿Qué son las Clases Abstractas?

Las clases abstractas son clases normales con super poderes capacidades especiales, dado a que sus propiedades y metodos que pueden ser implementados o no dependiendo a las reglas del juego, pero, como sucede esto?, no hay mejor manera de explicarlo que con un ejemplo extraido de la documentación de php.net


class Fruta {
private $color;

public function comer() {
//Masticar
}

public function setColor($c) {
$this->color = $c;
}
}

class Manzana extends Fruta {
public function comer() {
//Masticar hasta llegar al Centro
}
}

class Naranja extends Fruta {
public function comer() {
//Pelar la Naranja
//Masticar
}
}

Instanciamos la clase, es decir, te doy una manzana y tu te la comes.


$manzana = new Manzana();
$manzana->comer();

Al finalizar el metodo “comer()”, podrías decir a que te supo la fruta, la respuesta sería a Manzana pues fue lo que te di y si te diera una fruta de manera generica…


$fruta = new Fruta();
$fruta->comer();

A que te supo la fruta?, no tiene mucho sentido ya que no deberias haber podido comerte la fruta pues no deberia funcionar de esa manera, en algun punto deberia de existir una restricción en la implementación de metodos y propiedades, por eso es que deberia declarar la Clase Fruta como abstracta y a su vez el metodo “comer()” que esta contiene.

Ejemplo:


abstract class Fruta {
private $color;

abstract public function comer()

public function setColor($c) {
$this->color = $c;
}
}

¿Que son las Interfaces?

Pensemos en las interfaces como declaraciones de metodos que objetos en comun pueden compartir, inclusive si esos objetos no guardan relación ninguna. Digamos que tenemos una serie de objetos que mediante la herencia no pueden conectarse o no pueden heredar metodos de un objeto padre ya que no tendria sentido, aqui es donde la interfaz juega un papel muy importante, por supuesto no hay mejor manera de explicar esto que con un ejemplo:


interface interaccion {
public function encender() {
//Procedimiento para encender
}

public function apagar() {
//Procedimiento para apagar
}
}

class lampara implements interaccion {
//Heredada de la Interfaz
public function encender() {
}
//Heredada de la Interfaz
public function apagar() {
}
}

class automobil implements interaccion {
//Heredada de la Interfaz
public function encender() {
}
//Heredada de la Interfaz
public function apagar() {
}
}

Espero que los ejemplos hallan sido suficientes para lograr su comprensión sobre el tema y en palabras finales podemos resumir que la diferencia entre las clases abstractas y las interfaces es que cada una se utiliza para disgregar y discernir limites en la estructura de la aplicacion que se quiere construir usando el paradigma de “Programación Orientada a Objeos”. Las interfaces nos permiten compartir comportamientos entre objetos no relacionados mientras que las clases abstractas nos permiten limitar y/o definir con precisión las capacidades de cada objeto.

Análisis en frío de iCloud

logo de appleYa asentada la polvareda es hora de hacer un análisis de uno de los productos que más me llama la atención para este año de la mano del gigante de Cupertino, Apple, aunque no poseo ningún producto de tan diabólica compañía de ellos, siempre he admirado su disposición por lograr cosas nuevas, por su innovación en el mercado y por el nicho que ocupan (Productos Electrónicos para la clase Media/Alta), lo que no podemos dejar de lado es que esta gente sabe lo que hace y no se puede desestimar su entrada al sector de “La Nube” aunque halla sido tres años después del alboroto.

Hay que mirar de cerca todo lo que ha sucedido que desde que Steve Jobs regreso a la compañía y como sus estrategias han dado resultado, ejemplo de ello es el WWDC que ha sido utilizado como frente para mostrar sus nuevos productos, haciendo memoria: En el 2002 mostró a Mac OS 10/X que ha sido el cohete de Apple por todos estos años en parte porque es un producto de excelente calidad y usando fundaciones totalmente solidas (Unix), en el 2008 nos mostró el iPhone y la rompe paradigmas App Store.

Este año no se ha quedado atras mostrando una nueva versión de Mac OS X (10.7 “Lion”), nuevas versiones del iPhone, iPad y iPod Touch que correrán la nueva versión de su sistema operativo iOS5 y de ultimo pero sin quitarle merito iCloud. Es importante resaltar que Apple no es líder en ventas de Laptops o Computadoras de Escritorio pero ocupan un porcentaje importante como lo explique antes en una clase o en un nicho especifico, el hecho mas curioso con respecto a estos equipos y es a lo que hago referencia cuando entablo conversaciones con amigos en reuniones sociales es que su precio es excesivo comparándolo con otras marcas, es como pagar el doble del producto del competidor y la única diferencia (Física o en Hardware) sera un diseño mas atractivo con alguna cubierta de aluminio. Hace años atrás la brecha de separación entre sus productos con respecto a los de los competidores provenia de sus procesadores con arquitectura RISC que los diferenciaban de los Brutos X86 (Como alguna vez Steve Jobs definió los procesadores de Intel) pero IBM decidió no producirlos más lo que obligo al gigante de Cupertino cambiar de arquitectura, haciendo la competencia mucho más difícil.

Volviendo al tema de iCloud y a manera de sorpresa el anuncio de este producto se encontró con muchas conjeturas y malentendidos en su mayoría por el hecho de arribar un poco tarde, lo que es verdad es que existe mucho escepticismo porque ya se había intentado esto (MobileMe) con resultados negativos dando vida a otro servicio mas útil (Find My iPhone), pero que tienen los Competidores (Google, Yahoo, Microsoft, Dropbox, Flickr, etc.) que Apple no tenga, si enumeramos los servicios que estos poseen y que forman “La Nube”: E-Mail, Calendario, Libreta de Contactos y/o Direcciones, Galerías de Fotos, Almacenamiento de Archivos / Páginas Web y todo esto accesible desde cualquier computador usando un navegador. la incertidumbre está, es palpable, ahora Apple tiene que demostrar que puede pertenecer a la revolución de “La Nube” inclusive con 3 años de atraso.

En mi opinión personal estos servicios diferentes carecen de integración uno con el otro y es esta vulnerabilidad lo que puede explotar Apple para ponerse al frente, hemos sido testigos de como Google esta tacleando el problema conectando Android con cuentas en gmail y sacando al mercado productos como ChromeBook que utilizan toda su suite de aplicaciones web almacenando todos los datos del usuario en “La Nube”, tambien Microsoft esta en el camino correcto integrando las interfaces de sus sistemas operativos a una sola visión, pero todavia falta camino por recorrer e interconexiones que realizar.

Ahora llega iCloud al escenario, mostrando un paradigma totalmente diferente de lo que las tendencias “Todo en el Navegador” nos brindan hasta ahora y es lo que pudiera cambiar la dirección de la corriente, por ejemplo, la manera en que usamos Google Docs es abriendo el Navegador y dirigiéndonos al url proporcionada por el servicio el cual nos permite componer o editar documentos almacenados que están disponibles desde cualquier parte del mundo si posees una conexión a Internet. Con iCloud la cuestión es totalmente diferente pues solo necesitas abrir tu procesador de palabras y generar el documento o simplemente editarlo, no existe la necesidad de guardarlo, no necesitas una URL para el servicio web, literalmente puedes dejarlo como esta y abrirlo en cualquier otro dispositivo (Laptop, iPad, iPod Touch y/o iPhone) porque no tienes que descargarlo, simplemente puedes acceder a el porque ya esta en tu dispositivo, el archivo se guardo automáticamente y fue enviado a todos los dispositivos que tengas asociados, en todo momento el sistema hace esto por ti y si editas el archivo nuevamente los cambios son propagados a través de tu red de equipos.

Esta es la visión, este es el comportamiento, esta es la experiencia que hace que mucha gente pague por un Equipo con sobre precio solo por tener la facilidad y la integración de toda una plataforma, esta es la manera en que Apple y Steve Jobs vienen revolucionando la computación y estoy totalmente seguro que esto se volverá más que una tendencia cambiando los paradigmas de “La Nube”, esto no se detiene aquí, este tipo de operación se extenderá a través de todos los equipos que tengas identificados con tu Apple ID, si personalizas, haces algún cambio o simplemente compras aplicaciones directamente desde App Store toda esa información se distribuye a donde sea necesaria facilitando su acceso desde cualquier parte.

Me gusta mirar esto como un juego de ajedrez, ahora falta el movimiento de los competidores, especialmente Google el cual ha sido el pionero en todo este alboroto de la vida en “La Nube”, Google, muestra que tienes para nosotros!.

PANICO! en la comunidad de desarrollo de Microsoft

Microsoft Logo outiside Office Al finalizar la gran demostración de Windows 8 (Windows 7 con una interfaz mas avanzada de lo que existe para Windows phone) se hablo de la posibilidad de crear aplicaciones para este sistema operativo usando HTML5 y JavaScript. Como HTML5 tiene una gran lista de características que amenazan la continuidad de Flash y Silverlight las especulaciones crecieron de manera exponencial, el pánico se extendió a través de comentarios por muchos de los foros de la comunidad de terceros y todo lo que se puede “escuchar” es rumores acerca de la muerte de Silverlight y de la plataforma .NET en favor a HTML5/Javascript.

Lo más curiso es que toda esta novela se genero luego de un comentario tal vez inofensivo de mano Julie Larson-Green quien mientras demostraba la nueva interfaz cargando una aplicacion que mostraba indicaciones del tiempo y sus pronosticos esbozo las palabras en ingles “This is written with our new development platform, which is based on HTML5 and JavaScript” ahora en español “Esta aplicación esta escrita en nuestra nueva plataforma de desarrollo que esta basada en HTML5 y Javascript” lo que ella no menciono fue que esta plataforma sera el remplazo a futuro de .NET (que quizas lo sea dependiendo de como evolucione el Internet) lo que tampoco dijo es que sera la plataforma preferida para programar en Windows 8, solo que la aplicacion que estaba mostrando fue desarrollada usando la nueva plataforma en la que estan trabajando y que entre las nuevas caracteristicas del Sistema Operativo ahora puedes usar la tecnologia web para crear aplicaciones de escritorio.

Luego de esto se han desentrañado muchas opiniones tanto oficiales como de parte de empleados de Microsoft, entre tanto la gente detras del Proyecto Jupiter ha comentado que todavia estan vigientes y trabajando para salir a la luz una vez Windows 8 salga al mercado.

Para los que no están enterados, Jupiter es una nueva librería de interfaz para Windows 8 que permitirá a los desarrolladores crear aplicaciones “inmersivas” (ni idea a que se refieren con este termino) usando un enfoque basado en XAML proveniente de las nuevas herramientas de Microsoft. Jupiter permitirá elegir varios lenguajes de programación entre ellos: C Sharp, Visual Basic, C++ y por supuesto tendrá soporte para aplicaciones nativas desarrolladas con Silverlight.

Basado en lo que pude ver de la presentación de Windows 8, Microsoft quiere competir con Google en el Nicho de los sistemas operativos basados en Web sin perder el chivo o el mecate, entre otras palabras ofrecerá soporte con esta nueva UI basada en Mango, ofrecerá esta nueva plataforma de desarrollo que permitirá Unificar el escritorio con Aplicaciones de Tecnología Web (HTML 5 / Javascript) y a su vez ofrecerá soporte a aplicaciones que no estén diseñadas con tanta novedad (En el vídeo se puede observar como Windows 8 hace un fall-back para ser compatible con aplicaciones “viejas” hasta muestra la barra del menu de inicio una vez ejecutada la aplicación) o que simplemente no compitan en este nicho definiendolo mejor como aplicaciones cuya disposición o paradigma sea imposible tener una presentación web.

Es claro que hay muchas opiniones al respecto y de gente importante en el nicho de bloggers sobre Microsoft, tambien estan las de muchos otro grupos cuyas interrogantes son validas y lamentablemente ocasionadas por la falta de comunicación que proviene desde las mas altas esferas de Microsoft, en mi opinión y dado a lo que he estado observando desde que Bill Gates dejo su puesto de CEO para dedicarse a la filantropía es que la Compañía ya no esta en postura de ataque o con rodilla en tierra como dicen por aquí, las estrategias han cambiado a patrones desconocidos y quizás pueda aceverar que dichas estrategias se han basado ultimamente en confunsión en vez de atracción por nuevos desarrollos y características de sus nuevos productos. Es lamentable ver al que una vez fue el mas grande y feroz adversario perder terreno por otras opciones, a la vez me alegro que este perdiendo terreno gracias a al impulso del Sofware Libre, es hora de aprovechar que el gigante esta tambaleando para acestar golpes que lo debiliten aun mas.

Me preocupa que dicha debilidad nos produzca retraso y quizás dirán “WTF!!”, pero mucho del impulso que ha tenido el Software Libre no solo proviene de las malas políticas de Microsoft y sus compañeros privativos, si no también por ser un adversario excelente, si somos un adversario pequeño solo nos importa mejorar y salir adelante para vencer, ahora es un tanto difícil saber que pasara una vez que hallamos derrotado al adversario y faltan algunos años para que esto sea una realidad pero lo que me no me gustaría es que se perdiera el ritmo por exceso de confianza.

Viendo esto desde otro punto de vista, si Microsoft y su equipo logran salir adelante con esto (Porque son conocidos por anunciar una cosa y publicar otra) tendrán una unificación con mucha cohesión, mayor inclusive de la que Google ha logrado con sus productos, es una batalla admirable la que estos contendientes están luchando (Google, Apple y Microsoft), con algunos anuncios de adquisiciones y modificación de posturas, Microsoft esta dejando por sentado que no quiere cometer los mismos errores que en el pasado y quiere tener posición a todo nivel ofreciendo productos de calidad y compitiendo con bajos precios (como Apple con su nueva versión de MacOS 10.7) tomando el control de todos los procesos.

Para finalizar les dejo unos videos de la Integración de estas plataformas:

Otro artículo Interesante sobre la Integración de XBox Live y Windows 8

Para reflexionar sobre todo esto, ¿Qué alternativas existen que se adapten a las 4 Libertades Básicas de la GPL que nos permitan unificar nuestra plataforma GNU/Linux con algún sistema operativo Móvil y/o plataforma de juegos o para DVR’s?, son libres de comentar al respecto.

Esta publicación toma mucho del contenido del post del amigo y entusiasta por Haiku-os Thom Holwerda en osnews acompañáda de mi opinion y otras adiciones sobre el tema.