Weird Word tab behavior explained

Buggin’ My Life Away: The Case of the Missing Tab. Rick Schaut, an engineer on the Mac Word team at Microsoft, explains the logic that makes Word convert presses of the Tab key to special formatting (first-line indentations, indent the entire paragraph, or insert a Tab character). Basically the Auto Formatter engine figures out what to do based on where the user’s cursor is:

To summarize these rules, if the insertion point is:

  1. In an empty paragraph–always inserts a tab character;
  2. In the middle of a non-empty paragraph–always indents the whole paragraph; and
  3. In the first line of a paragraph:
    1. If there are no tab stops set, then indents the first line of the paragraph; or
    2. If there is a tab stop set, then inserts a tab character.

The most common case where Word is likely to be wrong is case #3, so the auto-recovery feature in Word 2003/2004 allows you to convert the auto-formatted indent back to a tab.

Key words being “most common.” I think this is the unavoidably maddening thing about all these autocorrect features—they apply the 80-20 rule. Nothing makes some people angrier than having their computer—where they’re supposed to be in control—make the wrong assumptions about what they’re trying to do based on what “most people” are doing.

On the Mac Mini: living room trojan horse

First impressions on the Mac Mini—brilliant. As others (including Glenn Fleishman) have noted, it’s essentially a slimmed down Cube, unapologetically at the bottom of the feature scale for a modern Mac but also at the rock bottom of the price scale.

Of course, the “bottom of the feature scale” for a modern Mac isn’t such a bad place to be. With a 1.25 or 1.42 GHz G4 it can run pretty much anything you can throw at it.

Limitations? Memory and disk space. The former may not be such a bad thing; the latter…

For PC switchers or someone looking to use this machine as a primary PC, I would definitely recommend upgrading the RAM to 512 MB. But for a lot of us, including me, the 256 that the base machine comes with would be just fine—to run iTunes and iPhoto as a headless appliance hooked into my network and my audiovisual system. And with that 6.5″ square footprint, it’s small enough to truly live in the living room.

What limits that scenario is hard disk space. If the disk maxes out at 80GB—and can’t be replaced—it’s too small to hold my music. And it looks like it does—check out the images on the Design page and the TidBITS note on the Mini. But, as Glenn points out, you can always plug in outboard storage.

Conclusion: Apple may have a winner here—not by addressing the spec heads but by paying attention to the Wife Acceptance Factor in the design of the product.

RIP, James Forman

New York Times: James Forman Dies at 76; Was Pioneer in Civil Rights. I read Forman’s book, The Making of Black Revolutionaries, during my History of the Civil Rights Movement class at UVA—taught by Julian Bond, Forman’s former SNCC comrade in arms, the class was easily one of the top three that I took there. And the book was a big part of the reason. Together with CORE’s Jim Farmer’s Lay Bare the Heart, Forman’s book planted a seed of radical liberalism in my heart—the sort of radical liberalism that says that you stand up to injustice wherever you see it, no matter how unpopular the stance may be. That you stand up for the rights of the oppressed especially when no one will let them stand up for themselves. That you speak out about civil liberties, because when you let them be infringed you destroy the premise and promise on which this country was founded.

Words of advice

When cooking pork tenderloins that have been brined, rinse the meat before cooking it, and don’t bother adding salt to the sauce.

That’s all, really.

Oh, I’ll have some words about the Mac Mini later, but I have to go drink a lot more water. Fortunately my guests are pretty understanding.

Light blog day

Esta and a friend of hers from seminary are coming up this afternoon to stay for a few days, so I’ll be offline much of the day getting ready. There are floors to vacuum, beds to make (this will be the first time we’ll use both guest bedrooms at once!), groceries to get… and, provided the weather stays above freezing, ice to remove from the driveway.

Oh yeah: I actually couldn’t get my car out yesterday afternoon. I had snow-blown the driveway clear Thursday at lunchtime to go to a job interview, and by the time I came back the weather had changed to “wintry mix.” Which I parked atop. Which subsequently froze to ice. Lisa’s car, which hadn’t been moved, had sufficient contact with the bare pavement to get out and about. Hopefully we can get my car moving today. Lesson: snowblower ≠ panacea.

