Google nos propone hacer la web más rápida

Google ha creado un website dedicado a promover la mejora del rendimiento de la web, el site ubicado en esta URL http://code.google.com/speed/, nos presenta información diversa sobre como de una manera comunitaria, los webmaster podemos hacer la web más rápida. Google no solo propone la adopción de nuevos estándares, pues los actuales fueron desarrollados en una época en que la web aún estaba en su infancia, sino que además recomienda algunas prácticas de programación que permiten hacer las aplicaciones web más rápidas.

De esas mejores prácticas recomendadas por Google, me he permitido traducir/resumir estos tips para hacer las aplicaciones desarrolladas con PHP, lenguaje que uso principalmente para desarrollar mis proyectos web, mucho más eficientes en el uso de los recursos del webserver y como consecuencia más rápidas. El artículo original se llama "PHP performance tips", y ha sido escrito por Eric Higgins uno de los webmasters de Google.

Aquí las recomendadiones:

No copiar variables, si no es necesario.

Algunas veces los novatos en su afan de hacer el código más legible copian variables predefinidas para tener nombres más cortos, esto es malo pues necesitaremos el doble de memoria. Por ejemplo:

MAL: $descripcion = $_POST[‘descripcion’]; echo $descripcion;

BIEN: echo $_POST[‘descripcion’];

Usar comillas simples para las cadenas de texto.

Los interpretes PHP permiten mostrar cadenas de texto con comillas simples o dobles, pero tienen un significado distinto. Las comillas dobles le indican al interprete que revise el contenido y reemplace el valor de las variables, así que si una cadena no contiene ninguna variable es mejor usar comillas simples. Una buena practica es usar concatenación en lugar de comillas dobles. Por ejemplo:

MAL: $output = "Esta es una cadena de texto plano";

BIEN: $output = ‘Esta es una cadena de texto plano‘;

MAL: $type = "mixta"; $output = "Esta es una cadena $type";

BIEN: $type = ‘mixta’; $output = ‘Esta es una cadena ‘ . $type;

Usar echo en lugar de print.

Usar la función echo en lugar de print ofrece más confiabilidad al código y en el siguiente código de ejemplo una mayor performance:

MAL: <?php print($myVariable); ?>

BIEN: <?php echo $myVariable; ?>

No utilizar concatenación dentro de echo.

Muchos programadores novatos no estan concientes de que se puede pasar varias variables a echo separandolas por comas, en lugar de concatenarlas. Usar el punto para concatenar cadenas en el ejemplo a continuación resulta en un pobre prerformance, porque el intérprete PHP debe primero concatenar todas las variables juntas y entonces imprimir el resultado, sin embargo en el segundo ejemplo, el intérprete las imprime todas en el orden dado.

MAL: echo ‘Hola, mi nombre es ‘ . $firstName . $lastName . ‘ y yo vivo en ‘ . $city;

BIEN: echo ‘Hola, mi nombre es ‘ , $firstName , $lastName , ‘ y yo vivo en ‘ , $city;

Utilizar switch/case en lugar del if/else.

Utilice la sentencia switch/case en lugar de la sentencia if/else para una comprobación que involucre una sola variable, esto resultará en una mejor performance y hara el código más fácil de mantener.

BAD: if($_POST[‘action’] == ‘add’) { addUser(); } elseif ($_POST[‘action’] == ‘delete’) { deleteUser(); } elseif ($_POST[‘action’] == ‘edit’) { editUser(); } else { defaultAction(); }

GOOD: switch($_POST[‘action’]) { case ‘add’: addUser(); break; case ‘delete’: deleteUser(); break; case ‘edit’: editUser(); break; default: defaultAction(); break; }

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:
 

 
 

Acer lanzará netbook con Android en 3 meses

En una nota aparecida en Reuters, me he enterado que Acer, el tercer fabricante más grande de PCs en el mundo, planea lanzar en el tercer trimestre de este año (apenas en 3 meses más), una netbook que contará con el sistema operativo Android, creado por Google para smartphone, pero que ha ganado rápidamente presencia en el segmento de las netbooks.

Acer anunció oficialmente el lanzamiento de netbooks con Android, apenas unos dias después de haber anunciado que fabricaría smartphones con Android. El presidente de la división de productos TIC, Jim Wong, ha declaro en la feria Computex (actualmente en desarrollo en Taiwan) que "Las netbook de hoy día estan lejos de la perfección. Pero en dos años, esto será muy diferente.", agregando posteriormente "Si nosotros no continuamos desarrollando nuestra línea de dispositivos móviles de Internet, los clientes podrían no elegirnos nunca más".

