26 de Noviembre, 2013

Masters of Doom

Acabo de terminar este libro biográfico escrito por David Kushner que cuenta la historia de John Carmack y John Romero, y la empresa que fundaron a principios de los años 90: id Software.

Precisamente hace unos días Carmack decía que dejaba id para dedicarse de lleno a su trabajo como CTO de Oculus VR, y ya era el último de los fundadores originales en despedirse, con lo que es fácil darse cuenta de cómo acaba el libro. Bueno, tampoco es necesario llegar al 2013 para saber qué pasa con id :P (el libro fue publicado hace 10 años).

Masters of Doom empieza introduciendo a los dos Johns (como los llamaban en algún momento), hablando de su infancia y su personalidad, hasta que se conocen en 1989 trabajando en Softdisk (una publicación en diquetes bajo suscripción; recordemos que esto fue hace 25 años).

A partir de ahí nos cuenta cómo id empieza a gestarse en la clandestinidad entre miembros de la plantilla de Softdisk, tomando los ordenadores prestados para usarlos por las noches para desarrollar los juegos que a ellos les gustaría jugar y que por aquel entonces no existían.

Las habilidades técnicas de Carmack (un genio de la programación sin habilidades sociales) combinadas con el perfil más mutidisciplinar de Romero (un buen programador con capacidades artísticas y de diseño, y ¿don de gentes?) les convierten en una mezcla explosiva que dio algunos de los juegos que más han influido en la evolución del PC durante la década de los 90.

El libro está escrito de una forma que parece que estuvieras allí, y para mi en cierto modo lo es, porque la historia que se cuenta es contemporánea y la he podido vivir más o menos de primera mano (Wolfenstein 3D, Doom, el éxito del shareware, Quake, etc).

Otro aspecto que me ha gustado es que no hay héroes, no se trata de dar una buena imagen de lo que sucedió y quedarse ahí. Creo que Kushner ha hecho un buen trabajo: todos los personajes son reales, con todos sus defectos. Es una historia con final agridulce, porque la trayectoria de id, o más bien de sus protagonistas, ha sido de ascenso y, hasta cierto punto, caída.

Es una lectura ligera pero muy inspiradora y, aunque yo nunca he sido muy gamer, me he sentido identificado con la época y los sueños de un puñado de chavales melenudos que solo querían hacer juegos. Muy recomendable.

Hay 2 comentarios, anotación clasificada en: lecturas.

26 de Noviembre, 2013

»ZTE Open actualizado · No es porque ZTE haya actualizado el sistema, es más bien que me he cansado de esperar y he seguido este post de Mike Rowehl para actualizar a Firefox OS 1.2 compilándolo todo (además es una pre-release, me he saltado la 1.1; estaba tan frustrado con el móvil que si acabo con un ladrillo naranja, qué más da :P). Estoy contento con el cambio y la verdad es que viendo lo rapido que va todo y lo que han mejorado las aplicaciones base, creo que esta versión 1.2 debería haber sido la primera entrega de Mozilla en lugar de la limitada 1.0.1 que trae el ZTE Open.

Hay 0 comentarios, anotación clasificada en: firefox.

25 de Noviembre, 2013

»Game Jams, éxitos y fracasos · Hace dos semanas intenté la Game Jolt Contest 10 y no conseguí terminar nada (aunque sí aprendí nuevos trucos, especialmente jugando con shaders). Acabé completamente frustrado con mis incapacidades artísticas, tanto que... ni ganas de hacer algo para el GitHub Game Off II (con la dificultad extra de que tenía que ser web).

Si sumamos mi intento fallido de Ludum Dare, estoy empezando a pensar que haber acabado dos PyWeeks ha sido un poco casualidad :P. Eso y que estaría bien conocer a alguien que se le diera bien la parte artística del tema. Mientras tanto he empezado a reciclar mis conocimientos de Wings3D para pilotar un poco de Blender, y por ahora me gusta bastante.

Hay 0 comentarios

10 de Noviembre, 2013

