PHP en Google Apps Engine usando Java

No hay duda que el soporte de PHP en Google App Engine (GAE) es el deseo de la mayoría de desarrolladores, yo me incluyo entre ellos. Una prueba es que lidera el wishlist en appengine, seguido por Ruby y Perl. Sin embargo el segundo lenguaje que añadió Google a App Engine fue Java en su versión servlet, sin embargo en un interesante post del blog de la empresa Webdigi me entere de la existencia de un proyecto Open Source llamado Quercus, que es una implementación 100% Java del lenguaje de programación PHP, con lo que es posible ejecutar código PHP en App Engine actualmente.

La principal limitación es que el PHP implementado en Quercus no soporta el Datasote de App Engine, sin embargo debido a que si soporta memcache, es posible utilizar dicha opción para utilizando una base de datos común y corriente (MySQL por ejemplo) hosteada en alguna otra parte de la red, desarrollar aplicaciones que accedan a dicha base de datos. El truco está en utilizar el memcache como buffer de todas las consultas a la base de datos. De dicha manera un pequeño servidor virtual que aloje el MySQL podría atender cientos de miles de visitantes diarios.

He probado el ejemplo que se ofrece en Webdigi, editando el archivos correspondiente y traduciendo los pocos textos de los mismos al español, pueden darle una mirada a la prueba que he realizado en phpgae.appspot.com. Pueden descargar el ejemplo que estoy usando desde este enlace.

Estoy analizando la posibilidad de mover mi blog que utiliza WordPress como CMS a App Engine usando Quercus, según lo que he leído la performance es bastante buena, aunque prefiero probar primero antes de mover este blog a esta nueva ubicación. Como todos sabran actualmente este blog esta hosteado en un servidor virtual en el servicio Mosso de Rackspace como lo describí hace ya más de un mes en el post "En la nube".

Para todos aquellos que deseen probar esta forma de ejecutar código PHP en App Engine aquí los pasos que se deben de seguir:

  1. Registre una cuenta en Google App Engine (si es que aún no tiene una).
  2. Descargar e instalar el SDK de Java desde App Engine.
  3. Descargue el archivo de ejemplo a su computadora.
  4. Editar el archivo warWEB-INFappengine-web.xml y reemplazar en "<application>phpgae</application>" el nombre de su aplicación en GAE. Recuerde que mi aplicación se llama phpgae.
  5. Suba su aplicación con los siguientes comandos (en Ubuntu):

cd ~/phpwithjava
~/appengine-java-sdk-1.2.0/bin/appcfg.sh update war

(Asumos que Ud. descomprimió el ejemplo en su directorio home (~/), y realizó lo mismo con el SDK de Java para GAE).

Espero que esta información haya sido de utilidad para todos y espero sus comentarios.

¿Datos o diseño?

En un artículo aparecido el sabado pasado (9 de mayo) en el New York Times, se relata la historia de Douglas Bowman, un diseñador web que ha dejado Google y se ha pasado a Twitter debido a que en Google hay un rídida disciplina sobre como realizar el diseño de un website. La razón para dejar Google ha sido que la empresa de Mountain View obliga a que se haga un análisis cuantitativo si se desea realizar un cambio en el diseño, es decir si no hay datos estadísticos que sustenten un nuevo diseño, dicho proyecto nunca verá la luz.

Bowman en su blog explica por qué considera que la aproxiamción usada por Google para determinar si un diseño es válido o no usando grupos de prueba es incorrecta y limita la creatividad del diseñador. Citemos literalmente a Bowman:

"When a company is filled with engineers, it turns to engineering to solve problems. Reduce each decision to a simple logic problem. Remove all subjectivity and just look at the data. Data in your favor? Ok, launch it. Data shows negative effects? Back to the drawing board. And that data eventually becomes a crutch for every decision, paralyzing the company and preventing it from making any daring design decisions."