Oh, and our neato upstairs guest bedroom is finally in shape and mostly decorated. It’s been christened the Virginia room, as it seemed a convenient place to hang all the framed Rotunda pictures. Maybe I’ll post a few snaps after we get the house ready.

JHN 2004 in Review, part 2

Continuing my trip through my archives for 2004:

July

Blueberries in summer. Microsoft.com blog portal launches, complete with OPML support. I’m an NPR Phonecam Challenge winner. I get namechecked on NPR. RSS begins to roll out across Microsoft.com community pages. Trip to Portland.Sonic Youth. Eating at Salumi. Optimism, or reading Dietrich Bonhoeffer while watching The Day After. The hottest day of the year. Denbigh Presbyterian burns. I ’fess up about our Boston move. How I sold our house at my ten-year reunion…in a bar…over a fax machine. The plan for my cross-country drive.

August

1600 miles in two days. Roadtrip photos. Gootllysac. Completing a cross country drive—3000 miles—in four days. We buy a house in Arlington. Fridge installation after kitchen demolitions. Missing the herb garden. New house likes and dislikes. On going to the Mass RMV four times. Wireless printing redux.

September

MFA photos. The great glass pumpkin. The existential Red Sox. Wireless tunes. The first presidential debate, and my fantasy question for George W.

October

The Long Tail and the blogosphere. PJ Harvey plays the Avalon. Dexter Gordon review. Sub Pop goes RSS. Dirty tricks. Blogging style. Pros and cons of blogging the presidential race. Hell Night. Ending the drought: Red Sox victory. Carl Perkins. Walking through Boston with George.

November

Blogger for hire. Delicious Library. Resignations. Review of the Frank Sinatra Show with Ella Fitzgerald. On not doing home improvements right before a dinner party. My first Thanksgiving dinner as lead chef. Boston late fall photos.

December

The Pixies with Mission of Burma. Bobby Timmons. Photo gallery. Votes, Bits and Bytes conference. Justin Rosolino at Club Passim. Google v. Gutenberg. Walking around Asheville. Global Voices covenant. Thawing out.

JHN 2004 in Review, part 1

It always takes longer to write these things than I think, but I thought I’d take a look at 2004 before we get into double digit days in 2005. All in all, it wasn’t a bad year on Jarrett House North. New houseblogging, new photos, cross country drive, my beginning and end as a semi-official corporate blogger, blogger for hire… ah hell, here’s the highlights reel for the first half (second half coming shortly):

January

We land on Mars. My phonecam photo to be published in the Guardian. It snows in Seattle. MSDN launches blogs.msdn.com. I have ten subscribers in the feeds.scripting.com community. Mars is warmer than the northeast. Lots of CSS learnings. Sail to the moon.

February

Last ski trip in the Northwest. Dave Winer visits Microsoft. Google Valentine’s Day toolbar. Prodigal dog. Rosemary. Generation gapped. Compassionate conservatism. Esta visits a shooting range.

March

On knowing the Black Dog. Trent Lott blog case from Harvard’s Kennedy School. Elvis Costello plays Benaroya Hall. AMS gets acquired. Remember when Al Qaeda blew up Madrid? Lego Death Star. Hindemith and Shaw and requiems and me. Learning to pray. Faster than a speeding bullet.

April

Sloanblogs (still a very short list). On Nirvana and seismic shifts in popular music. I call Bush out: “Bush ought to be a man, admit that he and his cabal of true believer advisors were wrong, wrong, wrong, and resign. He is unfit to be our president.” Justin Rosolino’s new album. Finding weird free music online.

May

Fifteen cubic yards of mulch. Accountability escapes us over Abu Ghraib. Why RSS succeeded where CDF failed. Robert Kellogg and Elvin Jones, RIP. We go house shopping in Massachusetts.

June

Shooting with the Nikon Coolpix. UVA class of 1994 10-year reunion, and photos around the Grounds. How Hermione stole Harry Potter and the Prisoner of Azkaban. I call for a virtual Bloomsday in 2005. Doc Weinberger visits Microsoft.

