I started college right about the time when the first CD players were coming onto the market — there weren’t many available, and they were all obscenely expensive. At the time, my dad was dong a lot of traveling to Japan for business, and he was able to bring me a really nice Yamaha CD player back from a shop in Akihabara for about 1/4th of what a similar unit would have cost me here in the US.
At that point, I only owned two CDs, and was very excited to get everything hooked up to start listening. As I was unboxing the unit, I noticed a strange blue cube at the bottom of the box with a note from my dad, explaining that this Japanese unit was built to run on Japanese 100 volt, 50 Hz AC, not America’s 120 volt, 60 Hz electricity. The blue cube converted between the two standards so that the player would run correctly. Everything hooked up quickly, I plopped one of my CDs into the player (and in the subsequent 27 years have used that CD as the first thing to be played in any device I’ve owned that will play CDs) and it served me well as I built my library.
…except that one day I walked into my room and the CD loading drawer was scratching in and out randomly and frenetically. I shut it off as quickly as I could, but that was it for the drawer. The player was useless, and one of my few discs was locked inside it — as long as I didn’t want to listen to anything else ever, I was set for life. I called a friend studying electrical engineering who said that he wasn’t surprised — for most gear, that standard adapter would be fine, but instead of nice clean alternating current it had been feeding my player grungy noisy electricity, and eventually that just killed the sensitive electronics in the thing.
I had forgotten all about that player until the other day — an email hit my desk from a developer who had been considering applying for a job until he saw our programming style guide, the document that explains to our developers the various details of how we want them to write code for us. This developer was so offended by something in there that he couldn’t just not apply, he had to make his disgust known to us. I’ve always thought that the important thing about standards isn’t even so much that they’re right (whatever that might mean in any instance), but that they are standard. I don’t care whether we drive on the right or left side of the road as long as we all agree to one or the other. I’d hope that when in the UK I could adapt to the other side of the road, and I’ve had to use other programming standards at other jobs.
I sent him a few links that explain the reasoning behind the thing that upset him and wished him luck. I don’t know–I like to think that humans are adaptable, but maybe there are people who are for some weird reason hardwired at 100 volts/50Hz.
(image by acampos)
Spot the Vulnerability: Loops and Terminating Conditions
Spot the Vulnerability: Loops and Terminating Conditions In memory-unsafe languages like C, special care must be taken when copying untrusted data, particularly when copying it to another buffer. In this post, we\'ll spot and mitigate a past vulnerability in Linux\'s...