An opinion regarding the NSA’s PRISM affair

I must first say that when I first heard about the leak of NSA’s PRISM project I was entirely unsurprised. I really thought it was little more than a ‘public secret’ that digital communications were being monitored and stored by secret services. It’s a Spy vs. Spy world we live in, fueled by political, economic and military interests. And the technology for it is apparently available, so if you’re in the business of covertly scanning for nutcases who want to blow up stuff then why not use it? I would think it very unlikely that the NSA is the only intelligence organization with a PRISM program and intelligence gathering via the PRISM programs is probably widely shared with allies of the USA anyway.

But of course no-one will ever actually read your emails—no human anyway. I believe that globally nearly 300 billion emails are sent every day, which is a lot to go through. But most of it is spam though, so let’s assume the NSA has a decent spam filter. Then they only have to wade through around two billion emails every day. Now let me illustrate just how mind-bogglingly large this torrent of communication is. If it would take just a a minute on average to read an email, then one secret agent would have to read non-stop for nearly four thousand years to process them all. Perhaps a blessing in disguise, since it would would probably take him centuries to learn all the languages emails are sent in anyway. And when further taking into account that many emails tend be written less like a Shakespearean sonnet and more like what a monkey produces when left alone with a typewriter for five minutes, I think we should first and foremost pity the NSA people who would have to suffer reading them all. That’s probably why they would just write clever software to filter out ‘interesting’ emails anyway, just like Gmail does to target their ads. You would probably first have to try and get their attention with your behavior, such as ordering “Terrorism for dummies” on Amazon.com or whatever to show up on their scanners. So unless you’re a terrorist attending a discussion in the Al-Qaeda whatsapp group about a diabolical plan to attack the next world curling games, I daresay not a single spy is going to be very interested in reading any of your digital communications.

Furthermore, you only have to look at recent hacking affairs such as the Climatic Research Unit email controversy or the recent leaking of 6.5 million LinkedIn user passwords to realize that digital communications should never be considered to be private or secure. A wise user of email services, social networks and chat clients should act accordingly, such as not forgetting to log out when leaving the computer unattended (frape anyone?). Many GNU/Linux operating systems will offer you the option of encrypting your personal files upon installation, by using filesystem-level encryption or even disk encryption. And software such as GNU Privacy Guard and PGP have been around for many years now. I started toying around with these programs ten years ago and nowadays they are just so trivial to set up—a child of five can do it.

Yet in all these years I have not once signed someone else’s PGP key or received any email communication from my friends and family in which encryption was used to keep the contents of the email private. Part of me sometimes thinks some people secretly want to be spied on, and that everyone else simply doesn’t care. But maybe that will all change now. Perhaps we will also see a revival of the mail industry? I doubt the NSA will have the resources to photocopy two billion handwritten letters every day.

A review of “Codecademy”

Learning how to write programs for computers can be difficult if you don’t have a good learning method. And thus codecademy was created—a site that aims to enable it’s users to teach and learn how to code.

I do not recall how I came to visit the codecademy site for the first time, other than that it happened around a week ago. The site offers a number of courses—all of them gratis—and I decided to select the Python course (because I happen to like Monty Python). The site is very nice to use and beginning a lesson is pretty straightforward, once you sign up. I was pleasantly surprised to find that you do not even have to have a so-called IDE or programming editor installed on your computer, nor the interpreter/compiler for that matter. All coding and running of your code takes place within the browser or on their server. I think this is a huge convenience.

Each course is divided up into topics and every topic is again subdivided into exercises. All the exercises can be completed from within the convenience of your own browser and successfully completing a set of exercises earns you credit. Great, if boasting about your score turns you on. While all this sounds nice in theory, in practice things are a little bit different.

You see, in order to successfully complete exercises your code and/or the output of your program may be checked. This is done automatically, by parsing the lines of your code and/or output of your program. If your code does not meet certain requirements—such as using a specified variable name, or method name—then you will not get credit for completing the exercise of the exercise (even if your code works!) The site also suffers from bugs—sometimes you may write valid code that nevertheless only passes after reloading the page in your browser. That is really annoying. Furthermore, I find the selection of programming languages to be rather limited. At the time of this writing there are no courses for C, C++, nor Java, nor Fortran and PHP to name a few examples. Finally, it also seems that the courses are severely lacking when it comes to more advanced topics such as Graphical User Interfaces and Networking, or as one user lamented on the forum page after completing the last exercise “Now what?”. I think this is a pity. But the project appears to be rather new and hopefully new exercises and courses will soon follow.

On the whole, I think it’s a very nice idea and would encourage anyone to try codecademy—if only to get a small idea of what programming is about. Just as long as you realize that you will only be able to learn the basics…for now at least.

The gender identity disorder of “Buzz”; the Honey Nut Cheerio bee

During the latest episode of the widely acclaimed sitcom “The Big Bang Theory”—episode 12, “The Egg Salad Equivalency”—we observe “Rajeesh Koothrappali” complaining that “not one breakfast cereal mascot is a girl” and “it’s a total breakfast sausage fest”. During his rant he also lists pretty much every known breakfast cereal mascot , but then ends this itemization with “… the Honey Nut Cheerio bee, I believe his name is ‘Buzz’.”

Now, as a biologist I feel it is my duty to point out that the organism depicted on the Honey Nut Cheerio cereal box is in fact clearly not a male “drone” bee, but a female bee (albeit highly anthropomorphized—bees do not possess tooth enamel in their mouthparts, for example). I am certain of this because you can clearly see a stinger on Buzz and only female bees possess such a stinger, since it is actually a modified part of the female reproductive system—a so-called ovipositor.

We are thus left with the conclusion that Buzz is in fact the unfortunate sufferer of a gender identity disorder. And that—but for one exception—Raj has a good point. ;)