Adam Fields (weblog)

This blog is largely deprecated, but is being preserved here for historical interest. Check out my index page at for more up to date info. My main trade is technology strategy, process/project management, and performance optimization consulting, with a focus on enterprise and open source CMS and related technologies. More information. I write periodic long pieces here, shorter stuff goes on twitter or


Photoshop CS2 tuning guide from Adobe

Filed under: — adam @ 7:44 pm

There’s some very good information in there about tuning the OS and Photoshop for performance with CS2.


The ELF invades Sears

All this talk about plays written in the dark ages made me reread the skit I wrote in high school with my friend Tristan.

I give you The ELF invades Sears.

It still makes me laugh.

(It’s an homage. Read a book!)

Republic Dogs


My friend Nat’s screenplay “Republic Dogs”, a Plato/Tarantino mashup, is making the blog rounds:

There seems to be some contention over when it was actually written. I can personally attest to being present around the time of the original writing and presentation, at or near Columbia’s Philolexian Society (Columbia’s oldest student organization, founded in 1802), sometime between 1992 and 1996. Nat says 1994, and I believe him.

In fact, I made a poster for its theatrical (okay, in the basement of River) performance as part of a series of one-act plays, Onion Days and Starry Nights in the Zero-Sum Republic:

Republic Dogs


Katamari Damacy text adventure!

Filed under: — adam @ 10:44 am


> N

There is a PAPER CLIP here.


I do not know what a CLIP is.


You roll up the PAPER CLIP.

You are standing on the floor of a bedroom.


Your Katamari is 10.2cm.

And so forth.

Google Base

Filed under: — adam @ 10:41 am

Google has a new product in the works – Google Base. It’s essentially a free-form database with flexible and user-defined schemas that lets you “publish” items. Where they’re published is not yet apparent, although they’re clearly targeted directly at various Google services in addition to whereever they “live”.

Google, obviously, is tired of crawling the web for all your shit, and wants you to just give it to them directly in a way they can easily index.


Ribosome simulated

Filed under: — adam @ 8:26 am

This is incredibly cool. A complete working ribosome has been described in a computer simulation.

Via Perry:


Apple announces pro-level raw and image processing software

Filed under: — adam @ 3:32 pm

Looks like Apple has finally decided that they don’t need any other software companies at all.


James Doohan’s ashes to be flown into space

Filed under: — adam @ 10:10 am

Scotty’s getting his final wish. A CD with messages from fans will join him. Add yours here:

New spinoff series coming from Dr. Who writer

Filed under: — adam @ 10:09 am

“The new programme will be called Torchwood (an anagram of Doctor Who) and will follow a crack team investigating alien activities and crime in modern-day Britain.

It will feature in its starring role John Barrowman, who played Captain Jack Harkness in Doctor Who and who will play the same character in Torchwood.”


Shared lessons between programming and cooking

Filed under: — adam @ 7:22 pm

I originally wrote this a few years ago, but I thought it was worth restating. Here it is lightly edited:

Fine programming and fine cooking are similar disciplines, each a mixture of a lot of craft with a good deal of art. In each, you can have just the craft without the art, or just the art without the craft, but the results are extremely likely to be disappointing without both. The balance between the two is a reflection on the practitioner’s technique, the personality of which is always highly evident in the end product. I have found that my development discipline has been adaptable to cooking, and that many of the things I’m learning about cooking have analogues in programming.

For example, in cooking, good stock is critical. It adds flavors to other dishes, and can be layered to build complexity and texture. The more attention you pay to getting your stock right and correctly flavored, the better your end product will be. Stock requires upfront planning, dedication of resources, patience, and unit testing. Stock is a module. Like any module, you can make your own and it will be exactly what you need (or terrible, depending on your own skills), or you can buy someone else’s and it will either be good enough or terrible (depending on the skills of the stockmaker), and the quality of your final product will hinge heavily on which one it actually is.