»Una disculpa, no disculpa · En relación al incidente de Canonical abusando su marca (y uno anterior, en el que Mark Shuttleworth insulta a sus detractores, al mismo tiempo que hace amigos entre los seguidores de un conocido partido político americano :S), el CEO de Canonical se ha disculpado: Mistakes made and addressed; o más bien se defiende al mismo tiempo que ataca a los que son críticos con su empresa. Aunque hace tiempo que está claro que Mark no es el mejor relaciones públicas para Canonical, me parece interesante enlazar su anotación.

Hay 0 comentarios, anotación clasificada en: ubuntu, software libre.

9 de Noviembre, 2013

Anonimizando correos con Postfix

A estas alturas es poco probable que no te hayas enterado de que han pillado con el carrito de los helados a algunas agencias de seguridad (por ejemplo la NSA), que aparentemente dedican gran cantidad de recursos a espiar a todo el mundo (todos somos sospechosos, parece ser). Aunque no es de eso de lo que voy a hablar en esta anotación, está muy relacionado.

Hace unos años di una charla sobre privacidad y GPG/PGP en la segunda Barcamp Valencia, y conociendo el tema podríamos decir que usando GPG/PGP ya no habría problema para comunicarnos de forma privada, ¿no? Pues no exáctamente, ya que el protocolo SMTP puede traicionarnos revelando información acerca de nosotros en algunas de sus cabeceras.

Si miramos las cabeceras de un correo cualquiera nos encontramos con lo siguiente:

Return-Path: <user@example.dom>
X-Original-To: me@example.dom
Delivered-To: me@example.dom
Received: from vortex.usebox.net (host-82-121-*-*.as13285.net [82.121.*.*])
        by usebox.net (Postfix) with ESMTPSA id 4307E300154
        for <me@example.dom>; Sat,  9 Nov 2013 08:50:15 +0000 (GMT)
Message-ID: <527DF0FD.8090506@example.dom>
Date: Sat, 09 Nov 2013 08:50:10 +0000
From: User <user@example.dom>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130625 Thunderbird/17.0.7
MIME-Version: 1.0
To: Me <me@example.dom>
Subject: Test
X-Enigmail-Version: 1.6
OpenPGP: url=http://www.usebox.net/jjm/jjm.asc
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Vaya, acabo de decirle a cualquiera que vea esas cabeceras dónde me encuentro en este momento (que da la casualidad que es donde vivo), porque mi dirección IP está incluída (la he cambiado y he añadido asteriscos, esa no es mi IP :P).

Así que aunque usara GPG/PGP, mi servidor de correo estaría aportando información sobre mi que en realidad no es necesaria para enviar un correo, pero que puede ser útil para cualquiera que esté escuchando.

Esto es fácil de solucionar con Postfix (el MTA que estoy uso en mi servidor, versión 2.9.6), modificando algunas de las cabeceras.

Porque no quiero cambiar las cabeceras de todos los correos y solo las de los que envío yo, voy a añadir un filtro solo en el servicio submission (puerto 587), ya que este puerto solo se utiliza para entregar correos vía MUA y no mediante otros servidores de correo (si no sabes qué es un MUA, te recomiendo leer el clásico una explicación del correo electrónico).

En master.cf añadimos a nuestra entrada submission lo siguiente:

submission inet n       -       -       -       -       smtpd
  -o smtpd_enforce_tls=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o smtpd_sasl_tls_security_options=noanonymous
  -o smtpd_sasl_security_options=noanonymous
  -o cleanup_service_name=clean_smt

Y definimos ese nuevo servicio clean_smt:

clean_smt unix  n       -       n       -       0       cleanup
  -o header_checks=pcre:/etc/postfix/header_checks_submit.pcre

Ahora solo nos queda poner las reglas en header_checks_submit.pcre para manipular las cabeceras:

/^Received: from ([^\n]+)(.*with ESMTPSA .*)/  REPLACE Received: from localhost (localhost [127.0.0.1])$2
/^User-Agent:/              IGNORE
/^X-Originating-IP:/        IGNORE
/^X-Mailer:/                IGNORE
/^X-Enigmail-Version:/      IGNORE

Lo que es realmente interesante está en la primera regla, pero por el mismo precio he incluído alguna más que puede ser útil para eliminar información que puede ser utilizada para identificar nuestro cliente de correo.

Hacemos un reload de postfix y volvemos a mandar nuestro mensaje de prueba:

