@Darem0 si señor!

Renombrar archivos en batch chetamente

Ayer me encontré con un problema interesante. Resulta que estoy haciendo un laburo que consta de quichimil imágenes nombras de formas exóticas, la forma del nombre era algo como [numeros]{unmontondecosasquecambiaban}.jpeg/gif, yo necesitaba trabajar con algo mas facil de reconocer automágicamente, ademas los numeros eran consecutivos y no se repetían… no tarde mucho en decidirme en [numeros].jpeg/gif

Bien, la cosa era como hacer ese laburo, se me ocurrió empipar cosas, y hacer cosas como

find ./ -name [0-9]*.* | Algo que pase ese nombre a algo útil

Pero es muy difícil sacar las partes del nombre que te hace falta y chantarselo despues de un mv. Cuando me di por vencido, me fui a un canal innombrable de IRC a preguntar.. Me tiraron el dato de un script que viene con un paquete en Debian cuando instalas xfce. El script en Debian se llama prename pero es una variación de un script mas viejo que se llama rename. Está escrito en perl y es *muy* cheto porque funciona con expresiones regulares. Esto me permitió hacer cosas como:

perl renamer.pl 's/(\d+).*\.([\w]+)/$1.$2/' *.*

Si no entendes expresiones regulares.. andá a leer sobre expresiones regulares.. esto busca algo de la forma que nombré mas arriba y lo reemplaza en el nombre del archivo, borrando el anterior y dejando el nuevo con el nombre bonito.

Esto es genial por si no se dieron cuenta, porque permite renombrar todo lo que quieran usando estas expresiones regulares que son un bodrio pero amamos.

Por si les interesa el script, lo subí a GitHub y a BitBucket. Y lo ejecutas con la forma que puse mas arriba. Esto va a andar en cualquier computadora que tenga perl instalado (Linux y Mac lo tienen, Windows no tengo la mas remota idea)

Drupal + Lighttpd + URLS bonitas + subdirectorio

Si, asi de largo. Tuve que instalar un drupal en un servidor que usaba lighttpd, el problema es que yo lo mudé desde un apache y el drupal usaba el modulo de urls bonitas.. Cuando lo mudé al lighttpd (que no usa mod_rewrite) el sitio no anduvo más ni para atras ni para adelante.

La cosa es que encontré la solucion, pero solo si el sitio estaba sobre el root del vhost, lo que dió mas dolor de cabezas. Al fin encontré la solucion acá con un pequeño script lua y usando lighttpd-mod-magnet.

La solución es bastante simple.. Necesitamos mod-magnet (probablemente necesites root para todos los pasos)

1
2
apt-get install lighttpd-mod-magnet
lighty-enable-mod magnet

Despues hace falta el script lua que hace la magia

1
2
3
cd /etc/lighttpd
wget http://more.zites.net/morefiles/lighty-drupal-lua-conf.tar.gz
tar xvzf lighty-drupal-lua-conf.tar.gz

Luego, activarlo para el host

1
2
3
$HTTP["host"] =~ "your.domain.example.com" {
  include_shell "./drupal-lua-conf.sh"
}

Si el drupal está funcionando sobre un sub-directorio, podes pasarle el sub-directorio como parámetro al script y anda de perlas, algo como

1
include_shell "./drupal-lua-conf.sh drupal-5"

Y voilá, tenes drupal andando en lighty…

Me hizo doler la cabeza una mañana larga esto, por eso lo dejo por acá a mano

22do Festival de Instalación de GNU/Linux de GrULiC

El sábado 24 de abril se llevará a cabo una nueva edición del Install Fest, el Festival Latinoamericano de Instalación de Software Libre (FLISoL), un evento de difusión de Software Libre muy importante en Latinoamérica.

Su principal objetivo es promover el uso del software libre, dando a conocer al público en general su filosofía, alcances, avances y desarrollo.

El evento está dirigido a todo tipo de público: estudiantes, académicos, empresarios, trabajadores, funcionarios públcios, entusiastas y aun personas que no poseen mucho conocimiento informático.

El festival se hace en muchos países y ciudades, con entrada libre y gratuita. En Córdoba lo organiza el Grupo de Usuarios de Software Libre de Córdoba (GrULiC), grupo del cual soy miembro hace ya 3 años.

Será desde las 14hs en el aula D3 del Departamento Universitario de Informática, ubicado en Valparaíso sin número, Ciudad Universitaria (Córdoba). Las inscripciones cierran el 20 de abril (ver convocatoria oficial).

Para conocer fechas y ciudades, además de otra información sobre el evento, se puede ingresar a la web de FLISoL.