Some shared lessons:

  1. Perfection is the goal, but the product had better damn well go out when it needs to and be right when it does. Perfection is the standard by which you measure what you did wrong last time so you can try not to do it again.
  2. Taste, test, measure, know. If you don’t know what’s supposed to be happening, or you don’t know what is actually happening, you have no way to compare the two, and you certainly have no way to bring them together.
  3. Building and maintaining your toolkit, which includes both tools and ingredients, is of utmost importance. For development, this is your development environment and your past history of specs, diagrams, and old code to repurpose. For cooking, this is your knives and other tools, as well as your collection of stocks, scraps, and spices.
  4. Knowing what’s in your toolkit is important, but knowing where to find something you need if it’s not is even more so.
  5. It’s sometimes easier to buy components, but it can be less effort in the long run to start from scratch. It’s entirely likely that a component you build yourself will be better for you, but the trick lies in knowing the difference before you start. Sometimes you have no choice.
  6. Waste is the enemy. Time, materials, and resources all have costs. Usage is not necessarily waste. Not taking care to avoid waste is itself waste. Failing to properly maintain your tools is waste. Not using everything that can be used is waste. Doing unnecessary tasks is waste. Documenting what you did is not waste.


Something bugging you?

Filed under: — adam @ 2:50 pm

Got a bug, and don’t know what it is?

Ask What’s That Bug:


“No 911″ sticker for VOIP phones

Filed under: — adam @ 10:30 am

Some VOIP and computer phones don’t support 911 dialing in a way that’s equal to the conventional phone system. In an emergency, you probably don’t want to accidentally grab the wrong phone and use it to dial 911.

I sell a set of stickers that you can cut out and stick on phones that don’t support 911:

[Update: 50% of all profits from this will be donated to the EFF.]


Horse, barn door, something.

I got the new Fiona Apple album today. It came with huge labels, both on the box and the disc, reading:

“FBI Anti Piracy Warning: Unauthorized copying is punishable under federal law.”

Bang up job, folks.

Cool Guinness ad

Filed under: — adam @ 5:23 pm

On responses to threats

Filed under: — adam @ 1:26 pm

I love this comment on Bruce Schneier’s blog in reference to the recent NYC subway threat which turned out to be a hoax:

“Every time I read this kind of nonsense, I have a mental image of our government — from city level on up — as a strung-out derelict curled up in a fetal position in a corner, screaming about the spiders all over him as he clutches a bottle of cheap fortified wine cut with paint thinner.”

Unhappy Birthday

Filed under: — adam @ 12:42 pm

This is a good page describing the legal situation surrounding the copyright of the song “Happy Birthday”.

Via Perry:

Tracking stock spam results

Filed under: — adam @ 12:35 pm

A project to determine just how much money you’d lose if you bought every penny stock you got spam about.


Quicktime VR view from inside a water bottle

Filed under: — adam @ 10:10 pm

That’s pretty funny.

Really amazing photos from New York nightlife in the 70’s

Filed under: — adam @ 9:47 am

All sorts of naked, painted, and blowjobby.

With a caption like “A man applies Crisco shortening to his arm in preparation of inserting it into Annie Sprinkels [sic]“, how can you really go wrong?

Mini shopping

Filed under: — adam @ 9:45 am

Where to buy travel sizes for all sorts of things.

Garlicster is all about garlic

Filed under: — adam @ 9:42 am


Changed the base font

Filed under: — adam @ 10:45 am

I’m working on a new design, but as I’m not a designer, and I have many many other things to do, and I’d much rather write, it could be years before it actually appears.

I have, however, changed the base font, as some have complained about that.

Is it better?

Akane apples are in

Filed under: — adam @ 9:58 am

Akane apples are absolutely, bar none, my favorite kind of apple. To me, they embody everything an apple should be.

They’re reddish/greenish (but sometimes bright red) with a pale interior. They’re crisp, tart, sweet, and have a complex perfume. They have a little scent on the outside, but when you bite into one and smell the flesh, it’s filled with an incredibly deep aroma. They have a slightly acidic aftertaste that persists in all of the right ways.