Return-Path: <user@example.dom>
X-Original-To: me@example.dom
Delivered-To: me@example.dom
Received: from localhost (localhost [127.0.0.1])
        by usebox.net (Postfix) with ESMTPSA id E494A300154
        for <me@example.dom>; Sat,  9 Nov 2013 09:01:42 +0000 (GMT)
Message-ID: <527DF97A.806030@example.dom>
Date: Sat, 09 Nov 2013 09:00:50 +0000
From: User <user@example.dom>
MIME-Version: 1.0
To: Me <me@example.dom>
Subject: Test
OpenPGP: url=http://www.usebox.net/jjm/jjm.asc
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Con esto hemos conseguido eliminar nuestra IP y algunas cabeceras incómodas, con lo que nuestro servidor está anonimizando nuestros correos.

Importante recordar que esta configuración es para el puerto 587 (la expresión regular busca ESMTPSA) y no sé si funcionaría igual con otros tipos de entrega de correo. En mi caso funciona bien, pero es posible que haya una forma mejor de conseguir el mismo resultado ;).

Hay 0 comentarios, anotación clasificada en: email, security.

8 de Noviembre, 2013

»Cómo han cambiado las cosas · Resulta que alguien ha montado una web para arreglar esas cosillas relacionadas con la privacidad en Ubuntu, con información pública en muchos otros sitios, pero que es claramente a una crítica: fixubuntu. Ahora viene Canonical y usa sus marcas registradas contra fixubuntu.

Ubuntu es una marca registrada de Canonical, y siempre lo ha sido, pero cómo han cambiado las cosas cuando he leído la noticia... y no me ha sorprendido :'(.

Hay 0 comentarios, anotación clasificada en: ubuntu, software libre.

1 de Noviembre, 2013

»Fin del experimento · Hoy he cerrado mi web de crucigramas, con mucha más pena de lo que esperaba. Han sido casi dos años desde que empezara el proyecto, con 644 crucigramas publicados, un libro recopilatorio, y muchas horas dedicadas a revisar y publicar crucigramas (que no es todo 100% automático). Es el momento de dedicar tiempo y recursos a otra cosa ;).

Hay 0 comentarios

30 de Octubre, 2013

»GitHub Game Off II · La gente de GitHub acaba de convocar la segunda edición de su competición de programación de videojuegos: GitHub Game Off II. No participé en la edición anterior porque... javascript, y porque me enteré tarde (creo, no me acuerdo). El caso es que voy a ver si me animo esta vez, que a fin de cuentas es web y todo un mes por delante ;).

Hay 0 comentarios, anotación clasificada en: javascript.

21 de Octubre, 2013

10 años de blog

Pues sí, hoy es oficialmente el décimo aniversario de blackshell como bitácora, y como lo prometí el año pasado, ahí va una gráfica :).

Entradas en blackshell

Esperaba algo peor, pero viendo la progresión... no está tan mal: nos mantenemos estables dentro de la gravedad :D.

Cerramos el cumpleaños con 1574 anotaciones y 2883 comentarios, y visitas ni idea porque hace tiempo que no sigo el tema. Parece que solo 74 anotaciones desde Octubre del año pasado es poco :(, pero los datos no engañan y hay tendencia, con lo que mientras haya algo que contar de vez en cuando, seguiremos por aquí ;).

Por cierto que qué poco práctico es Redis para hacer análisis de datos. Lo que tiene ser moderno, si es que sigue estando el noSQL de moda :P.

Hay 3 comentarios, anotación clasificada en: blog.

19 de Octubre, 2013

»twitter-reboot · Ha pasado algo de tiempo desde mi no más Twitter, y no lo he echado de menos. El caso es que tal y como lo venía usando se pierde parte de la utilidad, que es precisamente lo que al final he decidido recuperar haciendo un reboot, deshaciéndome de todos los tweets protegidos y usando la cuenta en abierto. Resulta interesante empezar desde cero en el 2013, y ya en las primeras 24 horas mi cuenta ha desaparecido y ha vuelto a aparecer; y he podido disfrutar de varios internal server error :D. ¡Nada ha cambiado!

Hay 0 comentarios, anotación clasificada en: internet.

Entradas antiguasEntradas nuevas