Módulo readline en OSX
Me emputecí cuando vi que en OSX no funcionaba el modulo readline de python.
La solución era simple…
1 | sudo easy_install readline |
Me emputecí cuando vi que en OSX no funcionaba el modulo readline de python.
La solución era simple…
1 | sudo easy_install readline |
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
Hace un tiempo que vengo con un pequeño proyectito por trabajo que parecía ser una pavada, pero resultó ser un dolor de hígado bastante, bastante fuerte.
La idea es obtener la lista de amigos de varios contextos distintos, entre ellos Gtalk y Facebook. Ambos, por suerte, usan xmpp como protocolo para manejar las aplicaciones de chat. En PHP logré hacer (en parte) lo que quería, pero con todas las librerías que probe tuve problemas de velocidad, tamaño, timeout, hacian una parte y no la otra.
Asi fue que pedí permiso para probar con python y por suerte al cliente le gustó. Buscando no más de 10 minutos encontré la librería xmpppy, y ésto me hizo recordar porque python es TAN lindo.
1 2 3 4 5 6 7 8 9 10 11 12 13 | import xmpp class FacebookClient(object): def __init__(self, user, password): self._cl = xmpp.Client('chat.facebook.com') self._con = self._cl.connect() self._auth = self._cl.auth(user, password) self._roster = self._cl.getRoster() self._nameAndJid = {} for user in self._roster.getItems(): self._nameAndJid[user] = self._roster.getName(user) def getNamesAndJid(self): return self._nameAndJid |
Y modificandolo un poco para Gtalk
1 2 3 4 5 6 7 8 9 10 11 | class GtalkClient(object): def __init__(self, user, password): self._cl = xmpp.Client('gmail.com') self._con = self._cl.connect(server=('talk.google.com',5222)) self._auth = self._cl.auth(user, password) self._roster = self._cl.getRoster() self._nameAndJid = {} for user in self._roster.getItems(): self._nameAndJid[user] = self._roster.getName(user) def getNamesAndJid(self): return self._nameAndJid |
Para probarlo:
1 2 3 | if __name__ == "__main__": # print FacebookClient('','').getNamesAndJid() print GtalkClient('','').getNamesAndJid() |
Y así fue que en menos de 20 minutos tengo lo que buscaba, el roster (lista de contactos) de facebook y gtalk/gmail/orkut lista para usar en lo que sea que lo necesite.
Además si hubiese querido, xmpppy me permite chatear o lo que sea me permite xmpp, porque es una libreria con el api completo..
Que lindo es volver a escribir python.
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.
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
Bueno, les paso a mostrar una galeria de imagenes que terminé de armar basada en FredGallery.
Es una galeria de imagenes bien simple hecha en PHP, lo bueno que tiene es que no necesita ninguna base de datos y muestra las imagenes directamente del arbol de directorios, recorriendolo y mostrando todas las imagenes que encuentra. De esta forma no hay que uplodear las imagenes al servidor.
La mejor forma de utilizarlo es creando en el directorio de la galería un symlink a los directorios con las imagenes y voilá, ya tenes una galeria de fotos.
Las caracteristicas originales de la galeria:
La diferencia que tiene con la version original es:
Para ver una demo: Mi Galeria
Descargar (14k)
También te puede servir ésto, para editar las imagenes de la galeria todas juntas.
La verdad que por ahora openoffice 3.0 me encanta…
Por ahora anda de lujo, el único problema “feo” es que en fluxbox los menús no me quedaron igual que con openoffice.org 2.4, entonces tuve que buscar un poco mas antes de abrirlo.
A medida que vaya probando mas cosas, sigo subiendo mas detalles que voy encontrando..
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..
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
Cuando instalo windows, al principio te pide que le digas tu ubicacion geografica, le digo ARGENTINA, me pone de idioma de teclado, INGLES (ok, te lo perdono porque puedo estar usando un teclado en cualquier otro idioma), pero mas tarde me pone el uso horarior de BRUSELAS wtf!.. o sea, ta todo bien, pero pedimelo después si quiero cambiar el uso horario, tengo que quedarme 40 minutos al frente de la maquina por si al puto instalador se le ocurre preguntarme algo. Podrían ser un poco mas inteligentes, preguntar todo al principio, y listo..
Todo sea por aprobar una materia en la facultad… my got.. al menos no deje de usar mi linux para hacerlo