Tambien podes pasar por:

Publicación en diario Día a Día

Grupo en facebook

¿Por que siendo usuario de Linux me gusta tanto Apple?

Como adicto a la computadoras que soy, tengo una ciclotimia en cuanto a lo que quiero de hardware y software. Pero siempre hubo algo que se mantuvo constante, me gusta mucho linux, y siempre quise un equipo chiquito, liviano y lindo como las mac.

Ahora que estoy cerca de poder comprarme una mac.. y hago un recuento de porque me gusta uno y el otro, y porque me cambiaría o no.

Seguir Leyendo »

Howto chroot – Levantar tu linux desde un live-cd

Ayer me explotó la laptop, no literalmente, sino que actualice la máquina y nunca mas booteo. Lo que habia pasado es que durante la instalación, no se pudeo re-configurar algo del kernel y quedó todo mirando al techo. Ya pensando que iba a tener que reinstalar todo y empezar de vuelta, se me ocurrió entrar a #archlinux en irc.freenode.org y me recomendaron hacer chroot a mi disco, y probar re-instalar el kernel nuevo, el problema es que jamas habia hecho un chroot en mi vida.

La cosa al final es bastante sencilla, tenés que tener un cd de algún sistema operativo con live-cd, yo usé ubuntu porque tenia en la mochila y otro detalle, tenes que saber como están configuradas las particiones de tu equipo, en mi caso:

/dev/sda1 => /boot
/dev/sda3 => /
/dev/sda4 => /home

Sabido eso, empezamos con bootear con el live cd y esperar a tener un shell o un entorno grafico, y empezamos en una consola.

cd /
sudo mount /dev/sda3 /mnt
sudo mount /dev/sda1 /mnt/boot
sudo chroot /mnt /bin/bash

Y tenemos un shell de root como si estuviesemos en nuestra máquina. Ahora tenemos que hacer lo que sea tengamos que arreglar, en mi caso:

sudo pacman -S kernel26

Y listo, tenia mi equipo arreglado y listo para bootear de vuelta.

Me voló la cabeza lo fácil que fue, yo ya me veia reinstalando todo, pero no hizo falta. Linux rulz.

Howto hacer business inteligence con Pentaho

[via mi tumblr]

Éste es un pequeño HowTo de como hice yo para montar PENTAHO en mi maquina con el motor Mondrian para OLAP y JPivot para navegarlo.

Éste curso NO tiene en cuenta lo que hay que saber para diseñar el cubo OLAP. Solo vamos a explicar como hacer el schema de Mondrian para que que se pueda navegar la BD ya creada y cargada con datos en el motor.

Como motor de base de datos yo usé MYSQL porque es lo que tenía a mano, pero podrían usar lo que prefieran.

A tener en cuenta:

  • Todo éste tutorial está orientado a usarse en la plataforma GNU|Linux. Teoricamente debería funcionar en cualquier distribucion.
  • Yo lo probe en UBUNTU 9.10 Karmic Koala y Archlinux con las actualizaciones al día y anduvo perfecto.
  • Necesitamos tener la maquina virtual java. En el 90% de las distros de linux el paquete se llama sun-java6-jre

Seguir Leyendo »

Back to KDE3

Asi es, despues de un par de meses.. vuelvo a KDE 3… Razones?, no se.. pero I Felt Like Doing IT…

La verdad que extrañaba KONSOLE, y GTK-QT-Engine

Instalar OpenOffice.org 3.0 en Debian

Bueno, esto es algo que tenía ganas de hacer hace un rato pero no andaba con tiempo para ver como se hacía, hoy lo intenté y anduvo..

Es bastante fácil, lo que hay que hacer es primero bajar los debs necesarios, para eso en una consola:

mkdir openoffice3

cd openoffice3

wget http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&os=linuxinteldeb&lang=en-US&version=3.0.0

Una vez terminado de bajar… descomprimimos todo..

tar -xvf OOo_3.0.0_LinuxIntel_install_en-US_deb.tar.gz

Terminó de descomprimir, ahora hay que empezar ra instalar.. La verdad que esto de instalar TODOS los debs no me gusta, pero la verdad que preferí hacerlo antes de ponerme a probar con cada uno de los debs a ver que onda.. despues si tengo pilas me pongo a hacerlo..

cd OOO300_m9_native_packed-1_en-US.9358/DEBS

sudo dpkg -i *.deb

Después, la integracion con los desktops

cd desktop-integration

sudo dpkg -i *.deb

Yo tuve problemas al hacer el ultumo comando porque me decia que tenia problemas con pisar otro paquete, me hice el heavy y le hice un force.. asi:

