Structure and Interpretation of Computer Programmers

I make it easier and faster for you to write high-quality software.

Monday, October 29, 2007

Verify your backups

Apple shipped Mac OS X 10.5 this weekend, and three of the features are Time Machine, dtrace, and improved CHUD tools. Time Machine, dtrace, CHUD tools. iPod, mobile phone, web browser. Time Machine, dtrace, CHUD tools.

To spell that out in long hand, it’s very easy now to see how various features in the Operating System behave. And in the case of Time Machine, we see that it walks through the source file system, copying the files to the destination. When I last gave a talk to OxMUG on the subject of data availability, it was interesting to notice how the people who had smugly put their hands up to indicate that they performed regular backups became crestfallen when I asked the second question: and how many of you have tested that backup in the last month?

Time Machine is no different in this regard. It makes copies of files, and that’s all it does. It doesn’t check that what it wrote at the other end matches what it saw in the first place, just like most other backup software doesn’t. If the Carbon library reports that a file was successfully written to the destination, then it happily carries on to the next file. Just like any other backup software, you need to satisfy yourself that the backup Time Machine created is actually useful for some purpose.

posted by Graham Lee at 20:04  

Sunday, October 28, 2007


Back in 1992, Robert X. Cringely wrote in Accidental Empires: How the boys of Silicon Valley make their billions, battle foreign competition, and still can’t get a date [Oxford comma sic]:

Fifteen years from now, we [Americans] won’t be able to function without some sort of machine with a microprocessor and memory inside. Though we probably won’t call it a personal computer, that’s what it will be.

Of course, by and large that’s true; the American economy depends on microcomputers and the networks connecting them in a very intimate way. It’s not obvious in 2007 just how predictable that was in 1992, as the "networks connecting them" had nothing like the ubiquity which is now the case. When "Accidental Empires" was written, the impact of a personal computer in an office was to remove the typewriter and the person trained to type, replacing both with someone who had other work to be doing typing on a system thousands of times more complicated than a typewriter.

What’s most interesting though is the (carefully guarded; well done Bob) statement that "we probably won’t call it a personal computer," as that part is only partially true. All of the people who have Tivos, or ´ú┐TVs, also have a personal computer. All of the people who have mobile phones and digital cameras also have a personal computer. The people who have Playstation 3s and Nintendo Wiis also have personal computers. In business, the people who annoy everyone else by playing with their palmtops in meetings instead of listening to what the amazingly insightful Cocoa programmer has to say are also wasting time trying to work out how to sync them with, yup, the personal computer they also have on their desk.

So the question to be asked is not why Cringely got it wrong, because he didn’t, but why hasn’t the PC already disappeared, to be completely replaced with the "it is a PC but we won’t call it that" technology? Both already exist, both are pervasive, and the main modern use of both is remote publishing and retrieval of information, so why do we still tie ourselves to a particular desk where a heavy lump of metal and plastic, which can’t do very much else, sits disseminating information like some kind of [note to self: avoid using the terms Oracle or Delphi here] groupthink prophet?

posted by Graham Lee at 15:36  

Thursday, October 25, 2007

OmniWeb 5.6 tip of the day

defaults write com.omnigroup.OmniWeb5 WebKitOmitPDFSupport -bool TRUE

Sorry, but it doesn’t view properly and doesn’t print properly either :-(.

posted by Graham Lee at 19:12  

Tuesday, October 23, 2007

The times, they mainly stay the same

bbum displays a graph of the market capitalization (he’s american, so the z sticks) of a few of the computer companies, noting that if after-hours trading isn’t too surprising, then tomorrow (for Americans, again) the market will open with Apple being the biggest computer manufacturer on the planet. However, these figures fail to show something reasonably interesting.

What have IBM (up 24% y-o-y), HP (up 30 %) or Dell (up 21%) done to enamour you to their brand lately? If you’re anything like me, then they’ve done nothing at all. Selling the same old Operating Systems on the same old hardware doesn’t count as innovative. Compare them with Sun (up 13% year-on-year) or Apple (115%) and you’ll see that there’s basically no accounting for taste on the stock market. While Apple have been selling the shiny gadgets, Sun have been delivering the most observable operating environment on the planet and Dell have been doing, well, shit-all would be a polite phrase, and yet Dell have outstripped Sun in growing their stock price. In fact, HP have managed to blow up their stock price out of all proportion, while fighting scandals and the complete haemmorhaging of their management staff.

posted by Graham Lee at 02:55  

Saturday, October 13, 2007

Nice-looking LaTeX Unicode

Because there was no other single location with all of this written:

usepackage{ucs} % Unicode support
usepackage[utf8x]{inputenc} % UCS’ UTF-8 driver is better than the LaTeX kernel’s
usepackage[T1]{fontenc} % The default font encoding only contains Latin characters
usepackage{ae,aecompl} % Almost European fonts/hyphenation do a better job than Computer Modern

There are a couple of characters I need (Latin letter yogh, Latin letter wynn + capitals) which aren’t known by UCS, and I don’t yet know how to add them. But this is a pretty good start.

posted by Graham Lee at 09:23  

Powered by WordPress