A brief history of time travel

Sometimes a thing is discovered or invented by several people at the same time. It happened to calculus, and it happened to the telephone. A theory says that those inventions or discoveries happen when the right set of circumstances align and the time is ripe. The time machine is another example of this: it was invented simultaneously in the years 8583, 6383, 4725, 3174, 1997, and 47 B.C.

Continue reading to see a full account of the history of time travel, all the way from the end to the beginning.

A brief history of personal computing

People think that personal computing is something completely new, and that PDAs, smartphones, and the like are recent inventions. However, the history of humankind is very long, and there are ancient precursors to very modern things. For example, since the dawn of time, humans have used their fingers to count, add, and subtract numbers, which is a clear example of digital computing. In addition, the ancient Sumerians are renowned for using tablets to write and do their bookkeeping, and the Romans used a stylus to write on a small handheld pad.

On popular sayings

I find the popular saying "When in Rome, do as the Romans do" pretty awkward. First, the word "do" appears twice in sequence, without the decency of at least introducing at least some alliteration. "In Denmark, do as the Danes do" would be way better, for example. Then, the saying doesn't rhyme, and everybody knows that popular sayings must rhyme. "When in Rome, do as the Romans do at home" improves a lot on it. But this brings the third problem: there is no rhythm to the saying. It's awkward to say. And moreover, the second part of the sentence has way many more syllables than the first. Imagine you are the first person to hear the saying. The speaker says "when in Rome", and you think "ah, this saying is going to be short and sweet, look how few syllables there are, only three", and then he says "do as the Romans do" and you go "whoa, that was 6 syllables. Stop a minute there. Don't recite the whole book at me".

Also, why the Romans especially? The Romans did lots of things we shouldn't really do anymore. For example, they held slaves. Imagine using this saying to justify slave ownership. "Why are you beating me up?" "We are doing as the Romans did. Now, what's your name?" "Kunta Kinte!" "Oooooh you cheeky person of color. You are lucky we aren't doing as the Greeks did."

I think that the Spanish version of this saying is way superior. "Donde fueres, haz lo que vieres". Which means "wherever you go, do whatever you see". See, it does rhyme. The first part is 4 syllables long and the second one is 5. And it doesn't involve Romans at all. Also in its favor, it uses an obsolete tense of the subjunctive mood, which is a plus in my book even though it makes it harder to translate into English, and if someone were inventing this saying today they would say "donde vayas, haz lo que veas", which would drive the actual inventor of the saying into remarking that using "vayas" assumes you are going somewhere, while "fueres" doesn't imply that you are going anywhere, but in case you ever go, do whatever you see (again, not assuming you are going to see anything). That guy is a smartass, but we already knew that because he decided to use the future subjunctive, which nobody does anymore, as I said before.

But at any rate, I like very much the Galician version, transmitted to me by my father, and so on since time immemorial, I assume. Or perhaps he made it up last year, but I'm not going to ask him and risk ruining the story. That version is "na terra dos lobos hai que ouvear como todos", which can be translated as "in the land of wolves you must howl like everyone else". It is an awesome saying because it has wolves in it, it rhymes, and even though it has two more syllables in the second part, it doesn't matter because you are so transfixed by the idea of howling like a wolf that you don't notice. And it creates a very graphical image in your mind about what it means, which is great in a popular saying. So I give it the full five stars and my seal of recommendation.

(Post your comments in the Google+ post for this story).

1-star Amazon reviews

0 of 70 people found the following review helpful
Shallow and pedantic, October 12, 2011
By Captain Munch (Oregon) - See all my reviews
This review is from: Doritos Tortilla Chips, Nacho Cheese, 11 Ounce (Grocery)
This is the worst book I've ever read. The plot is linear and predictable, the characters are flat, and the setting is badly researched. Apparently this is the author's first novel-length book. Hopefully it will be the last.


14 of 14 people found the following review helpful
They are HEAVY!, January 3, 2013
By Bargain Hunter - See all my reviews
This review is from: Vinyl Dumbbells 10lb - Pair (Misc.)
Today I was sitting in my rocking chair at the porch when Pat the mailman arrived, and he gave me a very dirty look as he handed me my Amazon package. I soon found out the reason: this item is HEAVY! No really! It had to weigh at least 20 pounds! No wonder Pat was so grumpy.

