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


Another nail in the theater experience coffin

Filed under: — adam @ 6:55 pm

I’ve just about had it with theaters.

We tried to go see the new Superman movie this evening. I bought tickets on Fandango a few weeks ago. We arrived at the theater about 45 minutes early, which would have been plenty of time, except that the machines for some reason couldn’t find my ticket. After being shunted around to three desks, I finally arrived at the Guest Services counter, where they told me I could just use my printed receipt (which I’d thoughtfully brought) as a ticket. Of course, by this time, it was only 25 minutes before the show, and the theater was already getting pretty packed.

There were plenty of empty seats, but they were all “saved”. Normally, I expect that a few seats will be saved. Maybe even half. But we’re talking several rows of more than 12 seats. Saved. I approached a manager who seemed to be guarding them, who simply told me that they were saved. He “informed” me that there were plenty of places where we could get two seats together, and he couldn’t release any of the seats. I asked him where, and he pointed out two of them. I went to check it out. Saved. I went back and told him that, and he pointed out two more. Saved.

Saved, saved, saved.

Sorry, AMC IMAX theater, but no. Just no. I came expecting some competition for seats, and I arrived early. But I didn’t expect to be denied seats by your staff for actually being there, and told that I was just shit out of luck. For as long as I’ve been going to the movies, there have always been rules about general seating. One of them is that you can’t save more than two seats, three tops. But twelve?
I got a refund and was given two free additional tickets, but I still feel shafted. After all of the complaining about how people aren’t going to the movies anymore, the theaters should be falling over themselves that there’s actually this excitement.

I wanted to go to the movies to have some kind of shared experience, and instead I encountered a complete lack of any hospitality whatsoever. To be honest, I’m still kind of confused by the whole situation. I don’t know if I encountered some kind of special VIP situation, or just incompetence. But I do know that my time was wasted in going to the theater and going through all this, and the whole thing was pretty frustrating and unpleasant. I suppose it’s naive of me to expect them to recognize that their business lies in providing pleasant experiences.

Tags: , , ,

Addressing the lamentations of the local

Filed under: — adam @ 9:27 am

Meg says it’s too expensive to shop locally:

I have some responses to this.

1) The Union Square greenmarket is, in my experience, significantly more expensive than the other satellite markets throughout the city. There are a few possible reasons for this – it might draw the more expensive farms which sell different but slightly more expensive varietals of the same produce, the thriving restaurant business in the area could be a factor, or it could just be fame. What I do know is that everyone I know who shops at the USGM says “hey, this stuff is really expensive” far more than the people who don’t. I’d suggest doing some comparison shopping at other markets.

2) There are regional variations in the growing season and only the most prime produce will be at better prices. The berry season has barely started here in NY, so they’re more expensive. But lettuce, greens, beans, and cucumbers are all MUCH cheaper at my green market than the supermarket, and much higher quality. You’ve got to pick your battles. One exception I’ve found to this has been tomatoes. Local tomatoes are outrageously expensive compared to shipped tomatoes. But on the other hand, they’re incomparable, because tomatoes were not meant to be shipped. They are completely different beasts. $3/lb for local tomatoes is an indulgence I’ll gladly pay to consume what I consider to be among the most pleasurable culinary experiences we have available to us. The depth of flavor and delicate texture in a local tomato is simply something you can’t get for any price nonlocally, because what it must go through to survive shipping destroys its unique characteristics. I feel the same way about Ronnybrook Farms milk. It’s pretty expensive compared to other milks, but that’s only if you assume that because they have the same name that they’re somehow the same product. They’re not.

