MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Sigo vivo...

... sí, es cierto, no me he muerto aunque las fechas de los artículos del blog así lo hagan sospechar.

Con twitter me sirve en el 90% de los casos para contar lo que tengo que contar (que tampoco es tanto). Puedes leerme en el widget de la derecha de este blog.

Desde febrero llevo involucrado en varios proyectos, uno de ellos bastante grande y complejo del que publicaré noticias en breve y apenas tengo tiempo para plantearme escribir. 

De lo más anecdótico (por llamarlo de alguna manera) fue mi primera entrevista de trabajo.

A mediados/finales de Agosto me llega un correo de una persona del equipo de reclutamiento de Google interesándose en mi trayectoria, colaboraciones y proyectos de software libre entre los que ando involucrado, para que luego digan que las empresas no buscan «figuras» por Internet. 

Mi primera reacción fue de incredulidad (el correo lo leía desde mi teléfono móvil y apenas podía investigar si era auténtico) por lo que me espero al día siguiente y ya con el portátil miro las cabeceras del correo (desconfiado que es uno, y más de una vez me han salvado de meter la pata), el correo sale de los servidores de Mountain View ( *corp.google.com ) y parece todo lo legítimo que puedo averiguar.

Contesto de manera educada y con mi cutre nivel de inglés explicando que me interesa (nunca hay que decir que no a la primera) y que me indique más información como tipo de trabajo, ciudad, etc...

En los siguientes intercambios de correos me pide un «Resume» lo que viene a ser un currículum en formato anglosajón, lo preparo en Google Docs y se lo envío, no se si soy bastante inocente en este tipo de documentos así que en lugar de engordarlo, incluso lo puse a dieta, ya que hay varias cosas que no interesan según el sitio donde entregas el CV.

Un día me indican que quiere conversar un rato conmigo pero sin dejar muy claro el cómo, al final resulto en una conversación por teléfono desde EEUU (prefijo +1) de unos 40 minutos en inglés, entre el mal sonido del altavoz del móvil y mi mal nivel de inglés intente defenderme como pude, creo que en algún momento de la conversación me explicó que ésta era privada y que no debía dar demasiados detalles en público, así que resumiendo mucho, fueron unas cuestiones sobre que tipo de trabajo, o en que lenguajes de programación me sentía más cómodo y me contó un poco de cómo funciona Google por dentro, grupos de trabajo y posibles ciudades a las que podía ir (me ofrecieron Londres, Dublín o Zurich)

Después de colgar tuve que tomarme una tila porque me temblaban hasta las rodillas. Embarassed

En la conversación me dijeron que pasarían mis datos a un equipo de contratación y que tendría noticias.

Lo triste (o no, según se vea) es que el siguiente correo fue el típico de eres muy bueno pero de momento no tenemos ningún puesto que se acomode a tus habilidades.

Hasta aquí la historia, mi forma de verlo es que me siento orgulloso (muchísmimo) de que una empresa del nivel y tamaño de Google se haya fijado en mí y me quedo con esto, también estoy muy contento de haber sido sincero durante las preguntas y haber contestado con el corazón (me recordaba a la razón por la que deje la Universidad) si no se algo, digo que no lo se, y si con algo no estoy cómodo (ej: programando en Java) también lo digo abiertamente. 

Mi situación laboral actual es envidiable, se que podría estar ganando mucha más pasta en cualquier otro sitio, pero el dinero no lo es todo, hacer lo que te gusta, a las horas que te gusta y sin jefes es algo impagable, y es por ello que tenía serias dudas de decir «sí» y hacer las maletas si hubiera pasado todas las pruebas.

En fin, que me quedo donde estoy, seguimos trabajando en TCOSMaX (nueva web) y otro montonazo de proyectos dentro de **mi** empresa





Montando un NAS con Debian Lenny (Intel SS4200)

Mi último «capricho» ha sido comprarme un NAS para tenerlo como servidor de almacenamiento y aplicaciones en mi pequeña red de casa.

Después de buscar entre muchos modelos y ver las desventajas de los más pequeños, basados en micros ARM (lentos) me decidí por el Intel SS4200, tuvo que ver que habíua bastante documentación de montarlo desde el blog de binarito.