I think Amazon should give you a warning or something, it is very irresponsible of them to sell such heavy things without telling you beforehand.


235 of 392 people found the following review helpful
It's OK, but..., March 24, 2009
By Alice Wonders (Nevada) - See all my reviews
This review is from: Dremel 4000 Rotary Tool (Tools & Home Improvement)
I received this Dremel brand rotary tool today. It works really well. Only giving it 4 stars because the box it came in was a bit scuffed in a corner.

UPDATE 1-12-2013: Reduced to 1 star because it broke down after only four years of continuous use grinding granite and titanium alloys. You'd think Dremel would make better tools.


89 of 92 people found the following review helpful
The author didn't research the subject, April 2, 2013
By Natalie Blood (New Jersey) - See all my reviews
This review is from: Dracula by Bram Stoker (Hardcover)
Almost as soon as you pick up the book you know that it's going to be bad. The characters spend the whole book writing letters to each other and there's no action to speak of.

There are lots of anachronisms. For example, it is set in the 1800s but Mina types her letters and Dr. Steward records his voice. Hello! Everybody knows that there were no computers in the 1800s! Can you be more stupider than that?

Also, the book gets everything wrong about vampires. I think the author should have done some reading on the subject before writing the book.

(Post your comments on Google+.)

La ley d'Hondt y las mayorías (y las minorías)

Una característica del sistema d'Hondt que os expliqué ayer es que, aunque genera repartos proporcionales, tiende a favorecer a los partidos mayoritarios. Es decir, tiende a otorgar los escaños "sobrantes" primero a los partidos más votados. Esto puede causar problemas si se combina el sistema d'Hondt con un sistema electoral por circunscripciones (como el de España). En este caso, esta pequeña ventaja se magnifica.

Por dar un ejemplo bastante extremo, imaginad que tenemos un parlamento de 30 escaños y 2 partidos; uno recibe el 52% de los votos y el otro recibe el 48% de los votos. Si se reparten los 30 escaños en una circunscripción única, el primer partido recibiría 16 escaños y el otro partido recibiría 14. Sin embargo, si el territorio estuviese dividido en 10 circunscripciones de 3 escaños cada una, y en cada circunscripción cada partido recibiera el mismo porcentaje de votos que antes, en cada circunscripción el primer partido recibiría 2 escaños y el otro partido recibiría 1; en total, el partido ganador recibiría 20 escaños y el perdedor, 10.

Por supuesto, en España cada circunscripción tiene un número de escaños distinto, y los porcentajes de votos varían, pero el principio es el mismo, y explica por qué el partido más votado suele llevarse un porcentaje de escaños muy superior al porcentaje de votos que recibe en el territorio nacional.

Esto no significa que el sistema de circunscripciones sea malo per se. Este sistema tiene la ventaja de que posibilita que un partido que tiene mucho empuje en una provincia obtenga representación aunque su porcentaje global de votos en el territorio nacional sea bajo. El inconveniente (tiene que haber un inconveniente; no existe ningún sistema totalmente justo) es que los partidos que reciben un porcentaje bajo de los votos en todas las circunscripciones suelen recibir una proporción de los escaños inferior a la proporción de votos recibidos.

Para solucionar este problema, en algunos sitios utilizan un sistema d'Hondt modificado para favorecer ligeramente a los partidos minoritarios. Este sistema está modificado de forma que el primer escaño sea más fácil de obtener, por lo que un partido que no tenga ningún escaño tiene más posibilidades de recibir un escaño que uno que ya tenga varios. Esto se consigue haciendo que cada escaño después del primero cuente doble. Es decir, al hacer la tabla que describí en la historia de ayer, en lugar de dividir los votos entre 1, 2, 3, etc., se dividen entre 1, 3, 5, etc.

A B C D
1 1000 900 700 400
3 333,3 300 233,3 133,3
5 200 180 140 80
7 142,9 128,6 100 57,1
9 111,1 100 77,8 44,4

