Antiguo y abandonado blog de Ricardo Galli :-(

Wednesday 3/10/2007

MySQL: hacer un “snapshot” del máster

Filed under: Mis hacks, Trucos — gallir @ 16:23

Es una chorrada y bien conocida, aunque a mí me costó averiguar cuál es la solución más rápida y fiable –¿soy sólo yo el lento o también ocurre lo mismo a otros?–, así que aquí va por si a alguien le sirve.

MySQL funciona muy bien para mantener réplicas (slaves) de un servidor maestro (master), pero a veces hay algunos problemas:

  1. El comando LOAD DATA FROM MASTER desde la réplica no está recomendado.

  2. La base de datos es muy grande y toma mucho tiempo hacer el “mysqldump”, es mucho más rápido hacerlo con los mysqlhotcopy que sólo copia los ficheros.

  3. Antes de hacer el mysqldump (si se hace) hay que obtener el estado del “binlog” del servidor para indicarlo en la réplica.

La mejor opción es hacer copia de los ficheros de la base de datos con el mysqlhotcopy y además indicarle que grabe en una tabla el estado del “binlog”. Con esto tendremos una copia rápida de la base de datos en “producción” que nos servirá para iniciar fácilmente una nueva réplica y/o reparar una que haya perdido el sincronismo o coherencia con el máster (suele suceder).

(more…)

Friday 21/9/2007

WP-Cache 2.1.2

Filed under: Mis hacks — gallir @ 17:27

Still no one has offered to take care of WP-Cache, so I’m still feel obligated to do maintenance releases ;-)

Version 2.1.2 fixes:

  • Recognises also “Content-type” as a “known header” because WP uses the capitalized and small “T” in “type” (?).

  • Removed both quotes from the charset HTTP header, some clients get confused (specially smartphones browsers).

About compression

Due to several unavoidable glitches derived from enabling compression (inside PHP via ob_start()) this WordPress feature is not supported by WP_Cache. If you still need compression it’s better to enable transparent compression in php.ini:

zlib.output_compression = On

It works perfectly with WP-Cache.

If you cannot change it or the your server does not allow to enabled it then you don’t need compression at all, or you should look for a better hosting :-)

Wednesday 11/7/2007

Geos de geografía y clausuras

Filed under: chapucillas, Mis hacks, Personal, Trucos — gallir @ 0:06

En las últimas semanas llevo varios maratones de programación que sumado a que los niños están de vacaciones no me dejan casi tiempo ni ganas para escribir nada mínimamente interesante en este blog.

Pero quería sacarme una espina que me quedó muy clavada desde el Google Developers Day (y la historia de Panoramio): la geolocalización. La verdad es que quedé muy sorprendido y entusiasmado por las posibilidades que ofrece, y sobre todo por el valor “pedagógico” de poder ver mapas al tiempo que lees una noticia o te relacionas con alguien.

(more…)

Saturday 16/6/2007

Vodafone Huawei e220 3G/HSDPA en Ubuntu (Feisty)

Filed under: Mis hacks, Trucos — gallir @ 15:44

Ayer me entregaron el modem USB de Vodafone “ADSL” de 3.6 mbps. Busqué en todos los foros y parece que muchos tienen problemas para hacerlo funcionar y configurarlo correctamente. Yo ya lo tengo funcionando, de hecho esto escribiendo este apunte desde el portátil vía la conexión de Vodafone.

Además lo hice de tal forma que cuando se enchufa el modem al USB se configura y conecta automáticamente. Para hacerlo fácil a los que quieran instalarlo preparé un fichero tar que tiene todo lo necesario.

Para instalarlo, basta bajarlo y hacer:

sudo tar -xvzf vodafone-usb.tgz   -C / 

y luego enchufad el modem. Debería funcionar inmediatamente (sin respestais las restricciones explicadas abajo). Podéis ver los “logs” en /var/log/messages.

Las restricciones para usarlo son:

  1. Eliminar el PIN. Poner el SIM en un teléfono y eliminar el control de PIN. Es fácil hacerlo que funcione con el PIN (con Init1 = AT+CPIN=xxxx), pero además de tardar unos segundos obliga a llevar el pin en el fichero, falsa “seguridad”.

  2. No tener ninguna conexión de Internet (o no local) en marcha, ya que puede confundir a las rutas.

