Skip to main content

Ralsina.Me — Roberto Alsina's website

The unfatomable improbability of my existence.

I am do­ing this as a pub­lic ser­vice for USA read­er­s, be­cause you are like­ly to be in con­tact with some­one who be­lieves evo­lu­tion of life is in­cred­i­bly un­like­ly. Af­ter al­l, many of your pres­i­den­tial can­di­dates don't be­lieve in evo­lu­tion. Which would be sad if it was­n't be­cause I ex­pect some of them do but are afraid of los­ing the ig­no­rant re­li­gious fa­nat­ic vote (which makes it just lame).

You will some­times see some­one say some­thing like "that's un­like­ly!. The odds of A are 1 in 1000 and the odds of B are 1 in 500, so the odds of A and B are 1 in 500000!".

This ar­gu­ment is very, very, very wrong. But for those with an in­tu­itive knowl­edge of prob­a­bil­i­ty it looks good, be­cause they know that the odds of a coin flip com­ing heads is 1/2 and the odds of 2 con­sec­u­tive heads is 1/2 * 1/2 = 1/4 and so on.

Now, let's con­struct me this way (warn­ing: made up num­bers ahead­).

I am ar­gen­tini­an. There's rough­ly 35M ar­gen­tini­ans out of 6000M hu­man­s. That's about 1 in 171.

I am male. That's about 1 in 2.

I am a bit over me­di­an height. That's al­so 1 in 2.

I have a beard. I am guess­ing 1 in 10.

I wear size 41 shoes. That's about 1 in 4.

I use glass­es: I'd say 1 in 5.

I get dizzy rid­ing bus­es: About 1 in 100.

I am mar­ried: 1 in 4.

I have a child: 1 in 2.

I have a son: 1 in 4.

He is 4 months old: 1 in 200

So, I have a 1 in 87 552 000 000 chance of ex­ist­ing. And I could make those odds much low­er. Af­ter al­l, I was born in 1971, mi favourite colour is green and my name is Rober­to.

There are two rea­sons why you should nev­er trust this kind of num­ber ma­nip­u­la­tion un­less you re­al­ly, re­al­ly know what you are do­ing.

  1. You can't just mul­ti­­ply any­thing. These odds have to be about sta­tis­ti­­cal­­ly in­­de­pen­­dent var­i­ables.

For ex­am­ple, I get 1 in 8 from hav­ing a child, and hav­ing a son.

Yes, maybe the odds of some­one hav­ing a child are 1 in 2, and the odds of some­one hav­ing a son is 1 in 4, but those are cor­re­lat­ed. The odds of hav­ing a son if you have a child are about 1 in 2. The odds of hav­ing a child if you have a son are 100% :-)

If two vari­ables are cor­re­lat­ed you can not mul­ti­ply their prob­a­bil­i­ties.

A much sil­li­er ex­am­ple.Imag­ine there are ten coun­tries, each with 1 tenth of the pop­u­la­tion.

The odds of be­ing from A is 1/10. But he is al­so not from B,C,D,E,F,G,H,I, or J! There's a 9/10 chance for each one of those fact­s!

So, the odds of be­ing from A and not fro­many­where else is 1/10 times 9/10 ... that's al­most 1 in 26!

And since the same rea­son­ing ap­plies to each coun­try, it turns out there is al­most a 60% chance the next ba­by will not be born in any one of the ten coun­tries.

See how stupid that sound­s? Of course when cor­re­la­tion is more sub­tle, it's hard­er to fig­ure out, and you will not be able to do this while ar­gu­ing.

  1. Add ran­­dom un­­like­­ly da­­ta.

This is slight­ly trick­ier, be­cause it may be what you re­al­ly want­ed to do. Yes, me be­ing ex­act­ly the way I am is ex­treme­ly un­like­ly. How­ev­er, some­thing more or less like me is not.

Yes, I am un­like­ly but that's triv­ial. How­ev­er, if you are go­ing to ap­ply this kind of rea­son­ing in oth­er cas­es it gets sil­ly quick. Here's an ex­am­ple:

Imag­ine a lot­tery with 6-dig­it num­ber­s. To­day, the win­ner is 123456. Yes­ter­day it was 654321.

The odds of those num­bers be­ing the win­ners is 1 in 1 000 000 000 000. But it's ob­vi­ous that if you make two draws, some two num­bers will come up! And what­ev­er they are, they will be just as un­like­ly!

That some­thing spe­cif­ic is un­like­ly does­n't al­ways mat­ter, be­cause the im­por­tant thing is the chance of some kind of thing hap­pen­ing, not of one spe­cif­ic thing.

And when/if you have a kid,and he/she/it asks you why he should study math, show him his kind of thing and tell him why:

Math makes it hard­er for peo­ple to lie to you.

Geek challenge: Backup this thing!

Here's the sce­nar­i­o:

  • A Lin­ux+Sam­­ba serv­er with 40GB of da­­ta.

  • A SM­B-on­­ly small stor­age serv­er.

Your mis­sion? Back­up the thing. You should do full back­up­s, and keep the last three.

In an­oth­er age, I would have cob­bled a 10-­line script us­ing tar (and split, see be­low) and be done with it. But now I want to use back­up soft­ware.

So, I tried, and I ran in­to the fol­low­ing lim­i­ta­tion­s:

  1. 2GB file­­size lim­it on the stor­age serv­er. Have no idea why, as­­sume can't fix it.

  2. Weird uni­­code char­ac­ters in file­­names. There must be some en­­cod­ing is­­sue, but when a Win­­dows client saves a file with ac­­cen­t­ed char­ac­ter­s, the clients see it all right. On the server, though, they are weird-look­ing. This is enough to make mc un­able to delete some fold­er­s, for ex­am­­ple.

So far I have tried:

  1. rdif­f-back­­up: breaks with the uni­­code chars.

  2. flexback­­up: breaks with file­­size lim­it

  3. rsync: breaks with the uni­­code chars

  4. syn­bax: us­ing rsync back­­end, see above. Us­ing tar back­­end, breaks with file­­size lim­it.

Here's what I wan­t:

A sim­ple back­up soft­ware, where I can tell it "take this, back it there, keep last three back­up­s, do it in files small­er than 2G­B, give me a re­port".

Bonus points if restor­ing it is doable from win­dows.

Any sug­ges­tion­s?

What I learned at PyWeek

  1. I don't have the time for this kind of dead­­­lines any­­more. Not even one al­l-nighter? I did noth­ing on Sat­ur­­day ex­­cept re­al work and fam­i­­ly re­u­nion?

  2. It's re­al­­ly easy to write games with Python. It's most­­ly just a mat­ter of hav­ing a good game con­­cep­t. The cod­ing is the easy part.

  3. Chip­­munk is cool. Qt's graph­ic scene stuff is cool. My Chip­­munkScene is coolest ;-) I should re­­think the API but the con­­cept is killer stuff. With a lit­­tle work this thing is like LEGO!

  4. I will try again in Py­Week6.

A little further on TLB

A bit of pro­gress, al­though not much time to work on it any­more so I will prob­a­bly not make it.

Ob­jects now can do things when they are hit by oth­er kinds of things.

Ex­am­ple: If a ball hits the bot­tom of the cat­a­pult cup, the cat­a­pult shoot­s. If some­thing hits the tar­get ob­jec­t, you win the lev­el.

First pic of TLB

Not a game yet, but the en­gine is start­ing to look good.


The ball drop­s, fol­lows both ramp­s, bounces down the stairs, hits the domi­noes, the last one falls on the piv­ot­ing ram­p, slides down and to the left, falls stand­ing and leans left, then hits the rest of the domi­noes.