July 2002 Archives

July 29, 2002

Airline security: not solving the right problems

I've only flown once since 9/11, so I haven't paid attention to airport security. But if what I saw this morning was representative, something's not right.

My oldest son was flying out of Atlanta to meet his grandparents. We passed through security at three different points: the ticket counter, going into the terminal, and at the gate. I've never seen guards at the ticket counter before. But here they were, and someone in front of us was told "You've been selected for random screening." They were taken aside, and the bag they had just checked was searched. That seems reasonable; unscreened bags are a clear risk.

What got to me, though, was at the gate. As people lined up to board, there were a few security people with their wands just off to the side. I wasn't paying close attention until I noticed a woman being screened. Right next to her were two little kids: maybe 5 or 6, and they were being screened as well. The guard asked one of the kids to take off her sandals. She did, and the guard waved her wand over them.

Anyone who's ever had to get serious about security understands that security mechanisms and procedures must be guided by threat models and risk assessments. (See Bruce Schneier's Secrets & Lies for a computers security-oriented treatment.) How likely is it that small children are going to be used to smuggle contraband or bombs in their shoes? Is completely random screening more or less likely to be effective than selective screening?

Right after 9/11 the FAA directed that cars shouldn't be allowed to park close to terminals. The result: rows and rows of already scarce parking were closed. Yes, someone with a bomb could come to the airport and blow away part of the terminal. But how does that relate to someone taking over an airplane and using it as a weapon, the unique threat revealed by 9/11? What kind of risk assessment lead from one to the other?

It's tempting to dismiss these kinds of steps as mere show. That's not quite fair; appearance and perception are one part of the security equation. 9/11 drove people away from air travel; people need to be reassured that it's safe to travel again, and that need drives some of the more visible security measures. But I think the wrong balance is being struck by airport security policies: the cure may be worse than disease. Air travel has gotten a lot less convenient, and in that classic security risk vs. cost equation, something's out of whack.

July 26, 2002

The best analogy ever for computers

