Business Card: bowen@dwelle.org
Smoothbeats.com
KALX Berkeley    WSUM radio

WFMU radio

Funny, in this month’s Wired, there’s a story about a programmer who’s building a house. He says something like “building a house is just as much an act of creation as programming.” Wow. For most people, that wouldn’t have been a surprise, but I know how it can be. Nontech people simply don’t have any idea what it’s like to spend most of your day in the matrix, and they have a hard time understanding just how creative it is. On the other hand, I left the software business for urban design because it wasn’t (ahem) concrete enough.

I’ve been meaning to do this for a while… Paid up my $90.30 for a KEXP membership. Since they’re a nonprofit affiliated with the University of Washington, it’s tax deductible — and I get a cool hat. Yes, I know it will not make me look any younger. Internet radio (and secondarily, easynews, thanks Veen) has changed my music listening habits entirely. That is, I actually listen to new music now, because I can tune into incredible stations like KEXP, smoothbeats, and Radio Tango no matter where they (or I) happen to be, and find out about all sorts of new, cool music. Sure, free things are great, but I think that people are ready and willing to pay for things they get real value from, and I’m happy to sling these sites a few bucks for all the work they do. I also support tinyapps.org.

Great: a review of a review of a review of an academic text. And now I’ve added fuel to the fire. Burn some books today!

“In Language Log a few days ago, Mark Liberman recommended Peter Culicover’s review of Huddleston & Pullum’s Cambridge Grammar of the English Language (CGEL). I’ve just read the review, and I agree.” (from Fresh Tracks, via Language Log)

Gee whiz, Fernando, we’re glad you do.

I wanted easier access to my delicious links inside Opera, so I hacked up a “panel” that shows my *perm links in a DHTML drop down menu. My php grabs my links via the API, does what I want in terms of finding *perm tagged links and grouping them by tag, and then feeds them into a DTML menu setup that I grabbed from DHTMLCentral. Here’s the result, one hour later. Pretty slick, if you ask me ;)

Got my CD’s from theory 8 reconds today, listening to Apollo Up — these guys crank! The guitar tone is along the lines of No Means No / Fugazi, and they’ve got a bit of the Mermen in there too.

Last night I went to see Tim Kent, who just completed the Around Alone singlehanded round-the-world race on his second-hand open 50, Everest Horizontal. Great stories. Sunday night was the Banff Mountain Film Festival — also some great stuff!

In anticipation of my new camera phone, I spent the morning hacking in moblog support to my Mail::Audit setup. Using pop2blog as a starting point, I hacked out the bits that spin through a POP mailbox (since Mail::Audit sits directly on my inbound IMAP feed). Now, thanks to Mail::Audit and Net::Blogger, I can post to MT directly from email (and therefore, from a phone). Attached images get stored off and fed back as img src into the post. I know everyone else is doing this with moblog services, etc, but I wanted to do it myself, and integrate with Mail::Audit. Others have done this as well.
(more…)

Apr 24

Microsoft is losing… I’ve been using Opera now for months, and I only use IE for a few sites that misbehave. I got so sick of Outlook’s UI and flaky IMAP sent-mail handling that I went on an mua search a while back, and now I’ve been using Mozilla Thunderbird now for a while. It’s solid, the UI is clean, it has good (and customizable) keyboard shortcuts, and IMAP works reliably. The only thing I still use Outlook for is contacts, calendar and task list. Outlook’s calendar and task list are actually pretty good, but what I’d really like is an app that would replace those functions, integrate with Thunderbird, and also make my PIM data available online automatically. Anyone?

I spent the entire day today building the scow pier for Hoofers. Driving the crane barge and running a team of volunteers to lay steel girders and decking out into the lake so I can sail next weekend! It feels great to do physical work, and building that pier required a good bit of problem-solving and finesse with the outboard. Reminded me a bit of the old shipyard days. Good stuff.

Veen mentioned cycling in the rain the other day — I think the same day that I rode home from school in the rain myself. I’m trying to be more of a bicycle commuter — and yes, I probably look like a dork with my fenders and clip-on briefcase, but again the physical activity feels good. I actually find myself wishing that I lived a little farther from school & work, because it’s not really far enough to make for a real ride. It’s quick & convenient, but when I get going, I wouldn’t mind going a bit farther.

A follow-up note on my last post: really, formal ontologies have always seemed largely a waste of time. Most efforts to classify information fail to add more value than they cost to produce and maintain, not to mention the friction they introduce in terms of spurious classification. I think that a lot of the reason that ontologies (e.g. email folders, the “open directory”, Yahoo’s categories) have seemed so important in the past was the lack of robust immediate search functionality. An ontology is essentially an attempt at an index of a summary of the whole body of information. That summary is only required when you can’t efficiently index the information directly. With search like Google and mail tools like Opera’s M2, you don’t need to introduce a layer of categorization to find what you’re looking for — you simply search for the original content. With the need to categorize for the purpose of summarization eliminated, we can now use “categories” to add meaning in a social context, which is what del.icio.us does.

