Wednesday, September 16, 2009

NAMA, how much is 54 billion euro?

Nama, the Irish governemts agency to take on bad loans, is paying 54 billion euro to buy property. How much money is that? There is a great visualisation here about how much is a trillion.

So lets picture Croke Park. Its pitch is 144.5 m x 88m. That is much bigger then a soccer or rugby pitch. A 20 euro note is 133 × 72 milimiters. So to pave Croke Park pitch with 20 euro notes requires. So that is 1087 notes long 1223 wide or 1,329,401 notes are needed to pave croke park pitch in 20 euro notes. So that is roughly 2 layers of 20 euro notes being 54 million and paving it two notes deep. A billion is a thousand million so 54 billion is 1000 times this. So 54 billion is paving Croke Park in 20 euro notes 2000 deep.

So if your looking at the game on Sunday imagine there is a 20,000 euro pile of cash on the pitch that you now owe. That is 54 billion divided among the people who pay tax. So you and the person sitting next to you owe a 2000 deep 20 euro sized chunk of the Croke Park pitch.

A comment vaguely asked how much euro coin is this? "Did you know its also enough Euros placed end to end to reach the moon". According to here a 2 euro coin has
Thickness (mm): 2.20
Weight (g): 8.50

So 27 billion 2 euro coins are needed. So in weight that is 229.5 million kilos.
"The maximum gross mass for a 20 ft (6.1 m) dry cargo container is 30,480 kg" so that is 7540 containers full of 2 euro coins.

How long would the stack be? 2.2 * 27 billion millimeters = 59 400 kilometers. Or enough to go around the earth one and a half times. But less than a fifth the distance to the moon.

Tuesday, September 15, 2009

Ask the waiter

If you want to know what someone is like ask their waiter. Because as a waiter you are far down the social rung anyone who is just a poseur treats you like dirt. Keith Floyd who died yesterday used to come into an Indian restaurant I worked in. He was much quieter then his media image and a complete gent. As was Liam Neeson BTW. I am not claiming to have known him just that he always treated the waiters well, which I believe is a good sign about someone.

Belinda Carlisle owes me a set of cutlery, she may think I have forgotten but I haven't. She promised she would bring them back and didn't. Try saying "if you cannot trust the singer of the Go-Go's, who can you trust?" to a middle aged Bangladeshi and see if your wages don't get docked.

Apart from an unfortunately forgetful singer I have a long list of who is a complete wanker. I'll post that again.

Wednesday, September 09, 2009

Prediction Market In Adwords?

Can we predict how much an adword word will cost in the future? I find prediction markets fascinating but have not talked about them for a while. Here is an interesting game for predicting the popularity of words.

If this prediction market can accurately predict what words people will in the future find interesting and will discuss then you could buy up these adwords in advance and watch their market value (well cost in google) rise. So anyone want to buy a futures contract in the word "Cromulent"?

Wednesday, September 02, 2009

Fair division in googledocs using Ruby

I figured out how to access google docs spreadsheets using Ruby's roo library.

So for the spreadsheet
#you can create a object for this document by"0AoBJp9mMcWUrdDZUY1diRm5KOTd4ZWtKWUpib2V3ZHc"

where user and password are the username and its password for the account that has the document. 0AoBJp9mMcWUrdDZUY1diRm5KOTd4ZWtKWUpib2V3ZHc is the key
no http, no, no key= and no &hl=en at the end. Good thing I am not an idiot who would take hours to figure this last one out...

Then this data is sent off to the GLPK program described ad nauseum previously.
Then using ruby's standard regular expression methods the solution file fair.sol can be easily parsed. This can be easily written to the googles doc using roo.

o2.default_sheet ='Sheet3'
#match fair.sol output file of glpk.
if line=~/^\s+\d+ y\[(\d+).(\d+)\]\s+\*\s+(\d+)/
# 2 x[1,1] * 0 0 1
if $3=='1'
o2.set_value(row, col, $1)
o2.set_value(row, col+1, $2)
o2.set_value(row, col+2, $3)

Next thing is to get a web interface for people to add their own fair division problems. There are some guides for doing that here and here. So automated processing is the next task.

By the way if you do have a fair division problem you can mail it to stuffsplitter[at] and I will run the processing for you.