Back when I first learned about computers back in junior high school, I came across a book called Man and the Computer by John G. Kemeny. (I'm guessing I probably picked it up because John Kemeny is the co-inventor of BASIC, and I was learning BASIC at the time - around 1973.) Kemeny's book came out in 1972. If you wanted to use a computer, just about the only way was to use a time sharing system that could support 100 people using low speed terminals writing programs in BASIC.

One part of the book that's stuck with me all these years was a short section in which Kemeny explained how faster computers work by way of an analogy:

Let us suppose that space travelers discover a higher order of living beings. These creatures are much more intelligent than men, but their metabolism is much slower. We recognize their great insights into problems and hope that they will help us to resolve a number of issues currently beyond human capability. On the other hand, they are so frustratingly slow that they must rely on our much faster response time in order to get the job done.
I lost my copy of Kemeny's book years ago, but today I found a copy at the Georgia Tech library. Kemeny's book is long out of print (although it is available used), so here's Kemeny's analogy. I've added a postscript: how much faster would you guess a typical PC is than the time shared GE 635 computer Kemeny based his analogy on?

July 24, 2002

Lunch with Terry Frazier

I'm having lunch Thursday with Terry Frazier who writes Blunt Force Trauma. I like the sound of that; sounds like I'm having lunch with the guitarist for a heavy metal band.  It will be the first time I've met someone who I only know from blogging.

Flawless consulting

Terry Frazier has a pointer to a book that looks interesting:

Flawless Consulting by Peter Block is one of the better how-to books on consulting I've read. [Blunt Force Trauma]
I can confirm that it's interesting; I just sat here at my desk and read the first ten pages or so online. No, I didn't go use Amazon's "look inside" program: I went to Georgia Tech's library web page and looked up the book. There were two entries: one for the book on the shelf, and another listing that said [computer file] in the middle of the record. Clicking further into the catalog record produced a URL, and that took me to netLibrary where I was able to browse the complete book.

Georgia Tech apparently has a deal with netLibrary, which is part of OCLC. Interestingly enough, the listing for Flawless Consulting showed 3 copies. netLibrary gave me the option to check the book out or just browse it, and I did the latter.

That's not the only useful on-line service I've used at Tech's library. Marcia Bate's insightful article After the Dot-Bomb: Getting Web Information Retrieval Right This Time has some interesting looking references at the end from Journal of the American Society for Information Science. A few weeks back I walked over to the library, prepared to go find the articles on the shelf and photocopy them, just like I did back when I was at UC Irvine in the early 80's. I asked someone at the reference desk where I could find the backissues on the shelf. He told me, but he also showed me that the library had that journal in electronic form. I went back to my office, downloaded PDF copies of the articles, and printed them. No library copy charges!

July 22, 2002

MovableType under mod_perl

I've finally been able to get Movable Type run under mod_perl. That's useful when you're running MT on an old P133. I was able to do this as a side-effect of upgrading to Debian 3.0: I was able to get to download all the up-to-date libraries I needed to make it work.

I had to make one small tweak that I didn't find in the MT documentation about running under mod_perl. I was using their first setup, which they describe as running MT under Apache::Registry. That almost worked, but when I clicked some MT functions - looking at my templates, for example - Perl complained that it couldn't find my Template.pm library. I had to throw a

use lib '/real/path/to/mt/lib';
into my Apache config file to point to my MT libraries before that would work.

I've also never quite taken the time to learn Apache like I probably should, so it also took me a while to figure out that the <Location> directive mentioned in the MT mod_perl documentation referred to my MT directory as it would appear in a url: IE, <Location /mt>, not <Location /var/www/mt>.

Debian 3.0 upgrade for me

Debian 3.0 came out late last week. My home Linux box runs Debian. I was running Debian 2.2, which was released way back in August 2000. I'm a sucker for upgrades. It was against my better judgment to attempt an upgrade of my Linux box: I rely on it for email and web service, but I'm an addict: if there's something newer out there, the pull is too strong.

The short story: it actually seemed to have gone off ok. For reasons I'll get to, it took about 24 hours before my system was back to normal again, but now a number of long standing annoyances have gone away. And Debian 3.0 finally gets to packages that I've wanted to run but had to build my own versions of, such as Emacs 21 and Python 2.2. I've been vaguely considering moving to some other Linux or perhaps FreeBSD distribution to get something that had more of what I want, but now that Debian is up-to-date, I'll probably stay put for a while.

Back to why it took me a day to get it done: downloading the changes wasn't the real time sink. To do the 2.2 - 3.0 upgrade, dselect (a Debian package manager) downloaded about 250mb worth of new packages. I think the problem was that I had slightly broken my installation of Perl recently when I was trying to get a newer version. I ended up in a cycle where I had to have Debian go through the dselect Install phase a number of times. It appears that if you hit a package that doesn't install, dselect stops there and doesn't go on. (Or perhaps the installs after that fail). Another thing that slowed me down was that some packages stop during installation to ask questions. (When you're upgrading an already running system, you don't want the new installation to smash all the old configurations.) We went to dinner Saturday night and church Sunday morning, so I wasn't able to get to some of those questions for a good 18+ hours.

The final result looks good. My only complain right now is that I haven't been able to upgrade from a 2.2 to a 2.4 kernel: my /boot partition is too small to put another kernel on it. I'd just move /boot into my main parition, but you can't unmount /boot while you're running. I think I'd have to boot off a floppy to make this work.

July 17, 2002

Windows XP doesn't cut it with 128mb

Advice: if someone tells you 128mb is enough for Windows XP Professional, don't believe them.

I was quite happy last week to take possession of a new laptop at work. I had been using a Dell Latitude PII/266 running Windows 2000. When they gave me that box, it originally had 64MB. Win98 might run in 64mb, but Windows 2000 sure doesn't. So I upgraded that box to 128mb, which made it at least tolerable. (But as I noted in a previous post, the lack of power still had a major impact on my choice of tools.)

Last week I was given a new toy: a Dell Latitude 840C, which is a P4/1.6ghz box. Nice, but again they didn't order enough memory: this one came with 128mb. A box with with this kind of speed is seriously hindered by a lack of memory. That's especially true for laptops. I didn't realize until just this week that many laptops - including the Dell - have a 4200rpm disk. 5400rpm is what low-end desktop PCs have, and 7200rpm is much better. That slow disk speed is another reason you want more memory: more memory=less hitting that slow disk.

So I had a P4 with Windows 2000: much faster than the PII! But I couldn't leave well enough alone: I really wanted to try Windows XP, but I was concerned that it wouldn't perform very well in 128mb. I googled the net to see what folks were saying about Windows 2000 vs XP Professional with 128mb, but didn't find much beyond the standard advice: 128 is minimum, 256 is recommended.

You can guess what happened next. I had to upgrade, and I promptly turned my reasonably fast (given that I still had 128mb) machine into a lead-footed one. Windows XP Pro seems to have a bigger memory footprint than Windows 2000. I was hitting that little disk pretty hard, especially during boot up.

I got a reprieve today. I put an extra 256mb in, so now my P4 has a much more respectable 384mb of memory. And it runs fast. It's very nice.

The moral of the story: No matter what the hardware boys give you, the software boys will piss it away.

DiveIntoMark: search Amazon from Python

DiveIntoMark has written a piece of software that combines two things I love: Amazon and Python. (Makes sense, right? You expected to find Pe(a)rls in the Amazon?)

Mark has written PyAmazon, a Python wrapper for the just announced Amazon web API. Quoting Mark: "It allows you to search Amazon by keyword, ASIN, UPC, author, artist, actor, director, or manufacturer. You can also browse ListMania lists, browse best sellers by category, or search for similar items. Results are returned as standard Python objects. Open source, Python license. Should work with stock install of Python 2.0 or later."

I once tried writing some Python to scrape Amazon to get book titles back from ISBNs. It was painful. Having Amazon actually let you use the data seems so much more civilized.

Going back to an untruncated RSS feed

After championing truncating your RSS feed to the first paragraph, I'm going back to an untruncated RSS feed. Truncation works very well if you write like a reporter. If you get everything important into that first paragraph, folks can decide if they want to click further. But sometimes I feel more like telling stories than reporting the news. And in that case, it's very hard to get everything you want to say into that first 'graph.

This was brought home to me this week. I put in an item about the emotional risk you take when you decide to share your blog/klog with others. The first 'graph was very short, but at least one person took the trouble to read further, and found something of value in the next to last paragraph.

If I had a choice, I suppose I'd like a mechanism that would let me specify whether or not to abridge my blog entry into something shorter for my RSS feed. But since part of the point of this weblog is offer things that others might be interested in, I'll try sending out an unfiltered feed again.

July 12, 2002

Extreme programming vs Cooper's interaction design

A bit of introduction: the major project I'm working on at Georgia Tech is a campus portal. I'll try to blog more about the subject of portals at another time, but for now, portal software aims to give each member of the campus a personalized view of the resources of the campus: a student might see their class schedule and grade information, a faculty member might be able to update a class calendar, staff members might have a view of their own, alumni another .. you get the idea. But to the point: I've been thinking about two schools of thought that seem to be in conflict, but both of which might have applicability in Tech's campus portal project: Extreme Programming, and Alan Cooper's Interaction Design.

I've come into this portal project after a long evaluation process that involved both the central IT staff and people from what we've been referring to as the "functional side" of the campus. Tech went through a selection process, and eventually decided to work with one of the vendors who's big in this space. (I won't say who right now; I'm not sure the campus has officially made the announcement.)

I'm concerned that we run a big risk of not delivering something that the customers - those "functional" people - will find useful. I've heard it said that when the functional folks saw the demo from the portal vendor, they said "That's what we want." That's not surprising; most of us think that way. "I don't know what I want, but I'll know it when I see it." But it's a long way from a idealized demo by a vendor to being able to pull that off in a real-world environment.

The trick is to give customers the ability to give feedback along the way. A model that starts with talking to the customer to get requirements, and then goes off for a year to build what they said they want is headed for a train wreck.

Both Extreme Programming and Alan Cooper's Interaction Design get at this problem in different ways.

Extreme Programming (universally referred to as XP) is a methodology of programming which involves short cycle times working closely with the customer. In XP, the development team works in two week cycles, and works on implementing customer stories: stories being small enough pieces of functionality that can be implementing in a short space of time. The theme underlying XP is "embrace change:" since we know user requirements will change, we make a virtue of it. XP uses the metaphor of driving to illustrate this: you don't drive from Los Angeles to New York by pointing the car in the direction of New York and then closing your eyes for the next 40 hours: you have to make small corrections along the way.

Interaction Design relies on a tight loop between customer and interaction designer before coding begins. The interaction designer concentrates not on what the software will look like, but on what it will do. Interaction design concentrates on using this process to drive the requirements. This makes sense: you can't know the requirements until you've got a good idea of what you're trying to build.

Cooper's methodology also relies on personas: archetypal users that are used as stand-ins to help define the requirements. In the campus portal project, we might have a persona for a faculty member, another for a student, one for a research faculty, and so on. Interaction Design goes through the goals and needs of each persona to make sure the resulting design serves everyone.

Some resources follow-up on these topics:

Extreme Programming

The canonical book is Extreme Programming: Embrace Change

A Google search on "extreme programming" will yield boatloads of results, but here are a couple of good places to start:

Interaction Design

The reference to have is Alan Cooper's The Inmates Are Running the Asylum : Why High Tech Products Drive Us Crazy and How To Restore The Sanity. This is one of my favorite CS books out there. The first chapter of the book is available at Cooper's web site. This first chapter hooked me right away with this riddle/koan for the computer age:

Q: What do you get when you cross a computer with a camera?
A: a computer!

Fitting the two together

Finally, there's a couple of other resources that look at the interaction between XP and Cooper's thinking. Fawcette Technical Publications has a splendid joint interview between Kent Beck, the author of the first XP book, and Alan Cooper.. Jon Udell also has a very nice essay on the same topic.

Using Cytrix in the education environment

The Education Technology group here at Tech has to support over a hundred machines in classrooms, and keep them in sync with common software. Using a Citrix terminal server might make it easier to support one-off applications rather than having to install them on every machine.

I attended a "Talk with with the CTO" lunch a few weeks back with other Tech IT staff. There was some conversation about what they have to do to support the interactive classrooms tech has been building out over the past few years.

The comment was made that Professors sometimes want to install software on the shared computers in the classrooms. That's a problem, because the classroom computers are all supposed to be set up the same way, so a professor can count on finding a common setup even if they have to move classrooms. The professor has two choices: bring in a laptop and plug it in, or convince the central IT people that the program should be installed on all the classroom machines.

I have another idea, based on what CNN.com did for rolling out their common content management tools: have a Citrix terminal server installed centrally, and have the ability to log into that server from each classroom machine. The Citrix server doesn't replace installing common local software on all machines, but rather gives the professor an alternative: if they have a program they think would be useful, the IT folks could install it first on the Citrix machine, where it would then be available from any classroom. If the program proved useful, it could be installed more widely, or perhaps just left on the Citrix server until the Prof didn't need it. That would allow the IT people to be more responsive to their clients with less overhead.

Citrix isn't the answer for everything, but with high speed local networks and a reasonable load, I'll be it would be pretty reasonable for more applications.

My Georgia Tech weblog

For a variety of reason, I haven't pointed to my Tech weblog from here; it's really meant for a Georgia Tech audience. But there's some good stuff over there, so tonight I'm pulling over items from that blog and publishing them here. One of the advantages of blogging for a smaller audience that isn't part of the larger blog community is that you can bring up stuff that's been blogged a hundred times in the larger community, and you get to sound like the expert, even though you're only the end node in a long chain. Hey, weblogs can make all of us look like experts!


The Chronicle of Higher Education describes the rise of superarchives:

Several colleges are now looking to share more of that work by building "institutional repositories" online and inviting their professors to upload copies of their research papers, data sets, and other work. The idea is to gather as much of the intellectual output of an institution as possible in an easy-to-search online collection. One college has called its proposed repository a "super digital archive."

I'm skeptical. People do what they are motivated to do. Researchers motivation is much the same as everyone else: money. You do research, you publish, and if you do well you attract research dollars and build a kingdom. I don't see a superarchive fitting into that model. Oh, I'm sure some researchers will play, but I can't see them motivating everyone to contribute.

Should the fed govt force security on universities?

One of the security people at Georgia Tech mentioned that the Federal Government was considering writing some words about computer security into the rules governing Federal grants. I've now found some concrete information about that.. Here's a powerpoint on the topic by Bob Mahoney of MIT from 1/2002; he also points to two documents with the actual text of the proposed changes: the Safe Computing Environment Requirements, and an appendix to those requirements.

Here's a summary of the high points taken from Bob's presentation:

  • Grantees are required to certify that they will provide a "safe computing environment".
  • SCE refers to both initial config and ongoing maintenance of covered systems.
  • Changes to SC environment must be reported.
  • Requires statements of appropriate use to be given to all employees.
  • Requires prompt notifications of "significant events".
  • Specifies actions to be taken for security events

RSSifying script?

If Mark Baker's Tech Curmudgeon blog surrounded his items with
<span class="rss:item">mumble-mumble</span>
tags, he could use the RSSifying script at http://www.voidstar.com/ to create an RSS feed with the link
Mark Baker, Tech Curmudgeon.  Hey Mark, you got an rss.xml feed ?? [snellspace]

An advantage of working at a university

One of the advantages of working at Georgia Tech is that they have wireless access at various places on campus. It's Friday afternoon, and for once it's actually bearable outside. (Atlanta has three good seasons, but this ain't one of them.) My building is a few blocks off campus, so for a change of pace I pack up my laptop and walk over towards the student center. There's a little coffee place called CyberBuzz there with that has a wireless hub, and Macs for those without a machine of their own. That was the plan, anyway.

Problem #1: CyberBuzz is closed. I guess students don't need coffee at 3:45pm. (At least not in the summer.) That's ok, because CyberBuzz has a little patio outside with tables and chairs, and I've been thinking of sitting there all along.

Problem #2: The chairs are locked up. The tables are still out, but without a chair, they don't do me much good. There are a couple of benches near by, but using a laptop isn't a whole lot of fun without reasonable back support. I spy a metal folding chair sitting next to a table, so I decide to sit down.

Problem #3: the chair has a plastic cover over a foam cushion. It's been raining. The back of my pants are now soaked.

I walk into one of the student services buildings. There are armchairs, and they don't look wet. I sit down in one.

The wireless connection is strong. My pants are drying. And it's Friday afternoon. I'm ok.

Why blogs are a disruptive influence

James Robertson of Column 2 pointed to the John Hiler article on why blogs are a disruptive influence.  I've already blogged the Hiler article, but Robertson's comment that Hiler's article will "make CMS vendors have second thoughts about their business models."  Don't be so sure ...

Robert's comment reminds me of when I worked at Xerox back in the 80's.  I worked on the Xerox Star, which was one of Xerox's attempts to make money on the brilliant work of Xerox PARC.

When the Apple Macintosh came out in '84, we bought one to see whether Apple had "got it."  That Mac sat outside the office of our software development manager.  That first mac didn't have a hard drive. Our reaction was that it wais a toy; we had nothing to worry about.

That's ironic, because around that time, Xerox was getting it's lunch eaten by Japanese copier companies taking over the low end of the copier market.  And that's exactly what the Mac did.  Xerox sold the Star for $15,000 (or more like $100,000 when you added in all the a couple of network servers).  Apple went with what they could get out the door for $2500.  It wasn't much, but what they were able to do for that $2500 kept getting better and better.  Apple defined the market for graphical computers.  Xerox sold off Xerox PARC this year.

July 11, 2002

using klogging to kickoff projects

A Klog Apart has a nice little piece on writing a project initiation kick off report and then using klogging to bring the stakeholders in on the project.  It's nice work, and it strike a chord because of what's been going on in my new job at Georgia Tech:

Shortly after I arrived, I started keeping a klog of my work.  So far I've clued in the few people I've worked with so far to my klog, but as best as I can tell, they haven't paid much attention.  I've been struggling with the question about when and how to let the larger project team know about my klog, but so far I've been reluctant to do so.  Today I was in kick-off meeting for the large project I've been working on.  Towards the end of the meeting, I was almost consumed with the desire to tell people about my klog, but I just couldn't bring myself to speak up.

I've asked myself why that is, and the answer isn't straight-forward.  I've only been at Tech for six weeks; higher-ed politics are notoriously complicated, and I don't know how people might react to the things I've written.  A klog is by definition not politically correct; you say what you think, not what you believe others might want to hear.  

I think the other thing at work in my head is much akin to how my wife acts when people we don't know well come to our house.  She doesn't want people to see our (literally) dirty laundry, so she will call an instant clean-up drill, and we rush about cleaning up and pretending that our house isn't really so messy.  I think I have a bit of that feeling about my klog: perhaps I should clean up a little bit before I invite others in.

And I think the last factor is the most personal, and it's at work in anything we reveal to to others: what if they just don't care?  Based on the reaction I've seen so far, it's a real risk. 

Well, I am going to invite the neighbors in, so to speak, and probably in the next day or so.  I don't know if anyone else on the project will care.  It's useful to me, and guess that's all that really counts. At least for now.

SICP Online

After Dot-Bomb: getting info retrieval right

Lou Rosenfeld builds on an splendid article from First Monday called  "After the Dot-Bomb: Getting Web Information Retrieval Right This Time" by Marcia J. Bates.  Read through Marcia's article, then read Lou's commentary.  Marcia Bates makes reference to several interesting sounding articles that she's written; I'll have to wander over to Georgia Tech's library and see if I can find them. [From Bloug]


July 10, 2002

The myth of 5 nines

The myth of 5 nines. exploring the realities of internet uptime | c o d e s t a The standard for uptime percentage is [Nicest of the Damned]

July 9, 2002


This has got to be one of the shorter Internet RFCs there: RFC 2119 officially defines the terms MUST, SHOULD, SHALL, REQUIRED, MAY and such. 

I wonder if it will work on my kids.  "You MUST (ref RFC 2119) do the dishes before you play your computer game."

July 7, 2002

The intersection between weblogs, wikis, and PIMs

I've found a couple of interesting resources in the cross-section of weblogs and Wikis (and even PIMs, too.)

WikiWeblogPIM is described in the Weblogs Compendium as "page of links on research about things relevant to software that would combine the best features of existing wiki, weblog and PIM software." I guess that's a reasonable description of a very funky looking page. It's produced by John Abbe. John has a weblog called AbbeNormal, which seems to take an inordinately long time to load. (But once it does, clicking between items is pretty fast. ?)

John talks about Tinder Box, a proprietary Mac application that is described as a "personal content managment assistant." If I was a Mac person, and still in my PIM phase, I might try it. (But at $95, I might not .. that's steep. I used to try these kinds of programs regularly, but only when I could get someone else to pay for it.)

In any case, Mark Bernstein is the chief scientist for Eastgate, the company that makes Tinder Box. Mark's weblog points to the Weblog Kitchen, a site devoted to exploring the intersections between weblogs, wikis, and weblogs.

Weblog related tools

Here's an interesting list of tools and weblog-related stuff: the Weblog Compendium. All kinds of stuff, and you can add your own resources.

Free X server using Cygwin X86

I've used Exceed's X server for years, and I like it, but it costs hundreds of dollars. Slashdot has a thread about a free X server: Cygwin's XFree86 4.2.0 on Windows XP . Slashdot notes that this runs on Win2k, not just XP. There appear to be two primary problems: first, you can't run a Windows application window next to an X window, as you can with X servers like Exceed or Hummingbird. Second, you can't cut and paste between X and MS Windows. (The latter one is a bigger hassle, I think.) [Slashdot]

July 6, 2002

Sites about the Dvorak keyboard

Marcus Brooks has a very nice site devoted to the Dvorak keyboard.

Since I went to work at Tech, I've had some experiences where I've come out with sore arms and wrists. Carpal tunnel time! I attribute it to three factors:

  • I've been working on a laptop for the last month, not a standard raked keyboard.
  • I've spent most of everyday on the laptop: most of my work so far has been on my own.
  • I'm typing more because I'm blogging more.

The Dvorak keyboard wouldn't fix any of that, but I did notice a comment buried somewhere in the site, which I paraphrase: "When I used QWERTY, my hands were numb at the end of the day.  After I used Dvorak, they felt fine."

If you're a user of most any modern OS, it's actually pretty trivial to switch back and forth between Dvorak and QWERTY.

Oh, well.  The time to convert would really have been when I was out of work ...

Features of various CMSes

Column Two: CMSs in summary is a pointer to a few sites that summarize the features of various CMSes out there.

July 3, 2002

My google stats

After reading Dave Winer's comment noting that he's now the number one "Dave" on Google, I couldn't resist looking my my stats.

Since I started this weblog (and since Jon Udell and Ed Vielmetti linked to me) I'm the number one "Paul Holbrook" on Google. I have no idea where I am Google's list of "Paul"s; I gave up looking after .. let's see .. 28 screens. I'm number 20 on the list of "Holbrook"s, which isn't too bad. (Holbrook, Arizona takes first place. Yes, we do have a picture of our family in front of the sign at the city limits of Holbrook.)

But the best page about Holbrook is from the Places Named site: here's a list of all the places named Holbrook in the US. That page also informs me that Holbrook is the 1,396th most popular last name.

Slide show: klogging: how, when, why

I kinda like Phil Wolff's little slide show Klogging 101: What, Why, and How.. It ain't pretty, but it's something to talk around when you're trying to get the point across.

I've been thinking about doing a talk along these lines, but I think I'll lay low for a while longer: I don't know enough people at Georgia Tech yet to know what the right forum would be. So for now I'm building up my own little body of knowledge that no one else is reading, but I think it will be useful at some point.

Mathematics references

I've always had a hate/love relationship with math. The general idea fascinates me. In his wonderful book The Language of Mathematics: Making the Invisible Visible, Keith Devlin defines mathematics as the science of patterns, a wonderfully evocative idea to a computer person. But the actual practice of math starts to make me a bit numb.

Slashdot has a couple of threads about math in the last couple of days. The first one is fun: Andrew Lipson has created Lego structures out of mathematical concepts. Check out the little men walking around the Mobius strip. [Slashdot thread].

Slashdot also popped up with another math-related thread: Options for Adults with Renewed Interest in Math?. Lots of interesting discussion about what to do if you're interested discusson. Better than usual level of Slashdot discussion (assuming you read at threshold 2, which I always do.)

How to write unmaintainable code

If you've every programmed, you must check out How To Write Unmaintainable Code by Roedy Green. A quote:

In the interests of creating employment opportunities in the Java programming field, I am passing on these tips from the masters on how to write code that is so difficult to maintain, that the people who come after you will take years to make even the simplest changes. Further, if you follow all these rules religiously, you will even guarantee yourself a lifetime of employment, since no one but you has a hope in hell of maintaining the code. Then again, if you followed all these rules religiously, even you wouldn't be able to maintain the code!

(Thanks to Jonathan Young.)

Useful articles from Linux magazine

Linux Magazine has a couple of interesting articles available:

Nine Power Tools Are Enough
The author claims all you need are nine tools: zsh, emacs, GIMP, Glade, CVS, GCC, DDD, Apache Toolbox, and Perl.
Write Ruby, Be Happy!
by Dave Thomas and Andy Hunt, authors of of Programming Ruby: The Pragmatic Programmer's Guide, the definitive guide to the Ruby scripting language. Amazing, the entire text of Programming Ruby is available on the web.
Python: You SHOULD Be Using It
What can I say? Of course you should be using Python. It's one of my favorite languages. Not the best article I've seen, though.

July 2, 2002

Day 17: defining acronyms with the acronym tag

Day 17: defining acronyms.

I used 50 acronyms and abbreviations on this weblog last month: ADA, ALT, CGI, CMS, CSS, CTRL, DMV, DNS, DTD, EFF, FAQ, FSF, GFDL, GIA, GPL, HTML, IE, IIRC, IIS, IO, KB, KDE, LONGDESC, MB, MSDN, MSN, MT, Mac, NC, OPML, P2P, PGDN, PGUP, PBS, PDF, PONUR, RSS, RU, SOAP, SSN, TDD, US, VNC, W3C, WCAG, WYSIWYG, Win, XHTML, and XML.

If you know what all 50 of them mean, congratulations; you have a long and prosperous future as a technical editor. If not, you'll appreciate the fact that I defined each of them with the tag. Hover your cursor over each acronym to see what it stands for. This works in all modern browsers, and is harmless in Netscape 4.

You should define an acronym whenever you use it, or at least>Michael benefits. When Michael hovers his cursor over an acronym, Opera displays the acronym title as a tooltip.

  • Bill benefits. Mozilla goes even further, automatically rendering acronyms with a dotted underline. When Bill hovers his cursor over the acronym, Mozilla changes the cursor to a cursor + question mark, and then displays the acronym title as a tooltip. (You can override this default behavior with cascading style sheets, or use CSS to get a similar effect in other browsers.)
  • Google benefits. Google indexes the acronym title as well as the acronym itself, so people can find your site whether they search for the acronym or the spelled-out description.
  • I wish I could say that Jackie benefits, but she doesn't. Neither JAWS nor any of the other screen readers on the market currently support reading the titles of acronyms. I hope some day they will, and then you'll be ahead of the game.
  • How to do it

    The first time you use an acronym, mark it up with an tag, like this:


    Radio users can automate this markup by using shortcuts. From your Radio home page, click "Shortcuts" in the main navigation menu, then define the acronyms you use frequently. (Be sure to change the input type from "WYSIWYG" to "Source" so you can type the HTML directly.) For example:

    Name: CSS

    Value: CSS

    Then, in your post, simply type "CSS" (with the quotes), and Radio will render it with the acronym tag and the title, just as you defined it.

    [dive into mark]

    July 1, 2002

    Blogs as disruptive tech

    I came across a slightly-too-long but ultimately interesting article called Blogs as Disruptive Tech. The thesis: weblogs are to big, expensive content management systems (CMSes) as the PC was to the IBM mainframe. Very interesting read.

    John Hiler of Web Crimson wrote the article. Web Crimson appears to be in the blog software business, but the article plays it pretty straight right up until the very end.

    The more I use Movable Type (which I've been using at my work at Georgia Tech), the more I believe Hiler's thesis. Movable Type isn't nearly as flexible as, say, Vignette, but it has that enormous virtue of letting you get in and start doing useful work in a matter of hours rather than weeks. And as you find the initially small ways that you want to tweak the look of what you're producing, you find that an equally small investment of time brings results. It's a question of approach: if you want to redo your yard, do you bring in the fully grown trees and transplant them at great cost (hoping they live), or do you start with saplings and let them grow?

    Summer in atlanta

    This is what summer in Atlanta is like: you walk out of your air-conditioned office. You open up your car which has been sitting in the sun for four hours. You sit down and close the door, and suddenly you can't see a thing as the moisture in the air condenses on your glasses.

    Budgetting worksheets

    The Motley fool has a useful set of budgeting worksheets.