Eduardo N. Fortes

Mi Blog personal: GNU/Linux, Programación, Tecnología, Música, Mi… ¿Vida? y algunas cosas más

Una manera muy simple de comprobar la integridad de un array creado con mdadm

servidor:~# echo check > /sys/devices/virtual/block/md1/md/sync_action

Podemos verificar el avance del proceso de la siguiente manera

servidor:~# cat /proc/mdstat
Personalities : [raid1] [raid10]
[....]
md1 : active raid1 sda2[0] sdb2[1]
48829440 blocks [2/2] [UU]
[>....................]  check =  0.4% (210368/48829440) finish=11.5min speed=70122K/sec
[....]
servidor:~#

Podemos observal el mensaje en /var/log/messages

Feb  7 13:16:31 servidor kernel: [883541.633704] md: data-check of RAID array md1
Feb  7 13:16:31 servidor kernel: [883541.633709] md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
Feb  7 13:16:31 servidor kernel: [883541.633713] md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for data-check.
Feb  7 13:16:31 servidor kernel: [883541.633723] md: using 128k window, over a total of 48829440 blocks.

Fuente: realtechtalk.com

Hace unos días me topé con la necesidad de renombrar prolijamente un grupo de archivos en una carpeta, la idea principal era usar un prefijo y luego un número (además de la extensión, claro). Por ejemplo:

  • foto-001.jpg
  • foto-002.jpg
  • etc

La solución más rápida que encontré en bash fue de la siguiente manera:

find -name '*.jpg' | awk 'BEGIN{ a=1 }{ printf "mv %s foto-%04d.jpg\n", $0, a++ }' | bash

Fuente: StackOverflow

Desde hace cinco años, el Grupo de Usuarios de GNU/Linux y Software Libre de Buenos Aires Central (GulBAC) coordina y organiza el Festival Latinoamericano de Instalación de Software Libre en Mar del Plata.

Además de la instalación, se llevan a cabo diversos talleres, charlas y presentaciones para que cualquiera pueda disfrutar de la filosofía de la libertad. En esta oportunidad, se eligió como temática: “Entretenimiento y Educación”.

Están todos invitados a participar del evento que se llevará a cabo este Sábado 28 de Abril en A.D.U.M. (Gral. Roca 3865) de 10 a 18 hs.

Horario Disertante Charla Disertante Charla
10:30 a 12:00 Felipe Evans Taller de armado de distribuciones GNU/Linux - -
12:15 a 12:45 César Mattos Accesibilidad en GNU/Linux Esteban Zarate Uso de Wikipedia en Educación
13:00 a 13:45 Almuerzo
13:45 a 14:15 MarcosCaballero Letritas Carlos Guardia Sistema de Información Geográfico
14:30 a 15:00 Facundo de la Cruz Packet Filter: Making a powerfull and statefull firewall Sergio Puggioni Software Libre como herramienta pedagógica
15:15 a 15:45 Gustavo Carr Pure Data Martín Gregorio Tu sala de computaciónen 10 minutos
16:00 a 16:30 Gonzalo Benoffi Cómo programaren Android Facundo de la Cruz ZFS for dummies
16:45 a 17:30 MatesLab ¿Ardu-qué? Una introducciónal mundo Arduino - -
17:45 a 18:00 Sorteos

En el marco de la iniciativa Despedite en otro blog 2011 de @AmattaJM, y tal como lo hizo Gabriel el año pasado les acerco el post de @UrielManiaco, que lo pueden leer en su blog http://www.urielmania.com.mx/

Si bien es la primera vez que participo en esta iniciativa de despedida de año, la verdad me encanta la idea y tengo que reconocer que mezcle varios post de mi blog para hacer esta entrada, si bien esto me facilita la escritura también creo que captura un poco de lo que hay en mi blog…

Así pues tengo que comenzar diciendo que no sé quién seré el próximo año, ni el mes que viene, no tengo idea qué voy a hacer hoy, no sé si eso que haga saldrá bien o no, es mas tengo que admitir que ahora mismo estoy muy asustado, resulta que me frustra que de repente no puedo entender el while porque no termino mi do, que a veces mi for se traba y no se en que acaba, que cuando quiero un treemap ya no supe que fue de mi key, y es que señores no me van a decir que de repente uno se siente como un nullpointer, que sabe y sabe pero no apunta a nada, hay días en los que me siento lejos, lejos como un unreachable code y simplemente me dan ganas de print_r mis lágrimas, hay otros días en que llega doña API y mejora mi vida pero hay otros donde el mundo es cruel y la gente se opone y te dice que tú mismo hagas tu estructura, como se hace eso cuando dentro de mi try caigo en un catch, y al final todo da igual, si no sé por dónde empezar debe andar mal mi constructor, será que dios se equivoco y yo solo apunto a null, o a lo mejor soy sólo un iterator que recorre y recorre pero luego no sabe que fue ni que será, aun así día a día hago mi mayor esfuerzo sin importar que ayer haya ido mal, al final siempre queda compilar y volver a comenzar.