sudo dpkg –force-all -i *.deb

y listo el pollo… anduvo de diez… Espero que les haya servido..

SVN Server en Debian

Bueno, acá va un how-to cortito y al pié de como levantar un servidor svn en debian. No soy ningún experto ni mucho menos en el control de versiones, pero esto que estoy por mostrar lo usamos para hacer trabajos practicos en la facu, y anda bastante bien.

Ok, primero, instalamos lo necesario

sudo aptitude install subversion

Luego, decidimos donde poner el directorio root del svn, lo normal es en /var/svn pero yo lo tengo en /home/svn porque es el disco mas grande y el que no se modifica si por alguna razon re-instalo, Ademas lo comparto entre distinas distros

sudo mkdir /home/svn

Ahora, es cuestion de crear el nuevo repositorio

svnadmin create /home/svn/[nombre del repo]

Atentos al nombre del repo porque es el nombre con el cual van a tener que conectarse despues

Ahora, editamos los archivos de configuracion

sudo kate /home/svn/[nombre del repo]/conf/svnserver.conf

En lugar de kate pueden usar el editor de texto que mas les guste (gedit, nano, mcedit, vi, vim)

Aca lo que tenemos que hacer es descomentar las lineas que dicen:

# anon-access = read
# auth-access = write

De modo que queden:

anon-access = read
auth-access = write

Ahora, definimos los usuarios y contraseñas al repo

sudo kate /home/svn/[nombre del repo]/conf/passwd

Este archivo se edita de forma que queda [nombre de usuario] = [contraseña]
entonces, por ejememplo, para crear el usuario usuario1 con la clave 1234
Tendría que quedar algo así

[users]
usuario1 = 1234

Bien, ahora, hay que levantar el servidor, para eso corremos

sudo svnserver -d -r /home/svn

y a partir de ahora podemos conectarnos al repo desde la direccion:

svn://[dominio]/[nombre del repo]

Lo primero que hay que hacer es darle al repo la primer carga de datos. Eso se hace con import. Entones, en algun directorio que tenemos en el sistema que queremos hacer que quede controlado por versiones (por ejemplo el proyecto que estamos por hacer), hacemos:

svn import [directorio del proyecto] svn://[dominio]/[nombre del repo] -m “[mensaje del primer import]“

No olvidarse las comillas!!.. Y listo el pollo.. Por cualquier cosa, pueden hacer

man svnserve
man svnadmin
man svn
svn help

Si quieren leer para hacer cosas mas complicadas

Fluxbox Mi nuevo gestor de ventanas

Hoy, instalé fluxbox por vez 12341234..  pero esta vez me lo quedé, porque le encontré la vuelta.. y debo admitir.. ESTA EXCELENTE, liviano, minimalista, entendible, y hace lo que tiene que hacer.

La cosa es asi, en mi debian sid como estaba con KDM y KDE 4.1 ya corriendo, lo notaba pesadisimo para mi computadora, andaba bastante pastoso y queria probar algo bien liviano. XFCE nunca me gustó del todo, ademas odio GTK, entonces vi que FluxBox tenia buen soporte para aplicaciones de KDE.

Lo instalé:

sudo aptitude install fluxbox

Instaló no mas de 5 paquetes, y listo.. FluxBox instalado..

Salgo de la sesion de KDE, rebooteo KDM porque con el nuevo kernel anda paraelort, y relogueo con FluxBox.. tardó menos de 2 segundos en levantar.. EXCELENTE

Lo primero que me paso apenas lo levanté, fue querer hacer un ALT+F2 como en KDE, pero no anduvo, solo me cambió de escritorio.. asique abrí un iceweasel y me puse a averiguar.. llegué a las FAQs de FluxBox que están perfectas con los links que necesitaba para entender todo esto…

Asique me puse a configurar un poco las cosas..

Primero, los bindings de teclado… .fluxbox/keys, y quedó asi:

OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
OnDesktop Mouse4 :NextWorkspace
OnDesktop Mouse5 :P revWorkspace

Mod1 Tab        :NextWindow
Mod1 Shift Tab  :P revWindow
Mod1 F1         :Workspace 1
Mod1 F2         :Workspace 2
Mod1 F3         :Workspace 3
Mod1 F4         :Workspace 4
Mod1 F5         :Workspace 5
Mod1 F6         :Workspace 6
Mod1 F7         :Workspace 7
Mod1 F8         :Workspace 8
Mod1 F9         :Workspace 9
Mod1 F10        :Workspace 10
Mod1 F11        :Workspace 11
Mod1 F12        :Workspace 12
Mod1 R          :ExecCommand fbrun
Mod1 Q          :Maximize
Mod1 E          :ExecCommand xterm
Mod1 W          :ExecCommand dolphin