Aunque Wong, no ha precisado características, fecha de lanzamiento exacto y precio. Si ha sido claro al afirmar que Acer continuará vendiendo netbooks con el sistema operativo Windows. Se sabe sin embargo que la plataforma de hardware usada para las netbook con Android estará basada en la plataforma de procesadores de gama baja Intel Atom. Supongo que será por eso que ahora grandes cadenas están intentando salir de sus inventarios, ese es el caso de Tigerdirect que esta ofreciendo Acer Aspire One por $199.97. Supongo que eso confirma lo inminente del posible lanzamiento de la siguiente familia de netbooks de Acer, que deberían de tener como es lógico un precio menor.

Acer Apire One AOA150

Bajo la lógica de que la pelea por las netbooks será en quien ofresca el mejor precio (al menos eso parecen pensar dos de sus principales actores Asus y Acer). Me pregunto como planea armonizar esa dinámica de mercado Microsoft con el lanzamiento de su nuevo sistema operativo Windows 7, que según fuentes confiables tendría un precio superior a Windows XP en las netbooks, dado que el Starter Edition ya no tendría la limitación de las 3 aplicaciones concurrentes, que tanta polémica despertó. Si consideramos que los analistas estiman que agregar el sistema operativo Windows XP a una netbook representa un extra de $25, me pregunto cuál sería el precio de una netbooks con Windows 7. A un precio de venta al público de $200, $25 sólo por el sistema operativo representa el 12.5% del precio, si incluyeramos Microsoft Office el precio rápidamente podría escalar a 50 o 60% del valor total del equipo. Por otro lado la alternativa Android es 100% gratuita. Como comenté en un post anterior, el modelo de negocios de Microsoft ya es obsoleto en medio de esta recesión de escala planetaria y que no sabemos a ciencia cierta cuando durará.

Asus presenta eeePC con Android y chip Qualcom

Asus, el fabricante taiwaness y creador de la famosa eeePC ha presentado en la última feria Computex Taipei 2009, un modelo de netbook (smartbook según Qualcom) equipada con un procesador Snapdragon de Qualcom de 1GHz, que es capaz de codificar y decodificar video en alta definición a 720p. El equipo usa Android como su sistema operativo y representa un desafío serio a otras plataformas como la Intel Atom y la Nvidia Tegra.

Debido al bajo consumo de energía de dicho chip un sistema de enfriamiento no es necesario, por lo que la vida de la batería es mayor y es posible un diseño mucho más delgado. El equipo que aún es un prototipo puede ofrecer mayores prestaciones como video en resolución 1080p usando el chip Snapdragon de 1.3 GHz, o el más reciente procesador de doble núcleo que opera a 1.5GHz. Se espera que un producto final pueda entrar al mercado a fines de este año.

Aquí les dejo el video que ha aparecido en el blog jjkmobile en donde se puede apreciar el equipo:
 
 

 
 
Más información en estos URL:

Poweradmin no tan Power al admin

Hace ya un par de meses publiqué un post sobre el servidor de nombres de dominio PowerDNS, un producto Open Source bastante versátil que permite almacenar los registros en un servidor de base de datos, con lo que se elimina la necesidad de estar recargando el archivo de configuración como ocurre con Bind, el estándar de facto en cuanto a servidores DNS. Estaba buscando ese tipo de solución pues mi proyecto cix.pe, necesitaba un servidor que dinámicamente pudiera actualizar la configuración de los dominios que hosteara.

No he tenido queja de PowerDNS, funciona muy bien. Pero necesitaba un front-end para poder ofrecer la administración de los dominios que se crearan a los usarios, cuando hace un mes más o menos encontre Poweradmin, pense que había encontrado la solución que buscaba. Era un proyecto Open Source que estaba implementado en PHP y permitía administrar el PowerDNS. Sin embargo después de un mes de tratar de traducirlo y adaptarlo a mis necesidades sin éxito, debo de admitir que Poweradmin no estan "power" como su nombre lo indica.

Al final ya cansado de tratar de arreglar un programa escrito por otro, acabo de tomar la decisión de iniciar un proyecto nuevo por mi cuenta usando CodeIgniter, después de todo así me demore otro par de meses más, al menos el resultado final será el que ando buscando. Así de esa manera en algo podré capilizar todo el tiempo que invertí leyendo el código de Poweradmin y tratando de adaptarlo a mis necesidades.

Aquellos que están ansiosos por su dominio .cix.pe, les pido un poco de paciencia mientras construyo el front-end para administrar los dominios.