Schedule for Breaking Bad series finale

Here's my (planned) schedule for the Breaking Bad series finale (all times in UYT)

  • 21:50
    • Write this post
  • 21:55
    • Turn off Twitter and any potential source of spoilers
  • 22:00
    • S05E16 starts airing on AMC (9pm east)
  • 23:15 (Monday)
    •  S05E16 ends on AMC
  • 23:30
    • Go to Pirate Bay, search for "breaking bad s05e16", start downloading
  • 00:00-00:30 (Monday)
    • Torrent finishes, start watching
  • 1:30
    • Finish watching, maybe browse a few discussions online, regret BrBa ended, go to bed.
I hope the next show I get hooked on gets streamed properly (everywhere, simultaneously, no ads, flat fee). I'm more than happy to pay a reasonable price!

Hi Posterous!

Well, I just finished moving my personal blog (previously hosted at vampiroz.org) here to Posterous. It took me a while as I had to write a (Python) script for migrating all comments and images using Posterous API. Posterous has a Wordpress importer but it doesn't import comments yet, and image support is somewhat limited. Also I had to make some formatting rearrangements to make the post texts look nice.

But it's finally done. Geez, I can't believe I won't have to maintain my own Wordpress anymore, I'm so happy :)

What Makes Open Source Tick

In a recent article on his blog, about the nature of open source software, Ian Bickling does a good job on explaining some of the main reasons why Scrapy exists today.

To quote a few:

Underneath most open source work there is a passion for the craft itself. This is what leads to a certain kind of quality that is not the norm in closed source software. It’s not necessarily less bugs or more features, but a pride in the expression itself. A sense of aesthetic that applies to even the individual lines of software, not just to the functionality produced. This kind of aesthetic defies scheduling and relies on personal motivation. As open source programmers we are not first concerned with how a task fits into institutions, how a task can be directed by a hierarchy or an authority, or even how the task can be directed by economics. The tasks that we take on are motivated by aesthetic, by personal excitement and drive.
But I want to get back to individuals. How things are created is not that someone determines a set of priorities, lays them out, then people work on implementation based on those priorities. That of course is how things typically work at a company, as an employee. But open source software and open source projects are created because an individual looks at the world and sees an opportunity to create something they think should exist.

The main point of the article is that licenses are becoming more and more irrelevant in the definition of open source, which is something I've been saying [spanish post] for a while now. The GPL was useful at some point, when the world didn't yet understand the benefits of open source, and to fight a cancer called "lawyers". But I hope some day it will be remembered as a tool which was very useful once, but that is no longer needed.

Otherwise, why do you think Facebook has released most of the software that powers his platform as open source?. Did you think someone threatened them with GPL lawsuits?. Or why Microsoft has recently launched its own open source foundation?. I guess it's a bit of "if you can't beat them, join them" for Microsoft, but Microsoft has long since become a very boring company. The Facebook example is much more interesting and illustrative.

Geolocation Not Always Good For Cdns

I just started downloading Opera 10 for Linux with my 1.2 Mbps connection at a ridiculous rate of 5 kbytes/sec

Why?

Because most CDNs use only the geographical distance from the client, to pick the best mirror for downloading.

In my country, Uruguay, this typically leads to picking a mirror from Brazil which is far from optimal, because:

  1. Brazilian servers are slow (compared to US ones)
  2. traffic from Bazil travels to US and back. This is more ridiculous than the CDNs policies, but it's what we have.

I wonder if CDNs could be made more intelligent though, using traceroute information, for instance. Perhaps the largest ones (such as Akismet) already have some better algorithm in place. And I'm sure Google already has this sorted out :)

So... I just cancelled the download and manually used a US server, even though the guys at Opera managed to make that specially hard to do :)

Its The Conventions Stupid

Every now and then, I stumble upon some article that amazes me because it portraits certain things that I always believed to be true, but never saw them explained so eloquently.

Such is the case of most essays from Paul Graham but, today, it's also the case of this last post from James Bennett on the programming concept called "magic". I vehemently agree with all he says. And, for me, it boils down to this:

There is no such thing as magic in computer programming - It's the conventions, stupid.

Of course, this is a subject too deep to resume in just one sentence, so I recommend you to read that article.

Fernando Vilar Y La Decadencia De La Television

Hoy me topé con la audio-grabación de una charla de Fernando Vilar, el actual conductor de Telenoche 4, en el 4º Encuentro de Jóvenes Comunicadores realizado recientemente en la ciudad de Trinidad, Flores.

En ella, Vilar dice mucho del estado actual de la televisión y los informativos. Y no es un problema solamente de Uruguay, sino de todas partes del mundo, encabezado por la CNN, que es la estrella del mercado.

El manejo de los medios masivos es un tema que siempre me interesó mucho (por la polémica que genera) y que dos por tres saco a discusión en conversaciones casuales. Aquí les dejo el audio de la charla de 18 minutos, en formato MP3. Les recomiendo que la escuchen, no tiene desperdicio.

De entrada, uno puede sentirse tentado a criticar a Vilar por su falta de principios, pero no deja de tener razón en eso de que el cambio debe empezar por la gente, no por los informativos. En otras palabras, y para usar los mismos términos de la misma charla, la gente ve mierda porque le gusta la mierda. En mi opinión, una gran verdad, pero no es que sea nada nuevo. Sin embargo, también es cierto que la gente que crece mirando mierda, es más propensa a gustarle la mierda de grande, lo cual termina convirtiéndose en un caso del huevo y la gallina.

