Monthly Archives: October 2013

A complex story with a simple ending

Being terrible at mathematics is rarely a problem for software developers these days; algorithms for most problems are widely available and software libraries implementing those algorithms are equally accessible now that people understand the joy of free software.
A-level Mathematics was extraordinarily difficult for me and even though many of the concepts were beautifully simple to grasp, the nuts and bolts of making them work eluded me. Seeing any formula involving ‘e’, ‘i’, an integral, or a capital Sigma would send my brain into meltdown and force me to look away.
Thankfully we don’t need to understand this stuff in “the real world”, I comforted myself by saying twenty years ago. Twenty years later I was dealing with complex numbers in my day job and regretted not learning about them properly when I was younger; when my brain was less fried. Obviously I understood the basics: ‘i’ is the square-root of -1 and a complex number is simply a combination of i with a real number e.g. “3i+4”. I also understood how to do the operations on them so that performing something like an FFT was pretty straightforward. But why it worked, and what it was all about had eluded me completely. Most people don’t care about that – as long as they can perform the necessary operations they’re happy, and rightfully so. But I’m stubborn and not very good at this stuff so it has always concerned me that I don’t understand why it works, and consequently I never understood why the complex-plane was ever relevant to real-life.
Very recently I stumbled upon this amazing website:
This guy is brilliant! It was as if he understood my mental block and picked it apart leaving me with the glorious feeling of actually understanding complex numbers and how they relate to real-life. Quite a wonderful experience to have on the bus home from work.


Today, being a Sunday, my family and I managed to set up a video chat (using Facetime, although Skype used to work before that). My sister’s family were also in attendance and so it was a lovely opportunity to catch up with everyone, especially my nieces.
When I got a chance to speak to my parents my dad told me about a problem he’d experienced making CD’s from MP3’s he’d downloaded: the CD only played on certain CD players but not all of them. In particular it didn’t play on the CD player of the man for whom my dad bought the album. He bought and transferred the MP3’s to a CD for his friend who only had a CD player.
Now, to me this sounds like “par for the course” because CD-R’s are, and always have been, a shit technology. That’s just what happens. But my dad was concerned that he’d done something wrong.
What follows is another way to interpret my dad’s experience. He and my mum read this and so they may wish to correct me on any of the details.
My father is 82. As a result of my arrogant nature and desire to be able to maintain his computer from 3000 miles away I’ve forced him to use Ubuntu. It’s a massively underpowered machine for 2013 but he maintains it well. Using Ubuntu my dad managed to purchase a gift for his friend – a bunch of MP3s from He also managed to transcode them to WAV files and then burn them to CD. The fact that they didn’t work on a bunch of CD players made him feel that he’d done something wrong. This is an example of how broken the world is.
CD-RW’s, CD-R’s and all of the various family members are examples of crap technology. They are at best an anachronism. But when you have to deal with non-geeks, they still have their place.
I suppose the point I’m trying to make here is purely that I’m massively proud of my parents. My dad is transcoding MP3’s for his friends after buying them on Amazon while my mum is happily using the iPad to explore the world.