Los ficheros que se instalan son:

  1. /etc/wvdial.conf: Configuración del wvdial para relizar la conexión.

  2. /etc/udev/rules.d/09-huaweie220.rules: regla del udev para llamar automáticamente huaweiAktBbo-i386.out y vodafone.sh cuando se enchufa el dispositivo.

  3. /usr/local/sbin/huaweiAktBbo-i386.out: programa que “enlaza” los tres puertos necesarios para que funcione, ttyUSB0, ttyUSB1 y ttyUSB2

  4. /usr/local/sbin/vodafone.sh: pequeño script que verifica que los puertos estén listos y si es así ejecuta el wvdial para establecer la conexión.

Monday 11/6/2007

No leer, es una prueba de pingbacks al Menéame

Filed under: pruebas, menéame, Mis hacks — gallir @ 3:36

Este enlace debería enviar un pingback a Genial película en flash que satiriza sobre el abuso de fármacos de todo tipo. Para reir durante dos minutos. Esta otra debería enviar a La sangre del cordón umbilical cura la leucemia infantil si es que funcionan los pingbacks con el Markdown.

(more…)

Wednesday 30/5/2007

Mañana en Google Developers Day 2007

Filed under: viajes, Mis hacks, Personal, soft libre — gallir @ 21:06

Mañana doy dos talleres de Pasarela Jabber de Menéame sobre Gmail/Gtalk en el Google Developers Day 2007 en Madrid. El taller será fundamentalmente práctico y “tocando código” en directo (Perl). Aunque seguramente mejoraré algo durante el vuelo de mañana, podéis bajar el código base que usaré –una versión simplificada del que usamos en Menéame– y las transparencias.

Si alguien llega a Barajas como a las 11:30 (yo llego en mi avión privado Air Europa, UX6030, como a esa hora), que me avise, así vamos juntos en Metro hasta el Palacio Municipal de Congresos.

Tuesday 17/4/2007

Puro autobombo y rabia contenida, no leer

Filed under: Mis hacks, Personal — gallir @ 2:32

En Wordpress Performance: Why My Site Is So Much Faster Than Yours citan en primer lugar al WP-Cache. Luego sale en Digg y el sitio aguanta el efecto Digg perfectamente –estaban esperando que falle :-) –. Alegría de la noche…

(more…)

Thursday 12/4/2007

Maratón de programación (a pesar de ONO) de la Jabber-Fisgona

Filed under: Mis hacks, Personal — gallir @ 16:01

Me dí una paliza de unas 20 horas de programación con 4 horas de sueño en el medio, pera ya está en marcha la fisgona vía Jabber/GTalk.

Esta madrugada a las cuatro ONO me dejó sin conexión (hasta hoy a las 11 de la mañana) en pleno curro y pruebas en el servidor del menéame. La caída generó que el [cutre] router wireless que está conectado al modem y hace de WDS se atontase (creo que es el cliente DHCP). Perdí casi tres horas para encontrar el problema y me fui a dormir ya de día y sin red. Por suerte hoy volvió todo a la vida.

Por cierto, si no han cambiado las cosas, en el día del programador de Google [1] daré en Madrid un curso sobre cómo implementé en Perl estos servicios Jabber sobre Gtalk y Google Applications.

[1] Lo comenté aquí hace un tiempo. Todavía no sabía de qué iba, pero envié la lista completa de correos y nombres a Google, sé que lo han recibido y gestionado. Espero que haya servidor para algo.

Tuesday 10/4/2007

gnuplot + scripts

Filed under: Mis hacks — gallir @ 21:19

Ayer hice unas gráficas y animación, hoy otras similares. Hace años que no usaba el gnuplot, ahora lo usé combinandolo con scripts en Perl y Bash. ¡Qué rápido y fácil!. No me había dado cuenta de este otro aspecto –facilidad para usarlo con scripts– de la potencia del gnuplot (los scripts que usé para los gráficos ya están en el svn).

Me voy a cenar, que además de eso hoy lijé y pinté paredes y techos (y me doy cuenta del chollo que es ser informático :-) ).

Friday 23/3/2007

Security update, wp-cache 2.1.1

Filed under: Seguridad, Mis hacks — gallir @ 20:38

I just released WP-Cache Version 2.1.1. It contains a security fix from Alex Concha to avoid CSRF attacks directed to admin pages which can inject wrong values into the configuration form, which can allow XSS attacks if those fake values are saved into the configuration file.

To update just uncompress the zip file from plugins’ directory (and overwrite older files).

Warning: this version uses control functions only available in Wordpress >= 2.0. It won’t work with previous WP versions.

