Happy New Year
The fireworks over the Sydney Harbour Bridge were, as usual, fantastic. →
tail -f /dev/mind > blog
The fireworks over the Sydney Harbour Bridge were, as usual, fantastic. →
Nick and Megan visited Sydney for Christmas. →
The biggest lesson of the information age is that all media is to be taken with a critical eye, and that no information is valuable until you also understand its source. (One reason for the success of blogs: the information and the source are intimately related, so you always know where you are.) →
This year, the Atlassian Christmas party was held on a boat. As is traditional at these events, quite a lot of alcohol was consumed, and we found an outlet for our competitive streaks by shooting infra-red guns at flying reflective plastic targets. →
Having two otherwise equivalent ways to perform the same operation is bad user-interface design, and it's bad library interface design, because the existence of the synonyms actually adds to the cognitive load of the person trying to use the interface. →
Ideally, I'd hire the great Python programmer and have them pair-program with a competent Java developer. The Java developer could provide expertise on concrete things like the minutiae of the Collections classes, and the probably-frequent-at-first "no, in Java you do it this way", moments. The Python nerd could chip in with "what about this case?" and "why don't you do it this way?", and the whole would be greater than the sum of its parts. →
Happy birthday to me. →
When an engineer says something is “non-trivial,” it’s the equivalent of an airline pilot calmly telling you that you might encounter “just a bit of turbulence” as he flies you into a cat 5 hurricane. →
Since the boundaries of each age are defined by the participants, you will never truly convince someone else that your timeline for a forum's decline is right, and theirs is wrong. To them, you'll either be a jaded old fogey who can't see what fun everyone else is having, or you'll be a clueless newbie who has ruined the place, damnit. →
Last night's dream (Well, this morning's dream. I always have the best dreams when I wake up, then go back to bed for a few hours) opened with me not knowing who I was. All the people around me were concerned - I'd been through some kind of strange time-travel event, and I wasn't allowed to do time-travel. →
Why would starting a blog help Walmart? Well, the conventional blogging wisdom is that they'd be entering into a conversation. A conversation with whom? Well, the relatively small number of people who pay attention to blogs. →
Once again proving that if you reduce a problem down to a series of nonsense metrics, you end up with a meaningless result. →
Maybe, if there's a Web 3.0, it's not going to be about giving you cool sites to put your stuff on, but about giving you the tools to build that cool stuff on top of your own persistent, personal space on the net. →
On the iTunes Music Store, and just how much my blogging habit has hurt Atlassian. →
And that, ultimately, is what's great about Serenity. When was the last time you read a review of a science fiction movie that talked at length about the characters? Three and a half stars out of five. →
Given the OPML spec, and the above examples, we can now ask ourselves a simple question: What is the difference between accepting OPML, and accepting arbitrary XML documents of unknown formats? Answer: An OPML document limits where you can put text nodes. →
Assbandit: n. Literally, one who steals asses. →
The most interesting thing to me about Intelligent Design, though, is that if you look too closely at it, it's an argument against the Christian God. →
Data exists in some ether that your mind never really has to deal with completely. Physical things have presence. They take up space. They can arrest your vision. When you move them they stay moved. You can fold, spindle and mutilate them as you wish. →
Programming is looking at a feature request in the morning and thinking "I can do that in one line of code"... →
Express your displeasure with the behaviour of the party in the wrong, but do so in such a way that places a favourable interpretation on the reasons for their actions. Suggest that their actions were obviously an unintentional mistake, or were done for good, but misguided motives. This way you offer the other party the opportunity to repudiate their own actions, but to save face in doing so. →
The moral of the story? Even self-assured design-pattern toting geek girls need feminine hygiene products. →
Introducing a friendly new character in JetBrains' latest IDE release. →
Carlton and United Breweries unwittingly discriminate against a third of the population. →
Within a few seconds of plugging in the ethernet cable, all of Scott's RSS subscriptions had been replaced with the hotel's registration page URL. All the original feed URLs were irrevocably lost. →
The lesson, of course, is not that Hibernate sucks, or that Oracle sucks, or that Charles can't code his way out of a paper bag (although the fundamental truth is that all software sucks, and by corollary, all programmers suck). In the end, it's just a long-winded way to agree with Joel about leaky abstractions. →
Three stories that remind me how much I love the world and everything in it. →
Intel is our ally. We have always been at war with IBM. →
Maybe the Jedi temple should just spend less time on that flashy lightsaber stuff, and more time teaching novices to "Use the Brain." →
So it seems not only am I not alone in having a serious mistrust of Real's address-harvesting policies, I'm sufficiently not alone that my utterly lame random address has been used before. →
So what happens when you're a magazine publisher whose founder and CEO has apparently just said "What does ethics have anything to do with professional reporting and journalism?", in a published interview, and the senior editorial staff of one of your magazines has resigned in protest? →
The PowerMac range was refreshed, and the creative suite updated last month. Tiger was only released last week. The iMac was refreshed today. So I guess the question is: what's Apple doing next? →
String has, however, a package-private "quick" constructor that just takes a char array, offset and length and blats them directly into its private fields with no sanity checks. Most of the time this is benign and useful. Most of the time. →
The cable modem is the most hated device on my desk. Everything else was chosen by me, to be an efficient part of my lifestyle. The modem was supplied by my cable company, with the most likely motive of shaving a few bucks off the cost of each new subscription. →
Maciej Ceg?owski, who for a while has been a member of my list of bloggers I desperately wish I could write as well as, has poked a well-aimed skewer into Paul Graham's essay, "Hackers and Painters". It's one of those articles where, in trying to find an excerpt, I had to stop myself quoting the whole thing. →
One of the commonly repeated lies spread about the Mac by non-believers is that it is somehow 'limited' by the fact that it only ships with a single-button mouse. You see this 'fact' trolled across every single Apple-related discussion on the Internet. →
Oh, of course. You can't just click on the link, this is Linux. →
It's no wonder that games like this quickly end up revolving around leveling and getting more powerful items - you can't change the world around you one iota, so the only thing you have the power to do is change yourself. →
Unremarkable, except that the word "your" changes what should be a warning into an accusation. Should I be battening down the hatches in case a pack of rabid NDA lawyers descend on me? →
So, I built a third one. That burned down, fell over, then sank into the swamp. →
How to unknowingly deploy an application twice under Tomcat. Subtitle: all support and no coding makes Charles increasingly short-tempered. →
The prevailing popularity of VM-based object-oriented systems these days, especially ones with huge memory requirements running on big servers, makes me wonder why there isn't more research like this going on →
Rails may be wonderful. It may make me significantly more efficient than I would be coding in Webwork. and Java. But I can categorically say that Rails is not going to make me ten times more efficient. →
Well, you have to put these things into context. This is the first time in two years of being in this apartment that my oven has been used to do anything more complicated than reheat pizza. The only other time I've cooked anything in the last year was after my girlfriend issued me an ultimatum. →
...or "Who needs creativity when we've got a catch-phrase?" →
As beautiful as Sydney Harbour is, it's not quiet. →
The Internet isn't good for the networks, either. Everybody now has access to up-to-date information about their favourite shows. Worse, the statute of limitations on spoilers tends to last only a few weeks beyond its first run in its home country, so foreigners are doomed to a life of knowing too much, being totally unsurprised by each plot twist that has already been telegraphed across the global ether a thousand times. →
I contend, however, that knowing how different languages solve problems makes you a better programmer in any language. Some techniques can be adapted between languages, or can be embedded in a "little language" tailored to a particular problem domain. Even at the simplest level, knowing where your language of choice is limited helps you work around those limitations more efficiently. →
Needless to say, in the time it would take me to even sort through 55,000 messages and intelligently throw away the ones I wasn't going to read, I'd have accumulated 50,000 more. →
XML is not the answer. It is not even the question... This is a different situation than in Java, because compared to Java code, XML is agile and flexible. Compared to Python code, XML is a boat anchor →
The Sydney Harbour bridge, lit up with bright strobes and a disco ball. →