Android sigue avanzando con fuerza en las netbooks

En la última Computex de Taipei, Android ha hecho su invasión al sector de las netbooks, un mercado para el cual originalmente no estaba diseñado. Todo comenzó con Acer anunciando que vendería netbooks con Android, para luego aclarar que tendría un boot dual Android/Windows, se sumo también a la corriente de Android en las netbook Asus con una nueva arquitectura basada en un procesador ARM.

A través de Slashgear me he enterado, que en la misma feria otros dos fabricantes taiwaneses han anunciado sendos dispositivos con Android. GNB ha presentado la GL-750, una netbook con pantalla táctil de 7 pulgadas y con un procesador Freescale de arquitectura ARM 11 de 533MHz (el iMX31). Que cuenta con una RAM de sólo 256MB y un disco de estado sólido SSD de 8GB. El equipo que debería venderse por menos de $200 ofrece una autonomía de sólo 3horas y media, lo cuál es bastante pobre para un procesador que se supone debe permitir ahorro de energía. Aquí el video de esta netbook que he tomado prestado de Netbooknews.com:
 

 
 
El otro dispositivo es de Kinpo y es una tablet PC equipada con Android, aunque el fabricante quiere promocionarla como un Thin Client (Cliente Liviano). Este dispositivo también cuenta con pantalla táctil de 7 pulgadas y esta basado sobre otro procesador de arquitectura ARM de Freescale el iMX51. Aún no hay precio ni fecha de entrada de este producto al mercado. Aquí el video:
 

 
 

Monetizando tweets

Super ChirpEl principal problema que tiene Twitter en la actualidad, además de sus problemas de escalabilidad, es el hecho de que los usuarios del servicio no pueden monetizar sus contenidos, es por eso que tal vez las estadísticas sobre el uso del servicio sean tan desalentadoras, por ejemplo el 10% de los usuarios son responsables del 90% de los contenidos, o el hecho de que el 60% de los usuarios que prueban el servicio lo abandonan al mes y lo que es peor el dinero ganado por la compañía en sus 2 años de existencia es $0. Admitámoslo, en estos tiempos de crisis sólo los narcisistas ricos pueden darce el lujo de perder su tiempo escribiendo sobre sus "interesantes" vidas o pensamientos de vanguardia.

La solución para todos los que deseen hacer dinero con sus tweets, es cobrar una suscripción mensual. Para ello ha aparecido la empresa Super Chirp!, que haciendo uso de los Direct Message (DM) de Twitter ofrece una manera de monetizar el contenido en Twitter. La forma como opera es muy simple, los followers se registran haciendo un pago mensual de entre $1 a $10 por Paypal, para seguir a sus estrellas favoritas, Super Chirp! se queda con el 30% del dinero que colecte, y la suscripción de los que deseen vender sus tweets es gratuita. Los mensajes son recibidos a través de DM. Esta modalidad funcionará para algunas celebridades que tienen millones de followers, pero también podría servir para otro tipo de instituciones como por ejemplo obras benéficas que podrían recibir así donaciones e informar de cómo se esta invirtiendo las donaciones. Otra forma de usar este servicio puede ser para asesores financieros que ofrezcan alestar para compra/venta de acciones, bonos o futuros.

Lo que yo me pregunto es que diferencia esto de la clásica suscripción a un newsletter, en fin creo que ya estoy muy viejo para comprender la nueva visión comercial de la web social. En mis tiempos si yo ponía un negocio la idea era hacer dinero con él, parece que el actual paradigma es trabajar duro, poner un negocio para que otro haga dinero con él, aún no me acostumbro al nuevo modelo.

Ingeniería de Software != Computer Science

En un largo e interesante artículo escrito por Chuck Connell, que tiene el mismo título de este post, el autor señala varios puntos que indican que el desarrollo de software nunca será una disciplina completamente formal y rigurosa. La razón de que esto sea así es que la ingeniería de software incluye a lo seres humanos como parte central del proceso. Desde esa perspectiva el desarrollo de software estaría más próximo a una ciencia social como la economía que a una ciencia exacta.

El artículo de Connell para Dr. Dobb’s puede ser encontrado en este URL, pero debido a su importancia he decidido traducir las partes más resaltantes del mismo, para los lectores de este blog.

