Adrián Navarro

Have you tried turning it off and on again?

Archivo: Enero 2008

Código de sixBone

  • Etiquetas: Miniposts
Miércoles
23 Ene 2008

Ya no voy a seguir el proyecto sixBone, ese que sacaba una copia de los ficheros que había en Stage6. Pero siempre podéis descargar el código aquí.

“Time to arrogance”

  • Etiquetas: Miniposts
Miércoles
23 Ene 2008

Ismael habla sobre el TTA o “time to arrogance” en las grandes empresas.

Domingo
20 Ene 2008

Acabo de actualizar WordPress a la última versión y me doy con los dientes en el canto al ver que la traducción no funciona. Me pongo a buscar y… una solución para todos aquellos que no vean a su traducción (fichero mo) funcionar correctamente:

Hacer una copia de seguridad del archivo gettext.php que se encuentra en /wp-includes/gettext.php buscar el contenido que empieza en la línea 117 y termina en la 119:

if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
$this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {

Reemplazar con:

if (($magic & 0xFFFFFFFF) == ($MAGIC1 & 0xFFFFFFFF) || ($magic & 0xFFFFFFFF) == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
$this->BYTEORDER = 0;
} elseif (($magic & 0xFFFFFFFF) == ($MAGIC2 & 0xFFFFFFFF)) {

Y si no funciona… dejar aquí un comentario con la versión de WordPress y el hosting que uses!

Vuelta a la rutina

Domingo
20 Ene 2008

No, no me he muerto… Casi. Llevo 12 días (casi dos semanas) sin escribir aquí, y eso que tengo mil cosas que contar. Resulta en una acumulación de errores y aplazamientos que obviamente toca ir resolviendo uno a uno.

Espero poder seguir una linea “normalita” a partir de ahora y seguir contando todo lo que pueda (me traigo varias cosas entre manos).

Dentro de muy poco… algo :)

Martes
08 Ene 2008

1. PREGUNTA

a) Luis se descarga una canción de Internet.
b) Luis decide que prefiere el disco original y va a El Corte Inglés a hurtarlo. Una vez allí, y para no dar dos viajes, opta por llevarse toda una discografía. La suma de lo hurtado no supera los 400 euros.

RESPUESTA: La descarga de la canción sería un delito con pena de 6 meses a dos años. El hurto de la discografía en El Corte Inglés ni siquiera sería un delito, sino una simple falta (art. 623.1 del Código Penal).

2. PREGUNTA:

a) Luis se descarga una canción de Internet.
b) Luis va a hurtar a El Corte Inglés y, como se la va la mano, se lleva cincuenta compactos, por valor global de 1.000 euros.

RESPUESTA: Seguiría siendo más grave la descarga de Internet. El hurto sería un delito, porque supera los 400 euros, pero sería de menor pena que la descarga (art. 234 del Código Penal).

3. PREGUNTA:

a) Sergio, en el pleno uso de sus facultades mentales, se descarga una canción de Malena Gracia.
b) Sergio, en un descuido de Malena Gracia, se lleva su coche y lo devuelve 40 horas después.

RESPUESTA: Sería mas grave la descarga. El hurto de uso de vehículo tiene menos pena, a tenor del articulo 244.1 del Código Penal.

(more…)

Retrospección

Sábado
05 Ene 2008

Limpiando ficheros de antiguas copias de seguridad he encontrado algo que me encantaría recordar… Se trata de Linkloo en Mayo del año pasado, hace exactamente siete meses, después de 1 mes de programación agradable.

Viejo!

Siempre me ha gustado combinar potencial con simplicidad, y creo que voy a hacer una interfaz del buscador en plan sencillo, me ha llegado hondo.

Sábado
05 Ene 2008

Lo más común en las pequeñas aplicaciones que recién se lanzan es el uso de una solución LAMP, que comporta un servidor Linux, Apache, MySQL y PHP.

En cuanto crecen hay que re-escalarlas o volver a programarlas usando una infraestructura diferente. Por eso quería dar un repaso a las soluciones para hacer crecer una gran aplicación.

Primeramente hay que escalar lo que es el servidor de ficheros web, puesto que es prácticamente impensable ir modificando un fichero por cada servidor. Como primer recurso se suele poner en marcha un filer que aloja todos los ficheros y realiza las correspondientes copias de seguridad (incluidos ficheros de MySQL, PHP y contenido estático).

Más tarde se puede implementar una solución independiente de sincronización automática entre un servidor master que aloje los ficheros y un resto de slaves que sincronize con el principal.

Luego hay que escalar el sistema de base de datos, esto suele más “doloroso”. Aunque en la mayoría de aplicaciones existen ciertos puntos a favor…

En primer lugar, la mayoría de conexiones a la base de datos suelen ser consultas (y no actualizaciones ni inserciones). Las inserciones son una mínima parte de las instrucciones enviadas a la base de datos.

Aquí podemos emplear el esquema básico de MySQL de un servidor master y de luegos unos “slaves” o servidores esclavos que tendrán una replica exacta del contenido del master, con la pega de que no podremos hacer inserciones ahí.

Si se trata de mostrar una portada, listar unos datos o ver el perfil de un usuario, en la gran mayoría de los casos no es necesario realizar inserciones con lo que se puede mantener un sólo o una serie pequeña de masters donde se insertarán los datos y luego todo un “equipo” de servidores “slave” donde se realizarán el resto de consultas, es decir, las de selección.

Para los filers se puede usar NFS, y en el caso de preferir un almacenamiento local sincronizado se puede usar entonces un proceso de Rsync programado (Cron, claro).

Volviendo a MySQL, basta con darse una vuelta por la documentación donde lo dejan bastante claro, yo lo llevo implementando para pequeños downtimes del servidor de bases de datos, que por ahora tiende a ser 0.

Ya contaré más, que seguro que algo me he dejado…