(Traducción: "Cuando una compañía esta llena de ingenieros, recurre a la ingeniería para resolver problemas. Reduce cada decisión a un simple problema lógico. Remueve toda la subjetividad y sólo mira en los datos. ¿Datos a tu favor? Ok, lanzalo. ¿Los datos muestran efectos negativos? De vuelta al trablero de diseño. Y los datos eventualmente llegan a ser un estorbo para cada decisión, paralizando la compañía e impidiendo a esta de hacer cualquier decisión de diseño audaz").

Algunas personas podran opinar que la creatividad no puede estar limitada por los datos, pero recordar los excesos de los "creativos" banqueros que nos llevaron a la actual crisis nos recuerda que cuando se trata de hacer dinero, no hay nada más seguro que echar una mirada a los datos por consejo. La clásica y falaz frase usada para justificar saltos al vacio es "el cliente no sabe lo que quiere", es decir debemos darle al cliente lo que a nosostros nos agrada y no aquello que le resulte más funcional o conveniente. Claro uno de los financistas que inventó las CDS pudo bien usar la misma frase para justificar aquello que ninguna estadística podía sostener, beneficio ilimitado a riesgo cero.

La discusión de qué es más importante el diseño o los datos en una era de supercomputadores es anacrónica, un diseño puede ser creado colectivamente y mejorado con realimentación de los usuarios hasta un punto tal que un sólo ser humanos por más creativo que fuera jamas podría ser competencia, la red y la inteligencia colectiva abre la puerta a una nueva forma de entender la realidad diaria.

La postura de Bownan es tan anacrónica como la de aquellos ludistas que se oponían a la tecnificación de la sociedad a principios del siglo XIX, el modo intuitivo de resolver problemas ha sido aplastado por la gigantesca maquinaria computacional que hemos construido como sociedad, ahora las decisiones son tomadas sobre Petabytes de datos, que permiten encontrar relaciones que hasta no hace mucho permanecían enterradas bajo la montaña de datos. Hay espacio para la intuición, pues ciertamente aún lo hay, pero tan pronto como se descubra una nueva tierra fertil, la maquinaria analítica llegará y la dominará tarde o temprano.

Llego la primera netbook con Android

La empresa china SkyTone, ha presentado su nuevo modelo de netbook Alpha 680, equipada con procesador ARM y que utiliza el sistema operativo Android, diseñado originalmente por Google para smartphones. El precio del equipo estará entre los $100 y $200 dólares pero ofrecería características realmente interesantes si se le compara con cualquier teléfono inteligente del presente, aunque muy por debajo de las especificaciones de cualquiera de las netbooks que existen actualmente en el mercado.

Las características del Alpha 680 son las siguientes:
 

 Model Name  Alpha 680
 Operating System  Google Android
 Display  7“ TFT LCD true color
 LCD resolution  800 x 480( WVGA)
 Internet Connection (Optional)  ADSL, WiFi,( GPRS, CDMA,EDGE,WCDMA)
 Memory  128MB DDR2 (up to 256MB Optional)
 Solid-State Disk  1 GB Nand Flash Memory (up to 4GB Optional)
 CPU  ARM11 533 MHz 32bit
 LAN / Connection  10/100 MB Ethernet ; RJ-45
 Wireless  Built-in WiFi
 Media  Support MPEG1/2/4,H.263,H.264,WMV9
 USB Output  USB 2.0 x 2
 Media Storage  SD/MMC card slot ( support SDHC)
 Input Device  80 Key standard keyboard; Capacitive TouchPad

 
Una de las características que ofrecerá esta netbook es una pantalla táctil rebatible, además de contar con controles de juego a los lados de la pantallade 7", que aunque resulta pequeña para la tendencia actual de incorporar pantallas más grandes en las netbook, es el tamaño apropiado para un dispositivo que puede ser llevado fácilmente a cualquier lado. Debido a que SkyTone, el fabricante de la netbook se ha hecho conocido fabricando teléfonos Skype, no es de extrañar que al menos este programa de telefonía IP este incorporado dentro de la nebook.