I had them once a few years ago, and haven’t seen them until today, when I found them again at the greenmarket at Union Square. They’re from Samascott Orchards, and they said they’d be in for about 8 more weeks.

Get ‘em while you can.


Unthrilled with the Office 12 UI

Screenshots for Office 12:

Okay, they’ve cleaned up the interface a bit by grouping related things into similar boxes that are actually labeled, and I’m told that the interface elements are all vector-based so you can resize them arbitrarily. That’s nice.


Over many years of designing custom content management interfaces for lots of people to use, it became crystal clear that there’s a huge difference between a “tool” and a “task”. A tool is a function that lets the user do something, but a task is a function that lets the user accomplish something.

In my experience, most successful content management interfaces are primarily task-based. When the user sits down in front of the computer, the goal is to get something done, not just use some tools. Tasks are for most people (beginners and power users alike), but tools are for power users. If you know what you want to do, but it doesn’t fit nicely into the framework of getting something done, you need a tool. Tasks should be the default.

This is why the new Office UI is still confusing – it’s full of tools.

Let’s take Word as an example. The forefront example of tools vs. tasks is the question “why is there still a font box?”, and the corollary question “why do the font options still occupy a huge chunk of prime screen real estate?”. Changing the font is a “tool function”. When you change the font in a document, you haven’t really accomplished anything. Sure, you’ve made it look different, but “making it look different” probably wasn’t the goal. What you were really doing is the unspoken “drawing attention to this text” or “making it match the company colors” or any number of other things that aren’t just “making it look different”. With a tool, you can “make it look different”, but it requires a lot of input from the user in order to get the rationale right, and this is why expert users get frustrated when beginniners change the fonts and their results don’t match their intent. The software shouldn’t make it easy to change the font without understanding why. There should be tasks centered around things you might want to do, and the software should guide you. Importantly, if you do understand why, and you have different intentions than the software does, it should get out of your way – but that comes around to letting you use tools to get around the limitations of pre-defined tasks.

(An important note: a “wizard” is not a task-based interface. It’s a poor substitute that attempts to graft tasks onto what is primarily a tool-based interface.)

This goes right to the heart of the debate of semantic content vs. formatting. A huge portion of the tech community has been trying very hard to get people to think in ways that are structured, for various reasons. It’s not always the best approach, but it’s by far the best default if you don’t know what you’re doing. If you go through your document and decide “this needs to be 14 point Helvetica and this needs to be italic and this needs to be 24 point Times”, the onus is on you to understand why you’ve chosen those particular settings. “It looks nice” isn’t good enough, if it doesn’t match your intent. You’ve lowered the chances of getting the right result, and you’ve made things more difficult for the next person to go through and standardize your settings when your one-page memo gets reformatted to be used in the company brochure. You’ve probably also made things more difficult for yourself. Instead of trying to decide what it should look like, you could have just told the machine “this is a heading, that’s a title, and this paragraph is a summary of findings”, and made your life easier.

The UI appears to have some of this by grouping tools by tasks, but it doesn’t follow through — “Write”, “Insert”, “Page Layout”… but then, “References”? Nope. “Mailings” – maybe, but probably not. “Review” – we’re back. “Developer”? That’s a noun. Obviously there isn’t a consistent organizational structure here. Task-based interfaces are a radical shift from tool-based ones, and they require the UI designer to ask of every function put in front of the user: “Do I really want to give them this power? Am I making their life easier by doing so, or just giving them a shotgun to aim at their feet?”. It’s Microsoft Office, not Microsoft Fun with Fonts, Colors, and Margins. There’s a strong argument to be made that it shouldn’t be easier to use all of the features, because they’re a waste of time for most users.

Microsoft should have taken this opportunity to put together a new interface that’s not only prettier, but also radically easier to use, more intuitive, and above all, more productive. Instead, they’ve produced what appears to be more of the same.

Powered by WordPress