Category: Blog

Snowpocalypse 2019

In the last 48 hours we received a lot of snow. I took regular photos from the same angle to show the accumulation. Here they are:

The above three run from noon to about 5 pm on Sunday. The snow was falling lightly at first, but picked up after nightfall.

The above is a 10 pm shot. It looks brighter than the 5 pm one due to the remarkable low light camera mode of my new iPhone. You can clearly see the snow has been coming down since the last shot: the driveway is barely visible here.

Above shows 6 am Monday morning. According to the weather service we’d received about 16 inches (~38 cm) overnight, and it was heavy snow which proved difficult to remove. Down near the street it was as deep as our snowthrower can handle, and although we have a powerful machine it really struggled.

That’s immediately after we finished clearing the snow. It was still falling lightly at this point. Although it was Monday almost everything was cancelled and we were both staying home for the day.

By around lunchtime not much had changed. The footprints were from the postman, who isn’t stopped by ‘a bit’ of snow!

By evening though (this is around 8 pm Monday) you can see it had built up somewhat again: there had probably been another 3-4 inches by this point.

And then we woke today to this: another 6+ inches since yesterday. Once again it was tricky to remove due to heaviness and the cold (it was -4 C) but at least it had stopped falling.

And here’s the final shot, after we had finished this morning. All told the official tally is 22.6 inches of snow (57.4 cm) in Albany and slightly more where we live just to the south. It was the 8th biggest snowfall of all time in this city. I expect well remember it for a while 🙂

Lunar Module

As soon as I saw the above in the LEGO store window I had to have it.

It was built in three stages; the lunar surface first:

Of course I had ‘help’ 🙂

The descent stage was next, and was a lot of fun to build including a lot of ‘metallic’ parts.

It also contains lots of little details, including a tiny model laser reflector, which I often use in examples during one of my lectures!

The finished Lunar Module:

It’s a fantastic kit, and one of the most fun LEGO builds I’ve ever done. I give this my highest LEGO score 🙂

Infinite Ape Simulator

I’ve been thinking about the Infinite Monkey Theorem, which postulates that an infinite amount of monkeys banging away on keyboards randomly forever would eventually produce the works of Shakespeare. You can read about this in detail here.

I thought to myself, rather than use dirty monkeys to reproduce Shakespeare (which has been attempted), why not use a machine brain? So I turned to an actual honest-to-goodness computer and wrote a simulation.

My machine was the Commodore 64, and I wrote a simple piece of code to randomly generate three letters in order and test to see if they spelled ‘act’, the first word of Hamlet. I was testing the water, so to speak, instead of diving right into a full reproduction of the entire play.

Now it’s fairly simple statistics to calculate that of the 17576 possible three letter words, only one is ‘act’. But I started by looking for words that started with ‘a’ (ie. of the form a–) of which there are 676, and then words starting with ac-, of which there are 26. I timed my result to see if – as expected – each successively correct letter took approximately 26 times as long to generate as the previous.

Here’s my code alongside one example output looking specifically for ‘act’:

The time is in seconds, and I ran 12 searches each for a– and ac- and 5 (due to the time required) for act. Here are the average times to generate each type of result:

A–: 3 seconds
AC-: 84 seconds
ACT: 2027 seconds

These numbers are close to 26x multiples of each other as expected, and I imagine were I to do enough tests they would converge to that value. From these results we can speculate how long it may take for my C64 to recreate Hamlet…

But first some facts: Hamlet has 132680 letters and 199749 characters in total including spaces and seven punctuation signs. Including these but ignoring case, there are 34 potential candidates for each character and 199749 characters need to be generated. My predictions that follow are based on times equal to 34/26 of those listed above.

The expected (ie. 50% chance) time it would take my C64 to randomly generate Hamlet would be 34^199746 times 1908 seconds which is (approximately) 34^199739 million years. The minimum time is about 1.7 hours ( if it got it right on the first go) and the maximum is of course infinity.

But – given our universe is only less than 14,000 million years old – this means I’m confident in saying my C64 would never randomly generate Hamlet. In fact were I to expand the sim to look for the sequence ‘Act 1’ I would expect the average successful attempt to take about one month. If I extended the sim all the way to the first spoken word – over 100 characters in – I’d expect the Earth would be consumed by the sun before my C64 did it.

Some of you say “that’s just a C64!”, which is primitive compared to the device you’re reading this on. But even if your fancy phone or laptop is a trillion times more powerful, this is nothing compared to a factor of ~10^200k.

It’s pleasant to think of infinite typing apes (or computers) randomly spewing out a work of art, but it would never happen 🙂

(Incidentally and somewhat related; the world is still awaiting the results of B’s testing of this!)