3) There’s a lot to be said about the freshness and fridge life of fruits and vegetables purchased locally. If you’re actually going to eat it in a day or two, the quality will likely be unmatched by anything you can find even at Whole Foods. On top of that, a head of lettuce purchased at Whole Foods will last maybe 3-5 days in the fridge before it starts to wilt, but I’ve eaten lettuce purchased two weeks prior from the farmer’s market, and it’s always still crisp and green.

    Tags: , , , , , , ,

    Apple is about to lose a few hundred thousand users

    Filed under: — adam @ 8:05 am

    Cory Doctorow switches to Ubuntu, following Mark Pilgrim:

    Tags: , , , , ,


    Jim Baen died yesterday

    Filed under: — adam @ 11:34 am

    Not just a luminary in science fiction, but also a guiding light on free ebooks.

    Tags: , ,

    On the integration of Web 2.0 apps

    Filed under: — adam @ 9:48 am

    Britt sent me this link lamenting the lack of interaction between Web 2.0 services:

    This is an interesting and correct observation, but let’s look at an analogous situation – unix command line tools.

    Unix is designed around the pipe – the ability to string long chains of commands together, each of which only does a small thing, to accomplish what you actually want to do. There are some places where this breaks down, but by and large, this method has been spectacularly successful.

    Web2.0 apps are much better positioned to emulate this than Web1.0 apps, but they’re still not there yet.

    What’s missing is the switches that enable those apps to play nice with other apps.

    You’re probably familiar with ls, which lists files in a directory:

    fields@server2:~$ ls /tmp
    mysql-snapshot-20060621.tar.gz mysql-snapshot-20060621_master_status.txt

    ls also has another mode, that outputs a long listing, which includes more detailed information about the files:

    fields@server2:~$ ls -l /tmp
    total 841520
    -rw-r–r– 1 root root 860863512 Jun 22 19:08 mysql-snapshot-20060621.tar.gz
    -rw-r–r– 1 root root 382 Jun 22 18:50 mysql-snapshot-20060621_master_status.txt

    Once you have that, you can pass the list to other programs that may want to filter the list by one of those pieces of data. The default mode is useful for dealing with the files themselves, but less useful if you want to interact with their metadata. What if the -l flag was left out, and that behavior was restricted to maintain ls’s competetive advantage (in the hypothetical situation where it’s something provided by your filesystem vendor)? If the information you’re looking for isn’t returned at all, you may have no other way to get at it. Maybe you’d have to use the vendor’s lslong, which costs money. You may be just fine with that, or you may be compelled to look for a filesystem competitor that does what you want. I’d argue that ls is less useful without that ability. That’s the situation we’re looking at when a Web 2.0 API is lacking certain core features to interact with the data it represents.

    Is that an acceptable tradeoff? Maybe it is for a free service. It seems less so for a service you pay for, because fundamentally, you’re paying for the ability to manage your data, not for the ability to use the particular software – that’s the whole concept behind software as a service in the first place.

    This is, of course, made more complicated by the fact that Web 2.0 isn’t just data sharing, it’s also about more dynamic interfaces. Theoretically, these two are interconnected and the dynamic interfaces work better because they can deal with small chunks of data that are in more standardized formats, and also theoretically, the data access mechanics are decoupled from the actual interaction semantics, which would have the effect of making outside non-gui access to your data easier with standard tools. In practice, that seems to rarely happen.

    This is the only good rationale I’ve heard for using XML for gui/backend interchange.

    These are good things to be thinking about when designing web applications. It’s not enough to think of them in a vacuum; we have to consider the implications of living in the ecosystem. It’s possible that that means opening up far more access to the underlying workings than we’re accustomed to. I would LOVE to see some applications that fully work if you take away the browser front-end, but still interact in exactly the same way via HTTP.

    [Update: More on this discussion from Phil Windley.]

    Tags: , , ,

    New Thunderbird function – Group By Sort

    Filed under: — adam @ 8:22 am

    I noticed that sometime recently, Thunderbird added a new item to the View menu – Group By Sort. (If you don’t see it, it’s time to upgrade. If it’s greyed out, you need to choose a different sort key.)

    This is really cool!

    If you’re sorted by date, the mailbox displays as groups characteristic of the message date – Today, Yesterday, Last Week, Two Weeks Ago, Old Mail.

    If you’re sorted by sender, you get a group for each sender.

    Now, we only need the ability to sort the groups separately…

    Tags: , ,


    Why Mark Pilgrim is switching to Linux

    Filed under: — adam @ 9:02 am

    John Gruber has written this great piece analyzing the rationale behind Mark Pilgrim’s switch from OSX to Linux and the critics of the argument.

    There are some truths in there:

    “Telling Pilgrim that he’s making a mistake because Ubuntu doesn’t have as refined or cohesive a UI as Mac OS X is like telling someone who is switching from a Chevy Tahoe to a Toyota Prius that he’s not going to have as much cargo room. He knows it.”

    “If your reaction to Pilgrim’s announcement was a snap judgment that he’s lost it, or that he’s being an asshole who’s just looking for attention as the guy who switched away from the Mac just at the time when it (the Mac) seems poised to become more popular than ever, or that he’s an open source fanatic who just can’t be reasoned with or trusted — are you sure that the zealotry at play is his?”

    “I’m deeply suspicious of Mac users who claim to be perfectly happy with Mac OS X. Real Mac users, to me, are people with much higher standards, impossibly high standards, and who use Macs not because they’re great, but because they suck less than everything else. Pilgrim, to me, is a quintessential Mac user in that regard; and what he’s doing is wondering if maybe things might suck less somewhere else.”

    I find myself thinking the same thoughts often as I struggle with switching my desktop away from Windows to Linux. I’ve done it in the past, but the simple fact is that there are things on Windows that need in order to get my work done that don’t exist on Linux yet. Someday. I highly recommend reading the whole thing.

    Tags: , , , , , ,


    I’m about to waste your whole day (and your wallet won’t like me either)

    Filed under: — adam @ 9:48 am

    Pandora is a music recommendation network.

    It’s extremely easy to use.

    You tell it a song or artist you like, and it builds you a customized “station” based on songs that are like that. At each song, you tell it whether you like it or not, and it learns. Alternately, you can branch off a new station based on any song playing.

    I have not yet signed up or reviewed the privacy policy, but this seems intensely cool.

    Also, it’s integrated with the Squeezebox, which I’ve recently obtained, and about which I’ll be writing a full review.

    Tags: , , ,


    Coffee cups with stamps in the bottom

    Filed under: — adam @ 11:09 am

    Instead of corporate logos, they leave behind pretty floral patterns.

    Tags: , , , , , , ,


    Opera 9 is out

    Filed under: — adam @ 1:00 pm

    I’m a huge fan of Opera; I’ve been using it on an off since around version 2. It got really good at version 5, and became my primary browser of choice until I switched to Firefox because version 7 was crap. But version 8 was great again, and now 9 is a big improvement over that. It’s fast, it’s smooth, standards support is better, they made some usability fixes, and it’s pleasant. I haven’t really delved into widgets yet, but those seem well-suited to being in the browser instead of in some standalone app.

    Also, the development team is blogging. They’ve been releasing weekly snapshots, most of which have been great, leading up to this release. They’ll continue doing so going forward.

    Congratulations, guys!

    Tags: , , ,


    All video is suspect

    Filed under: — adam @ 10:18 am

    Fascinating movie about the process of making Marlon Brando speak new lines for Superman Returns.

    Remember when you first realized that everything you saw in a photo could be faked and you couldn’t tell the difference? It’s here for video too.

    Tags: , , , , , , , ,

    Testing different monitor calibration targets

    Filed under: — adam @ 8:53 am

    With the purchase of new monitors (see also, I noticed that I was getting really muddy blacks, even though I had the contrast set properly. Through some trial and error, I discovered that the Spyder2Pro I was using to calibrate was wiping out whatever changes I made to the contrast and brightness settings, and flattening about the lower fifth of the gradient curve to black.

    I discovered that I could alleviate this by calibrating to a different gamma/temperature target – I had been using the windows default of 2.2-6500K. Through some more trial and error, I found that the “right” balance seems to be 1.6-6400K – colors are still crisp, and I still get a good range of shadows. I think I may have thought that my old monitors had some limitations that they didn’t, and the calibration was at fault instead of the hardware.

    Have you experimented with different gamma/temperature targets? I know the mac defaults to 1.8-6500K, but when I tried that one, it was still way too dark in the shadows (testing on a 64-band gradient). 1.6-6400K looks great, but it seems like a weird number to end up at.

    Tags: , , ,


    Portrait monitors

    Filed under: — adam @ 4:46 pm

    After several years of a dual-head display, I made a similar leap today – dual-head portrait monitors. (I went from 1280×1024 landscape on each to 1200×1600 portrait). They’re slightly narrower physically than my old monitors, but much taller. lost 160 horizontal pixels, but I picked up 576 vertical ones, and that makes all the difference.

    They seem very tall – it’s REALLY nice to have that much vertical screen real estate, and I was missing being able to fill the screen with a page of text and have it be nearly the whole width of the screen.

    I can see how this might be a little awkward if you do a lot of gaming or video, but for document editing, web browsing, coding, and email, it’s great.

    [update: Here's a picture.]

    Tags: , , ,


    Paul McCartney is 64 today

    Filed under: — adam @ 5:19 pm

    Tags: , ,

    Upgraded to Wordpress 2.0.3

    Filed under: — adam @ 8:43 am

    Please let me know if you see any problems.


    Collected thoughts on the futility of online communities

    This is a long post collecting comments and thoughts from some emails and conversations with Britt Blaser, Doc Searls, and others. Some of this is from external impressions of the Dean campaign (I wasn’t involved, and I haven’t found a good postmortem), but also about my own participation in online communities and the lack of incentive that I often feel to do so.

    There is a huge untapped market for community software. There’s a lot of “community software” out there, and it all fails on the same key point – it’s all centered on the software itself (or more specifically, the website experience), and fundamentally, communities don’t happen in discussion groups or impersonal online participation. People come to a community like dailykos or metafilter or whatever, and they “join” the community, but those ties are fragile, and the experience of most participants is that they almost never extend to anything beyond participating in the online community itself. If you suddenly disappear, no one will come looking for you. This is not the same as an actual community.

    Reading isn’t participation in a community. Writing to the public isn’t participation in a community, and the fatal flaw of the existing approach is that the underlying assumption is that the collective act of reading and writing is equal to participation. This is especially misleading if the online community is supposed to be mirroring some sort of participation in the real world, like political involvement.

    The end result is exactly what we saw with the Dean campaign, as perceived by an outsider. Lots of “participation”, lots of “involvement”, but everybody sat around reading and writing and thinking that they were somehow involved, but when it came down to it, no one got up to vote.

    Now, actually, there’s a corollary problem here, which is that the online community itself, while very vocal, was also VERY bad at doing anything to engage anyone outside of the online community, because they spent all of their time reading and writing, and those activities, even as they fail to engage those inside the online community to action, COMPLETELY fail to engage anyone outside the online community.

    As I wrote the above, the universe graciously provided a perfect example to illustrate my point:,,1788774,00.html

    It’s an article about the futility of discussing things online, which has somehow accumulated an inordinate number of comments.

    I’ll pause for a moment while that sinks in.

    So, we have some problems to fix. Participation in the online community needs to have the following properties:

    1) It should be centered around activity that breaks out of the online community. This needn’t actually be physical meetings, although those are also good, but all actions must be classified as “inward” (aimed towards engaging with others in the online community) or “outward” (aimed towards engaging with other outside the online community). EVERY inward action must have a corresponding outward action. If it doesn’t, there’s already a name for this – it’s called “preaching to the choir”, and it’s the death of activism.

    2) It should allow and encourage those inside the online community to engage with each other temporarily to reinforce the commitments of those who are already involved, but all such actions should be considered subsidiary to engaging with others outside the online community. Think of this as the difference between vegetables (outward) and chocolate (inward). A little bit of the latter is very rewarding and tastes good, but if that’s all you eat, you get fat and die.

    3) It should allow those in the online community to evolve internally the mechanisms for accomplishing goals outside the online community. This may involve consensus building, electing representatives inside the online community, collaborative letter writing, legislation hashing, and so on.

    4) It must have a mechanism for elimination of cruft. Old ideas, bad ideas, unpopular ideas, and irrelevant ideas are all barriers to entry. The online community must be able to decide on what the salient points are, and delete the rest. I’ve had it with relativistic egalitarianism. There is such a thing as a bad idea, and they’re distracting and harmful. We need to create a marketplace where all ideas have an equal opportunity to flourish, but if they don’t, then let’s be done with them. Archive the discussion for posterity, and clear it out of the center of attention.

    It’s not enough to talk, communities must be a driver for action.

    Tags: , , , , , ,


    Google Government search

    I think it’s simultaneously good that Google is turning a watchful eye on the government, but also somewhat creepy that they’re putting themselves in the position of proxying people’s access to potentially sensitive information. I do NOT think that the Google privacy policy is sufficient to cover this situation.

    As many have predicted, this is also likely to expose some interesting accidentally unprotected things at some point in the future.

    Tags: , , ,


    Support local farms by joining a CSA program.

    Filed under: — adam @ 9:52 pm

    We finally got around to signing up for a CSA share this year.

    I strongly support the concept in principle – you buy a “share” of a small local sustainable farm, and in return you get a portion of the harvest every week (or two weeks, depending), for the duration of the growing season, which is usually June through October for NYC. For the one near us, this seems to be an assortment of about 7-10 vegetables plus 2-3 fruits (which are two separate shares). You have to go to the drop location to pick up.

    We picked up our first drop tonight. It was a bit sparse, but it’s still very early in the season and I expect that the volume will pick up over the summer.

    What we got this week:

    5 garlic scapes
    a small bunch of red radishes
    about a gallon ziploc bag of mesclun greens
    about a gallon ziploc bag of escarole
    about a gallon ziploc bag of spinach
    1 pint of sugar snap peas
    5 rhubarb stalks
    2 pints of strawberries

    We also got the fresh flower share, which was just a bunch of assorted flowers. For $6 a week, this is definitely cheaper than any florist around here.

    We ate the radishes and some strawberries tonight. The radishes were intensely peppery raw, but cooked up nicely braised with butter, balsamic vinegar and chicken stock. The strawberries are among the best I’ve ever had. Not yet prime of the season, and small, but again, very intensely flavored.

    Depending on whether the portion sizes increase, I suspect that the prices are going to be about equal to going to the farmer’s market, but I like the idea of supporting a farm directly. This is somewhat of an experiment; we’ll see how it goes.

    If you’re interested in this, it may not be too late to sign up, but do it ASAP. This is the NYC one; if you’re not in NYC, you might be able to find a local program by searching for CSA.

    Tags: , , , , ,


    NYC restaurant reviews organized by subway stop

    Filed under: — adam @ 8:43 am

    Tags: , , ,


    Software radio is here, and it’s open source

    Filed under: — adam @ 2:15 pm

    I’ve been talking about software radio for a while, and wondering when it would become cheap. Basically, all wireless devices are just radios of different kinds, and there’s no theoretical reason why one device couldn’t talk to them all. Except that it was prohibitively expensive, but apparently it’s not anymore.,70933-0.html

    This is very very cool.

    The software’s open source, and the hardware is cheap:

    Tags: , , ,


    The motivations of wiretapping

    Boingboing points out this Wired article about a reporter who crashed a conference of wiretapping providers, mentioning this quotation in particular:

    ‘He sneered again. “Do you think for a minute that Bush would let legal issues stop him from doing surveillance? He’s got to prevent a terrorist attack that everyone knows is coming. He’ll do absolutely anything he thinks is going to work. And so would you. So why are you bothering these guys?”‘

    It’s an interesting read, but I fundamentally disagree with the above statement, and this is the problem.

    It’s not the surveillance that bothers me, it’s the resistance to oversight, even after the fact.

    If there was any confidence that what they were doing was a reasonable tradeoff, they wouldn’t have to a) lie or b) break the law to do it. Yet they’ve done both of these things.

    If the law enforcement community said “well shit, we’re out of ideas about how to stop these people, and so we really need to have our computers read everyone’s email and tap everyone’s phones and we guarantee that this information won’t be used for anything else, and anyone we find doing something nefarious will be dealt with according to due process”, then we could, you know, engage in a meaningful discussion about this. And then we could move on to the fact that “terrorist” is not a useful designation for a criminal, and then maybe we could fire the people who thought up this brilliant idea and find someone who would practice actual security because wholesale surveillance and profiling have been widely debunked as largely useless for anything besides persecution, political attacks, and invasions of privacy.

    But we won’t, because that’s not what this is about.

    This opinion of a member of the Dutch National Police is particularly telling:

    ‘He said that in the Netherlands, communications intercept capabilities are advanced and well established, and yet, in practice, less problematic than in many other countries. “Our legal system is more transparent,” he said, “so we can do what we need to do without controversy. Transparency makes law enforcement easier, not more difficult.”

    The technology exists, it’s not going away, and it’s really not the problem. The secrecy is the problem.,71022-1.html

    Tags: , , ,

    Powered by WordPress