Mod1 es la tecla ALT, entonces ahora con ALT+r aparece una ventanita para ejecutar un programa, tipo alt+f2. Se puede ver que levanto herramientas de KDE, como Dolphin.

Inmediatamente despues, me puse a navegar un poco el menú que aparece al hacer boton derecho sobre el escritorio, no tardé nada en encontrar la seccion STYLES, desde ahi se pueden elegir los estilos (themes) del entorno, hay algunos muy muy feos, otros bastante lindos, yo me quedé con bora_blue, por alguna razon estoy todo pro-azul en los entornos, odio el naranja de ubuntu.

Después, quise poner un fondo de pantalla… Se puso aspero, pero encontré esto..

fbsetbg /path/to/wallpaper

Y ahi quedó andando.. en el caso de querer que este wallpaper se quede de fabrica.. se pueden hacer dos cosas:

  1. Editar el .fluxbox/startup y agregar ahi la misma linea que antes antes de la linea: exec /usr/bin/fluxbox
  2. La otra, es editar el .fluxbox/overlay y agregar estas lineas:

background              : aspect
background.pixmap : /path/to/wallpaper

Lo bueno que tiene fluxbox, es que podes inmediatamente probar las nuevas configuraciones, haciendo click sobre el escritorio pones reconfigure y esto reconfigura el entorno con las nuevas configuraciones y podes probar si todo anda como querés. En el caso del wallpaper, podes hacer un Restart y ver si anda el wallpaper nuevo al volver a cargar Fluxbox, y no te preocupes porque las ventanas que tenes corriendo no se pierden.

Algo que noté, que no se si fue mi fluxbox o viene asi de fabrica, es como estaban ordenadas las cosas en el taskbar, tenia las flechas de escritori, el nombre del escritorio, el reloj, el systray y los iconos en ese orden, lo cual me resultaba feo, entonces edite el archivo .fluxbox/init, y edité la linea que empieza con session.screen0.toolbar.tools para que quede de esta forma:

session.screen0.toolbar.tools:  workspacename, iconbar, systemtray, clock

Despues de jugar un rato, quise dejarlo como estaba al fluxbox, ya tenia un par de herramientas corriendo y quería dejarlo así.. entonces hice lo siguiente.. en el archivo .fluxbox/startup agregué las lineas de los programas que quiero cargar cuando fluxbox inicia.. entonces, antes de exec /usr/bin/fluxbox agregué las lineas:

klipper &
kopete &
kmix &
konversation &

No hay que olvidarse de poner las & al final, para que las aplicaciones queden cargadas en background.

Una cosa MUY util de fluxbox, y es lo que mas me gustó, es el tema de que podes hacer una TAB con cada ventana abierta y meterlas a todas en una sola ventana, de esta forma todas tienen el mismo tamaño y ubicacion, me encantó. Esto se logra apretando con el boton central del mouse sobre el titulo de la ventana y arrastrandolo sobre el titulo de la otra ventana, de esta forma quedan tabeadas una con la otra, y con alt+tab vas cambiando de tab hacia adelante y con alt+shift+tab cambias las tabs para atras, esto es editable desde el .fluxbox/keys como todo.

En mi caso, tuve problemas con el tema del keymap del teclado, me lo tomó por default en inglés, entonces hice:

setxkbmap es

Porque tengo teclado en español, si tenes teclado latino americano, pones:

setxkbmap latam

además, agregué esa linea al .fluxbox/startup para no tener que configurar eso cada vez que logueo a fluxbox.

Y así quedó hasta ahora configurado mi fluxbox, todavía tengo KDE 4.1 instalado, pero dudo que vuelva a entrar para algo. Lo bueno, es que todas las bindings de teclas que tenia en KDE para las aplicaciones, todavia andan, como el WIN+C de amarok, o las de kopete para cambiar de tab.

Les dejo un ScreenShot de mi escritorio ahora mientras escribo este post que saqué haciendo:

import -frame Desktop/screenshot.jpg

Para que salga todo el escritorio, haces click sobre el fondo y saca un screenshot de todo el entorno.

Free Image Hosting at www.ImageShack.us

A medida que vaya aprendiendo cosas nuevas, voy a ir agregandolas aca, ademas me sirve mucho para acordarme como lo hice, uso mucho mi blog como anotador de cosas que aprendo para despues poder repetirlas.. :D