Categories
Humor Internet Explorer JavaScript

amelie() un “diabólico” script para deshacerse de IE6

Internet Explorer 6 ya nos tiene locos a todos, personalmente hay veces que tengo que hacer doble trabajo para que algo se vea en todos los navegadores e IE6.

Ahora que la misma gente de Microsoft está planeando destruir Internet Explorer 6, hay algunos otros que están ayudando en esta labor o al menos intentándolo.

Aprovechando el filtro MotionBlur que funciona en IE6 y usando este script se logra una extraña experiencia al navegar con IE6:

JAVASCRIPT:

if(document.all && !window.XMLHttpRequest){
var x = 1,when=0,str,dir,fil;
function amelie(){
  if(x == 2){ x = 0; }
  if(x == 0){
    str = 0; dir = 0;
    when = Math.floor( Math.random() * 10000 ) + 2000;
    setTimeout( 'amelie()', when );
  } else {
    str = Math.floor( Math.random() * 2 ) + 2;
    dir = Math.floor( Math.random() * 360 );
    setTimeout( 'amelie()', 500 );
  }
  var fil = "progid:DXImageTransform.Microsoft.MotionBlur(strength="+
            str + ",direction=" + dir + ",enabled='true')";
  document.body.style.filter = fil;
  x++;
}
setTimeout('amelie()',1000);
}

Podemos ver el funcionamiento en el siguiente video:

Según el autor del script, el diabólico plan que se tiene es:

  1. Usar amelie() en nuestros sitios.
  2. Fingir confusión y negar cualquier problema cuando las personas empiezen a quejarse y decir que nuestro código es correcto.
  3. Consultar a los expertos acerca de la “fatiga de software”. Este falso concepto debe indicar que el software, como cualquier otra máquina, se deteriora con el tiempo y empieza a comportarse de manera extraña (generalmente todos se creen esto).
  4. Correr el rumor de que la “fatiga de software” de IE6 no funciona bien con las tarjetas de video y que esto podría ser la razón del error.
  5. Consultar a otros expertos y vincular los dolores de cabeza generados por el trabajo de oficina con la mala visión.
  6. Por lo tanto, culpamos a IE6 de los problemas de salud y seguridad de las empresas logrando que todas las empresas actúen inmediatamente.

Enlaces

The Amelie approach to the IE6 problem.

Vía Ajaxian

Categories
MySQL

Reiniciar auto_increment cada año en MySQL

Alguna vez vamos a necesitar reiniciar el contador del auto_increment cada año. Por ejemplo si tenemos una tabla recibos quisieramos que el número de recibo empieze desde 1 el año siguiente.

Para esto hay un pequeño artificio en MySQL que nos puede ayudar:

SQL:

CREATE TABLE `recibos` (
  `anio` year(4) NOT NULL,
  `ID` int(5) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY  (`anio`,`ID`)
) ENGINE=MyISAM;
 

El truco está en que el campo primario debe ser la composición de dos campos; donde la columna con AUTO_INCREMENT es la segunda columna del índice.

SQL:

/* Ingresamos datos */
INSERT INTO `recibos` (`anio`) VALUES ('2010'), ('2010'), ('2010'), ('2011'), ('2011');

/* Mostramos los datos */
SELECT * FROM `recibos`;
 

El resultado sería:

CODE:

+------+----+
| anio | ID |
+------+----+
| 20101 |
| 20102 |
| 20103 |
| 20111 |
| 20112 |
+------+----+

La limitación es que este tipo artificio sólo funciona en tablas del tipo MyISAM.

Categories
CSS CSS3 Diseño Miniposts WordPress

Un tema de WordPress 3D con CSS 3

No muy práctico, pero funciona. Un tema de WordPress en 3D con CSS3.

Categories
Google JavaScript Miniposts

30 años de Pacman con Google

¿Quién no ha jugado Pacman? Si quieres recordar Google te ayuda –> Insert Coin :).

Categories
Artí­culos CSS Diseño Google

Usando Google Font Api y Google Font Directory

Google acaba de anunciar la creación de un directorio de Fuentes Open Source que se pueden utilizar en nuestros sitios mediante una API.

Bajo el lema “Haciendo hermosa la web” podemos por ahora usar una lista de 18 fuentes con sus respectivas variantes.

¿Cómo usarlo?

El ejemplo que nos dejan es muy sencillo. Primero agregamos esta línea entre las etiquetas <head>:

HTML:

<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Josefin+Sans+Std+Light" />

Y luego para que se vea en nuestra página agregamos el siguiente código CSS:

CSS:

                body {
                        font-family: 'Josefin Sans Std Light', arial, serif;
                        font-size: 48px;
                }

Donde el valor del parámetro family en el atributo href es la fuente que queremos usar. En el ejemplo escogí la fuente Josefin+Sans+Std+Light ya que es la fuente más parecida al logo de Buayacorp :).

El resultado con alguito de color:

google-font-buayacor-white

Y añadiendo alguito de código:

CSS:

                body {
                        font-family: 'Josefin Sans Std Light', arial, serif;
                        font-size: 48px;
                        text-shadow: 2px 2px 4px #aaa;
                        letter-spacing: -5px;
                        background: #4b4b4b;
                }

google-font-buayacor-gray

Ver el ejemplo >

¿Cómo funciona?

Básicamente lo que hace es usar la regla @font-face de CSS3. Revisando un poco el código veremos que estas fuentes funcionarán sólamente en en modo “screen” y no en impresión.

CSS:

@media screen {
@font-face {
  font-family: 'Josefin Sans Std Light';
  font-style: normal;
  font-weight: normal;
  src: local('Josefin Sans Std Light'), url('http://themes.googleusercontent.com/font?kit=doRWK9Qks0OQGenH-kW8nsnX9wMe89zs2uzox0MWMfk') format('truetype');
}
}

Vemos que tampoco funcionarán en navegadores antiguos.

Esperemos que con este tipo de ayudas, no se cometa el error del pasado de abusar como se hacía con la etiqueta <font>.

Es cierto que se podría lograr maravillas usando esta regla, sin embargo no se debe abusar de su uso.

Enlaces