Por otro lado les deseo un feliz inicio de año y espero ya tengan sus propósitos de año nuevo, estoy seguro que estos los pueden hacer cualquier día del año, pero también creo que el “31 de diciembre” goza de un carácter oficial, ya que uno hace una especie de promesa sagrada o algo así, aunque me pregunto si es un día tan especial ¿por qué no somos más creativos a la hora de pensar en nuestras promesas para el 2012?, ¿Qué tal, por ejemplo;  “amor más apasionado”, o “trabajar menos y disfrutar más de la vida” o quizá un “no siempre andar con una cara tan seria por el mundo y sonreír un poco más durante el día”? o mejor aun disfrutar de la vida para que el típico “¡Vive tus sueños, no sueñes tu vida!” se haga por fin realidad.

Por último me quiero despedir con una frase de mi buen amigo vicius:

Recuerden que el amor  es como un videojuego en el momento preciso hay que sacar el focus correr y hacer tu combo… Solo hay 2 opciones después de la muerte; jugar de nuevo o cambio de personaje

Bueno en realidad hay una tercera y ultima opción, pero  que nadie quiere…

Salir del juego

CPanel incluye soporte en su instalador para eAccelerator, pero por alguna extraña razón, las últimas instalaciones en las que estuve trabajando, carecen de soporte para APC (Alternative PHP Cache). Así que si por algún motivo preferimos APC por sobre eAccelerator vamos a tener que arrancar desde la consola con un poquito (casi nada) de maña.

Los pasos para instalar son más que simples
cd /usr/local/src
wget http://pecl.php.net/get/APC-3.1.9.tgz
tar -zxvf APC-3.1.9.tgz
cd APC-3.1.9
phpize
./configure --enable-apc --enable-apc-mmap --with-apxs --with-php-config=/usr/local/bin/php-config
make
make install

Habilitamos el soporte para APC agregando en el archivo de configuración de PHP (php.ini)

extension="apc.so"
apc.enabled=1
apc.shm_segments=1
apc.shm_size=128

Para terminar con la instalación, deberiamos reiniciar el servidor web que estemos usando (Apache, Lighttpd, etc). Ante cualquier duda, se puede llamar a la función phpinfo() para consultar el estado de los modulos cargados

No hay nada que me ponga más contento que amigos vayan cumpliendo con sus proyectos. Máximo, un amigo de años y con quien tuve la oportunidad de compartir escenario varias veces (?) nunca aflojó (no como yo, que soy bajista esporádico) y hoy se convierte en video el fruto de su esfuerzo :) Su primer videoclip, filmado integramente en las calles de Mar del Plata y como corresponde, con muchísimos amigos más, delante y detras de cámara

Nobleza obliga, los créditos correspondientes (estan completos en la descripción del video en YouTube)

Música y letra por Máximo G. Parisi
Músicos invitados:
Candelaria D’ Elia (voz)
Francisco Da Silva (percusión)

Grabada y mezclada en Lagarto Records por Juan Carlos Sonajero
Masterizada en Jonte Records por Marian Jonte Gabbanelli (Ingeniero en sonido)

Videoclip:
Argumento, dirección y producción: Gonzalo Menéndez
Fotografía, edición y post-producción: Francisco Otero
Asistente técnico y coordinación: Astor Schiantarelli

Y como es un músico que tiene aguante, es todo SafeCreative, Creative Commons, algunos derechos reservados.

Básicamente es una clase de mecánica en la palma de la mano, según sus descripciones:

Motor V-12 naval de inyección de aire comprimido construido a mano de forma artesanal. Quizás sea el motor más pequeño del mundo de esta modalidad. T iene 12 cm3 de cilindrada, el diámetro de los cilindros es de 11,3 mm y la carrera de los pistones es de 10 mm. Funciona con tan sólo 0,1 Kg/cm2. Está construido con acero inoxidable, aluminio y bronce

Y en el marco de utilidades que no entiendo para que existen, me encontré con AjaxMyTop, un clon web de la utilidad mytop para monitorear el estado de un servidor MySQL, quizás un poco más bonita, con posibilidad de filtrar por base de datos, usuario,  matar consultas colgadas desde la comodidad del navegador o hacer un EXPLAIN de las consultas que se estan ejecutando.

La única configuración necesaria, es editar el archivo ‘config.php


$dbServer = "mysql";
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "muymuysecreto";

http://sourceforge.net/projects/ajaxmytop