The title of this post is the password code required to connect to my wireless network at home. The service, provided by the Italian internet provider Fastweb, has been discontinued as I moved to Padova from Venice, so you can't really do much with the code itself. On the other hand, it should give you hints on a couple of things.
The first is that I am a lazy bum. When I first received the router and installed the system, I did not spend any time checking the manual to change the code. I reasoned that my PC would remember it and that my time was better spent elsewhere. Wrong - I ended up typing it in several devices, multiple times, and writing it out on pieces of sheet whenever a guest would come and visit us. But this is the kind of evil unknown to Shakespeare - it will not outlive me (check Antonio's speech in Julius Caesar to make sure you see what I mean).

The second thing is that Fastweb must be run by people who do not have a clue, and employ software developers who either do not give a damn about the sanity of Fastweb customers or who like a prank every now and then. For come on, a code with upper- and lowercase letters plus numbers, 24 characters long ???

I realized this had to be a Fastweb thing when I received the new code of the wireless service I am getting through the new router I got from, my new provider in Padova. It is 8 characters long, and uses only uppercase letters and numbers. Is it weak ? For sure it is weaker than the Fastweb one, but which one is commensurate to the task at hand (protecting me from somebody stealing my bandwidth, the horror, the horror) ?

24 characters totally uncorrelated with one another make up for a bunch of possible combinations. I remember a sci-fi tale when tibetan monks were spelling out all 9 billions of possible God's names, after which the Universe would come to a stop. Those monks would have to grow longer beards if they had to work it out with Fastweb codes, as the 62 characters (26+26+10) can be arranged in 24-long strings in a total of 62^24 ways. How big is that number ?

I imagine every reader of this post know that it must be a pretty large number of combinations, but I wonder how many can actually turn it into a scientific notation by heart, within a reasonable approximation. So here is my way of doing it, typed while I'm traveling on a train with no aids. I first consider the first digit in the base, 6. I reckon that 6^3 is about 200, so 62^3 must be close to 200,000. Now, since 62^24 is (62^3)^8, this now becomes 200,000^8, which is easy: 2^8 is 256, hereafter 2*10^2; and (10^5)^8 is 10^40. All in all, 62^24 is therefore very close to 2*10^42.

2 times 10^42 is a ginormic number. If we used all the computers in the world in parallel to try and crack the code, each checking a billion codes a second, we would crack about 10^20 codes per second. It would take them 10^22 seconds to get halfway through the job; on the other hand, the Universe itself is only 1.4*10^10 years old, or 3*10^17 seconds old. In other words, all the computing power on Earth would require a testing time of 30,000 times the Universe's lifetime, to get halfway done! Isn't this perhaps a bit too much on the safe side, you cunning Fastweb developers?

On the other hand, take the new code: just eight characters, chosen among 26+10. That is 36^8 combinations. Since 36^2 is not too much larger than 1000 we take that approximation, from which we immediately infer that 36^8 is larger than 10^12. This is a trillion combinations (the exact number is larger, about 3 trillions). A single PC cracking a billion codes per second would take about half an hour to get it, on average. Is it weak ? I don't think so. First of all, 10^9 codes per second are a lot. Second, who would bother cracking my code anyway ?

In summary: thanks, developers. Go fistf*** yourselves, Fastweb nerds. And I hope that, besides allowing me to download some frustration here by having a chance to send insults around, you have realized how easy it is to work with large exponentials - you need third-grader math to manage them, not more than that!