domingo, 26 de julio de 2009

Final BarCamp Valencia 2009

Weno, todo lo bueno tiene que acabar ;)

El Sabado 25/08/09 se realizo la BarCamp Valencia 09, y la verdad, la experiencia me pareció genial, en todos los aspectos.

* Las ponencias de mucho nivel, aunque y aquí está mi único pero ;) quizás había mucho ponente profesional y poco "amateur". Pero claro, tal y como se comentó en los descansos, si ante este evento se ofrecen ponentes profesionales, ha participar es una oportunidad que no se puede dejar pasar.
El "pero", claro es a nivel "romántico"

* Los descansos, casi mejor ;) aún si cabe. Las charlas fueron de lo más instructivas, y los ponentes de lo más accesibles. Genial!!!

* La organización perfecta sin más. Además se sorteó todo el material cedido por los patrocinadores, aunque no me toco nada como de costumbre ;)

* En cuanto al sitio, me pareció bueno, las instalaciones muy bien y el tema de aparcamiento estupendo.

* En cuanto a la "oferta gastronómica" ;)) más bien escasa, dos bares abiertos (escondiditos) y un mercadona.

Las fotos del evento están colgadas aquí
Las transparencias de las ponencias aquí

En definitiva un 10 al evento.
Esperemos que se repita pronto.

viernes, 10 de julio de 2009

Problema DNS

Hace unos tres días vengo teniendo problemas con mi servicio de Internet (ONO).

La verdad es que desde el primer dia estube completamente seguro de que era debido a los servidores DNS de mi proveedor, pero no habia tenido tiempo de comprobarlo ;) (El veranito es lo que tiene)

Esta noche después de ver la peli de rigor he intentado consultar el correo y ha sido la gota que colma el vaso, así que me he puesto a mirar el tema.

Tenía configurado en /etc/resolv.conf

nameserver 62.42.230.24

nameserver 62.42.63.52



Y... la sorpresita de rigor el primer DNS no responde al ping ;(
Despues de mirar en internet he obtenido una lista de 4 DNS de ONO

62.42.63.51

62.42.63.52

62.42.230.23

62.42.230.24



Los dos últimos no funcionaban así que he editado mis DNS para dejar:


nameserver 62.42.63.52

nameserver 62.42.63.51

nameserver 62.42.230.24



Problema resuelto.

viernes, 3 de julio de 2009

Copias Subversion - Paralelizando procesos

Hace unos días comenté algo acerca del procesamiento paralelo en bash.


Hoy he tenido que hacer un pequeño script para realizar unos dump de subversion, y al medir tiempos por temas de ventanas de copias, me he encontrado con que el proceso de realizar las copias de todos mis repos consumía un tiempo de aproximadamente 2.30h, lo cual me ha dejado un poco mosca al irme a casa.


No se pero se me había metido en la cabeza que podía ser más rápido, y una cosa a llevado a la otra y al final he acabado pensando en la posibilidad de lanzar estos scripts en paralelo, lo cual tiene gracia ya que la máquina en cuestión tiene un solo core ;) (Por lo que la ganancia sería 0) pero bueno me ha dado por darle vueltas al tema.


Así que me he puesto y al final he hecho otro script, en el que si tengo presente el número de cores disponibles.


No he podido probarlo, pero intentaré hacerlo en breve montando alguna maquena en VirtualBox. (Cuando tenga tiempo y ganas ;))


Estos son los scripts que repito. No se si funciona el segundo de ellos, pero como ejemplo del anterior post creo que es valido.


Script sin paralelización:

#Definimos el array que contendrá los repos

typeset -a A_REPOS

#Obtenemos el numero de repos (Directorios, sin el directorio de copias ni el "." o el "..")

let NUM_REPOS=`ls -l|grep "drwx"|grep -v "DUMP_BACKS"|tr -s ' ' |cut -d ' ' -f 9|tr -s '.'|cut -d '.' -f 1|wc -l`

#Obtenemos una lista de los repos

REPOS=`ls -l|grep "drwx"|grep -v "DUMP_BACKS"|tr -s ' ' |cut -d ' ' -f 9|tr -s '.'|cut -d '.' -f 1`

let num=1


#Llenamos el array con los elementos de la lista de repos

while [ $num -le $NUM_REPOS ]; do

A_REPOS[$num]=`echo $REPOS|tr -s ' ' |cut -d ' ' -f $num`

let num=num+1

done


num=1

#Para cada posicion del array lanzamos un dump

while [ $num -le $NUM_REPOS ]; do

#echo ${A_REPOS[$num]}

svnadmin dump ${A_REPOS[$num]}|gzip -9 > ${A_REPOS[$num]}".gz"

let num=num+1

done


Script con paralelización:

#Definimos el array que contendrá los repos

typeset -a A_REPOS

#Obtenemos el numero de repos (Directorios, sin el directorio de copias ni el "." o el "..")

let NUM_REPOS=`ls -l|grep "drwx"|grep -v "DUMP_BACKS"|tr -s ' ' |cut -d ' ' -f 9|tr -s '.'|cut -d '.' -f 1|wc -l`

#Obtenemos una lista de los repos

REPOS=`ls -l|grep "drwx"|grep -v "DUMP_BACKS"|tr -s ' ' |cut -d ' ' -f 9|tr -s '.'|cut -d '.' -f 1`

let num=1

#Definimos el numero de procesadores de muestra maquina

let PMAX=(`ls -ld /sys/devices/system/cpu/cpu*|wc -l`)-1

#definimos un array con el numero de cores

typeset REPOS_CORE[$PMAX]


#Llenamos el array con los elementos de la lista de repos

while [ $num -le $NUM_REPOS ]; do

A_REPOS[$num]=`echo $REPOS|tr -s ' ' |cut -d ' ' -f $num`

let num=num+1

done


num=1

pos=1

while [ $num -le $NUM_REPOS ]; do

#Llenamos un array con tantos elementos como procesadores
REPOS_CORE[$pos]=${A_REPOS[$num]}

#Cuando esta lleno lanzamos los procesos y colocamos la posicion a 1 para volver a llenarlo
if [ $pos -eq $PMAX ] then

for i in REPO_CORE; do

svnadmin dump $i|gzip -9 > $i."gz" &

pos=0

wait

done

fi

let num=num+1

let pos=pos+1

done


Los colores indican las diferencias entre uno y otro.

Básicamente cuando tenemos el array con los nombres de los repos, vamos llenando otro hasta tener tantos elementos como cores, en ese momento lanzamos todos los dump y colocamos la posición, a 0 para que se coloque a 1, y repetir el proceso.

De este modo conseguimos lanzar varios dump al mismo tiempo, con lo que con el tiempo del mayor, realizaremos los demás. (Creo)

NOTA: Repito y no me cansaré de hacerlo ;), que el segundo script NO ESTÁ TESTEADO, básicamente es una idea que pienso que puede funcionar.

miércoles, 1 de julio de 2009

Nuevo Evento - BarcampValencia - Desconferencia


Weno este post es para contribuir de alguna manera, (con que sume algún asistente me vale)
al evento que se va a celebrar por primera vez en Valencia. BarcampValencia.
La "desconferencia", responde al lema de "Web 2.0, Open Source y Social Media"

La idea me parece genial, creo que es uno de los proyectos que más ilusión me hacen en bastante tiempo, no se quizas esperaba algo así sin saberlo ;) así que ahí queda esto a ver si alguien se anima.

Ah.... y por supuesto felicitar y desear toda la suerte posible a los organizadores, que se lo han currado muchisimo.

La URL del evento es: http://barcampvalencia.com/