La tabla anterior os muestra el mismo ejemplo de ayer, pero utilizando el sistema d'Hondt modificado. El número de escaños asignado a cada partido es el mismo que antes, pero lo importante es que se asignaron en distinto orden. Mientras que ayer el partido D no recibió su escaño hasta el sexto turno, hoy lo recibió de cuarto, justo después de que A, B y C recibieran los suyos. En otras palabras: si sólo hubiese cuatro o cinco escaños en juego, hoy D habría recibido uno, y ayer no. En un sistema de circunscripciones, por lo tanto, y suponiendo que en cada circunscripción la situación fuese similar, la representación de D sería más alta que con el sistema d'Hondt "puro".

Y esto es todo lo que tengo hoy sobre el sistema d'Hondt. Espero que os haya resultado interesante. Si queréis dejar comentarios, id a la correspondiente historia en Google+.

Otra historia más sobre la ley d'Hondt

Si no me equivoco, este domingo van a ser elecciones, así que es el momento de que alguien escriba la consabida historia que explica cómo funciona la ley d'Hondt. Hace unos años leí una explicación bastante buena, pero creo que en esta ocasión tengo una mejor, así que voy a intentar describirla.

La ley d'Hondt (o "sistema d'Hondt") sirve para repartir varios elementos entre varios grupos de forma proporcional. En España se usa, por ejemplo, para repartir escaños entre los distintos partidos en función del número de votos. También se puede utilizar para repartir los asientos en una cámara de representación territorial.

Uno podría pensar que, para repartir los escaños después de una elección, podría bastar con hacer una regla de tres y asignar a cada grupo la parte proporcional de los votos recibidos. No obstante, hay un problema obvio: al hacer esto tendríamos escaños "fraccionales". Por ejemplo, si tenemos dos partidos y un parlamento con 10 escaños, y un partido ha sacado el 53% de los votos y el otro el 47%, no podemos darle 5,3 escaños a un partido y 4,7 escaños al otro. Los escaños son indivisibles, así que un partido recibirá 5 y el otro 4, y tenemos que buscar la manera de asignar el escaño sobrante. ¿Se lo damos al partido que tiene 5, para reconocer su mayoría? ¿O se lo damos al que tiene 4, porque le falta menos para llegar a 5 que al otro para llegar a 6?

Lo habitual es asignarle el escaño al que tenga el "resto mayor". Al primer partido le damos 5 escaños y le "restan" 0,3; al segundo le damos 4 y le restan 0,7. El que tiene el resto mayor es el segundo, con 0,7, así que le damos el escaño a éste, y ambos quedan empatados a 5 escaños. Este sistema, aunque simple, tiene un problema bastante gordo: es posible que, si se reparten más escaños pero las proporciones de los votos son las mismas, un partido pase a recibir menos escaños (podéis ver un ejemplo en el artículo que enlacé antes). Esto se llama "paradoja de Alabama" porque tras el censo de los EEUU de 1880 hicieron cálculos para aumentar el tamaño del Congreso, y descubrieron que con un Congreso de 299 escaños, Alabama tendría 8 escaños, pero sólo 7 en uno de 300.

El sistema d'Hondt es un sistema que no tiene este problema. La idea principal del sistema es conseguir un reparto de los escaños lo más proporcional posible, asignando los escaños de uno en uno de manera que cada escaño represente al mayor número posible de votos.

Announcing Debloat: a new open source project for data compression

I'm happy today because I can finally announce my latest project, Debloat.

Debloat is an Enterprise-ready, extensible Java data compression/decompression framework. It supports many different compression algorithms and data encoding formats that can be plugged in as needed, using simple configuration files written in XML, or programmatically using a very simple, intuitive DSL. Debloat is Open Source and available under the terms of the Apache License 2.0.

The typical problem with data compression algorithms is that the output they produce often consists in opaque binary blobs, which nobody can inspect to see what's inside, and it's very hard to write tools that can operate on those blobs. Debloat solves that by using a new codec that produces easily parsed, human-readable XML files!