Hace pocos años, yo estudie Algoritmos y Complejidad. El campo es maravillosamente claro, con cada concepto claramente definido y cada resultado construido en demostraciones anteriores. Cuando usted aprende un hecho en esta área, usted podria llevarlo al banco, desde que la matemática debería ser inconsistente para hacerle cambiar de dirección de lo que usted ha aprendido. Aún los resultados imperfectos, como las aproximaciones y los algoritmos probabilisticos, tienen un analisis riguroso sobre sus imperfecciones. Otras disciplinas de Computer Science, como la topología de redes y la criptografía tambien gozan de un estatus similar.

Ahora trabajo en Ingeniería de Software, y esta área es desesperante resbaladiza. No hay Conceptos definidos con precisión. Los resultados son calificados de "usualmente" o "en general". La investigación realizada hoy en día podría, o no, ayudar en el trabajo futuro. Nuevos enfoques a menudo revocan los métodos anteriores, con los nuevos enfoques brillando claramente por un tiempo para luego pasar de moda cuando sus limitaciones surgen. Creíamos que la programación estructurada fue la respuesta. A continuación, pusimos nuestra fé en los lenguajes de cuarta generación y, a continuación, los métodos orientados a objetos y, a continuación, la programación extrema, y ahora tal vez el modelo open source.

Pero la ingeniería de software es donde la llanta se une a la carretera. Pocas personas prestan atención de si P es igual a NP sólo por la belleza de la cuestión. El campo de Computer Science es hacer cosas con las computadoras. Esto significa escribir software para resolver problemas humanos, y que dicho software se ejecute en máquinas reales. Por la Tesis de Church-Turing, todos las computadoras son esencialmente equivalentes. Así, mientras que la nueva arquitectura de una máquina es novedosa, el verdadero reto que restringe a Computer Science es el problema de la creación de software. Necesitamos software que pueda ensamblarce en un monto de tiempo razonable, por un costo razonable, que trabaje de la forma como esperamos, y funcione con pocos errores.

Con estos objetivos en mente, algo que siempre me ha molestado (y a muchos otros investigadores) es: por qué no podemos tener resultados más rigurosos con la Ingeniería de Software, como las otras ramas de la Computer Science? Reformulando la pregunta de otro modo, "Cuánto del software diseñado y construido puede ser formalizado y probado?". La respuesta a dicha pregunta reposa en la siguiente figura:

Figura 1

Los temas por encima de la línea constituye la ingeniería de software. Las áreas de estudio por debajo de la línea son las materias básicas de Computer Science. Estos últimos temas son claros y de resolución formalizada. Para las preguntas aún abiertas en estos temas, esperamos que los nuevos resultados también sean formalizados. Estos temas se basan entre sí – la criptografía de la complejidad, y compiladores en algoritmos, por ejemplo. Además, creemos que demostrado resultados en estos ámbitos, los resultados seguirán siendo válidos por los próximos 100 años.

Entonces, ¿qué es que esa línea brillante y por qué ninguno de los temas de ingeniería de software está debajo de ella? La línea es la propiedad que "implica directamente la actividad humana". La ingeniería de software tiene esta propiedad, mientras que la Computer Science tradicional no. Los resultados de las disciplinas por debajo de la línea pueden ser utilizados por las personas, pero sus resultados no son afectados directamente por las personas.

La ingeniería de software tiene un componente humano. La mantenibilidad del software, por ejemplo, es la capacidad de las personas para comprender, encontrar y reparar los defectos de un sistema de software. El mantenimiento de software puede ser influenciado por algunas nociones formales de Computer Science – quizás la complejidad ciclica de los gráfos de control de software. Pero la mantenibilidad fundamentalmente implica humanos, y su capacidad para comprender el significado y la intención del código fuente. La cuestión de si un determinado sistema de software es altamente mantenible no puede ser respondida sólo por el examen de la mecánica de software.

[…]

Esta observación conduce a la tesis de Connell:

     Ingeniería de software nunca será una disciplina rigurosa con resultados probados, ya que implica la actividad humana.

