Pages

viernes, octubre 23, 2009

Wordle


Pruebenlo, muy divertido. La pagina es http://www.wordle.net, ponen un bloque de texto y de acuerdo a la cantidad de veces que aparece una palabra es el tamaño de la misma, tiene una opción para randomizar el modelo... en este caso utilice parte de la DDL de una base de datos en Firebird.

jueves, agosto 27, 2009

Cambia... todo cambia...


Si no creyera en la balanza... en la razón del equilibrio... y aqui estamos, con nariz de payaso incluida. Ya pasó, lo digo y me pellizco. Ya pasó, y escucho una tos y explota en mis oidos como un balazo. Ya pasó, y suena el telefono cuando no estoy en casa y tengo que tragarme el corazón que se me escapa...

lunes, junio 01, 2009

Migrar cuentas de e-mail en Evolution y Thunderbird

En el caso de una reinstalación, si necesitamos reconfigurar nuestros programas de correo podemos proceder de la siguiente manera.
En el caso de Thunderbird solamente debemos guardar la carpeta

/home/tu_usuario/.thunderbird

y pegar el contenido en la nueva carpeta y nada mas.
Evolution por su lado podemos hacer algo similar, copiamos la carpeta

/home/tu_usuario/.evolution

y procedemos de forma similar. Sin embargo en este caso no migraremos la informacion de configuracion de las cuentas (correo, usuario, servidor POP, servidor SMTP y claves). Encontré varios lugares que me informaron que debía copiar ademas las siguientes carpetas:

/home/tu_usuario/.gconf/apps/evolution
y

/home/thejavo/.gnome2/keyrings (donde se guardan las claves)

A mi personalmente no me funcionó. Tuve que redefinir las cuentas, y si, conservó los correos. Si alguien tiene mejor info, o si la encuentro la publicaré.

viernes, mayo 22, 2009

$HOME/.dmrc y la p...

Error recurrente. De tanto instalarle porquerias mi notebook se volvió inestable. Cuando esto pasa, cierro la sesión gráfica, abro una sesion de consola (CTRL+ALT+F2 o alguna otra Fn salvo la 7 que es la sesión gráfica) con el usuario root, si no los deja loguearse le deben habilitar el password, para ello escriben:

passwd root

ahi les solicita la clave para el usuario root. Ahora si, se loguean y copian el contenido completo de su carpeta de usuario dentro de una carpeta "NOBORRAR" (por ejemplo). Ojo, no borren su carpeta de usuario sino que dentro de su carpeta /home/tu_usuario creen la carpeta NOBORRAR (/home/tu_usuario/NOBORRAR).
Para evitarme recordar los comandos de consola, utilizo el mc (Midnight Commander) un clon del viejo Norton Commander para los nostálgicos.

interfaz del Midnight Commander

El mc está en los repositorios, asi que basta con un sudo apt-get install mc y listo. Si no lo utilizaron nunca aca les dejo una dirección de un muy buen artículo sobre el mismo.


Una vez hecho esto cambian de nuevo a la sesion gráfica CTRL+ALT+F7 y se loguean normalmente y voilá. Escritorio fresquito como recién instalado. Copien de la carpeta "NOBORRAR" lo que necesiten y listo.
Puede ocurrir que cuando se logueen aparezca un mensaje de error diciendo

"Se esta ignorando el archivo $HOME/.dmrc del usuario..."

Abran una terminal y escriban

chmod 755 /home/tu_usuario

chmod 644 /home/tu_usuario/.dmrc

donde tu_usuario debe ser reemplazado por el nombre con el que se loguean; y eso es todo.

jueves, mayo 21, 2009

Aguante RSYNC

El comando que utilizo para transferir archivos aprovechando el ssh:

rsync -avzP -e "ssh -l ssh-user" usuario@direcciondeinternet:/carpetas/archivos /carpetalocal

El origen está en rojo, el destino en azul.

Opciones:

-a Modo archivo
-v Verbose
-z Comprime
-P Partial, si se llega a cortar la conexion retoma desde donde quedo.
-e Ingresa un comando rsh (para usar rsync atraves de ssh, tanto el origen como el destino pueden ser conexiones ssh)

* Me voy a explayar un momento mas sobre la opción -e
por ejemplo, Tengo que transferir un archivo a un servidor remoto por rsync con el cual tengo hecho un tunel al puerto 22 de la direccion 190.xxx.xxx.xxx contra un puerto local 4002 y quiero pasar un archivo por rsync (supongamos que el usuario remoto se llame pepe) entonces puedo escribir el siguiente comando

rsync -avzP -e "ssh -l pepe -p 4002" /carpetalocal/archivo 127.0.0.1:/carpetasremotas

¿que tul?, AGUANTE RSYNC. !!!

lunes, mayo 18, 2009

No se pudo encontrar el tipo MIME application/octet-stream

La solución la encontré en la siguiente dirección:
http://inetsurvivalguide.blogspot.com/2006/09/no-se-pudo-encontrar-el-tipo-mime.html?showComment=1222705560000

Lo copio acá para no tener que buscarlo de vuelta y porque me parece un buen ejemplo del comando find.

Esto le ocurre practicamente todos los días a una persona que trabaja conmigo y usa KDE (Adrián esto es para vos, a ver si lo arreglás solito la próxima vez.), quiere asociar una tipo de archivo a una aplicacion, lo hace mal y a partir de ese momento aparece cada vez que abre el konqueror o el dolphin el siguiente error:


La solución:

  1. Abrir una ventana de terminal y buscar en el directorio home algo que se llamase parecido a octet-stream mediante el comando find:

    find ~/.kde/ | grep octet-stream

  2. Ir al directorio con el konqueror, el dolphin, el mc, o la forma que mas les guste y borrarlo.