Afortunadamente ahora existe una alternativa, y se llama "Internet". Con Internet, cada persona puede seguir las noticias que le interesan y no está obligada a ver la "mierda" que pasa la televisión solo porque a la mayoría de la gente (mediocre) la gusta. Hoy, como nunca antes, la decisión esta en cada uno y no en los que controlan los medios.

Asi que... ¡basta que quejarse che!. Si no quieren ver más "mierda", apaguen el televisor y prendan la computadora.

PS. Me pregunto que tan simpáticos les habrán caído los comentarios de Vilar a los dueños de Canal 4, sobretodo ese donde afirma que no se encuentra trabajando a gusto en Telenoche, y que lo hace solo por la plata :)

Slow Blogging Times

Is it just me or the blogosphere is a bit down these days?. And I don't speak only for myself here :).

Maybe everyone is just too busy, maybe it's the blogs I follow, or maybe people are moving to Twitter or Facebook (neither of which I follow). But my Google Reader certainly isn't as active as it used to be a couple of months ago.

It's not that I haven't got anything to read though, as Hacker News have always managed to fulfil my news-reading appetite since I started following it 6 months ago, and I'm grateful for that.

Proposicion 8

Hoy me doy cuenta que Arthur Clarke tenía razón cuando dijo que el ser humano, como raza inteligente, aún está en su infancia al ver que la proposición 8 (de prohibir el matrimonio entre personas del mismo sexo) fue aprobada en el estado de California. Más detalles sobre la noticia aquí (en inglés).

A mi en particular me parece un tema tan obvio que hasta me resulta estúpido discutir sobre él. Más discutible en todo casi sería el concepto del matrimonio en sí, que el del matrimonio gay. Pero bueno, se ve que hay gente que no lo ve asi.

Si alguien está en duda, creo que este excelente video de 8 minutos (en inglés) del profesor Lawrence Lessig (el mismo creador de las licencias Creative Commons, bajo las cuales se rige el contenido de este blog) trata el tema de forma muy inteligente y objetiva.

Nada más, solo resta esperar que la humanidad siga su curso y evolucione...

Perlitas De Scraping

Hace unos días un amigo me mandó un link a este artículo del New York Times que habla de un reciente "blooper" de la bolsa a causa de un error en el algoritmo de scraping de Google News que hizo caer el valor de United Airlines unos mil millones de dólares.

La típica expresión en estos casos es: "Whooops!" :)

Y es que hay que tener cuidado con lo que se escrapea. El problema con Google News es su propia escalabilidad, ya que en definitiva no es más que el buscador de Google ligeramente modificado estéticamente y funcionalmente (en cuanto al algoritmo de crawling y scraping) y restringido a ciertos sitios. Algo muy similar a lo que es el Google Blog Search para los blogs. La gran diferencia es que, tanto para el buscador principal como para el Blog Search, este tipo de "bloopers" pasan desapercibidos. Quién no ha visto alguna página totalmente irrelevante colarse en los resultados de búsqueda de Google?. Pasa todo el tiempo, y nadie pierde mil millones por eso :).

Pero con Google News es diferente, porque la calidad importa mucho más, y ésta se ha venido sacrificando a costa de la escalabilidad.

Por eso Froogle (ahora Google Product Search) nunca progresó mucho como servicio, ya que los sitios de "Shopping Aggregation" tienen los mismos requisitos de calidad, y Google se enfoca en escalabilidad, que es lo mejor sabe hacer.

Pero bueno, Google es asi. Tiene muchos proyectos, algunos germinan, otros se secan, y otros quedan es un estado latente intermedio, como es el caso de Google News o Google Product Search actualmente.

How Privnote Really Works

Given the recent popularity of Privnote as consequence of appearing in ReadWriteWeb and the front-page of Digg, a rather heated discussion has arisen about whether notes send through Privnote are really protected against someone with access to the Privnote database.

We believe it is, and I'll explain the reasons here by detailing the exact process used to store the notes in the database. I did try to explain it before in this post but unfortunately the explanation was obfuscated at best, and incorrect at worst.

So here's what happens when you create a note in Privnote:

  1. You write the note and click the POST button
  2. The server generates a random note id, let's call it the NoteID. This is the 16 chars ID you see in the note link
  3. The server hashes the note ID and gets a HashedNoteID = Hash(NoteID). We're currently using SHA-1 as the hashing algorithm, but the particular algorithm is not very important here
  4. The server encrypts the note contents (and also the email and reference, if there is any) using the NoteID, and stores the encrypted version in the database using the HashedNoteID as the database primary key

If someone with access to the database would like to read the note she would be unable because she doesn't have the key to decrypt it (NoteID), only the database primary key (HashedNoteID). The HashedNoteID cannot be used to "go back" to the NoteID because hashes are "one-way". So the only person who can actually decrypt (and thus see) the note is the one who has the original NoteID or, in other words, the one who has the link to the note.

For completeness, this is what happens when you view a note in Privnote:

  1. The server extracts the NoteID from the URL
  2. The server hashes the NoteID and gets the HashedNoteID. This is the same HashedNoteID used when generating the note, since the NoteID used to make the hash is the same in both cases
  3. The server retrieves the note from the database using HashedNoteID as the database primary key and decrypts its contents using NoteID as the encryption key
  4. The server shows the page with the decrypted note
  5. The server permanently deletes the note from the database, keeping only a record of the HashedNoteID, the time when it was read, and the IP address where it was read from, to show it when someone tries to see the note again

I apologize for not being clear in my original explanation, and hope to have explained myself better this time. Thanks to everyone who corrected me and provided a better explanation, both here and in other blogs.

Finally, I must say that we have received a lot of great feedback these days, and that motivates us to keep improving Privnote as well as making it available in more languages.