2008
My 2008 end-of-year tech stock tips.
I don't pretend that this is exhaustive or even accurate (for example I demoted Cloud Computing to ‘honourable mention’ purely because writing the entry made me fall asleep), but it's the time of the year for end-of-year lists, and I wouldn't want to disappoint. →
iPhone 3G Battery Life Tips
Honestly, I think Apple should ship the iPhone with Push disabled. I dare say the number of people annoyed by the short battery life dwarfs the number of people who would even notice their calendars updated more than once an hour. →
The Death of Christmas
It'll hang on longer than the rest, but I'm giving the book twenty years. If you own a book store or a publishing company and you're not assuming this is what's going to happen, you're not doing anyone any favours. →
December 3rd, 2008
Happy birthday to me. →
Holiday Snaps
American food tried to kill me. →
Quantum of Solace
Quantum of Solace didn't have this gaping hole that made me want to throw something at the screen, but there was still something wrong with the way the movie was put together. You just never felt it was moving towards any kind of conclusion. →
License Hacking
The Wikimedia Foundation prevailed upon the Free Software Foundation to release a new version of the FDL specifically giving Wikipedia (and wikipedia-like entities) a time-limited option to switch to the Creative Commons Attribution Share-Alike license →
Zombie Attack
A Softer World, on planning for a zombie attack. →
Operation Two-Notch
Left to my own devices, I will consume more calories than my body requires, and thus over the course of time gain weight. Whether this is caused by habit or is wired into my physiology is a moot point: the evidence shows that in the absence of other forces, that's what I will do. My solution, the only one that has ever worked for me, is to create a second force that works to tip the balance the other way. →
Empty Boxes: a business idea
The customer gets the joy of having a package delivered (and an excuse to get up from their desk and chat with the receptionist) without the expense or hassle of actually buying anything. →
…and all places are alike to me
Then he goes out to the Wet Wild Woods or up the Wet Wild Trees or on the Wet Wild Roofs, waving his wild tail and walking by his wild lone. →
Nothing is too trivial to test
While writing it, I pretty much convinced myself that this code was so simple there was really no point writing unit tests, but as I got close to checking the code in I realised that the first thing my code-reviewer would ask was “where’s the test?” →
Everything that is wrong with Facebook apps in one screenshot
Throw a spaghetti cat at your friends! →
Spring is Sprung
Then the language changes, often around the time the outside investors show up. The people who are downloading and using your software are no longer your community, they're the ones who are taking your code without giving anything back. They're the free-loaders. →
A Work of Fiction
If I was going to write a political thriller, chapter two would go something like this: →
On Computer Games as Interactive Fiction
This year I had the pleasure of experiencing one of the coolest moments I can recall playing a game, one that actually left me wandering through the house saying "that was so fucking cool", and confusing my girlfriend whose taste in games runs more to beating the crap out of me in Soul Calibur. →
Mother's Maiden Name
I've always wondered how this became accepted practice. For decades we've warned people not to use easily guessable passwords—dates of birth, names of children or pets—but somehow this is acceptable for password recovery? →
Everything that is wrong with YouTube comments in one screenshot
I have no words. →
Beep Beep (Part Two)
Nowadays, Microsoft is looking to advertising because their brand is taking a beating from every front, and a clever advertising campaign is what you're supposed to do when you need to shore up your position. But Microsoft's biggest enemy is its own boring ubiquity. If their products spoke for themselves, Microsoft could just get away with buying another Rolling Stones song. →
Hi, I'm a Mac… Beep, beep!
It's pretty common, when reading discussion of Apple's “I’m a Mac, I’m a PC” ads, to come across the comment: “Sure, they're great ads but they don't work. John Hodgeman’s PC is far more likeable than Justin Long’s smug hipster Mac.” This is missing the point. →
Browser Wars: Episode n+1
Firefox got where it is today on the three-pronged attack of tabbed browsing, security and standards compliance, on the back of Microsoft's five year hiatus in developing Internet Explorer. Even with that compelling story to tell, eking even a low double-digit market share was a huge accomplishment. What is Chrome's story? →
Prior Art Due Diligence
I'm trying to track down whether I can claim credit for ”maven downloads the Internet” →
The Pasta of Ill Repute
Today was Donna's birthday. The original plan was to go out to a restaurant somewhere, but seeing as I woke up feeling like I'd been run over by a bus (or at least by the latest virus to be going around) we shelved that idea. "Aha," I thought. "I'll cook dinner. Sure-fire brownie-points." →
Three Things about the Internet
Lachlan was recently interviewed for the Sydney Morning Herald about what he found exciting on today's Internet, and graciously threw the questions to the public. I thought I might give them a stab. →
Artistic License
Giving the author the benefit of the doubt, one assumes she took two stories that on their own wouldn't sustain a full article -- “stupid boss wants to replace Bugzilla with commercial issue tracker” and “stupid boss didn't turn up to early morning meeting he scheduled himself” -- and melded them together. Still, the artistic license really doesn't help the whole ‘suspension of disbelief’ thing. →
Recommended Reading for Java Developers
Back in 2002, I wrote "Five books I think you should read if you hack Java". I was a much more novice developer at the time and the book list reflects that. Still, such a list makes a great baseline, and there are very few changes I would make today. With the recent release of the second edition of Effective Java, I thought I'd revisit the list. →
Quote of the Day
Melanie, during a discussion on the internal Atlassian wiki over what to name our newly re-org'd internal services team. →
Try before you buy at the iPhone App Store?
Why is it that, in absolute opposition to the last fifteen years of software industry trends, there's no way to try an iPhone app before you buy it? How do I know which of the six dozen different Solitaire apps I want to buy if I don't get the chance to play any of them first? →
Milsons Point Wharf
Photograph taken Saturday August 2, 2008 →
Great Moments in PR
You are announcing the launch of a new hard-hitting investigative political blog that promises to tear the roof off the establishment, breaking the kind of news that the mainstream media is too shackled with biases and conflicts of interest to attempt. For fifty points: what font do you use for your announcement? →
Dear America. Please fix your country so I can visit it again.
So next time I go to the States, I fully expect my laptop to be taken away and scoured for evidence that I am a fugitive drug trafficker from the West Indies who hasn't been heard from for twenty years, and is dumb enough to travel under his own name. →
Cuil, a mini-review
Unlike Google, Cuil still has me as the first result of a search for "Charles Miller". As such, it fulfils the most important purpose of any search engine: stroking my ego. →
My iPhone 3G Review
Verdict: Buy if you're a gadget freak. If not, wait. →
A Public Service for the FSF
To save the FSF, its supporters, and anyone who might want to go into a Genius Bar this week some valuable time, I thought I would answer their questions in advance. →
Advice to public speakers: using microphones
The best way to use a microphone is to pretend it isn't there. Talk to the audience, project your voice like you're speaking to a room full of people, and just put the microphone in the way. →
...with ninjas
Is there anything that _can't_ be improved with the addition of ninjas? →
Inbox Hero
Hello. My name is Charles Miller, and the last time I regularly cleared my inbox was 1997. Until now. →
Direct Fail
How did they manage to send me the same flyers three times on the same day? Well, how about by getting every single instance of my (previous) address wrong in a slightly different way? →
Cluetrainwreck
When a phrasing like this is (a) so unlike normal speech, and (b) repeated so often, it's pretty clear that it's being used as a matter of policy. Some meeting was had to whiteboard the perfect response that sounds concerned and proactive, but admits absolutely no fault on the part of the carrier. →
Command History Meme
Feeling old... →
When life approximates xkcd...
Ways not to answer the question: "Do you love me?" →
Twitterpated
Dear Sir and/or Madam, I noticed that you decided to "follow" me on Twitter. Not knowing who you were, and mindful of the possibility you may be a friend, colleague or net.acquaintance using an obscure handle, I visited your Twitter homepage. →
Firefox Bug 426702
Never underestimate the power of rote learning. →
The Song that Never Ends
Most companies take great pains to make sure their public-facing statements present the company in the correct light. It's about time lawyers were subject to the same processes. →
An iPhone SDK Halo Effect?
If the iPhone continues its strong showing in the smart phone market, there's going to be a new demand for iPhone developers in the mobile space. Which means there's going to be a bunch of people learning Cocoa and the Mac OS X APIs who wouldn't otherwise have given them a look. →
JSR-666 Extension: Unthrowable Exceptions
This code is the result of two conflicting factors. On one hand, since the constructor in question takes an arbitrary character encoding, the case of the encoding being unavailable must be taken into account. On the other hand, 90% of code that calls this constructor will be explicitly invoking a character set that is required to be provided with the Java Runtime Environment. →
Java Developers...
A recent post on our internal wiki asked for T-shirt slogans of the style: "Java developers do it with...". I didn't quite stick to the format, but here are my submissions for posterity: →
Scala is to Java as..
I was reading my preview of the Artima Scala book over the weekend when I had a sudden moment of clarity. Scala is to Java as C++ is to C. →
Duty Calls
Fool me once, shame on me. Fool me twice... can't get fooled again! →
Intra-office email
It is pitch black. You are likely to be eaten by a grue. →
Apple TV 2.0 First Impressions
Similarly, my first impression of the Apple TV 2.0 is that it is a perfectly serviceable device that allows me to play media from my iTunes libraries, and allows me to buy and rent movies and music from the iTunes store... but it feels like Apple outsourced the design. →
JSR-666 Extension: Exception Types
When checking preconditions in Java code, it is very common to check whether some method argument is null, and throw an exception if it is. There are two equally valid exceptions that may be used in this case: IllegalArgumentException and NullPointerException. The decision to use one over the other is often the cause of holy wars, and can consume a great deal of productivity on internal mailing-lists and blogs. →
Facebook for Dummies
This, in a nutshell, is how Facebook apps work, and why 95% of the time I get a notification from such an application, I end up annoyed. →
Meraki's Shipment of Fail
Then I discovered that the shipping cost for my three Meraki repeaters (RRP: US$49 each) was a mind-boggling $62. →
How to break HTML by pretending to support it.
If they go with their current plans, Microsoft will be attempting to redefine "standard" as "what IE7 does", and everything else as an extension that needs to be opted into. They feel entirely justified in doing so because from their perspective, IE's market-share _makes_ it the standard. →
Heavier than Air
I think the step that Apple is taking with the MacBook Air is much like the one they took when they decided to ship the iMac without a floppy drive. They know where the world is going, and they want to be there first. →
The Macworld Stevenote: A reaction
What is the world coming to, when Apple can't even come up with a product that can compete with our fantasy specs and Photoshop mock-ups? With this ho-hum display, the company has well and truly jumped the shark. →
Album Art Meme
...mysteriously silent on the subject of cheese. →
On Resume, Error.
I think what many people forget is that a resume is an exercise in marketing. For the kind of developer who considers him or herself above marketing, it might be something of an alien landscape. →
My Apple TV Wishlist
I own an Apple TV. What's more, I still stand by the largely positive review I gave it nine months ago. For a 1.0 device it's very handy, but it's still a 1.0 device. Here's how I'd bring it to at least 1.2. →
Random iPhoto Gripe
As much as possible, allow users to do whatever they want at all times. Avoid using modes that lock them into one operation and prevent them from working on anything else until that operation is completed. -- Apple Human Interface Guidelines →