I had an idea for a del.icio.us-style app last night… One thing del.icio.us lets you do is discover who happens to have the same taste/interests in webstuff; its main facts are people and URL’s, and you can pivot on either. I think it might be interesting to do this in a more product-focused way… Ever want to know who other listeners of your favorite but obscure radio station are? Or the digital camera that love? Or your favorite book, booze, or band? You could see who else has the same del.icio.us bookmark, but a service designed specifically to let you affiliate yourself with specific products might work better. Or maybe it’s the same thing. Thoughts?

Looking through the language tags on del.icio.us, I ran across the the Plain English Campaign… Timely because I just had a very lengthy discussion with a business associate about the value of being purposefully imprecise. He was arguing that we should use a phrase like “coming under the wing” to describe a partnership, so that it could be interpreted in different ways in different contexts. To me, that just seems plain wrong. Why say something that pretends to explain a relationship, when the statement creates more questions than answers? (i.e. what in the world do you mean by ‘coming under the wing’ ?!?) Why oh why! would we want to use such a meaningless phrase, when we could just say what we mean? Just say it. I think I convinced him. Stay tuned.

There was a piece in The Isthumus (Madison’s free weekly) this morning speaking against an ongoing effort to get a light rail system built here in Madtown. The author noted that well-designed express bus service (aka Bus Rapid Transit) can do everything light rail can do, and serve the same ridership for an order of magnitude less cost. I agree. Trains are sexy, but if you can make a bus look and act like a train, and it costs 10x less, there’s no argument.

A detailed review of the latest Nokia that I have been thinking I want finally came out, and it backs up my statements the other day about Nokia falling behind. I love their UI, but if this is best they can do, I’m going to keep looking. Anyone seen the Sharp GX32?

Now that I get CSS (yeah, I know), I cleaned up admonsters.org a bit. In the process I came across a use for mod_rewrite, which we used way too much back in 1997. I also cooked up megaultradelicious.php, which produces what you see on the right side of this page. It makes use of a *perm tag to segregate permanent (or persistent) links from transient ones, and also shows you categories. The code isn’t pretty, but del.icio.us is a work in progress, and so the underlying data architecture leaves some things to be desired.

Speaking of data architecture, I came across a paper by Terrence A. Brooks wherein the author notes how applications like Google are changing the nature of meaning. He writes that meaning — or perhaps moreso, truth — used to be largely established by the “assertion of a trusted individual” — a scientist, for example. It seems to me that in the past, the friction (cost) associated with making an assertion widely known was sufficient to limit the number of assertions that have to be evaluated. In this far more connected age, however, the opportunity cost of asserting something is much lower, meaning that applications like Google have to specifically distrust individual assertions in favor of attempting to judge aggregate assertions. The author describes this as a “lawless meaning space,” and I think it has something do with rules, but more to do with cost.

Interestingly, I found this paper by way of delicious, and of course before long was reminded yet again that everything is connected. Joshua Schachter, the author of delicious, was talking about data architecture (of all things!) and he noted that

“…relying on explanations of phenomena (naming the ontology) will be deeply susceptable to bias and other problems, whereas relying directly on the phenomena (the fact that a bunch of related urls have the same tag, and not really caring what the tag is called) is more important.”

If you think about it briefly, you’ll realize that this is exactly the same point that Brooks makes in his paper. I agree wholeheartedly — I always had a problem with Yet Another Arbitrary Ontology. This is of course the basis of the power of social software — the idea that there’s more truth in what many people say than in just what I say.

There, I said it. It must be true.

Procrastinating again… I thought it would be nice to learn CSS positioning, and get rid of the decidedly old-skool tables on this page. 2 hours later, voila! I looked around at a few sites, and eventually found the examples I was looking for on glish. I also found this BrainJar article on CSS positioning and Taylor’s old Intro to CSS Positioning very helpful.

Of course, what I wanted was a little different, but in the end I got it working. The right column is fixed at 420px to accomodate the 400px wide photo. This column is absolute positioned 10px off the right edge of the page. Normally you’d think of the left column as coming first, and it does, but it’s positioning is essentially dependent, in that it simply flows into whatever space remains on the left side of the page, once 420px is taken by the right column. The left column does not use absolute positioning. In the end, the css is really simple — a hell of a lot simpler than the table tags it replaces.

Of course, there’s probably a better way to do this. Lastly, thanks to howtocreate.co.uk for providing an example that lets me prevent img hrefs from taking a hover style. Finally!

I recently discovered delicious (where? if only I could remember now), and then spent the past 48 hours avoiding academia and learning php.

First I tried the HTML output; parsing that is messy, but works. The result was delicious.php. The API output is more complete and easier to parse. Being an old school perl hacker, I used regexps, leading to verydelicious.php. Then I discovered the RSS output and found that parsing that with MagpieRSS is trivially easy. That led to magpie.php.

Unfortunately, the RSS doesn’t have the API’s options (count= ,etc), and the API outputs plain XML, not RSS, so magpie doesn’t like it. So for an hour or two I was pretty happy with parsing the API output with regexps in superdelicious.php.

And then, of course I found DeliciousPHP, which handles all the XML parsing and replaces all my ugly parsing with two little lines of code. And thus: ultradelicious.php.

So… what about a “sticky” flag to make some bookmarks non-date sensitive? Or a “private” flag?

More ideas later… thanks again Josh, and Dusty.