BTW: I’m very busy and going worse, I’ll be more than happy if someone else takes care of WP-Cache.

Tuesday 6/3/2007

Puñetero SQL

Filed under: menéame, Mis hacks, Curiosidades — gallir @ 23:33

Llevaba meses persiguiendo al cabrón. Esporádicamente se ponía el mysql al 100% y no encontraba cuál era el sql que la generaba. Meses mirando con lupa todos los sql hasta que se me ocurrió habilitar el log-slow-queriesen el servidor.

Así encuentro que era select count(*) from links, votes where link_date > date_sub(now(), interval 6 hour) and link_author = XXXX and vote_type='links' and vote_link_id = link_id and vote_user_id > 0 and vote_value > 0;. La consulta en teoría está bien, hay un índice vote_type, vote_link_id,...pero aún así no hay manera que el mysql lo use en el “join” anterior, y se recorre los más de 5 millones de votos en la tabla.

mysql> select count(*) from links, votes use INDEX (vote_type) where link_date ...;
+----------+
| count(*) |
+----------+
|        3 |
+----------+
1 row in set (5 min 19.30 sec)

Alucinante, como un sql en principio tan inocente puede molestar tanto y esconderse durante tanto tiempo. Y qué tonto que no he mirado lo del log-slow-queries antes.

A los que usen el menéame, que apliquen en siguiente parche si es que tienen ese código, antes que la base de datos sea más grande y haga plonk el servidor.

Monday 5/3/2007

Hacking SMS

Filed under: Mis hacks — gallir @ 17:45

Estoy en reposo con gripe y mucha tos, pero al menos es productiva. Esta nota fue enviada vía SMS desde mi móvil, lo recibió otro que tengo en casa conectado vía Bluetooth a un viejo iBook. Un script en perl (con la ayuda del smsd de Gnokii) lo manipula y envía vía Internet al Menéame donde queda almacenado como nota si pasa los “controles”.

Divertido.

Actualización: ya está publicados ambos, el script en Perl que recoge los SMS desde el ordenador que tiene el bluetooth conectado (llamado desde el smsd de Gnokii) y el backend en PHP del lado del servidor web.

Friday 2/3/2007

Liberado el daemon Jabber

Filed under: Mis hacks, soft libre — gallir @ 3:24

Hace unos minutos publiqué el código del demonio Jabber para el Menéame/Nótame. Está en Perl, como toca, hay que mantener la imagen friqui.

Por otro lado, y sin que tenga nada que ver, pero es una de esas cosas de las lenguas, la cultura y el porqué es tan difícil la traducción automática. Una de ellas es la expresión ¡Hace largo! –pero dicho en catalán, claro–. ¿Que significa? Por ejemplo cuando alguien te ofrece eso de la foto, pero ya has comido demasiado :-).

¡hace largo!

Wednesday 28/2/2007

Maratón, pero ya es funcional

Filed under: Mis hacks, Personal — gallir @ 2:29

Me dí una paliza de tres días con el Perl, módulos Jabber/XMPP y servidores de Google, con bastantes clases ayer y hoy en la universidad, así que estoy a punto de caer –y en unas horas empiezo otra vez las cuatro horas de clase del miércoles–. Pero el tema del XMPP ya funciona, y es muy divertido programarlo.

Tuesday 27/2/2007

Hacking XMPP

Filed under: Mis hacks — gallir @ 0:16

Llevo tres días programando un Perl para un cliente XMPP (aka Jabber), que además usará la infraestructura de Google Applications para no tener que preocuparme de servidores. La verdad es que la documentación que hay por Internet es muy poca, y la que hay está anticuada. Sobre todo cuando se trata de conexiones de Google.

Para poder hacer algo más complicado que enviar un mensaje chorra tengo que mirar el código fuente de los módulos Net::XMPP, porque la documentación es casi inexistente. Además la interacción del protocolo XMPP es bastante tiquimisquis.

Pero finalmente hace media hora terminé de programar el núcleo de la parte XMPP (básicamente el control de presencia y recepción-envío de mensajes chat). Ahora me queda la parte del backend a la base de datos, que ya lo tengo mejor controlado.

Es durillo comenzar con el XMPP, pero cuando lo controlas es una gozada. Los programadores de Google Talk se han pasado, respetan los estándares hasta el más mínimo detalle. Además sus servidores no fallan y van muy rápido.

Next Page »

Powered by WordPress