Archive for October, 2006

Bash Shell Shortcuts

Este post podría llamarse: “Sin razones para sacar la mano derecha de la línea media del teclado” :P

Una aclaración que vale hacer al respecto de esta lista es que el tratamiento de “palabras” es, a menos que se indique lo contrario, lexicográfico.

Crtl

Ctrl + a – Salta al comienzo de la línea
Ctrl + b – Mueve el cursor un caracter atrás
Ctrl + c – Termina el comando/programa
Ctrl + d – Borra el caracter bajo el cursor
Ctrl + e – Salta al final de la línea
Ctrl + f – Mueve el cursor un caracter adelante
Ctrl + h – Borra un caracter hacia atrás (símil Backspace)
Ctrl + k – Corta desde el cursor hasta el final de la línea
Ctrl + l – Borra la terminal
Ctrl + r – Búsqueda hacia atrás en la historia de comandos
Ctrl + t – Intercambia de posición las dos ultimas palabras de la línea
Ctrl + u – Corta desde el comienzo de la línea hasta la posición del cursor
Ctrl + w – Borra hacia atrás el token completo (no lexicográfico) (ver

Alt+Backspace

)
Ctrl x Ctrl e – Invoca a $EDITOR
Ctrl + xx – Mueve el cursor entre las dos ultimas posiciones en que se encontró
Ctrl + x @ – Muestra los nombres de host que pueden ser resueltos (/etc/hosts)
Ctrl + y – Pega (yank) lo cortado previamente con

Ctrl+k

o

Ctrl+u

Ctrl + z – Suspende/Detiene el comando

Alt

Alt + < – Trae la primera línea en la historia
Alt + > – Trae la última línea en la historia
Alt + ? – Muestra la lista de nombres que coinciden con lo escrito
Alt + * – Inserta como argumentos todos los nombres que coinciden con lo escrito
Alt + b – Mueve el cursor una palabra atrás
Alt + c – Capitaliza la palabra desde el cursor al final de la misma
Alt + d – Borra la palabra bajo el cursor
Alt + f – Mueve el cursor una palabra adelante
Alt + l – Convierte en minúsculas, desde el cursor al final de la palabra
Alt + n – Trae la línea siguiente en la historia (como flecha abajo)
Alt + p – Trae la línea anterior en la historia (como flecha arriba)
Alt + r – Deshace todos los cambios hechos a la línea
Alt + t – Intercambia de posición dos palabras adyacentes
Alt + u – Convierte en mayúsculas, desde el cursor al final de la palabra
Alt + Backspace – Borra hacia atrás la palabra (ver

Crtl+w

)


Read more »

Tags:

Comfortable editing with VIM

Tomado del blog de Tobias Schlitt

Next occurrence of a word

If you hit*in command mode and your cursor resides on a word, you are taken to the next occurrence of the word. This is quite nice, if you like to know, where a function is called again.

Find matching brace

VIM 7.0 luckily highlights matching parenthesis, if your cursor resides on a brace, but sometimes you need to quickly jump to that matching brace. You can achieve this by hitting the%sign in command mode.

Repeat the last change

It often occurs, that you need to perform 1 change several times, but not often enough to write a short script or to address the changes with a complex regex. In those cases you can perform the change once, move the cursor to the next place and hit the.(dot) char, in command mode.


Read more »

Tags: , ,

Macrofotografía

Algunas fotos que tenía por ahí… no recuerdo de dónde las bajé ni su autor.


Read more »

Tags: ,

Línea de tiempo del Universo

Línea de tiempo del Universo
click para ampliar

¿Qué es eso negro de alrededor?

Tags: , ,

Liberado un curso de The Gimp

Vía Menéame >

José Sanchez, de la Universidad de Málaga, nos ofrece un curso del programa de retoque fotográfico por excelencia para Gnu/Linux. El curso se puede descargar en formato imprimible (pdf) y en version comprimida con las fuentes en ODT para modificarlo, siempre de acuerdo a su licencia cc: Reconocimiento-NoComercial-CompartirIgual.

Desde bash

for i in `seq 1 9` ; \
do wget http://sanchezrodri.googlepages.com/ManualGIMP_Cap$i.pdf; \
done

Tags: , ,

Conocimiento incompleto

A cambio de nuestro conocimiento incompleto tenemos la alegría de la exploración.

Tags:

Generando Captchas con PHP

Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos).

Se trata de una prueba desafío-respuesta utilizada en computación para determinar cuándo el usuario es o no humano. Como el test es controlado por una máquina en lugar de un humano como en la prueba de turing, también se denomina Prueba de Turing inversa.

Clase Captcha

Esta es una clase que hice para www.lamarchaperonista.com.ar que genera captchas usando fuentes True Type (.ttf). La clase tiene varios métodos para personalizar el captcha, generar el código y seteralo en una variable de sesión de PHP.

La forma de usarla es realmente simple. Sólo hay que crear un script que contenga la clase y devuelva el captcha. Este mismo script será el encargado de generar el código y guardarlo en una variable de sesión:

// File: getCaptcha.php
requiere_once('Capcha.php');
session_start();

// Creo un captcha de 150 x 50 px
$captcha = new Captcha(150, 50);

// Creo y seteo en $_SESSION el código de 4 caracteres
$captcha->setSessionVar(4);

// Seteo la fuente TTF a usar
if ($captcha->setFontFile('ArsleGothic.ttf')) {

   // Seteo el tamaño de la tipografía
   $captcha->setFontSize(24);

   // El color
   $captcha->setFontColorWeb('716052');

   // Envío la imagen
   $captcha->sendCaptcha();

}

Al ser llamado desde otra página (como esta), mediante

&lt;img scr="getCapcha.php"/&gt;

, el script generará un captcha como el siguiente:

Captcha generado con la clase Captcha.php
generar nuevo

Luego, en el script que controla los datos que vienen del formulario (en el que el captcha fue mostrado), hacemos algo como esto:

// File: checkForm.php
requiere_once('Capcha.php');
session_start();

// Creo una instancia de Captcha, pero sin pasarle parámetros,
// ya que no voy a generar ninguna imagen.
$captcha = new Captcha();

// Traigo el código del captcha (seteado en $_SESSION)
// y lo comparo con el que me vino del formulario
if ( $_POST['codeCaptcha'] == $captcha->getCode() ) {

   // lo que haré en caso de coincidir los códigos.

}
else {

   // lo que haré en caso de NO coincidir los códigos.

}

Otro ejemplo

La clase tiene varios métodos más para setear las distintas propiedades del captcha, como el color de fondo, la densidad del ruido (las lineas que aparecen detras del texto) y el color del mismo.

Captcha generado con la clase Captcha.php
generar nuevo

$captcha = new Captcha(280, 70);
$captcha->setSessionVar(6);
if ($captcha->setFontFile('BagadBold.ttf')) {
   $captcha->setFontSize(32);
   $captcha->setFontColorWeb('00497B');
   $captcha->setBgColorWeb('5C9FCC');
   $captcha->setNoiseColorWeb('0069B0');
   $captcha->setNoiseFactor(70);
   $captcha->sendCaptcha();
}

Existen métodos para setear los colores pasando el código hexadecimal, ej.

setFontColorWeb("FF0033")

, y para setearlos pasando los valores por cada canal, ej.

setFontColor(255,0,51)

.

Archivos y documentación

El código junto con la documentación pueden bajarse desde aquí: Captcha.tar.gz
La documentación también puede verse en línea en http://blog.calcifer.com.ar/devel/captcha/doc
Un buen sitio para bajar fuentes TrueType es http://www.creamundo.com/

Tags: ,