La locura de las versiones de Firefox

Mi navegador principal aún es Firefox, muchos de mis conocidos se movieron a Chrome, pero yo sigo con Firefox. ¿Mi excusa? Cualquier navegador sin Firebug (y otras de mis extensiones) me resulta completamente inútil, casi como tener una computadora sin conexión a Internet. Mi PC no tiene problemas con que Firefox decida usar un tercio de la memoria disponible, y sigue sin ser rival para mi Core i7-920.

De cuando en cuando me gusta usar las versiones beta de Firefox, por diversión y ver que de bueno incluirá la siguiente versión. Pero ahora que Mozilla ha decido lanzar una nueva versión mayor de Firefox cada 6 semanas, lo que ellos llama Rapid Releases, empiezo a ver un problema por venir:

Read More

Spotify disponible en Estados Unidos (buenas noticas para los que estamos “afuera”)

Ya he dicho que iTunes”>soy un gran fan de Spotify, y en particular del buen trabajo que han hecho con su software; mi único gran problema es que el servicio solo se puede usar desde ciertos lugares (estúpidas restricciones geográficas), y apesar de que ellos te permiten usar el servicio desde cualquier parte del mundo si eres usuario premium, solo puedes pagar desde los países autorizados por las malditas disqueras.

La buena noticia es que Spotify ya está disponible para Estados Unidos, no solo es un gran paso para ellos estar en un mercado mucho más grande, sino también buenas noticias para los que estamos “afuera” de los países autorizados para Spotify.

Read More

Cyanogen y la vida de la batería en Android

Desde que me pasé a Android no había tenido razones de peso para modificar el software del teléfono (rootearlo,  lo que para iOS seria el Jailbreak). Mi Nexus One ya viene desbloqueado de fábrica, puedo usar cualquier SIM sin problemas; también puedo instalar cualquier aplicación que quiera, no importa si no está en el Android Market.

Con la actualización a Gingerbread (Android 2.3) todo funcionó perfecto excepto que la duración de la batería bajó considerablemente. No uso muchas aplicaciones y limito tener cosas corriendo en segundo plano, aún así no pude lograr más de 8 horas de batería aunque lo usara muy poco.

Leí que bastante gente sufría de lo mismo (aunque a otros les mejor el tiempo de batería), una solución rápida es cambiar el “Wi-Fi sleep policy” a “Never”, aunque suene que el efecto será negativo, si mejora un vida de la batería pero no dramáticamente.

Decidí probar Cyanogen porque leí muchas afirmaciones de gente diciendo que su batería les duraba días usando este ROM. Y pues este fue mi resultado:

Read More

Twitter, Snowflake, Números grandes y PHP

Desde que los ID’s de los estados en Twitter son mayores que la representación de enteros usando 32bits, había estado usando el tipo float para filtrar rápidamente esos valores, digamos:

$statusid = isset($_GET['statusid']) ? (float)$_GET['statusid'] : 0;

Con float se pueden tener hasta 14 dígitos sin pasar a la representación exponencial (1.xxxxxxE+NN), y como Twitter solo estaba generando ID’s de 11 dígitos, me pareció que había bastante tiempo antes de que se pasara el límite de float. Además me sirve que tenga la representación como número para comparaciones ($lastid > $firstdbid ) o para hacer cálculos sobre estos (etags).

Ahora que Twitter anda generando los ID’s con Snowflake (más información al respecto en el blog de Twitter), cada ID requiere 15 dígitos o más (53bits por ahora).

Esto no es problema si se tiene PHP a 64bits, ya que se pueden tener hasta 19 dígitos antes de alcanzar el límite. Si se tiene PHP compilado a 32bits, no queda de otra más que usar strings. Un forma rápida para filtrar los IDs tanto para 64bit y 32bit sería:

function safelongint($strint)
{
	$intval = intval($strint);
	if ( $intval == PHP_INT_MAX)
	{
		return preg_replace('/[^0-9]/','',$strint); //eliminar cualquier cosa que no sea dígito
	}
		
	return $intval;
}

Aún si los ID’s pasan el límite de los 64bits, debería usar strings automáticamente. Ya solo queda que la base de datos no tenga problemas con números tan grandes 😉 .

Actualización: Al 10 de Noviembre, Twitter ya llegó a los 17 dígitos en los ID’s… a ese paso el límite de los 64bit durará menos de lo que imaginé.

Un mejor teclado para Android

Cualquiera que ha usado un iPhone por bastante tiempo, al pasarse a Android una de las primeras diferencias que notará es la calidad del teclado (virtual); o al menos para mí, el teclado predeterminado del Android siempre me a parecido complicado de usar, uno confunde con mayor facilidad las teclas.

Lo bueno, y a diferencia del iPhone, es que en Android si se pueden instalar diferentes teclados (y no solo pieles/skins, sino con funcionalidades diferentes). Uno de los que mejor me ha funcionado en Android es el teclado del HTC Sense:

Teclado HTC Sense en Android

Read More