martes, febrero 24, 2009
Nuevos drivers Broadcom
El 21 de Enero, 2009, Broadcom lanzo una nueva versión de los drivers unificados 802.11a/b/g/n de Linux de 32 y 64 bits para placas basadas en los chips BCM4311, BCM4312, BCM4321, y BCM4322. En especial, las portátiles Dell con la placa WiFi "Genérica Dell" utilizan este driver.
En mi caso parecen haberme resuelto algunos detalles de la WiFi de mi portátil, por lo que recomiendo que actualicen aquellos que los tengan.
Cementerio de Fuentes
¡Otra nueva fuente en el cementerio de fuentes! La última fué una Vitsuba COL-45-B. En la foto se puede ver a la izquierda.
En estos días voy a tener que salir a comprar una fuente un poco mejor, seguro que me haga de alguna Thermaltake parecida a la que ya tengo de 430W en mi Desktop (W0070-RU).
Tengo esperanzas que el disco en realidad no funcionaba por la fuente defectuosa. ¡Mi fileserver volverá a renacer!
jueves, febrero 19, 2009
Jugando con la caché
Ya todos estamos más que familiarizados con el concepto de localidad de las referencias. Y se me ocurrió tomarme unos minutos para analizar qué tanto impacto puede llegar a tener en un programa de computadora.
El ambiente de investigación "ideal" sería reiniciar en Linux en modo usuario simple, desconectando el mouse y otros periféricos que no sean necesarios para reducir la interferencia de interrupciones.
En mi caso no es así. Estoy haciendo un trabajo para la facu en OpenOffice, escuchando Dire Straits en VLC y con el firefox abierto en mi GMail. Da igual!
La idea es analizar qué ocurre si siempre estoy intentando modificar una posición de memoria que no está en la caché del procesador. Para eso se usa una gran matriz que se recorre por filas o por columnas asignandole un valor a los elementos de ésta.
Entonces decidí escribir un simple programa en C que acepta por dos valores por parametro: el tamaño de una matriz y un boolean para ver si la matriz se recorre por filas o por columnas. El codigo es el siguiente:
Fue compilado con gcc de la siguiente forma:
Como siempre, todos mis programas los ejecuto al menos una vez bajo valgrind. Los resultados son también muy interesantes!!
El ambiente de investigación "ideal" sería reiniciar en Linux en modo usuario simple, desconectando el mouse y otros periféricos que no sean necesarios para reducir la interferencia de interrupciones.
En mi caso no es así. Estoy haciendo un trabajo para la facu en OpenOffice, escuchando Dire Straits en VLC y con el firefox abierto en mi GMail. Da igual!
La idea es analizar qué ocurre si siempre estoy intentando modificar una posición de memoria que no está en la caché del procesador. Para eso se usa una gran matriz que se recorre por filas o por columnas asignandole un valor a los elementos de ésta.
Entonces decidí escribir un simple programa en C que acepta por dos valores por parametro: el tamaño de una matriz y un boolean para ver si la matriz se recorre por filas o por columnas. El codigo es el siguiente:
int msize, mdir;
int *mptr;
void initm() {
int x, y, tam = msize * msize;
if (mdir) {
for (x = 0; x < tam; ++x) {
mptr[x] = x;
}
} else {
for (x = 0; x < msize; ++x) {
for (y = 0; y < tam; y += msize) {
mptr[x+y] = x;
}
}
}
}
Fue compilado con gcc de la siguiente forma:
$ gcc -Wall -O2 -o cache.out cache.cY los resultados son más que alentadores:
$ time ./cache.out 15000 1Recorriendo la matriz por columas el programa es siete veces más lento que recorriendo por filas la misma matriz.
real 0m0.937s
user 0m0.184s
sys 0m0.728s
$ time ./cache.out 15000 0
real 0m7.063s
user 0m6.180s
sys 0m0.856s
Como siempre, todos mis programas los ejecuto al menos una vez bajo valgrind. Los resultados son también muy interesantes!!
$ time valgrind -q ./cache.out 15000 1Así acaba mi experimento poco científico del día.
real 0m22.026s
user 0m21.009s
sys 0m0.872s
$ time valgrind -q ./cache.out 15000 0
real 1m0.161s
user 0m58.972s
sys 0m0.880s
martes, febrero 17, 2009
Mirror Debian Lenny
Con motivos del lanzamiento oficial de Debian Lenny decidí ajustar el mirror local que tengo en mi pequeño fileserver personal. Actualmente se encuentra recauchutado de la siguiente forma:
$ du -sh debian-local*
27G debian-local
2.8G debian-local-security
21G debian-local-testing
Usando debmirror en un script cron que corre cada 24 hs se mantiene bastante actualizado. "debian-local" es un mirror de etch con sources incluidos; en "debian-local-security" están las actualizaciones de seguridad de etch+lenny y en "debian-local-testing" estan lenny sin sources. En esta nueva release se fueron de escala, ya que el mirror etch con sources es casi del mismo tamaño que el mirror lenny sin sources!!Hace unos días murió un disco del fileserver (en el que convenientemente no tengo ningun RAID configurado), voy a esperar que haga menos calor para ver si resucita. Mientras tanto voy a mudar el mirror a otro disco con cosas menos importantes, y ver si puedo recuperar mis dos discos (el que murió y el que le presté a Pedro) para configurar un RAID.
El script para actualizar el mirror Debian es:
#!/bin/sh
MIRROR_HOST="ftp.br.debian.org"
# Stable
debmirror -a i386 \
-s main,contrib,non-free,main/debian-installer \
-h $MIRROR_HOST \
-d etch -r /debian --progress \
-e http --ignore-release-gpg --nosource \
/var/big1/www/debian-local
# Secure Stable
debmirror -a i386 \
-s main,contrib,non-free \
-h security.debian.org \
-d etch/updates,lenny/updates -r / --progress \
-e http --ignore-release-gpg --nosource \
/var/big1/www/debian-local-security
Simba Cuadrado
miércoles, febrero 11, 2009
Status
¿Qué es de mi vida, qué ando haciendo en estas semanas? Los que me conocen saben que de repente desaparecí de la faz de la tierra. Sigo viviendo en donde siempre, pero ya no me conecto al messenger.
¡Estoy estudiando! Decidí que ya es hora y de una buena vez de recibirme: sacar el título y de ahí seguir para adelante. Me falta rendir 4 finales para llegar al APU y no voy a dejar que pase ni un solo día.
Además, me puse a hacer trabajos freelance haciendo programitas en Python. Es todo tan simple y sencillo que cuando me pongo a programar un sistema feo (y que en otra época hubiese odiado), ¡ahora me divierto! :D
Y como para no terminar de aburrirme, tomé las riendas nuevamente en AONX. Ahora no tengo NADA de tiempo libre, aunque de a poco y más adelante voy a intentar hacer algo. Si estás interesado o curioso en saber de qué estoy hablando podés dar una vuelta por la página del proyecto, o leer el post de brainstorm del blog.
lunes, febrero 09, 2009
Chau WordPress, Hola BlogSpot
Me cansé de tener que preocuparme por mantener actualizada la versión de mi WordPress self-hosted. De ahora en más voy a bloggear por aquí y además aprovecho para tirar a la basura todas las porquerías que había en el viejo blog.
Suscribirse a:
Entradas (Atom)