For example, assume you would like to compress the following string:

Trololololo lololo lololo.

A regular compression library would produce something that perhaps looks like this:

▼ï◘┘üöO♥♂)╩╧üB♣¶JÅ♂ê╝P!←

You can see that this is a complete opaque bag of random symbols corresponding to various binary values. However, Debloat produces well-formed output that looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<compressedData algorithm="lz77">
  <byte value="84"/>
  <byte value="114"/>
  <byte value="111"/>
  <byte value="108"/>
  <reference distance="2" length="7"/>
  <byte value="32"/>
  <reference distance="7" length="13"/>
  <byte value="46"/>
  <byte value="10"/>
</compressedData>

Undoubtedly, this format has many, many advantages for Java Enterprise applications respect to the opaque binary blob.

I hope you try Debloat out and post your feedback on Google+! I have many ideas for the next few versions of Debloat, hopefully they'll be released soon!

Guaranteed compression

A few eons ago I was a member of a network called Fidonet, which had an echoarea (the equivalent of a mailing list) dedicated to file compressors. As I was fascinated by them at the time, I was naturally a subscriber.

Every once in a while someone would come in and ask if there could be a compressor that were guaranteed to compress the input data by at least one byte. The response was invariably that no, there couldn't be one, and the argument was based on the pigeonhole principle: if there were such a compressor, you could use it to compress some data, then use it on the compressed data to compress it even more, and so on until you are left with a byte, which would mean that there are only 256 possible distinct files in all of the Universe. This is clearly absurd, so there can't be such a compressor.

While I agree with the conclusion, I find the argument unsound, so let's explore it with the help of a close cousin of this compressor everyone asked about.

There is a compressor that is guaranteed to either produce an output the same size of the input, or produce an output one bit smaller than the input. This compressor simply interprets the input data as a big binary number and subtracts 2 from it. The corresponding decompressor is also very easy: just interpret the input data as a big binary number and add 2 to it.

It is easy to prove that the compressor will always produce an output file that is either the same number of bits as the input file, or 1 bit smaller. Therefore, you can use the compressor, get an output file, use the compressor on the output file, get a new output file, use the compressor on the new output file, and so on until you get a file that only contains 1 bit that can be 0 or 1. According to the argument above, this would mean that only two documents exist in the whole Universe; however this is clearly not true, so what's the catch?

The catch is that we can't reconstruct the original document with the compressor's output alone (the 0 or 1 bit). We need more information to do that: we need to know how many times we applied the compressor so we can apply the decompressor an equal number of times to reconstruct the original file. So let's add the number of compression operations to the last compressed file. How big is the resulting file?

The compressor works by subtracting 2 from the number we interpret the input file as. If I apply the compressor once, I will have subtracted 2; if I apply it twice, I will have subtracted 4 from the original file; if I apply it 1000 times I will have subtracted 2000. To get a single bit I need to apply the compressor enough times that the original file minus twice the number of applications is 0 or 1. That means that, if I call the original file "i", the ultimately compressed bit "c" and the number of compressions "n", I have that i=2*n+c.

Therefore, to compress the input file i you will need n operations, and n is one half of i. You will now need to append the number n to the output of the last compression step to be able to reconstruct the original file. The input file i has b bytes, and n is one half of i, so n has b-1 bytes. Therefore, you will have to store 1 bit for the compressed data, plus b-1 bits for n, which amounts to b, which is the length of the original file!

So yes, while it is not true that being able to reduce a file to 1 bit or 1 byte by successive compressions means that there are only 2 or 256 files in the Universe, it is still true that doing so will be of no benefit.

Comments are welcome — on the Google+ post.

La carta de presentación

Ahora que os he mostrado cómo es un currículum para EEUU/UK, llega el momento que todos estábais esperando: cómo escribir la carta de presentación ("cover letter", en inglés).

Como mencioné antes, deberíais adjuntar una carta de presentación cada vez que enviéis un currículum. No confundáis la carta de presentación con una carta de recomendación: la carta de presentación la escribís vosotros mismos, y sirve para decirle a la persona que reciba el currículum por qué deberían tener en cuenta vuestra candidatura.