El NAS es un poco más grande de lo que me esperaba (lo que está encima es un disco USB de 3.5") pero si lo vemos por dentro es bastante lógico ya que tiene 4 discos y la refrigeración es a través del flujo desde la parte delantera.

He comprado 4 discos Western Digital (son más silenciosos y más duraderos que los típicos Seagate), el NAS lo he comprado por ebay en una tienda alemana por unos 216 € y los dicos (1 TB) me han costado 325 €.

Instalación

  1. Como el NAS no tiene tarjeta gráfica hay varias opciones de instalarlo, la que aparentemente es la única es mediante un cable serie DB9-IDC10 con el esquema de conexión DTK/Intel. (howto instalación por cable serie)
  2. Los que conocemos un poco linux sabemos que se puede instalar un sistema operativo en un disco duro conectado en una máquina y si lo conectamos a otra y hacemos unos pocos cambios, la instalación sirve y funciona correctamente, así que esta fue mi opción, el primer disco duro lo conecté a un equipo normal e hice uns instalación de Debian lenny básica, el único detalle a tener en cuenta es hacer que en cada reinicio no se guarde la MAC de la tarjeta de red, para eso edité /etc/rc.local añadiendo esta línea
    	cat /dev/null > /etc/udev/rules.d/70-persistent-net.rules
    	
    antes del exit 0. Esto se puede quitar una vez tengamos en disco en el NAS.
  3. La instalación es muy simple, he usado una partición primaria de unos 10GB para el sistema y el resto lo he dejado como Linux Raid Autodetect. Hay que configurarle una IP fija en /etc/network/interfaces e instalar ssh para poder entrar una vez que lo pinchemos en el NAS.
  4. Desmontamos el disco del PC y conectamos el disco (en la ranura 1) en el NAS, conectando el resto de los discos.
  5. Conectamos cable de red y alimentación y encendemos, puede que en el primer arranque no carguepero después de un botonazo sí lo hace (quizás la primera vez que la BIOS ve los discos no sabe desde donde arrancar)
  6. Una vez que lo tenemos funcionando nos conectamos por ssh y empezamos a instalar aplicaciones...
    • ssmtp - reemplazará a exim4 y nos permitirá enviar avisos a la cuenta que indiquemos, yo lo he configurado para que me mande a mi cuenta de gmail cuando pase algo
    • mdadm y lvm2 - Para montar el RAID y luego crear los volúmenes, con unos discos tan grandes es recomendable usar algo como esto... para montar el RAID5 he ejecutado lo siguiente:

      Clonamos las particiones a todos los discos
      		sfdisk -d /dev/sda > sda.pf
      		sfdisk /dev/sdb < sda.pf
      		sfdisk /dev/sdc < sda.pf
      		sfdisk /dev/sdd < sda.pf
      		
      Creamos el RAID
      		mdadm --create /dev/md0 --level=5 -n 4 /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2
      		pvcreate /dev/md0
      		vgcreate vg0 /dev/md0
      		lvcreate --name mirror --size 350G vg0
      		lvcreate --name descargas --size 400G vg0
      		mkfs.ext3 -m 0 -L mirror /dev/vg0/mirror
      		mkfs.ext3 -m 0 -L descargas /dev/vg0/descargas
      		
      Añadir al /etc/fstab
      		/dev/mapper/vg0-mirror /mnt/mirror ext3 rw,noatime 0 0
      		/dev/mapper/vg0-descargas /mnt/descargas ext3 rw,noatime 0 0 
    • smartmontools - Monitoriza la salud de los discos y avisa por mail si algo empieza a fallar.
    • hddtemp - Es imprescindible que los discos esten lo más frescos posible, ahora mismo estan los 4 entre 36 y 42
    • ntpdate - para que se sincronice la hora (cada día desde el crontab)
    • rsync - impresincible para copiar datos de manera eincremental, hacer backups, etc...
    • módulo ss4200 - es un módulo del kernel para controlar a través de /sys el estado de los leds frontales, de hecho me he hecho un script que por defecto apaga todos y los enciende si pasa algo raro. En la web, explican como parchear el kernel pero no es necesario ya que se puede compilar como módulo y las cabeceras de Debian (linux-headers-2.6.26-2-686)
  7. No tenía claro si usar RAID5 o un doble RAID1 con la solución mixta RAID10, en la doc del paquete mdadm no recomiendan usar RAID5 aunque no acabo de tener muy claros los motivos.
  8. Una de las cosas que he probado es instalar Xvfb (virtual framebuffer X server) para tener un programa gráfico arrancado (lease estilo JDownloader o un cliente bittorrent) aquí el script.
  9. Este es el script para activar los leds (cada 10 minutos desde el cron) en caso de emergencia.

Resumiendo, tener un NAS no es algo que necesite todo el mundo, pero en mi caso (uso portátil en lugar de sobremesa desde hace muchos años) los discos USB no estan hechos para funcionar 365/24 y ya me han petado unos cuantos.





Accesorios de mi HTC Magic

Después de gastarme los dineros en eBay por el móvil estuve buscando accesorios útiles ya que este móvil se «zampa» la batería si no andas con cuidado, y este es el resultado después de esperar:

El consumo de batería también se puede mejorar con aplicaciones, la mejor que he encontrado sin duda es PowerManager, de hecho he descargado la versión de pago ($0,99)





Estamos de mudanza: mariodebian.com

A partir de ahora este blog se mueve a su propio dominio:

 

Actualiza tu lector de RSS con el nuevo dominio (el viejo empezará a apuntar al nuevo)





En un colegio cualquiera...

... el profesor pide a los niños atención.

«Niños pulsando en el menú Aplicaciones -> Educación -> Marble, vamos a ver los paises de la Comunidad Económica Europea o como lo llamamos todos: EUROPE»

«Ahora pulsais en el texto rojo donde pone: Europe»

«Bien, no hay una descripción, iremos a la Wikipedia que nunca falla:»

(sigue después del salto)

 (Más)





Cosas raras en mi universidad

Mira que he visto, y me han contado, cosas muy raras en mi universidad, la Escuela Universitaria Politécnica de Valladolid, pero lo de hoy ha sido la gotita que colmaba el vaso...

He visto una ráfaga mientras hacía zapping en la repetición del telediario de rtvcyl8, (no me lo he creido) pero verlo en el periódico [el norte de castilla], lo certifica:

 

El año que viene tenemos nuevo alumno: Franco Bahamonde, Francisco, con DNI num 00.000.0001, con sus 117 años y con la LOGSE recién aprobada (y con buena nota, la mejor de Químicas: 9,8)

He tenido la tentativa de editar la wikipedia, no os digo más Laughing

Hay mucho bromista suelto se les ha colado también un Marcello Mastroianni.





Descubriendo cuando estan a punto de estafarte

Ando encaprichado de un HTC Magic y he empezado buscando en segundamano.es. Ya había comprado alguna cosilla y nunca había tenido problemas.

Total que encuentro esta oferta: Htc magic a estrenar, [captura de pantalla por si lo borran]

¿Cómo me dí cuenta?

  1. Mosquea que el timezone de su correo sea -700 diciendo que vive en Huesca.
  2. Mirando las cabeceras del mensaje, (su correo es yahoo) se ve la Ip desde donde accedió al webmail:
    	Received: from [93.112.215.238]
    	by web111909.mail.gq1.yahoo.com via HTTP;
    	
    whois: inetnum: 93.112.0.0 - 93.112.255.255 netname: TELEMOBIL-SA descr: Telemobil S.A. descr: Calea Bucuresti, nr. 2B bis, descr: Balotesti, Jud Ilfov, Romania country: ro
  3. Hizo una rebaja sin pedirla.
  4. La forma de pago era un poco rara... Western Union y una empresa de transportes llamada delivery-europa.eu, siendo el destinatario Rumano.

Me ha faltado muy poco para picar, pero una búsqueda de la confianza en western union y las ventas en segunda mano me han dado 2 buenas pistas: [1] y [2].

 

Pues blanco y en botella como se suele decir. Ya lo he denunciado en segundamano.es. A todo esto sigo interesado en comprar un HTC Magic (o Hero).





Esta vez sí que nos la han colado hasta el fondo

Y a las pruebas me remito. (aviso: vídeo en formato malo maloso)

Me averguenzo (mucho) de mi gobierno.

Con políticos como estos (los otros no son mejores ni mucho menos) ES MEJOR QUE NO VOTES.





Marketing bluetooth por proximidad: python-thinblue

ThinBlue es una aplicación desarrollada en python que envía archivos mediante el protocolo OBEX a dispositivos móviles (teléfonos por ejemplo).

Desde Thinetic Systems (empresa en la que trabajo) hemos liberado una primera versión (funcional, aunque beta) de esta aplicación bajo la licencia GPL2.

De momento tenemos un repositorio GIT con el código y en breve publicaremos paquetes *.deb para las versiones más usadas de Debian y Ubuntu.

Tienes más información en la noticia de nuestra web: ThinBlue, aplicación bluetooth para marketing por proximidad.

Una de las cosas más chulas ha sido desarrollar el panel de administración con el framework web: web.py , de hecho sin contar javascript, html o css son apenas 300 líneas.

A disfrutarla Wink





Donde mejor está el dinero es en el colchón

Hace muchos años era donde nuestros abuelos guardaban el poco dinero que conseguían ahorrar, exento de comisiones, papeleo....

En estos días esto suena como algo del pasado pero yo no lo descartaría del todo.

Resulta que me han dado un cheque para cobrar de la entidad (llamémosle A) (no es un cheque de una cantidad desorbitada es algo bastante poco), voy a una sucursal y me dicen muy amablemente que para cobrarlo tengo que ir a otra de la "entidad A", a varios kilómetros de mi ciudad o ingresarlo en una cuenta a mi nombre... como no tengo cuenta en la "entidad A", me voy a la "entidad B" donde sí tengo cuenta.

Me avisan que me cobran 1 euro por comisión de ingreso y acepto (no es tanto) resulta que después de unos días me avisan que el pago se ha rechazado, que vaya a recoger el cheque y que me han cobrado otros 10 euros por comisión de devolución.

Resumiendo:

  • "entidad A" debería haberme pagado sin ser la oficina original del cheque, es tan sencillo como pedir la firma por fax.
  • "entidad B" me ha cobrado 10 euros por no cobrar el cheque ¿cómo se entiende esto? ¿encima de no cobrar, poner el culo?
  • Nunca tendré una cuenta en "entidad A" y me estoy planteando cerrar las que tengo en "entidad B"
Visto esto, no es tan descabellado tener el dinero debajo del colchón, ¿verdad?

PD.- No pongo los nombres reales de los ladrones bancos porque ni siquiera merece la pena hacer publicidad negativa.





1 2 3 4 5 6 7  Siguiente»