Categories
CSS Herramientas JavaScript

Usa CSS dinamicamente con “{less}”

Muchas veces al momento de escribir código CSS, hemos tenido la sensación de: ¿Por qué no puedo usar variables?, ¡Que bueno sería usar alguna función!. Ahora puedes hacerlo con {less}.

{less} modifica el comportamiento de CSS para que puedas usar variables, funciones, operaciones y mezclar estos para escribir código más rápidamente y usando tus talentos de programador.

El resultado es mostrado en el navegador como código CSS simple y funciona con todos los navegadores, también puede ser usado de lado del cliente y del servidor. Aquí algunos ejemplos:

Variables

Con {less}

CSS:

@color: #4D926F;

#header {
  color: @color;
}
h2 {
  color: @color;
}
 

Resultado

CSS:

#header {
  color: #4D926F;
}
h2 {
  color: #4D926F;
}
 

Mezclas

Con {less}

CSS:

.rounded-corners (@radius: 5px) {
  border-radius: @radius;
  -webkit-border-radius: @radius;
  -moz-border-radius: @radius;
}

#header {
  .rounded-corners;
}
#footer {
  .rounded-corners(10px);
}

Resultado

CSS:

#header {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
#footer {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
}

Funciones y operaciones

Con {less}

CSS:

@the-border: 1px;
@base-color: #111;
@red:        #842210;

#header {
  color: @base-color * 3;
  border-left: @the-border;
  border-right: @the-border * 2;
}
#footer {
  color: @base-color + #003300;
  border-color: desaturate(@red, 10%);
}

Resultado

CSS:

#header {
  color: #333;
  border-left: 1px;
  border-right: 2px;
}
#footer {
  color: #114411;
  border-color: #7d2717;
}

y muchos otros ejemplos...

El sitio tiene extensa documentación y su uso puede ahorrarnos algunas líneas menos.

Enlace y descarga: {less}

Documentación: {less} docs

Categories
Miniposts

AutoShortener: plugin para recortar urls

Un plugin más para acortar url's. No lo he probado, pero por lo que se ve en las imágenes, parece tener varias características.

Categories
Artí­culos Seguridad Web

Collège de France: interesantes presentaciones sobre seguridad informática

Durante los meses de marzo, abril y mayo de este año, se han realizado un conjunto de presentaciones sobre seguridad (inglés, francés) en el Collège de France, en París. Pueden descargar las transparencias y ver los videos de las presentaciones.

Algunas de las presentaciones se hicieron en francés, pero felizmente casi la mayoría de las presentaciones tienen traducción en inglés (todas las que aparecen en esta entrada).

Categories
Miniposts

Geek & Poke: ¿cómo simplificar tu matrimonio?

Para la gente que está casada o en planes de hacerlo:


Fuente: Geek & Poke

Hay incluso un libro que publicó el autor de esa tira.

.

Categories
PHP

¿Threads en PHP?

Nunca me ha gustado PHP como lenguaje, sin embargo en los últimos 4 o 5 años, he leído y escrito varios miles de lineas de código. Una contradicción dirían algunos.

Dicho esto, ahora último estuve jugando un poco con el código del plugin para importar contenido en WordPress. Actualmente, lo que hace es cargar todo el archivo XML en memoria, hace el parsing y finalmente comienza a importar el contenido. Todo esto, siempre y cuando se haya logrado subir con éxito el archivo.

La idea era modificarlo para que pueda procesar archivos de gran talla sin necesidad de cambiar mucho la configuración del servidor. El primer punto era poder subir los archivos sin problemas, así que el primer paso era subirlo en pedazos y juntarlo todo en el servidor. Dado que esto no se puede hacer sólo con javascript, pensé en utilizar flash, pero como no conozco ActionScript dejé de lado esa opción. Había hecho pequeñas cosas en Silverlight, así sería más sencillo. Sin embargo, como seguramente alguien había tenido el mismo problema, decidí buscar soluciones ya existentes. Encontré el excelente proyecto plupload.

El siguiente punto era procesar el archivo XML por partes, leyendo en bloques. Lo que normalmente hubiera hecho en otro lenguaje sería tener un pool de X threads, que procesarían las piezas que se vayan leyendo del documento (cada pieza por ejemplo conteniendo Y entradas). Sin embargo, esto parece no ser posible todavía y no sé si sea posible del todo. Por el momento, probablemente tenga que utilizar, lo que considero son hacks, el clásico cron o su variante de WordPress, wp-cron.

Si hay algún experto PHP en la audiencia y que tenga algo de tiempo para hacer una recomendación, ¿hay alguna manera más elegante de hacer ese tipo de cosas?

* Para los interesados en el código que modifiqué, pueden descargarlo de http://www.buayacorp.com/files/wordpress/wp-large-upload.zip

** Sé que me dirán algunos que es mejor hacerlo usando mysqldump o phpmyadmin, pero en ciertos casos no se tiene acceso a ese tipo de utilidades.