viernes, abril 24, 2009

Error de GPG - Ubuntu.

Alguna que otra vez les debe haber pasado al agregar un repositorio que una vez hecho el apt-get update les tira un mensaje de error similar al siguiente.

W: Error de GPG: http://ppa.launchpad.net jaunty Release Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 28A8205077558DD0


Este caso en particular es despues de haber agregado los repositorios de Gnome-Do. Lo que tienen que hacer es escribir el siguiente comando:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 28A8205077558DD0
y reemplacen el numero por el que les haya aparecido a uds.

miércoles, febrero 18, 2009

No se porque pero me recuerda a alguien...

El pesimista es un optimista bien informado.


Anónimo.

lunes, enero 12, 2009

Firebird ISQL + ftp + cron

Nada que ver con nada... o todo que ver con todo. Estuve buscando infructuosamente algún manual del ISQL ó Interactive SQL de Firebird, pero no encontré mucho.
El problema a resolver es poder generar una estadística en un archivo de texto y subirla a un servidor FTP. Se me ocurrió que a través de una tarea programada podía resolverlo. Estos son los pasos a seguir hasta el momento.:

1.- Crear un archivo con el query a ejecutar. Si el mismo es un procedimiento recordar cambiar el Terminador. Ejemplo: Archivo ARTICULOS.SQL

SET HEADING OFF; -- Esto hace que ISQL no genere una paginación cada 20 registros.

SET TERM ^;

EXECUTE BLOCK
RETURNS (
CODART INTEGER;
NOMART VARCHAR(30);
)
AS
BEGIN
FOR
SELECT CODIGO, NOMBRE
FROM ARTICULOS
INTO :CODART, :NOMART
DO
SUSPEND;
END ^

SET TERM ; ^

2.- Ahora ejecutamos ISQL llamando al archivo ARTICULOS.SQL y grabando la salida en el archivo ARTICULOS.TXT

/opt/firebird/bin/isql 'localhost:/data/base.gdb' -u SYSDBA -p masterkey -i '/home/usuario/ARTICULOS.SQL' -o '/home/usuario/ARTICULOS.TXT'

3.- Hasta acá viene todo bien, el problema es que el ISQL me genera una linea en blanco antes del primer registro dentro de los archivos exportados, para solucionarlo encontré la aplicación de consola "sed" en linux. basicamente el comando se escribe de la siguiente forma:

sed "1d" /home/usuario/ARTICULOS.TXT > /home/usuario/ARTICULOS2.TXT

Esto hace que se copie el archivo ARTICULOS.TXT en el archivo ARTICULOS2.TXT omitiendo la primer linea del archivo. Si necesitasen, por ejemplo, obviar ademas la última linea entonces podrian escribir: sed "1d;$d" [archivoentrada] > [archivosalida] el comando tiene muchisimas posibilidades como reemplazo de cadenas a través de expresiones regulares, etc. Para mas detalle pongan info sed en la consola, el manual tiene muchas secciones y está bastante completo.

3.- Listo. Esto genera los archivos. Y ahora el temita del FTP.
En windows es bastante simple, uno puede crear un archivo de texto con las acciones a realizar dentro del servidor y llamarlo desde afuera de la siguiente manera:

ftp -s:conexion.txt


archivo CONEXION.TXT

open nombreservidor.com
nombredeusuario
password
cd articulos
put /home/usuario/articulos.txt arts.txt
quit

En linux la cosa es algo mas complicada. Para replicar el comportamiento anterior bastaria con que en la linea de comandos escribiesemos:

ftp < conexion.txt


El problema es que en cuanto pasemos el comando open linux automáticamente solicita el nombre de usuario y password, acepta el usuario pero no el password que le estamos pasando en el archivo con lo cual la consola queda a la espera del ingreso del password desde el teclado. La solución es pasarle el parametro -n. Esto hace que el ftp no intente loguearse automáticamente luego del comando open. Hay que hacer una pequeña modificación en el archivo conexion.txt quedando el mismo de la siguiente manera:

archivo CONEXION.TXT
open nombreservidor.com
user nombredeusuario password
cd articulos
put /home/usuario/articulos.txt arts.txt
quit

Juntando todo lo que hicimos hasta el momento y poniendolo un poco mas prolijo el script que armé lo llamaré exportacion.sh

archivo exportacion.sh
#!/bin/sh
/opt/firebird/bin/isql 'localhost:/data/base.gdb' -u SYSDBA -p masterkey -i '/home/usuario/ARTICULOS.SQL' -o '/home/usuario/ARTICULOS.TXT'
sed "1d" /home/usuario/ARTICULOS.TXT > /home/usuario/ARTICULOS2.TXT
rm -f /home/usuario/ARTICULOS.TXT
HOST='nombredelservidor.com'
USER='usuario'
PASSWD='password'
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd articulos
put /home/usuario/ARTICULOS2.TXT arts.txt
quit
END_SCRIPT
exit 0

Toda la parte del ftp la podriamos haber dejado en ftp -n < conexion.txt pero dejo tambien la forma anteriror como una alternativa válida y un poquito mas elaborada.
Una recomendación y/o recordatorio no menor, asegurense de tener permiso de escritura en todos los directorios donde estén trabajando.
Finalmente el script lo ejecutan con

sh exportacion.sh

ó le dan permiso de ejecución y ponen:

./exportación.sh

y si quieren pueden poner

sh -x exportación.sh


con lo que entran en modo debug y pueden ver la ejecución paso a paso.
Espero que sirva. Saludos.