Microsoft has a new ad campaign promoting Internet Explorer as the browser you loved to hate. It’s amusing to see them play off the fact that so many geeks have spent so much time trying to convince friends and family to move onto better browsers over the years. I was certainly among them when this blog was young.
Internet Explorer’s problem is no longer that it sucks. I’m happy to admit that it probably doesn’t anymore. Its problem now is that it requires you to be running Windows, and that’s decreasingly likely to be the case these days. It’s not IE on Windows versus Firefox on Windows anymore. Now it’s IE on Windows versus Chrome on Windows, Mac and Android versus Firefox on Windows and Mac versus Safari on Mac, iPhone and iPad.
Next week I’ll be starting a six-week course on game theory, provided by Stanford University. Thanks to the wonders of the modern age it won’t cost me a penny and I won’t have to travel to California to take part. (Even though I’ve never considered travelling to California to be particularly onerous, I do have a few commitments on this side of the ocean.) You can do it too, if you want.
The course is part of a collaboration called Coursera, which is offering free courses from the University of Michigan, Stanford University and the University of California, Berkeley.
It works much like a regular university course, only online. There are short (eight to 15 minute) video lectures, ungraded review quizzes, as well as graded problem sets and a final exam. Because it’s online it’s necessarily a bit more asynchronous than an in-person course would be, so you can watch the lectures and do the coursework largely to your own schedule.
The full list of available and upcoming courses is at www.coursera.org. Among the more interesting sounding subjects are natural language processing, computer vision and cryptography. There are other courses in development, including computer science 101 if you find you haven’t got the background for the more advanced subjects.
It’s not all computer science and mathematics. Two of the upcoming courses are anatomy and making green buildings.
Enrollment looks to still be open for just about all of the courses and, like I said, they’re free.
I chose game theory because I’ve had it at or near the top of my mental “must learn about these subjects” list for a while. It’s a branch of mathematics that deals with strategic interactions. It’s not just what you would usually think of as games, like chess and blackjack, although those are certainly part of the subject. It also deals with lots of interactions in politics and business, which can be thought of as “games” with their own (bizarre) rules and strategies. Also, as memorably relayed by Russell Crowe, it deals with the subject of how to pick up women in bars.
The most famous topic in game theory is probably the prisoners’ dilemma, which poses the question, “How can I successfully screw over my friend in order to get away with a crime?” So obviously the practical applications of the subject are appealing.
While I wait for the new version of iPhoto for iPad (and, apparently, iPhone) to show up in the UK App Store, I want to revisit my predictions post from Monday and see what came true.
Yes, of course, there is a new iPad with a retina display. Interestingly, it doesn’t appear to have a name. It’s not iPad 3. It’s just iPad. As Sam Vermette pointed out on Twitter, new iterations of Mac products don’t carry version numbers either. You don’t look forward to the MacBook Pro 6; it’s just the new MacBook Pro. It makes some sense to treat non-Mac devices in the same way.
The new iPad is not thinner and lighter than iPad 2, as I said it would be. In fact it’s very slightly bigger. The price remains the same though, and iPad 2 remains available at a reduced price as I think everyone expected it would.
There is now a version of iPhoto for iOS. Or at least there will be once it arrives at your local App Store. It’s an App Store app rather than a built in, so it won’t be replacing the existing Photos app. But it looks great. I expect the Mac iPhoto app will be seeing some updates in the near future to catch up with this iOS version.
There was no mention of any change to Maps. That’s what I expected. Like I said, I’m pretty confident this will come with the next iPhone.
I said that Apple TV wouldn’t see an update, or that if it did it would only be a small change. I think that was correct. The updated Apple TV is evolutionary. This was never going to be the event where Apple shows us the future of television. Whether or not that event ever happens is still up for debate.
It’s TED season again so we’re being treated to a new round of videos from the conference. This one, sent to me by my friend and colleague Jack Chant, actually dates back to October. It’s from TEDxMidAtlantic, one of the many TEDx franchise conferences.
In it, Avi Rubin from Johns Hopkins University talks about the security implications of the increasing ubiquity of computerized and networked devices. He has a great collection of examples of attacks that computer security researchers have been able to apply to everything from car brake systems to pacemakers.
It’s a pretty entertaining tour through the world of things you really wouldn’t want to have hacked.
Many of the attacks Rubin talks about are based on the general field of machine learning. Though I’m far from an expert in the field, it was the topic of my masters thesis so I have a passing familiarity with it.
Rubin didn’t mention my favourite example of a machine learning hack: acoustic keylogging. That’s fancy words for figuring out what someone is typing by listening to their keyboard. It relies on the fact that the different keys on a keyboard will make subtly different sounds, and with enough data you can teach a computer to distinguish them.
In 2005, researchers in Berkeley created a system which analysed a 10 minute recording of someone typing English text, and formed a model that could figure out from the sound of a single keystroke which key was most likely to have created the sound. The system didn’t even need to be told what the original text was. It could figure that out on its own.
With just that 10 minutes of recording forming the basis of the model, their system was able to make reasonable guesses about random (non-English) typing, including passwords. It could identify 80% of 10 character passwords in fewer than 75 guesses. Maybe 75 sounds like a lot to you, but consider this: even assuming all of the passwords were composed entirely of lowercase letters (reducing the space of possible passwords as much as possible) it would take on average 50 trillion guesses to get one right without help.
Now imagine how well it would work if that mysterious flower delivery van that’s been across the street for over week had a directional microphone pointed at your computer the whole time. Time for a quieter keyboard maybe.
If you’re interested in the details, the paper that introduced me to this kind of attack was called Keyboard Acoustic Emanations Revisited (pdf), by Zhuang et al and it’s available in its entirety online for free.
I’ve seen this Lockergnome article about what it’s “really” like to work at Google linked to from a lot of places, most recently by Marco Arment. The article, apparently based on an interview with current and former Google employees, describes the supposed pressure on Googlers to work unhealthy long hours at the expense of family and personal life. The most damning snippet, the one that Marco highlighted in his own commentary, is the following:
While he says there is no direct pressure to conform to “crazy hours,” he hints at the reason he lives a Google-centric life: His pay is directly related to the amount of time he spends with Google. For those who can’t keep up with the demand, they simply have no choice but to leave, as previous (and notably older) Google employees have done when they must make the choice between raising a family or getting a raise. (I personally know at least one former Seattle-area Googler who quit under similar circumstances after being forced to either choose seeing his newborn less, or receive a demotion if he didn’t travel more.)
I can’t claim that this description is untrue—it apparently came from someone’s direct experience, and I have to assume that they were telling the truth—but what I can say is that it doesn’t resemble in any way my experience of working for Google at any point in the last five years. Not only that, but everyone I’ve spoken to about it is as surprised as I am to see this kind of picture painted of our workplace. If that paragraph is true of some Googlers, it certainly isn’t true of most of us.
Certainly there are times when I’m in the office until late in the evening, sometimes as late as 10PM. But my impression, without having any data to back this claim up, is that these long evenings are at least made up for by corresponding late mornings, early evenings, and flexibility to leave the office during the day to do things that can’t be done (or can’t as easily be done) outside of normal office hours.
Many of the people I work with are married, and a decent number have children. They have just as much freedom to work a regular 9–5 day as I have to work wildly irregular times. It’s whatever suits the individual. If your life is set up such that regularity and structure are beneficial to you, because you have commitments to your spouse or because you want to see your kids before their bedtime, you should have no problems living by those hours in all but exceptional circumstances. And if you like to be able to leave early one day to go to an event and stay late the next to make up the time (not that anyone’s counting the hours, but you need to get something done some time) then that’s an option too.
In a company the size of Google, there are bound to be some people who don’t get on as well as they’d hoped to, or teams that aren’t as forgiving or as welcoming as the rest of the organization is. But it’s important to me for people to realize that that’s not the majority experience. It’s certainly not my experience.
In the spirit of the new year and the acquisition of new skills, and in the unlikely event that my last post inspired anyone to take a look at learning to code, have a look at Code Year. This site aims to teach people how to code, in weekly installments over the course of the year.
There’s a lot of talk happening right now, in Twitter and elsewhere, about whether coding—programming computers—is a skill that should be learned by most people as a basic tool to make their lives easier, or whether it can happily remain a skill restricted to those of us who do it for a living.
Daniel Jalkut, creator of MarsEdit, suggests that current levels of programming literacy can be compared to a period in the past where literacy itself was rare. He extrapolates from there, and concludes that the ability to program could become a similarly fundamental skill.
Literacy isn’t about becoming a Hemingway or a Chabon. It’s about learning the basic tools to get a job done. I think programming — coding — is much the same. You don’t have to be the world’s best programmer to develop a means of expressing yourself, of solving a problem, of making something happen.
There’s no question that a lot of people would benefit from knowing how to code. If you’ve ever done anything repetitive at a computer you would have been better off knowing how to get it done automatically. Every programmer I know has tales of seeing people slog through monotonous tasks that could have been accomplished by a computer in a matter of moments. Think of things like renaming files one-by-one, or copying snippets of data from one file to another file in a different format.
If that sounds familiar then you’re probably doing work that a computer could do much faster and more accurately than you can. If only you knew the right way to instruct the computer to do it for you.
There’s another side to this coin though. Sure, knowing how to code might have helped you out once in a while. But similarly there have been times in my life that things would have gone smoother for me if I’d known the Spanish for, “No, I’m not in the market for a donkey right now.” And yet I’ve never learned Spanish. It’s a matter of choosing to learn the skills that will be useful often, versus those that will be useful only occasionally. (I’m ignoring here the motivating factor that coding can be a lot of fun.)
My justification for not learning Spanish is that I’ve spent only a matter of weeks in Spanish-speaking countries in my life. Can you say the same about the amount of time you’ve spent in front of a computer? Most of us now spend our entire work days, and in many cases also a lot of our free time, interacting with a computer in one way or another.
Maybe learning the computer’s language will turn out to be worth your while if you’re in that situation, even if we never reach the point where young kids learn the “3 Rs and 1 P” in primary school.
Have you ever tried reading the XKCD feed on a mobile browser like Android Browser or Mobile Safari? Doesn’t it annoy you that you can’t read the comics’ title text (the additional joke that pops up when you hover the mouse cursor over the comic in a desktop browser)? Try the improved XKCD feed, which uses Yahoo! Pipes to put that text in a more readable format. It also provides links to comic explanations and XKCD forum threads if you’re into that kind of thing.
Similarly, are you bothered by having to click through to read Cyanide and Happiness instead of reading it right in your feed reader? Enter A Better Cyanide & Happiness Feed, another Pipes feed, which embeds the comics in the feed.
My life has been improved immeasurably by these feeds.
Inspired by this analysis of coin efficiency at the Freakonomics blog, I’ve written a short Python script to calculate the efficiency of the Euro coin set. Like in the blog post, efficiency here means the lowest average number of coins needed to sum to any sub-Euro total (where all totals are assumed to occur equally frequently). For example it requires five coins to sum to 48¢: two 20¢, a 5¢, a 2¢, and a 1¢.
It turns out the average number of coins you’ll need is about 3.43, given the current set of six coins (I exclude the Euro and two Euro coins, since they’re no help in reaching sub-Euro totals). The maximum number of coins you ever need to reach any total is six. Note that we get this efficiency, much higher than the US’s 4.70, by cheating. We have six coins to play with, where they have only four.
The interesting part is in figuring out which coin would have the least negative impact on efficiency if it were removed. You might like to take a moment to ponder which is your least favourite coin before I reveal the answer. If you’re anything like me you probably hate the one cent coin, but sadly that’s the only one this analysis won’t let us remove: it’s required to form the total of 1¢, obviously. Every other coin is expendable, but with differing effects on the efficiency of the coin set.
Or so you might think. In fact, the coins barely differ at all in their effect. The 2¢, 5¢, 20¢, and 50¢ coins would each reduce the efficiency of our coinage by 0.81 if they were to disappear overnight. Only 10¢ differs, having a smaller effect of reducing efficiency by only 0.40.
So if we wanted to reduce the number of different coins all of us have to deal with (the principals are the same for me in the UK with Sterling, having 1p, 2p, 5p, etc.) with the minimum impact on efficiency, we should get rid of the 10¢ and 10p coins.