Cacharreando…

17 de sep de 2011

Se termina el verano…

…pero no por ello uno deja una de sus aficiones: ¡cacharrear!
Hace unos días estuve hablando con un colega del grado, y comencé a buscar piezas que tenía por un trastero (simplificando), de habérselas cambiado a mi sobremesa a lo largo de los años, y resulta que tenía componentes suficientes para hacer un PC “nuevo”. Bueno, me faltaba un disco duro, pero le pude quitar un viejo IDE que ya no estaba conectado, sino tan solo atornillado, a la caja del sobremesa.
Me sorprendió gratamente también encontrar una caja y PSU usadas, y tras ensamblar todo y un par de cortecitos en los dedos por la mierdachapa de la que está hecha, intenté arrancarlo, ¡y arrancó!
Lo malo es que no tenía lector de CD/DVD (bueno, sí que tenía, pero me daba mucha pereza probar cuál funcionaría), así que me busqué otro sistema para bootear un SO.
No me costó mucho pensar en PXE, pues lo veo todos los días en la Facultad de Informática.

Como tengo un portátil funcionando, con Mac OS X (que al fin y al cabo es un UNIX: SUS03-compliant), podía montar ahí los servidores de tftp y de dhcp.

Instrucciones para activar tftp en Mac OS

Mac OS X ¡incluye! un servidor TFTP, aunque deshabilitado por defecto, y corre bajo los servicios de red (un inetd), no como servicio independiente. La forma de habilitarlo es la habitual en los servicios de Mac OS: cambiar una propiedad en un plist.
tl;dr: Hay que cambiar el fichero /System/Library/LaunchDaemons/tftp.plist como root y cambiar la -probablemente- sexta línea, en donde dice <true/> poner <false/>. (Disabled: false)
Tras esto, un $ sudo launchctl load /System/Library/LaunchDaemons/tftp.plist debería de levantar el servicio (aunque no aparecerá con ps).

Instrucciones para el servidor dhcp en Mac OS

Como suelo hacer, comencé por bajarme la última versión del dhcpd (la 4.2.2), pero esta, con soporte de DHCPv6, requiere unos símbolos definidos que Lion (10.7.1) no tiene en sus cabeceras (relativas precisamente al soporte de IPv6), así que para no complicarme me bajé una versión más antigua (la 3.1.3) que compiló sin problema alguno. Nota no importante: Archlinux también sigue con un paquete viejo de dhcpd por lo “complicado”, dicen ellos, que está siendo todavía dar soporte a dhcp4.
Os incluyo el fichero de configuración dhcpd.conf para arancar con PXE.
option domain-name "silice.lan";
option domain-name-servers ns1.silice.lan;
option subnet-mask 255.255.255.0;
default-lease-time 300;
max-lease-time 900;
ddns-update-style ad-hoc;
server-name "silice";
subnet 192.168.55.0 netmask 255.255.255.0 {
range 192.168.55.200 192.168.55.253;
filename "/tftpboot/pxelinux.0";
option routers 192.168.55.1;
}

Para lanzar dhcpd, en lugar de compilarlo y make install, yo solo lo compilé (make), y luego me creé un script para evitar tener que andar con ficheros de configuración en /etc, porque el dhcpd solo lo voy a usar para arrancar por PXE, ¡mi portátil no va a ser un servidor DHCP habitualmente!
El script:
#!/bin/bash
# Script to power up the DHCP server here.
cd ./dhcp-3.1.3/work.darwin/server
./dhcpd -f -cf dhcpd.conf -lf ./leases en0

Hay que ejecutarlo como root, pues DHCP utiliza un puerto inferior al 1024.

Arrancando…