Se trata de una declaración extra-matemáticas, acerca de los límites de los sistemas formales. Yo no ofrezco ninguna prueba del enunciado previo, aunque no hay pruebas de que no existe ninguna prueba. Pero el hecho es que las cuestiones centrales de la ingeniería de software son las preocupaciones humanas:

     * ¿Qué debe hacer este software? (requisitos, usabilidad, seguridad)
     * ¿Qué debe tener el software dentro de, por lo que es fácil de fijar y modificar? (arquitectura, diseño, escalabilidad, portabilidad, extensibilidad)
     * ¿Cuánto tiempo se tarda en crear [el software]? (estimación)
     * ¿Cómo debemos construir [el software]? (codificación, verificación, medición, la configuración)
     * ¿Cómo debemos organizar el equipo para trabajar con eficiencia? (gestión, proceso, documentación)

Todos estos problemas giran en torno a las personas.

Luego de la presentación de su hipótesis Connell procede a discutir detalladamente por qué método considerados formales en la Ingeniería de Software como COCOMO II o el CMMI, no producen resultados confiables pues se basan en tratar de sacar fuera de una ecuación matemática formal, el comportamiento humano que está intrínsicamente envuelto en los procesos que pretende modelar.

Realmente es un magnífico paper sobre Ingeniería de Software y recomiendo la lectura completa del mismo a todos los estudiantes de Computer Science, Informática o ramas afines envueltas en el desarrollo, despliegue, gestión y mantenimiento de sistemas de software.

Google Chrome para Ubuntu/Debian

Google ha lanzado una versión "alpha", es decir aún en desarrollo de su navegador para las plataformas OS X y Linux ( por el momento sólo para Ubuntu 8.04 o superior y Debian 5.0), el anunció ha sido hecho en el blog de chromium el día de ayer. Aunque ya existía una versión de Chromium adaptada para Ubuntu por la gente de Canonical, sobre la cuál comente en el post "Disponible Chromium para Ubuntu", en el mes de marzo pasado. Lo cierto es que el interés de la gran mayoría de usuarios tanto de OS X como de Linux es tener una versión nativa de Chrome para sus respectivas plataformas.

Es importante destacar que Chrome no es un producto Open Source como Chromium, es decir que aunque es libre su uso y distribución, la preparación final de los binarios es realizada por la gente de Google y han ciertas optimizaciones que aplican que no son públicas.

Por el momento algunas de las limitaciones que tiene esta versión de Chrome para OS X y Linux es que no permite por ejemplo ver videos de YouTube, imprimir, cambiar la página de inicio del navegador y cambiar las configuraciones de privacidad entre otras cosas que están pendientes de implementar.

El paquete de instalación .deb de Google Chrome para plataformas de 32 o 64 bits puede ser descargado desde aquí.

Luego de instalado con el comando:

$ sudo dpkg –install google-chrome-unstable_current_i386.deb

El programa es accesible a través del menu Aplication -> Internet -> Google Chrome, aquí una imagen:

Google Chrome Menu Ubuntu 8.04

Al momento de iniciarlo obtenos una advertencia clara de que es aún un programa en desarrollo, esta es la ventana que obtenemos al iniciar Chrome:

Google Chrome Ubuntu Ventana de Inicio

Un dato curioso que encontré fue que a diferencia de Chromium para Ubuntu que pasa el Acid3 test al 100%, Google Chrome para Ubuntu que está basado en teoría sobre el mismo Webkit sólo pasa el 99% del Acid3 test. Lo que indica una "personalización" por parte de Google del proyecto Open Source.

Google Chrome Ubuntu Acid3 Test

Si alguien le encuentra alguna otra cosa, que lo comente por favor.

Muere David Carradine

David CarradineEn una noticia que ha escalado rápidamente posiciones en Twitter, me he enterado que el actor David Carradine ha sido encontrado muerto en el cuarto de un hotel de Bangkog (Tailandia). Carradine de 72 años de edad, fue protagonista de la popular serie de televisión "Kung-Fu", en donde personificaba a "Kwai Chang Caine", pero la frase que más popularidad tuvo de aquella serie televisiva fue la del Maestro Shaolin ciego Po que siempre llamaba a su discípulo: "pequeño saltamontes".

Los más jóvenes posiblemente lo recordaran por su participación en las películas de Quentin Tarantino "Kill Bill".

La noticia que aún esta en desarrollo, pues las causas de la muerte están en investigación (aunque se presume suicidio) está siendo cubierta por las mayores cadenas noticiosas de los Estados Unidos, CNN, Fox News, CBS News y ABC News.

Aquí un video de la introducción de Kung-Fu que encontré en YouTube, para aquellos jóvenes que no están familiarizados con la serie: