Archive for marzo, 2008
0
Cuando Crezcas…

Cuando crezcas, descubrirás que ya defendiste mentiras, te engañaste a ti mismo o sufriste por tonterías. Si eres un buen guerrero, no te culparás por ello, pero tampoco dejarás que tus errores se repitan.

Neftalí Ricardo Eliecer Reyes Basoalto

2
La batalla de los subportátiles o Sony perdió el camino?

Hace unas semanas me decidí a adquirir un subportátil, la decisión no era tan difícil una vez que conoces perfectamente tus necesidades y lo que las empresas ofrecen.

Básicamente en ese tiempo (ahora Toshiba se sumó a este campo con su R500)  había tres opciones:

  • Sony Vaio TZ: Una computadora muy pequeña sin dejar de ser potente, con sistema operativo Windows Vista Business, tecnología Centrino Duo, que es un conjunto de chip’s de la marca intel (Procesador, Tarjeta de video y Wifi), 1GB de memoria RAM, disco duro 100GB, unidad óptica DVD +/-RW DL/RAM,  entrada para tarjetas xpress card, lector de tarjetas,  2 entradas usb, cámara integrada, salida VGA para un monitor externo y muchas, muchas cosas más… Wow! de verdad fuera perfecta a no ser por su precio.
  • Asus Eeepc Series: En realidad que es una computadora muy muy pequeña y liviana, sistema operativo Linux Xandros, procesador Intel a 900Mhz, 512 RAM, Disco duro de 4GB, 3 puertos usb, salida VGA para un monitor externo, Wifi, Cámara y micrófono integrado, lector de tarjetas SD, entrada de audífonos y micrófono y lo mejor su precio. Realmente una ganga.

Bueno no considere al MacBook Air ya que definitivamente sacrifica demasiado la conectividad, muy muy pobre, pero eso si, Apple puede asegurar que tiene el subportátil mas delgado del mundo. Se que Apple tiene herramientas para aprovechar los recursos de otras Mac’s (o PC’s) tal como lo es la unidad óptica, y es que un subportátil es un equipo auxiliar, y no se debería usar como computadora principal donde tienes todos tus archivos, trabajos, etc., esto queda muy claro, sin embargo dentro de la portabilidad, también busco garantizar conectividad a donde quiera que vaya, y Apple no me ofrece lo que busco con este producto. Aunque eso si, mi computadora personal para uso rudo (y ahí si que buscaba potencia)  es un MacBook Pro y  estoy muy satisfecho por la compra.

Considerando que lo busco es conectividad, portabilidad y precio, pues lo tuve muy claro.

Asus Eeepc apostó por el precio, no es una computadora muy potente pero realiza muy bien su trabajo. Tomando en cuenta que hay muchos servicios "on line" pues no es necesario sacrificar tanto disco duro. Google docs, e-mail, algo de multimedia (last.fm me viene perfecto),  YouTube, Google Reader, y un sin fin de servicios gratuitos que están a disposición de "casi" cualquiera.

Pero… ¿Que ha hecho mal Sony? nada, en serio no es una broma no hizo nada, y precisamente fue el "no hacer nada" por lo que ahora tiene que sufrir las consecuencias. Sony y su línea "VAIO" siguió su formula de siempre, crear productos de alta calidad, de pequeño tamaño,  siempre incluyendo lo mejor de lo último, añadirle "Windows" y walla!. Sin embargo que creen uds. que sea más probable ¿Que millones de empresarios compren una laptop de casi 4000 Dlls? o ¿Que millones de usuarios comunes y corrientes (bloggers, estudiantes, profesores, etc) compren un subportátil de casi 400Dlls?

La respuesta es más que obvia, Sony ofrece productos muy buenos pero también muy caros, y al parecer están convencidos que el error no es de ellos, pienso que deberían cambiar de visión. Ajustarse a las necesidades (y posibilidades) de la mayoría, no es una regla de oro aquello de que "Calidad siempre es mejor que cantidad" al menos Sony para mí, perdió el camino.

Ahh si se me olvidaba, aquí les dejo una foto de mi Asus Eeepc con Windows Fundamentals for Legacy PC’s, que es un Windows XP optimizado para funcionar en máquinas con pocos y limitados recursos. Xandros me gustó mucho,  pero para lo que uso este subportátil me viene mejor Windows.

asus_eeepc

0
Barras de progreso dinámicas en PHP

Bueno, hace unos días que empecé a jugar un poco con la librería GD y PHP, y a la hora de desarollar un sitio, mientras más recicles código es mucho mejor. En esta ocasión hice un pequeño script para crear barras de progreso dinámicas con PHP, este es un ejemplo: Barra de progreso 50% llena
La imagen que usé de fondo es esta: fondo.png<?php
/* variables del porcentaje de largo que queremos mostrar lleno y la paleta de colores en formato RGB (ej: image_bar.php?width=50&palet=0/102/53*/
$width = $_GET['width'];
$palet = $_GET['palet'];
/* verificamos la variable palet que guarda la paleta de colores y separamos los colores RGB*/
if ($palet)
{
$arr_palet = split('/',$palet);
$arraycolor[0] = array($arr_palet[0], $arr_palet[1], $arr_palet[2]);
for($i = 1; $i < 9; $i++)
{
if (($arr_palet[0] + 10) > 255) $arr_palet[0] = 255;
else $arr_palet[0] = $arr_palet[0] + 10;
if (($arr_palet[1] + 10) > 255) $arr_palet[1] = 255;
else $arr_palet[1] = $arr_palet[1] + 10;
if (($arr_palet[2] + 10) > 255) $arr_palet[2] = 255;
else $arr_palet[2] = $arr_palet[2] + 10;
$arraycolor[$i] = array($arr_palet[0], $arr_palet[1], $arr_palet[2]);
}
}
$data = ($width * 48 / 100);
$data = round($data);
/* Crear imagen a partir de otra*/
$background = @imagecreatefrompng ('fondo.png');
if ($data > 1)
{
$fill1 = imagecreatetruecolor($data,1);
$fill2 = imagecreatetruecolor($data,1);
$fill3 = imagecreatetruecolor($data,1);
$fill4 = imagecreatetruecolor($data,1);
$fill5 = imagecreatetruecolor($data,1);
$fill6 = imagecreatetruecolor($data,1);
$fill7 = imagecreatetruecolor($data,1);
$fill8 = imagecreatetruecolor($data,1);
$fill9 = imagecreatetruecolor($data,1);
$colors = array(
array(
array('62','125','179'), array('72','133','184'), array('82','140','190'),
array('93','149','195'), array('103','157','200'), array('114','165','206'),
array('127','174','211'), array('135','182','216'), array('190','190','221')
),
array(
array('181','59','59'), array('189','69','69'), array('191','80','80'),
array('197','90','90'), array('202','101','101'), array('208','111','111'),
array('213','121','121'), array('218','132','132'), array('223','142','142')
),
array(
array('10','60','70'), array('20','70','80'), array('30','80','90'),
array('40','90','100'), array('50','101','110'), array('60','111','120'),
array('70','121','130'), array('80','132','140'), array('90','142','150')
),
$arraycolor
);
/* creamos los colores a usar */
$c1 = imagecolorallocate($fill1, $colors[$color][0][0], $colors[$color][0][1], $colors[$color][0][2]); //Background
$c2 = imagecolorallocate($fill2, $colors[$color][1][0], $colors[$color][1][1], $colors[$color][1][2]); //Background
$c3 = imagecolorallocate($fill3, $colors[$color][2][0], $colors[$color][2][1], $colors[$color][2][2]); //Background
$c4 = imagecolorallocate($fill4, $colors[$color][3][0], $colors[$color][3][1], $colors[$color][3][2]); //Background
$c5 = imagecolorallocate($fill5, $colors[$color][4][0], $colors[$color][4][1], $colors[$color][4][2]); //Background
$c6 = imagecolorallocate($fill6, $colors[$color][5][0], $colors[$color][5][1], $colors[$color][5][2]); //Background
$c7 = imagecolorallocate($fill7, $colors[$color][6][0], $colors[$color][6][1], $colors[$color][6][2]); //Background
$c8 = imagecolorallocate($fill8, $colors[$color][7][0], $colors[$color][7][1], $colors[$color][7][2]); //Background
$c9 = imagecolorallocate($fill9, $colors[$color][8][0], $colors[$color][8][1], $colors[$color][8][2]); //Background
/* formamos el degradado */
imagefilledrectangle($fill1, 0, 0, $data, 1, $c1);
imagefilledrectangle($fill2, 0, 0, $data, 1, $c2);
imagefilledrectangle($fill3, 0, 0, $data, 1, $c3);
imagefilledrectangle($fill4, 0, 0, $data, 1, $c4);
imagefilledrectangle($fill5, 0, 0, $data, 1, $c5);
imagefilledrectangle($fill6, 0, 0, $data, 1, $c6);
imagefilledrectangle($fill7, 0, 0, $data, 1, $c7);
imagefilledrectangle($fill8, 0, 0, $data, 1, $c8);
imagefilledrectangle($fill9, 0, 0, $data, 1, $c9);
/* formamos la barra de progreso*/
imagecopy($background,$fill1,1,9,0,0,$data,1);
imagecopy($background,$fill2,1,8,0,0,$data,1);
imagecopy($background,$fill3,1,7,0,0,$data,1);
imagecopy($background,$fill4,1,6,0,0,$data,1);
imagecopy($background,$fill5,1,5,0,0,$data,1);
imagecopy($background,$fill6,1,4,0,0,$data,1);
imagecopy($background,$fill7,1,3,0,0,$data,1);
imagecopy($background,$fill8,1,2,0,0,$data,1);
imagecopy($background,$fill9,1,1,0,0,$data,1);
}
/* mandamos las cabeceras, el archivo es una imagen*/
header("Content-type: image/png");
/* mandamos la imagen */
imagepng($background);
?>

