Archivo de Enero, 2007...
Archivado bajo Humor
Un hombre está volando en un globo aerostático y se da cuenta de que se encuentra perdido. Mientras hace algunas maniobras ve a un tipo caminando por el campo.
- El hombre hace descender el globo algunos metros y grita: “Perdone, ¿me puede decir dónde estoy?”
- A lo que el hombre que está abajo responde: “Usted está en un globo aerostático, suspendido a unos 10 metros del suelo.”
- “Usted es informático ¿verdad?” , dice el del globo.
- “Así es” , dice el de abajo. “¿Cómo se ha dado cuenta?”
- “Bueno” , dice el del globo. “Todo lo que usted me ha dicho es técnicamente correcto, pero no resulta de utilidad para nadie.”
- Y el de abajo responde: “Y usted debe de ser un usuario, ¿verdad?.”
- “Exacto” , responde el del globo. “¿Cómo lo ha sabido?”
- “Sencillo. Usted no sabe dónde se encuentra, ni hacia dónde va, pero espera que yo le pueda ayudar. Usted está en la misma situación que antes de que nos encontrásemos, pero ahora cree que la culpa la tengo yo.”
Gracias Igor
Archivado bajo Microsoft, Sistemas
En el blog en geeks.ms de Juansa (MVP), vemos una descripción de los principales contadores para el Monitor de rendimiento (PerfMon.exe) de la familia Windows (Menos en Sistemas 9x).
Son de mucha utilidad para descubrir problemas originados por disco y llevar un buen mantenimiento de los servidores.
%Tiempo de disco. Nos indica el tiempo en el que el disco se encuentra ocupado leyendo/escribiendo solicitudes. Si se mantiene cerca del 100% es que se está usando demasiado. El control individual de los procesos puede ayudarnos a determinar si alguno o algunos de ellos se están apropiando del uso del disco mediante sus solicitudes.
Longitud de cola actual de disco. Indica el número de solicitudes de E/S al disco pendientes. Si este valor se mantiene por encima de 2, hay congestión.
Media de transferencia Bytes. La media de los bytes transferidos hacia o desde el disco durante las operaciones de lectura/escritura. Cuanto mayor sea el tamaño de la media, mayor es la eficiencia del disco.
Bytes por segundo. Ratio al que se han transferido los bytes hacia o desde el disco durante operaciones de lectura/escritura. Cuanto mayor sea mejor rendimiento.
%Espacio libre disco lógico. Cantidad de espacio sin usar.
Archivado bajo Desarrollo Web, Frameworks, javaScript

Algo realmente llamativo es el menú tipo Fish Eye del Dock, menú inferior en los sistemas Apple MacOSX.
Alexei Nitobi ha publicado en su blog un interesante artículo con ejemplos y un vídeo de cómo ha conseguido éste efecto en web.
Éste menú también se puede conseguir fácilmente mediante la librería Dojo Toolkit de Ajax.
Archivado bajo Desarrollo Web, PHP
En mpWebWizard, veo un sencillo truco para desviar el tráfico proveniente de grandes diggs y portales de información que pueden dejar inaccesible nuestro sitio.
//El truco, consiste en meter todas las direcciones que queremos desviar en un array:
$sites = array(
‘digg.com‘,
’slashdot.org‘,
‘reddit.com‘,
‘fark.com‘,
‘somethingawful.com‘,
‘kuro5hin.org‘,
‘engadget.com‘,
‘boingboing.net‘,
‘del.icio.us’,
‘netscape.com‘
);
// Comprobamos que el tráfico no proviene de un servicio de proxy cache (si no lo hacemos la aplicación entraría en un bucle) y comprobamos la definición de la variable de cabecera HTTP_REFERER
if (isset ($_SERVER['HTTP_REFERER']) && ! strstr ($_SERVER['HTTP_USER_AGENT'], ‘ [ Servicio de Proxy ]‘)) {
$referer = parse_url ($_SERVER['HTTP_REFERER']);
$referer = $referer['host'];
//Por cada uno de los sitios del array que hemos definido en el primer paso, comprobamos que no aparezca en la cabecera recibida.
foreach ($sites as $site) {
if(stristr ($referer['host'], $site)) {
//Redireccionamos al sitio que queramos. Si en ese sitio hemos replicado el contenido del sitio web que tenemos y queremos pasarle dinámicamente la ruta y parámetros referentes al post añadiremos al final: $_SERVER['REQUEST_URI']
//Como aportación personal… yo desviaría el tráfico aleatoriamente a una de varias direcciones alternativas, que previamente hemos almacenado en un array, mediante array_rand()
header (’Location: [ Dirección a la que enviamos el tráfico ]‘);
//Terminamos la ejecución del script
exit;
}
}
}