Aunque las características de software puedan parecer muy limitadas, lo cierto es que Android no requiere mucho hardware para correr, y puesto que es un dispositivo orientado a Internet, pues incluye diversos modos de conectarse a una red, ethernet, wifi y 3G, entonces la idea es usar al browser como el cliente universal para entrar a todos los servicios que nos ofrece Internet.

Este es tan sólo el primero de una serie de netbooks que incluirán Android, hay cuando menos dos fabricantes más esperando a lanzar sus netbooks con procesadores ARM y Android en los próximos meses, entre ellos están Pegatron (que usaría el nuevo procesador ARM de FreeScale) e I-Buddie (que hasta ha presentado un video del prototipo).

Aquí unas fotos mostrando los detalles de la netbook de SkyTone, en la foto final del frente del equipo se nota claramente que "F" es el lapiz que se utilizará para la pantalla, lo cuál confirma la naturaleza táctil de la misma.

Alpha680

UPDATE 23-04-2009: MSI, el conocido fabricante de mainboards ha anunciado que presentará en la próxima feria Computex una netbook con Android según ha informado Digitimes. Al parecer la actual hegemonía de XP en las netbooks será puesta a prueba por el OS de Google.

Tu perfil en Google

Aunque tiene poco de práctico actualmente, definitivamente vale la pena tener un URL que asocie nuestro nombre y Google. Ahora es posible tener nuestro perfil de la forma http://google.com/profiles/volkan68, para obtenerlo sólo debe ir a este link y registrar el suyo antes de que alguien más lo haga por Ud. Al menos yo ya registre mi perfil con mi clásico nick "volkan68" y no me llevo más de 5 minutos, aquí un screenshot de mi perfil:
 
 

Volkan Profile

 
 

Google podría comprar Twitter

twoogleEn TechCrunch, Michael Arrington ha endosado el chisme tecnológico del momento, la posible adquisición de Twitter por parte de Google. Hay que mencionar que esto es todavía un rumor, pero al parecer ha comenzado a ganar fuerza a tal punto que han comenzado los desmentidos entre bloggers, así por ejemplo Henry Blodget en Silicon Alley Insider dice que otra vez Arrington se ha equivocado y no existe intención en Google por adquirir Twitter. Lo mismo opina Robert Scoble en su blog Scobleizer, donde cita dos fuentes muy próximas a Google que le han afirmado que no hay conversaciones para adquirir Twitter actualmente.

Hay que recordar que el post de Arrington fue publicado el día de ayer 2 de abril, así que claramente no tenía la intención de ser una broma. Pero ¿por qué Arrington arriegaría su credibilidad endosando un rumor de ese tipo?, una hipótesis mía es que Arrington desea que alguien adquiera Twitter, ya sea Google o Micrsoft, sin embargo muchos de los analistas creen que sería un error para Micrsoft comprar Twitter en estos momentos, al menos es lo que Mary-Jo Foley dijo en su post "Microsoft shouldn’t buy Twitter" (Traducción: Microsoft no debería comprar Twitter).

Arrington por otro lado abono la teoría con algunos indicios como el hecho de que Evan Williams e Isaac "Biz" Stone fundadores de Twitter y Blogger, podría otra vez cerrar negocio con Google.  Sin embargo Arrington no mencionó para nada el hecho de que Google actualmente esta permitiendo a alguno de sus anunciantes poder hacer un scrolling en la red de anuncios AdSense de los últimos 5 tweets, uno de los que esta haciendo uso de esta facilidad es Intuit que desea promocionar su red en Twitter de Turbotax. Encontre esta información en el portal de noticias de publicidad AdvertisingAge.

Es decir Google tiene un motivo para comprar Twitter, ha descubierto como hacer dinero con dicha red social, algo que nadie más que Google puede hacer por el momento. Pero porque filtrar a los medios unas conversaciones de adquisición aunque estas esten en una fase incial. La respuesta es simple para tratar de hacer subir el precio. Lamentablemente la economía esta tan mal, que si este negocio no se cierra, Twitter podría quedar sin fondos para operar muy pronto, sin embargo parece ser un riesgo calculado que ha sido tomado por la gente de Twitter para tratar de obtener el mejor trato posible por parte de Google.