R.I.P. Will Eisner

It’s been hard to write this one. Will Eisner was such a living legend of the comics field for so long that it’s hard to admit he’s really gone. Especially when unimaginative, fourth-rate artists continue to haunt the pages after his departure. When will we ever see his like again?

Best eulogy: Michael Barrier: Will Eisner: Moved by the Spirit. Best celebrity eulogy: Neil Gaiman. Best obituary: New York Times. Best retrospective of Eisner’s work: his own site.

JP makes good

Just got word via email that a friend from University of Virginia, John “JP” Park, is now a published author: Understanding Maya was just released and represents a collection of the same training in the 3D animation application that JP has done at Sony (during Spider-Man II, the Polar Express, and the last two Matrix films, among others). You can get the book from Amazon.

It’s always good to see an old friend do well. Congrats, JP!

Let it snow, let it…oh, shut up

It’s been snowing since about this time yesterday, aside from a brief intermission last night. We only have a few inches’ accumulation, but I’m already getting tired of it, since it means I have to put the dogs in their coats every time they go out and then blow dry the snow and freezing moisture off their legs when they come back in. And they like to go out twelve to fourteen times a day.

I really should have more of a sense of humor about this, and I know it’ll get better as soon as the snow stops and I can shovel out the walk and a “pee path.” But right now it’s just making me grumpy.

On the difficulty of measuring online traffic

Boing Boing: BoingBoing traffic stats are back. John Battelle talks about the difficulties in interpreting web statistics. A few comments based on my own experience at Microsoft.com:

…of the columns you see, only the first one – “Unique Visitors,” and the last two “Hits” and “Bandwidth” can be taken at face value. “Unique Visitors” counts unique IP addresses that are hitting the site, so it’s a fairly accurate count of actual humans reading Boing Boing. (If anything, its count is a bit low, as it does not account for sites like AOL which may have one IP address for thousands of unique users.)

There are more problems with the Unique Visitors stat than Battelle lets on, of course. AOL will always be the big problem in any attempt to measure Internet users for the reason that John mentions, namely AOL’s proxy looking like one big, extraordinarily active user. However, AOL is certainly not the only place that you see a proxy server that only presents one IP address to the outside world—this is pretty common at large corporations, as well as wifi hotspots. Also, IP addresses can change from session to session if you are doing dial-up, if you reboot a lot, or even if your broadband modem goes down a lot. End result: IP addresses are a good approximation of unique visitors, but I wouldn’t take them at face value.

Another way to count UVs (or Unique Users) is to issue a cookie and count the number of unique cookies hitting the site. There are problems here too—users clean their cookies or refuse to accept them in the first place—but this gets around the proxy server problem.

Neither of these solutions deal with the possibility that you have users who visit from multiple machines, which will have both different IPs (unless they are behind the same proxy server) and different cookies (unless you explicitly require authentication each time you set the cookie).

Nonetheless, one or the other of these methods is in use in most major web stats programs.

…the other two columns – “Pages” and “Number of Visits” – are more difficult to understand. They are AWStats’ best guess as to how many total visits a site gets, as well as how many pages are actually viewed by those visitors. These columns have always disregarded image and video files, but because a lot of our traffic comes from RSS readers, they are certainly inflated by some amount.

Ah yes. Tracking visits means you divide all the hits up from a given user into periods of time when the user was on your site without interruption. As you can imagine there are a lot of assumptions there, starting with how you identify users (your count of visits will be thrown off by the proxy server assumptions discussed above), the time frames you pick (if you expect users to spend up to five minutes on each hit, when a user takes six minutes to read a page before requesting the next one, his activity counts as two visits), and so on. And pages… What is a page? Does it include server-side included pages? Images? What if the images are part of the reason people come to your site? And what about those RSS feeds? As I wrote a long time ago, tracking RSS upsets a lot of the assumptions you make when tracking plain old web traffic.

I did a lot of work in this area when I worked at Microsoft; hopefully the part of my experience that I can actually share will be relevant to the ongoing discussion.