miércoles, 7 de octubre de 2009

Enfriando el Infierno (o Cooler DIY)

En el trabajo tengo una laptop Toshiba L20-SP119, con un Celeron de 1.5GHz, medio viejita, que uso para laburar en plantas, programar plc y correr el Autocad (y alguna que otra aplicación para windows).
Funciona bastante bien, pero tiene un problema:
¡¡Se calienta como el mismísimo infierno!!

Si bien no te quemas al tocarla, es bastante incomodo, sobre todo cuando tengo que tipear.

Así que decidí poner manos a la obra y construir el "Definitive Cooling System"

¡Charaaan!

El monstruo sin la protección mecánica
Materiales Utilizados:
  • Ventilador de 80mm de una fuente ATX quemada
  • Caja de Ladrillitos Blocky que me regalaron para navidad de Officenet
  • Cinta para tapar los agujeros
  • Un Transformador de 12 voltios de corriente continua (tecnicamente: un transformador con rectificador...)
  • Un jefe permisivo que nos deje poner tamaña obra de arte en nuestro Box
El Monstruo con la proteción "Anti Dedos Curiosos"
El conjunto en toda su magnitud

Detalle del montaje del Ventilador, y la cinta (en este caso de papel) que tapa los agujeros

Gracias al nuevo ventilador, la máquina redujo su temperatura en un 40% (aproximado se queda corto)

jueves, 1 de octubre de 2009

Agregando un botón para chequear las cuentas pop3 en Gmail

Cansado de usar un cliente de correo, me decidi a unificar las casillas de mail, y recibir todo en Gmail, el problema es que actualiza las casillas POP3 aproximadamente cada una hora. Si bien existe una forma de forzar la actualizacion, esta en la parte de configuracion, siendo muy poco practico.
Descubri un script para GreaseMonkey, de Tim Smart, pero solo funciona para la versión en Ingles. Me di cuenta que adaptarlo al español era casi trivial. Aca esta la versión modificada:



// ==UserScript==

// @name GMail POP3 Quick Checker

// @namespace http://userscripts.org/users/tim

// @description Add's a link next to 'Refresh' to quickly check all POP3 Accounts

// @include http://mail.google.com*

// @include https://mail.google.com*

// @require http://updater.usotools.co.cc/51516.js

// @require http://userscripts.org/scripts/source/56812.user.js

// ==/UserScript==



function clickElement( element ) {

var clickEvent = document.createEvent("MouseEvents");

clickEvent.initMouseEvent( "click", true, true, document.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null );

element.dispatchEvent( clickEvent );

}



var navigating = false;



GMailAPI({

onViewChange: function() {

if ( this.viewType === 'tl' ) {

var divs = this.viewElement.ownerDocument.evaluate( ".//div[contains(.,'Actualizar') and @act='20']", this.viewElement, null, 7, null );

for ( var i = 0, div, refreshCont, refreshLink; div = divs.snapshotItem( i++ ); ) {

if ( div.added === true )

return;



refreshCont = document.createElement('div');

refreshLink = document.createElement('div');

refreshCont.className = 'goog-inline-block';

refreshLink.className = 'AP';

refreshLink.appendChild( document.createTextNode('Actualizar Cuentas POP3') );

refreshCont.appendChild( refreshLink );



refreshCont.addEventListener( 'click', function() {

if ( top.location.hash && top.location.hash.length > 1 )

navigating = top.location.hash;

else

navigating = true;



top.location.hash = '#settings/accounts';

}, false );



div.parentNode.parentNode.appendChild( refreshCont );

div.added = true;

refreshLink = refreshCont = null;

}

divs = null;

}

else if ( this.viewType === 's' ) {

if ( navigating === false )

return;



var links = this.viewElement.ownerDocument.evaluate( ".//span[contains(.,'Comprobar si tengo correo ahora')]", this.viewElement, null, 4, null );

for ( var link; link = links.iterateNext(); )

clickElement( link );



top.location.hash = navigating === true ? '#inbox' : navigating;

navigating = false;

}

}

});