A grandes rasgos, una carta de presentación tiene una extensión de una carilla como máximo y consta de tres partes: a qué puesto optáis, por qué sois perfectos para el puesto, y por qué queréis el puesto. La carta de presentación es, como su propio nombre indica, una carta, así que no pongáis encabezados y listas de puntos y negritas y cosas de esas.

Si estáis enviando el currículum por correo, adjuntad la carta de presentación en el mismo sobre y no la grapéis al currículum. Si lo estáis enviando por email, mandad el currículum en un fichero adjunto y usad el cuerpo del email para la carta de presentación. Si podéis averiguar quién recibirá la carta de presentación será mucho mejor si la encabezáis "Dear Mr. Smith" que si la encabezáis "Dear Sir/Madam". Por cierto, aseguraos de utilizar una dirección de email "seria"; aunque tengáis que emplear webmails gratuitos, es mejor usar "francisco.paredes@gmail.com" que "erpisha23@gmail.com", y mejor "carolinacf@hotmail.com" que "preziossa89@hotmail.com".

Antes de enseñaros un ejemplo de carta de presentación, permitidme reiteraros que el objetivo de la carta de presentación es que la persona que recibe el currículum sepa que no va a perder su tiempo leyendo vuestro currículum, y para eso deberéis hacer énfasis en los beneficios que proporcionará a la empresa contrataros. Al fin y al cabo, las empresas no contratan gente para tener más amigos, sino para poder ganar más dinero, así que tenéis que "atacar" por ese lado.

(De hecho, si os fijáis en el currículum de ejemplo, veréis que se sigue la misma filosofía a la hora de describir la experiencia laboral. El trabajador del ejemplo describe cómo ha rescatado un proyecto o cómo ha reducido costes el 20% o cómo ha dirigido un equipo, no cómo ha formado parte de un equipo formado para estudiar la posibilidad de implementar una recomendación para un proyecto exploratorio).

Y una última reflexión: para variar, estos consejos para la carta de presentación no son sólo válidos para optar a empleos en EEUU o el Reino Unido. Si preguntáis a alguien que trabaje en RR.HH. de una empresa española os dirá que todos los días les llegan un montón de currículums "desnudos" o con cartas de presentación poco atractivas. Seguramente, si comenzáis a enviar vuestros CV acompañados de cartas de presentación en este estilo, vuestros CV destacarán más. Haced la prueba y decidme si resulta :-)

Dicho todo esto, en el enlace de "leer más" podréis ver una carta de presentación, enviada por correo acompañando al currículum de ejemplo. El autor quiere trabajar de ingeniero jefe de software en una empresa británica llamada "Super Company".

Tened en cuenta que este ejemplo es algo más corto que una carta de presentación normal porque, honestamente, tener que inventarse todos los detalles es un peñazo :) Pero bueno, podéis utilizarlo para haceros una idea de qué tipo de cosas se dicen en una carta de presentación; cuando tengáis que escribir la vuestra, simplemente buscad "cover letter example" en Google y usad lo que os salga para inspiraros.

Podéis escribir vuestros comentarios en Google+.

Un currículum de ejemplo para EEUU, Reino Unido o Irlanda.

Hace poco más de un año escribí una historia sobre cómo redactar un currículum para enviarlo a una empresa de EEUU, Reino Unido o Irlanda (aprovechando que los formatos para los tres países eran casi iguales). Lo que ese artículo no incluía eran ejemplos, y alguien me los ha pedido, así que voy a poner aquí un ejemplo recién inventado de résumé para el Reino Unido. Como comenté en el artículo anterior, el résumé americano sería prácticamente igual, salvo que en lugar de un "Profile" tendría unos "Objectives".

Espero que os sirva para redactar vuestro propio currículum. Recordad que, cuando lo enviéis, deberíais acompañarlo de una carta de presentación, de la que os daré un ejemplo otro día.

Podéis poner vuestros comentarios en Google+, que aquí siempre se me echan los spammers encima cada vez que abro una nueva historia con comentarios.