Metí en el servidor TFTP (en /private/tftpboot/) las los elementos que coinciden con la expresión /boot/* y /boot/syslinux/*
Yo hice esto con la distro de Archlinux.
Bueno, pues con la distro de Archlinux os ahorrais probar, a menos que lo arranqueis desde un arch con el paquete archboot para arranque remoto. En mi instalación, después de descomprimir initramfs el kernel solicitaba lo que faltaba a un nbd0 (un Linux Network Block Device, algo que en el Mac no tenía)
Luego encontré y pude bajarme la imagen archboot, que sí tiene un initramfs autocontenido: en cuanto se carga eso no necesita soporte de ninguna entidad externa para su funcionamiento.
Una vez con esta imagen, ya pude por fin partir el disco e instalar Arch. Decidí, no obstante, partir el disco según el nuevo formato GPT, con una partición de 100M para /boot, otra de 2G para swap y lo restante repartido entre home y /.
Haber usado el esquema GPT impidió una correcta instalación automática de GRUB2, con lo que tuve que hacer la típica jaula chroot para instalar Grub desde dentro de ella, arrancando desde el Live.
Para instalar Grub hay que recordar montar /boot desde dentro del chroot, o grub-bios_setup no sabrá que son particiones diferentes!
Y con esto ya tenemos el sistema base montado.

Voy a aprovechar aquí para comentaros cuáles son las características del equipo que he conseguido montar.

  • Placa base: ASUS A8N32-SLi Deluxe (con 2x Gigabit Ethernet: 1x Marvell Yukon, 1x nVidia Ethernet)
  • CPU: AMD Athlon64 3200+ (Socket 939, sin soporte de paravirtualización) @2.00GHz, 1 core
  • RAM: 1.5 GB SODIMM DDR
  • HDD Sistema (/dev/sda): Seagate Barracuda 7200.9 (IDE/ATAPI) 300 GBytes (10^9 Bytes)
  • HDD Almacenamiento (/dev/sdb): Western Digital Caviar Green 3TB Advanced Drive Format (SATA3 6Gb/s)

Uno de los integrados de la RAM es erróneo, y produce errores y fallos de segmentación en momentos no predecibles. Esto se ha solucionado con la directiva badram de Grub 2 después de realizar un Memtest86+ para encontrar los sectores incorrectos.

Problemas de seguridad de WhatsApp

29 de may de 2011

Hace un tiempo instalé WhatsApp porque necesitaba comunicarme urgentemente con @simbilla y era el único sistema que tuve en aquella ocasión.

Al comienzo me pareció un sistema, simplemente, redundante.

Para mandar mensajes instantáneos ya estaba el correo electrónico. Para mandar mensajes cortos, ya estaba twitter (si, también tiene mensajes privados, chicos, no hace falta que hableis por menciones todo el rato), y para la mensajería instantánea ya estaba la mensajería instantánea (de acuerdo, tal vez esta frase también es algo redundante).

El caso es que ya existía GTalk, basado en XMPP, un estándar abierto; GMail, compatible con cualquier otra estafeta de correo electrónico, tal vez uno de los servicios más usados a lo ancho y largo de Internet, y ya teníamos Twitter, que tiene un API abierta y todo.

Y apareció WhatsApp. Y se convirtió en algo imprescindible para los usuarios de iOS.

Había una razón: la conveniencia.

WhatsApp hacía lo mismo que el resto de servicios también hacían (incluso menos), pero con una interfaz más bonita y refinada, y una filosofía de “el usuario no tiene que hacer nada más que hablar”. Y además con notificaciones push, con lo que los mensajes se recibían correctamente en tiempo real, aún cuando iOS no incluía la multitarea como feature.

Pronto se expandió al resto de público potencial: las BlackBerry de RIM, los Google Android, e incluso los Nokia N60. Era lógico: ¿por qué uno iba a poder hablar instantáneamente y sin pagar nada solo si el otro tenía otro iPhone? ¿Para eso no estaba ya Facetime, por ejemplo?

Aunque para estos usuarios no tenía tanta importancia: a día de hoy estas cuatro plataformas soportan Push Email Notifications, con lo que la notificación de un mensaje que llega a tu buzón también resulta instantánea en estos casos, sin recurrir a terceras partes.

Aún así, WhatsApp soporta algo que ningún otro mensajero con tanto público tiene: el emisor puede ver cuándo le ha llegado un mensaje al destinatario. Asi como cuándo cada persona se ha conectado por última vez.

— ¿Pero entonces como dices que funciona WhatsApp?

Muy sencillo.

Paso uno: introduces tu número de teléfono.

— ¿Por qué he de confiar mi número de teléfono a una tercera parte que no conozco?

Porque.. paso dos: ya está. Ahora escoges tu destinatario en WhatsApp y automágicamente aparecerán todos los contactos de los que tengas número de teléfono y que se hayan registrado alguna vez en la aplicación.

— ¿Y cómo es que aparecen ya todos mis contactos si ellos no me han aceptado?

De eso se trata. Si tienes su número de teléfono se supone que te lo han dado porque quieren que puedas contactar con ellos.

— ¿Pero y como aparecen ya?

Porque en realidad, entre el paso 1 y el paso 2, WhatsApp envía toda tu agenda (al menos todos los números de teléfono) a sus servidores, donde los procesan y devuelven una lista con aquellos que son usuarios de la aplicación, sus fotos de perfil y sus frases de estado. El otro no tiene siquiera porqué tenerte en tu agenda telefónica. (Tech: Además, la primera vez WhatsApp te envía un SMS gratuíto al móvil para comprobar que el número es tuyo).

— ¿Y no puedes no aparecerle a alguien?

No, desde que inicias sesión una vez no siquiera botón de cerrarla. Lo más parecido en Android es detener el servicio. O en cualquiera de las plataformas: desinstalar la aplicación.

Aun así seguirás apareciendo como usuario y la gente podrá mandarte mensajes aunque jamás los leas.

 

Bueno, pues yo soy de aquellos a los que les da igual que un tercero tenga los datos de mis contactos, la aplicación es genial.

Bueno, tus amigos tal vez no crean lo mismo, pero si quieres seguir adelante, tampoco es un camino de rosas.

Porque a pesar de que la aplicación se comunica por el puerto 443 (típicamente designado para servicios sobre SSL, una capa de seguridad a nivel de red), toda la comunicación que se realiza entre tu móvil y los servidores americanos de WhatsApp viaja en claro.

— ¿Qué quiere decir esto?

Pues que cada vez que mandas un mensaje a alguien, cualquiera en tu misma red wifi, en tu misma oficina, en tu casa, portal, red, o en cualquier nodo de todo Internet por el que pase tu información, pueden ver con pelos y señales quién le manda qué a quién y a qué hora y desde qué móvil.

 

Y además WhatsApp tiene como información tuya:

Los mensajes y posibles ficheros adjuntos que hayas podido mandar. Los contactos que te tienen añadido y a los que tú tienes añadido en la agenda de tu móvil (hables o no con ellos por WhatsApp).
Tu número de teléfono.

Y una política de privacidad que dice que pueden cambiarla cuando quieran en cualquier momento y sin avisar a sus usuarios. Osea, que de hoy para mañana pueden vender todos tus datos y no tienes tiempo ni a borrarlos.

Esto se basa en este post de SecurityByDefault en el que analizan únicamente estos últimos detalles sobre el (carente) cifrado de WhatsApp (aunque sí hacen toda la pesca de establecer el protocolo seguro, para después mandar las cosas en plano..).

Problemas de seguridad en Tuenti

29 de may de 2011

Esto es una noticia de la que no existe un “comunicado oficial” al menos que yo me haya enterado todavía.

Resulta que hace poco han comenzado a salir noticias de una nueva versión de una “beta privada” de la red social Tuenti, esta red social tan popular entre los jóvenes españoles.
Esta “actualización” requiere que el usuario introduzca su email, su contraseña y la contraseña de hotmail, lo que ya de por sí puede levantar muchas sospechas. Además suele venir de un amigo (de un mensaje automático creado por el robo de su cuenta), y no de la misma interfaz de tuenti, además redirigiéndonos a un dominio que nada tiene que ver con tuenti.com
Muchísima gente ha entrado en el link (no sé cuántos habrán introducido sus datos, pero tan solo desde un bit.ly que circulaba, las estadísitcas cuentan 351k visitantes).

Es bastante preocupante la falta de cultura respecto a la seguridad y privacidad que hay por el público general a día de hoy.

Actualmente los dominios que he podido encontrar como causantes de este problema de seguridad han sido tirados por DNS (Error: NXDOMAIN), y a mi no me han mandado el enlace, yo me he enterado por twitter.

Comienza el fin

14 de may de 2011

lim_{\Delta t \to 0 }{ t + \Delta t} = EXAMS

 

Sé que no he comentado nada de la Xuventude Galicia Net 2011.

Os anticipo que he asistido. Pero estoy demasiado liado últimamente con cosas que hacer como para escribir ne el blog.

A ver si en verano me animo…

Conclusiones que no voy a publicar

12 de abr de 2011

Saco dos cosas en claro de estos últimos días en el blog:

  1. Al menos cuatro personas distintas leen mi blog
  2. A ninguna de estas les ha gustado que les dijesen las verdades de una organización que parecen representar.

¡Pero si en ningún caso he mentido en lo que he dicho!

UPDATE (Via Analytics): Y que todo esto ha salido de foro.amiga.arroutada.info, el foro privado de la Asociación AMIGA. Ocho visitas de ahí me han llegado ayer, de un tema que no puedo ver porque no formo parte de la asociación. Pero vamos, supongo que se habrán tomado de forma destructiva mi crítica y se habrán enfadado en lugar de afrontar la realidad. Osea, el infantilismo de algunos.

Y que Odín nosequé, dice un tío que no sabe hablar.

Sin título

1 de mar de 2011

A veces me da la impresión de que tengo que escribir más a menudo en el blog.

Pero entre #trabajoSC e ideas sueltas sobre proyectos que se me ocurren, no sé qué poner…

Copiar versos “incopiables” (BASH + Perl)

20 de feb de 2011

¿Alguna vez habeis intentado copiar algo de un PDF y se os han comido “mágicamente” los saltos de línea?

Yo me he bajado la música de El Reno Renardo, y sus letras, e intenté poner las letras a sus canciones en iTunes.

Y cuando estaba copiando y pegando, ¡sorpresa, los saltos de línea no se copiaban!

Si teneis un Mac y teneis la suerte, como yo, de que en cada línea las frases empiezan por mayúscula (y no hay muchas más mayúsculas por el texto), pocos retoques tendreis que hacer a lo que aquí os dejo.

cat - | perl -pe 's/([A-Z][^A-Z]+,? [a-z]+)/\n$1/g' | pbcopy

Cómo funciona:

Pegais el texto en la consola después de teclear el comando y pulsar enter.
Para finalizar la entrada de texto pulsais Ctrl.+D y el texto se guardará en el portapapeles.

Explicado: cat - lee lo que introduces por la entrada estándar, y el | (pipe) lo introduce como entrada del siguiente comando.

El siguiente comando es una sustitución por expresiones regulares con Perl. La expresión dice: Sustituir [LetraMayúscula]+[Algo que no es una letra mayúscula] [opcionalmente una coma] [más de una minúscula] y poner antes de todo eso un salto de línea.

pbcopy es un comando de Mac OS para copiar al portapapeles.

Esto es fácilmente adaptable a cualquier otro Unix, cualquier Linux: simplemente cambiando el último | pbcopy por un > output , el script generará un fichero ‘output’ con la salida deseada.

Tal vez tenga un par de errores en cuanto a cosas raras o texto en mayúsculas a mayores que pueda haber. Si a alguien le sirve, por favor, hacédmelo saber ;)

No les votes.

15 de feb de 2011

El próximo 22 de mayo, los ciudadanos españoles están convocados a las urnas para votar a sus representantes públicos en todos los ayuntamientos y en algunos parlamentos autonómicos. Los representantes elegidos tendrán a su cargo la gestión de miles de millones de euros durante un periodo de cuatro años, razón más que suficiente para extremar las precauciones de los votantes: a lo largo de los últimos años, el nivel de corrupción en la política española se ha disparado de manera alarmante en todo el arco parlamentario.

PSOE, PP y CiU son las tres formaciones políticas que han pactado para resucitar la ley Sinde en el Senado, una ley que permite censurar Internet por vía administrativa, sin una intervención judicial que garantice la tutela efectiva de los ciudadanos. Al juez que deba validar el cierre le estará vedado analizar el fondo del asunto, esto es, la vulneración de derechos de propiedad intelectual o la posibilidad de producir un perjuicio patrimonial por parte de la página web cuya clausura se solicite. La ley Sinde crea un “agujero libre de jueces” donde la decisión la toma una comisión administrativa nombrada por el gobierno, para evitar lo que hasta el momento venía ocurriendo: que los jueces no daban la razón a las reclamaciones de la industria de los contenidos.

La ley Sinde es ineficaz. No aborda una reforma integral de la legislación de propiedad intelectual, único camino para favorecer la justa retribución de los creadores y artistas en el marco de unasociedad de cultura digital. Aún así, y a pesar de la oposición de una parte importante de la sociedad incluyendo creadores y artistasPSOE, PP y CiU votaron a favor de ella. Pesaron más las presiones de gobiernos extranjeros y de grupos minoritarios que el interés social. Pero no todo es culpa de nuestros representantes: nosotros les hemos elegido, por acción u omisión.

Desde Nolesvotes.com consideramos que PSOE, PP y CiU han faltado a su principal obligación con la ciudadanía: defender la Constitución que juraron o prometieron acatar. La ley Sinde somete Internet a una legislación excepcional, con grave merma de los derechos a la libertad de expresión e información y a la tutela judicial efectiva, posibilitando un mayor control político de la red.

Tu decisión es importante. No te pedimos el voto para ningún partido concreto, ni que votes en blanco, ni que te abstengas, sino que te informes para comprobar que existen alternativas contrarias a la ley Sinde en todo el espectro ideológico. Te pedimos que defiendas la libertad en la red con tu voto, no apoyando a aquellos que con sus actos se han hecho claramente merecedores de un voto de castigo.

El próximo 22 de mayo, NO LES VOTES.

(Texto extraído de http://www.nolesvotes.com/)

Cambios de línea

6 de feb de 2011

He cambiado el estilo de la web.

Para ello he tenido que hacer magia con el CSS, y hasta donde he probado, funciona bien en Firefox 4 y en WebKit (Chromium, Google Chrome, Safari…).

Como veis, ahora en la página principal del blog aparecen las entradas cortadas si son largas, y se muestran en su plenitud, como si fuesen páginas de entrada completas, al pinchar sobre ellas.

¿Qué os parece?

3,141592 6535897 9323846 264338 3279…

5 de feb de 2011

Visto originalmente en Microsiervos Música: 3,141592 6535897 9323846 264338 3279 5028 841971 6939937510 582097 494459 23078164 06286 20899… | Microsiervos Música.