Modo de uso:
image_bar.php?width=porcentaje&palet=R/G/B
5
Los estándares según los navegadores

La semana pasada me recomendaron instalar Internet Explorer 8, y como ya había leído que se apegaría a los estándares decidí echarle un vistazo y lo instalé. No duré ni medio día con él ya que causaba muchos errores y una vez más quede decepcionado de los productos de Microsoft. En mi aventura (algo extrema y sumamente no recomendada) usando IE8 Beta noté que la velocidad con su versión predecesora no cambiaba mucho, o al menos yo no note la diferencia, así que bueno no quise perder demasiado el tiempo y realice al Acid Test.

La prueba que hice fue Acid Test2, para mi no mucha sorpresa no logró pasar el test que se concentra en probar CSS 2 y que esperar de Acid 3 , que se concentra en probar Javascript, ni soñarlo un resultado muy pobre, irónicamente el navegador tiene 3 modos, Normal – Estándar y Super Estandar y parece no funcionar bien, aunque algunas personas dicen que el máximo rendimiento lo mostrará en versiones “Pro”, lo cual de ser cierto, sería en mi opinión, una muy mala decisión de la gente de Redmond, ya que en los últimos meses se ha hablado de un aumento en el número de usuarios que usan Firefox y que decir de Safari, ambos navegadores son alternativas muy atractivas, aunque Apple a veces también toma malas decisiones para sacar ventaja de su navegador en su sistema operativo, aunque creo que no lo necesita ya que Safari es un buen navegador, el tiempo que lo he usado he quedado satisfecho. Safari es uno de los primeros navegadores en pasar los Acid Test’s, Apple tiene un equipo sumamente eficiente y aunque quizás sea sumamente apegado a los estándares, le falte liberar su código fuente o al menos ofrezca a los usuarios customizarlo según las necesidades de cada quien, ya que el modelo de extensiones que usa no parece convencer a muchos, cosa que Mozilla ha hecho desde un principio con Firefox y que además le ha dado buenos resultados, y aunque Microsoft y Apple no le hagan la vida fácil a la gente de Mozilla, no cabe duda que la beta de la versión 3 de Firefox pinta muy bien y ha dejado muy satisfecho a más de uno. He notado que la versión 3 de Firefox es mucho las liviana, consume realmente mucho menos de memoria y esto lo pedían a gritos los usuarios con menos de 512MB en memoria RAM, por el momento la beta va por buen camino y aunque aun no pase el Acid Test 3, estoy seguro que lo hará muy pronto.

En lo personal me quedo con Firefox, me resulta muy cómodo usar Extensiones que me hacen la vida más facil en esta vida que llevo entre bits, pero esperemos cosas interesantes por parte de Apple, estamos en el mundo “2.0″ y los navegadores son herramientas muy poderosas y juegan un papel muy importante, al menos es lo que pienso.

1