February 2007 Archives

better full-text RSS

Remember when I asked for help testing a script I'd written that turns partial-text RSS feeds into full-text ones? And it sort of sucked, but not entirely?

Well, I thought about it some more and came up with a way to significantly improve the algorithm. So I took another pass at it (improving the caching mechanism while I was at it) and I'm pretty happy with the results. But I'd like to test it some more before moving it to its final home. If you've got a partial-text feed that's been bugging you, please give it a try. And if it fails to work on any particular feeds, please let me know about them in comments.


UPDATE: Looks like the dates on the feeds produced by this tool are screwed up. I'll fix that soon.

Sommer's star turn

Internet veterans may remember the heady days of December of two-thousand and aught-six. In those days an inter-meme spread through the web, cutting down many a blogger in a flurry of third-party-prompted self-absorption. The theme? List five things that people don't know about you.

Pretty much everyone I know — myself included — was afflicted, but the most interesting response came from Sommer, who revealed that she had been an extra in the movie adaptation of Super Mario Brothers. In her comments, I immediately swore to find and download the film.

And I did! But editing the video to highlight Sommer's contributions proved to be tougher than I had expected. It turns out that Apple's consumer-level editing tools are great for making videos of, say, Steve Jobs' kids playing soccer, but are significantly less well-suited to highlighting your friend's performance in a confused early-nineties film adaptation of a popular videogame. I finally got the job done with Parallels and a couple of ugly but powerful (and free) Windows applications.

But before you click through to the video, let me set up the clip for you so as to best equip you to appreciate Sommer's performance. Cantankerous New York plumber Mario (Bob Hoskins) and his headstrong but well-meaning younger brother Luigi (John Leguizamo) were minding their own business... when they stumbled into a world beyond their imagination! Chasing after the kidnappers of a friend, the pair find themselves in the Mushroom Kingdom, a subterranean land and/or parallel dimension populated by human-like creatures of reptilian descent and ruled by the tyrannical King Koopa (Dennis Hopper). Koopa is determined to wage war on the human world and claim their plentiful natural resources. But how does the kidnapped Daisy (Samantha Mathis) fit into this fiendish plot? And — more to the point — how will Mario and Luigi save her?

The answer may lie with a mysterious woman in red (Francesca Roberts) and an even more enigmatic power crystal that she's come to possess. It is the singleminded pursuit of this crystal that drives Mario and Luigi in the scene.

As you watch it, consider Sommer's motivation. It's true that her character is unnamed, but in some respects this makes her role all the more universal and important. In a very real sense she represents the Mushroom Kingdom Everyman, living life under an oppressive regime that is all she's ever known. Despite her presumable ignorance of the human world, she must have a sense that something is deeply wrong with her own. The contradictions of a society technologically advanced enough to produce jump-boots yet unable to provide clean air and water are so profound that they will inevitably pervade its citizens' minds with dread, even as they — having never left their world's rotting subterranean embrace — can't quite name what's so desperately wrong, much less escape it. Instead, Sommer and her ilk are doomed — in a nearly Greek tragedian sense — to be storm-tossed by fate, unable to act even as powerful actors move through their midst (sometimes in the very same rooms!). All that she can do is seek panicked, choking respite in the grim, tomblike nightclubs of her dying world as she unknowingly waits for salvation — or the liberating release of death.

And, on a more Inside-The-Actor's-Studio sort of note, it's worth mentioning that the kidnapped Princess Daisy is played by Sommer's own sister. Immersed in the Method but still green to the trade and desperate to conceal sororial concern for someone that should be unknown to Sommer's own character, it's an understatement to say that the emotions at work within the young actress must have been heady and barely-tameable. It's a distinct privilege to watch their interplay over the course of her performance.

Finally, let me offer my apologies for the resolution of this clip — for now, it's the best that I could find. There's no mention of it on the webpage yet, but I can only assume that the Criterion Collection anamorphic DVD print is forthcoming.

bands you already like without knowing it

For all I know both of these bands may be blogospheric old news by now. But I'm really enjoying them, so here you go.

Do you like Architecture In Helskini but wish they were brattier, catchier and more British? Of course you do. So you'd better listen to this:

Los Campesinos – You! Me! Dancing!

And if you like Summerteeth-era Wilco, check out The Swimmers:

The Swimmers – It's Time They Knew

UPDATE: Fixed the link to the Swimmers mp3.

automatically using the coral cdn

You might've noticed that I hotlinked those mp3s, providing URLs that point directly at someone else's blog. This is normally considered pretty poor form — you're using up someone else's bandwidth without giving them any associated (and salable) web traffic. But in this case it's not quite so bad: I used the Coral CDN to make the links. That reduces the bandwidth that my visitors will be consuming from the other sites to a negligible amount. NYU picks up most of the bill (and is presumably happy to do so). I wrote a bit more about the Coral CDN here; you can find their explanation here. It's an extremely useful tool, and not just for excusing normally boorish behavior — if you have a large file on your own server, it can come in handy there, too.

The only downside is that it requires that users be able to send web traffic out on port 8090 8080, which is a slightly unusual requirement. It shouldn't be a problem for most people, but if someone's behind a restrictive corporate firewall, the Coral-ified link might make it impossible for them to get the file.

So to fix that I whipped up this Javascript. It attempts to load a small image (originating on this domain) over the Coral CDN. If it manages to, we know that the visitor can use port 8090 8080 and access the Coral system. If that condition is met, the script then replaces all the links on the page that go to big-seeming files with ones that use Coral ("big-seeming" is determined by the extension — mp3, mp4, mpg and avi are what the script looks for right now, but it's easy to adjust that). If the image doesn't load, the original link is left alone and will presumably still work for the poor firewalled visitor.

Here's the script:

<script type="text/javascript">
function CoralizeLinks()
{
	// modify the following line to adjust the extensions used by the function
	var EXTENSION_MATCH_RE = new RegExp('\.(mp3|avi|mpg|mp4)$','i');
	
	var x = new Image();
	x.src = 'http://www.manifestdensity.net.nyud.net:8080/coral-test.gif';
	x.onload = function() 
	{ 
		var domain = location.href.replace(/http:\/\//i,'').replace(/\/.*$/,'');
		var links = document.getElementsByTagName('a')
		for(var i=0;i<links.length;i++) 
		{	
			if((links[i].href.match(EXTENSION_MATCH_RE))&&(!(links[i].href.match(/\.nyud\.net:80[89]0/i))))
			{
				if(links[i].href.match(/^http:\/\//i))
					links[i].href = links[i].href.replace(/http:\/\/(.*?)\/(.*)$/i,'http://$1.nyud.net:8080/$2');
				else if(links[i].href.match(/^\//))
					links[i].href = 'http://' + domain + '.nyud.net:8080' + links[i].href;
				else
					links[i].href = location.href.replace(/\/[^\/]+$/,'/').replace(domain,(domain+'.nyud.net:8080')) + links[i].href;
			}
		}
	};
}
</script>

To use it on your page just save the file as "coralize.js" and upload it to your webserver. Add this to your template's <head> section:

<script type="text/javascript" src="/path/to/coralize.js"></script>

And modify your <body> tag like so:

<body onload="CoralizeLinks()">

There you go.

And, on an unrelated note, Peyton Manning's dad just said he sent his son a pre-game text message saying how proud he was. It's the future, even for old people!

UPDATE: Looks like Coral switched to using port 8080 instead of 8090 a while ago (I have no idea why — they say they're going to start using port 80 "as soon as possible"). Port 8090 appears to still work, but I've updated the script anyway. Also, the Coral people appear to use the verb "coralize" instead of "coralify", and I've adjusted the script to reflect that, too.

smysteries revealed

Somebody emailed me for help setting up an SMS service, and I ended up spewing out enough words that I thought I might as well commit them to the web. If you want to do something cool and techy with SMS, here are the options that I know of:

  • You could buy a shortcode and SMS service from a vendor like Clickatel, then interface with their API. That'd run you around $1000 a month, plus $2k to get it set up (and usage fees). It's how the pros do it, but I imagine it's overkill for your purposes. Let's move on.
  • You could make a setup like LastCall, which uses an open source project called Gammu, a cracked-screen Nokia from ebay, an unlimited SMS plan from T-Mobile and a surprisingly hard-to-get-working phone » serial cable (it took me months to find one that would work under Linux). A bunch of perl scripts (and a little Python) powers it all. I wanted to do this for various reasons, but it ended up taking me months and was a huge pain in the ass. If your application is going to be simpler, I would advise against it.
  • You could use the MOZES service. This is a shared shortcode that provides an API (which is somewhat poorly-documented, as of the last time I checked). You pick a keyword and can use it for a certain number of messages. When you text the keyword followed by a command to the shortcode MOZES it can integrate with your MOZES account in various ways — one of them is to trigger scripts that you've written and which use the MOZES API. This is probably the most accessible way to start using real SMS service. You could probably do something similar with Twitter, too (and without the account running out of messages), but that's not what Twitter is designed for and they might shut you down.
  • Finally, you could simply rely on the carriers' SMS-to-email gateways, which work pretty well. This is what traincheck.com does. It's easy to get a cheap webhost, hook it up to a domain, then create an email address that forwards incoming mail to a PHP, Perl or Python (or whatever else) script (PHP tends to generate bounce messages unless you vigorously suppress every line's output — I'd suggest one of the other two, if they're all the same to you). The only downside here is that the wireless carriers will eventually shut you down if your service becomes heavily-used. But if you just want to automate some part of your and/or your friends' lives with SMS, then this is simple, easy, cheap and works on nearly all phones.

we love to build

Holy crap. That Swimmers album is better than I'd expected — is it too early to start nominating candidates for Album of the Summer? The last few years' poor, belated crops of AoTSes makes me think that it'd best to get way out ahead of this thing. Anyway, you can listen to the whole album over at their website. I particularly like "We Love To Build" and "St. Cecilia".

Relatedly, thanks to their use of the XSPF player the following super-nerdy* command is possible. I normally wouldn't post it, but I think it's the first time I ever actually got sed to do what I wanted.

wget -q -O - http://theswimmers.com/player/playlist.xspf | sed -e '/annotation/d' -e '/playlist/d' -e '/track/d' -e '/encoding/d' -e 's/<\/*location>//g' | xargs wget

A similar technique should be possible with the Hype Machine, but their failure to use line breaks in their XSPF files makes the regex composition a bit harder, so I haven't bothered to figure it out yet.

* Admittedly, it's not even close to being as nerdy as this, which is awesome (via Miller's del.icio.us feed).

to touch the face of deliciousness

photo of a delicious-looking corndog and some tongsWhy yes, I do own a deep fryer. It's so sweet of you to notice!

I finally decided that this was the year to take the metaphorical plunge into boiling grease. For the past few Superbowls — sorry, "Big Games" — I've made buffalo wings the godawful way: deep-frying chicken wings in a pot full of peanut oil, then tossing them with a delicious mixture of butter and Texas Pete.

Although the wings usually turned out well, the process of making them was always disastrous. A combination of personal impatience, chicken wing frozen-ness and the laws of nature's unpleasant inflexibility generally resulted in a roiling mass of steam and oil clambering out of the pot and spreading itself in a thin layer over every surface in my kitchen. It was disgusting, hard to clean up, and seemed likely to eventually result in a trip to the hospital.

This, combined with Emily's sudden realization that she had a life-long aspiration to make corndogs, led us to Target last Saturday, where we considered their various deep-frying options. Most of the available fryers failed to inspire confidence. At the low-end of the market sat the chintzy Asian models, which looked like and probably were simple rice cookers with various important safety features removed. Their control dials also turned alarmingly freely, making it seem unlikely that they were connected to anything at all. At the other end of the market stood a much more expensive but even-chintzier American fryer. This one had the classic-looking rectangular basket and some impressively substantial knobs. But the rest of the device seemed pretty crappily made, like poorly-considered component of a PlaySkool fast-food-themed set of toys that had been hastily recalled, rebadged and resold.

That left just one remaining option, which was a little bit of a gamble since there was no display model. But ultimately the Friteuse En Huile Profonde seemed like the best idea. "They were right about Iraq, after all," I thought. "Maybe they'll be right about frying, too."

Sadly, upon returning home we discovered that the fryer was actually Canadian in origin. Other deficiencies became apparent, too: there was no temperature control, leaving aspiring fryers just one setting ("poutine") with which to work.

But overall the device didn't disappoint. We made some french fries and they were good (although not as crispy as would've been ideal). Then we trekked over to the flophouse for the Superbowl and made some corndogs and wings. The corndogs were a huge success, but the wings were a little lacking — I didn't fry them as long as I should've, and the result was slightly soggy. Also, they left the wires of the frying basket covered in a disconcerting brown substance. It's probably just miscellaneous chicken gunk (their souls, maybe?), but it could also be that Giant adds chemicals to their chicken wings ("18% broth by volume!") that can induce stainless steel to rust.

Unfortunately, that's all the frying I've done since making the purchase. The oil was still too hot at the game's conclusion for the fryer to be moved. Besides, Spencer expressed some interest in becoming the fryer's foster father. It's for the best — as a single parent, I simply couldn't provide the sort of environment where a deep-fat fryer could really blossom. It'll ultimately be better off residing in a household where a lot of people care deeply for it — and don't mind every item they own smelling like french fries.

this is a seriously big deal

I know that most of my tech posts are completely inscrutable to normal humans. But do me a favor and go read this O'Reilly Radar post. I frequently disagree with the level of import that O'Reilly assigns to various web developments, but I actually think he's sort of on the money when he says that "Yahoo!'s new Pipes service is a milestone in the history of the internet." And I haven't even been drinking! Much!

It really is pretty cool. It's a drag and drop interface that lets you perform various web-mashup-y tasks. You can't do anything new with it, but you can do a lot of things much more easily — and with free hosting to boot. This puts the power of the customized web into the hands of everyone.

Here's an example. Let's say that I want to keep tabs on Kriston with just one unified RSS feed. I fire up the Pipes interface, drag a URL-fetching object into the workspace and add the RSS feeds for Grammar.police, Eye Level and FreeRide. I drag in a filter object and draw a connection between the URL Fetcher and plug it into the Filter. Then I set the filter to only allow items where the word "kriston" shows up in either of the author fields (a quirk of different RSS formats) or the description field (where the text of the entries lies). Then I draw a link from the Filter to the output. Presto! I now have a unified Kriston feed.

But suppose that I feel that this combined stream of art criticism is too accessible to the rabble. I can go back to my workspace and drag a Babelfish object into it, placing it in between the filter and output blocks. I select the desired languages et voila: Kriston's collective output is now available as an RSS feed en Francais.

And this is just relatively simple RSS stuff. You can get into querystring parameters, different data sources, string parsing and control structures like if..then blocks and for loops. I've only scratched the surface.

There are two downsides, though. First, as O'Reilly mentions, there are some bugs — the interface doesn't work completely predictably. I had to highlight the filter box in order for it to fully populate the dropdown of filterable fields, and the babelfish module seems to miss some of the entries it's sent. Second, it's currently broken: it appears that the whole thing crashed shortly after I played with it (which was very soon after the O'Reilly post). Who knows if it'll ultimately scale. I hope they get things fixed soon, but a framework as powerful as this is likely on the verge of collapsing under its own complexity. I wouldn't count on the kinks being worked out in a particularly expedient manner.

it's kind of like a spanish vampire

It's true that I'm not much of an expert in these matters. Still, I feel confident in saying that the announcer's allegedly-Mexican accent in this Taco Bell commercial is astoundingly fake:

Maybe I'm wrong, but it seems pretty inauthentic to me. Like, Mind of Mencia inauthentic.

music things

I watched some of the Grammies last night, but I think I repressed everything that happened after the Eagles tribute. So it comes as an unpleasant shock to hear from Amanda that "My Humps" won an award last night. I can't say that I ever expected to feel indignant sympathy for the Pussycast Dolls, but there it is.

I know, I know. It's the Grammies. It's supposed to be arbitrary and stupid. Still, there's something that's off-putting about an entity of pure evil receiving official recognition, no matter how dubious the honor. What if Mein Kampf was selected for Oprah's Book Club? That wouldn't sit right with you, would it?

And so it is with "My Humps". I'm trying to think of what sort of song I would have preferred to see the Best Pop Song Grammy go to instead, and I'm having a hard time coming up with one that doesn't qualify. Maybe an hours-long recording of a girl scout troop's pathetic sobs as its members are forced to euthanize hundreds of baby animals with rubber mallets? It's hard to say. Are we talking about farm animals or pet animals? I guess that's where the line falls for me.


On to Arcade Fire-related matters. TUL is, as usual, on top of the concert situation in DC (as is Charles, from whom I first heard this rumor last night). But the news he brings is not good: word is that The Arcade Fire are coming to town, but they'll be setting up shop in DAR.

I really hope this is wrong. DAR is for old people. There are seats and risers and carpeted floors. I'm sure it'd be a lovely spot for Glenn Miller show, but it's a miserable venue for a rock concert. I realize that two nights at 9:30 is a lot to ask from a band that's as hot a ticket as TAF, but I'd honestly rather have the band play out at George Mason than at DAR.

Oh well. At least the album is good. I was prepared to be disappointed after hearing the three leaked tracks that I grabbed before a friend sent me the full thing. "Black Mirror", "Black Wave" and "Intervention" were all okay, but they didn't affect me in the way that Funeral did. Fortunately, the second half of the album seems much, much better to me. "Ocean of Noise", "The Well and the Lighthouse", "(Antichrist Television Blues)", "Windowsill" and "No Cars Go" comprise a solid block of music that I can't stop listening to.

"No Cars Go" is a particularly pleasant surprise — I hadn't paid attention to the Neon Bible tracklists, so the inclusion of the track caught me off-guard. They've been playing the song for a long time (it was on their first album) but until now I haven't been able to find a good recording. The first studio version wasn't performed or produced very well, and a series of muddy live recordings didn't satisfy, either.

But now we've got a real version, and it's unbelievably huge, overwhelming and, frankly, kind of exhausting to listen to. But it's still great, because it reminds you that during the live show it'll be even bigger. It'll be the biggest thing you've ever heard.

UPDATE: Yup, DAR. Hell. Well, maybe I can catch the Philly show.

did everybody wash their necks like Mr. Burns asked?

On the way into work this morning I saw a large, gaily-decorated RV with nurses inside of it. It was, of course, a blood donation van — a bloodmobile. More specifically, it was the Children's Bloodmobile:

I had always assumed that the "Children's" in the title stood for Children's Hospital. But if that's the case, is it just coincidence that the bloodmobile was parked outside of a K-12 charter school?

photo of a children's bloodmobile parked directly outside of a charter school

Is that "children's" a proper noun or an adjective? It might be time to read up on how charter schools get their funding.

you know a band is hot

...when it's making its way into email spam. Forget Google — this is the real measure of the online zeitgeist.

screengrab of my inbox, featuring a spam message sent by 'the arcade fire'

everything's terrible

Man, what a lousy start to the morning. To be fair, any morning that starts at 2:30 is probably going to be fairly crappy, but this one has some real staying power. I was awakened by a tap-tap-tapping on my chamber door. The last time this happened it was a cop who wanted to explain that he'd chased a suspect into my garage. Based on that experience it seemed like it was worth getting up. This time it was just my neighbor, who swept into the apartment and started fiddling with our thermostat. Apparently something in the building was vibrating annoyingly, and, as irresponsible young renters, Charles and I seemed like the sort of people who might ignore a problem until it involved shrapnel and scalding.

But it turned out that it wasn't our furnace at all — it was blowing its usual stream of frigid air throughout the nighttime apartment as reliably as ever. This happens every time it snows — the heat pump can't produce air hot enough to meet our modest-yet-optimistic thermostat setting, so the system just tries blowing the cold air faster in order to make up the difference. I appreciate the effort, but it's not much help.

The other annoyances have been more minor. There was the slog to work through unsalted sidewalks — well, except for the American Chemical Association's stretch of pavement, which is always immaculately clear (but also seems likely to be highly carcinogenic). And LastCall is throwing a fit, requiring me to shut it down until I can locate a nasty bug and quash it.

But the biggest letdown is that our company sexual harassment training — which, yes, was scheduled for Valentine's Day — has been rescheduled due to the winter weather. I'm pretty bummed out; I had gone to a lot of effort separating candy hearts into "workplace-safe" and "unacceptably sexual" piles.

valentine's candy hearts sorted into 'acceptable' and 'unacceptable' piles
the aforementioned hearts separated into ziploc bags

Some of these were judgment calls: "my boy" was on the line, but its assertion of possession (and racist undertones) ultimately led me to give it the axe. Similarly, "dare ya" seemed fairly non-sexual, but was discarded due to the high odds that it would set events in motion that could lead to worker's comp claims. But most of the objectionable hearts were easy to spot. "Kiss me"? "So fine"? You'd be astounded at the filth that Brach's gets away with.

As for the rest of the day... well, I'm not optimistic. The high availability of candy hearts in my workplace makes it likely that I'm going to be feeling very sick by the time I head home.

UPDATE: The stupid cafe around the corner forgot to put stupid dolmadas in my stupid carryout Greek salad. I hate this universe.

rock show!

Well, I'm 27. 26 was a fairly traumatic year, but I'm sorry to leave it behind — it seemed like a pretty good age to be. But I've still got over a thousand days until the crystal in my left palm turns black, so I'm not really upset at marking this year off the calendar.

I'm still sort of apathetic about the whole birthday observance ritual, though. So instead of trying to guilt you all into celebrating the anniversary of my glorious birth, I think I'll just try to guilt you into coming to this:

unbuckled flyer

I'm confident that it'll be great.

In other news, it appears that the song on the new Arcade Fire CD that's my current favorite is actually about what a jerk Jessica Simpson's dad is. That makes me like it even more.

a belated valentine

I haven't put anything up since then, but better late than never: thanks to everyone who came out to Unbuckled on Thursday, especially those who bought me birthday drinks. I can't think of any way I would've rather celebrated — it was great.

And thanks & congratulations to Kyle and Amanda for putting the concert together. I'm consistently amazed that people I know manage to put together such great rock shows. Their ability to identify bands at the sweet spot between popularity and bookability; get people in the door; make them feel like they got their money's worth; and have the bands leave happy — well, it's impressive. And for sub-$10 shows, it's surprisingly rare.

superheroics

Saturday night was astoundingly great. Earlier in the week Josh asked me if I might like to dress up like a superhero and stand around an Arlington TV studio for a few hours. Clearly the answer was yes.

So two nights ago Emily and I joined Josh and Lindsay at Galaxy Hut before heading a few doors down to channel 69 to be extras in the next episode of Defenders of Stan.

Getting a bunch of people dressed up like superheroes is an excellent way to start an evening. And Arlington's small-world tendencies made the evening even better: Hemal and her sister Payal were there, and I was pleasantly surprised to see HT in a jaunty cape — I've known the guy off and on since taking computer classes at the Career Center together, where he and I acquired the advanced Applesoft BASIC skills that eventually led him to work with my friend Jon. Like I said, Arlington's a small world. A small, inbred world.

The shoot was pretty fun, particularly since Josh made an in-costume run to Whole Foods for beer. After things wrapped up we tried to head back to Galaxy Hut, but they looked a little crowded and were charging a cover. So Josh continued his streak of real-life heroism and drove us all into the city to meet up with folks at Townhouse. I stopped taking photos at that point; Kriston's photostream picks up the story from there.

But here are the shots I did get:

whine, whine, whine

Sick days: not as bad as they could be. It's true that I still sort of feel like I'm breathing through a tiny, phlegmy drinking straw. But there's a lot to be said for spending a day in your pajamas a scant few feet from a chocolate cake. Plus I got kind of a lot of work done. It's really made me miss the heady days of telecommuting to my considerably stupider but also more hygiene-optional last job.

But all's not well in the world. I'll issue this qualification: I really like the stuff that BYT/Garutachi is doing — seems decidedly too cool for the likes of me, but I'm glad there's a distinct party scene in this city that's concerned with things other than date rape and boat shoes. Still, I wasn't pleased to see this. I find it extremely depressing that the only thing still keeping DC safely out of Blue States Lose eligibility is the fact that we're not a state.

another triumphant return

So look, cut me some slack. It's been a rough week: between work trauma and being sick enough to miss a full day of work for the first time in I don't know how long, this wasn't very bloggy week for me. Well, not here, anyway; I was happy to pursue titillating inquiries into American Idol contestants over at DCist.

I did manage to fail to implement a cool webcam thing I was working on, as well as managing to not get Arcade Fire tickets (iCal reminders don't work, apparently). I know, quite a week.

But I didn't just sit around complaining! I did other things, too. Ever since Jeff told me that my beloved zinc tables were probably destroying my brain I've been looking for a new pseudoscientific way to recover from colds. But nothing plausible and affordable had come along, and I was ill again — I found myself lowering my standards. I was getting sicker and more suggestible by the day.

That's when I heard this NPR report. Nasal irrigation? Sure! Why not?

dr. somethingorother's nasal rinse

So yes, the deal is that you squirt warm, salty water up your nose. And yes, I realize that this may seem kind of embarrassing and gross. But the NPR people made it sound great! I was convinced that if I took this one simple step I would feel refreshed and recovered; have a more resonant, stentorian voice; and might attain a new level of consciousness and/or be able to shoot bolts of energy from my fingertips. It'd be like Scientology, except available at CVS. At the very least I wouldn't have to sniffle and sneeze quite as much. That was the hope, anyway. But you don't have to take my word for these incredible benefits — just look how happy the girl on the box is:

a young girl with a nasal rinse bottle jammed up her nose.  she seems happy

Well, I tried it. The actual experience was less unpleasant than you might expect. But aside from the fulfillment of that promise, it's a total crock. I didn't feel any better immediately afterward, and the next day things had actually gotten quite a bit worse. Maybe I should have taken the box's entreaties that I boil the District's tap water a bit more seriously.

Anyway, it may be unrelated, but I currently have no sense of smell. It's a little weird — I can breathe perfectly normally, but I can't smell anything at all. Waving a bottle of scotch under my nose produces absolutely no effect, and I was only able to tell that I was in a smoky bar by virtue of my watering eyes.

I'm confident that my sense of smell will eventually come back, but for now it's sort of neat to be working solely off of my sense of taste. Things are salty, sweet, sour or bitter, and that's about it. Food's a little boring, but the cheapest booze at a bar now tastes the same as top shelf. Call it a wash.

boo

Sue signs off. This is entirely unacceptable. I can deal with blogospheric neglect, but not its formalization. But if this is the way it's going to be, I'll at least console myself by indulging in a blogubituary.

Out of everyone in our little corner of the internet, I'd say that Susan managed to get closest to the dignified end of the quality–quantity continuum. But that's not to imply that I think we're playing in a zero-sum game, or on a level field. Do the math and you'll see that Sue could have pretty clearly become an blogospheric titan if only she'd cared to. But reading her site always left me feeling like she was writing it more out of an obligation to her talents than because she loved the medium (and the egocentric gratification it provides). She seemed like some foreign basketball prodigy swept out of rural obscurity and compelled to play a game that her heart wasn't in. If that analogy seems strained, consider that Susan is in fact quite tall.

I remain optimistic that this departure isn't permanent, or is perhaps just being made in favor of more pseudonymous pastures. Either way, do yourself a favor and go page through some archives.

so here's something kind of fun

I've been screwing around with Processing's video capabilities ever since doing a demo on it during out tech meeting at work a few weeks ago. It's pretty neat, and getting all the neater with the sudden ubiquity of iSight cameras.

I initially thought that there was a somewhat glaring security hole to all of this that would potentially allow a website operator to take snapshots of users without them noticing. Turns out that's not the case: an applet has to be signed in order for the camera libraries to work in a web browser. That means it either needs to come from a very trusted source (say, Sun Microsystems) or the user has to sign off on a security warning.

But even without the potential for sneakiness, this is still pretty neat. Here's a first pass at it that I thought I might as well post online. It's a pretty simple tech demo — it just distorts your image in a fun way. But the potential of the technology is amazing, mostly by virtue of how amazingly accessible it is. If you've got a webcam, click on the image below and say "ok" to the security warning. And don't worry: this applet doesn't send your picture anywhere. That'll be coming in a future blog post (and yes, I'll warn you).

I'm pretty confident that this works OK on Macs, but things may be dicier on Windows. When it comes to Java stuff there's always a chance of unexpected browser crashing, so please don't leave anything important unsaved in any of your other tabs.

click here to launch the applet

the fruits of our labors

title graphic from the fifth episode of Defenders of StanThe episode of Defenders of Stan in which I, Emily, Hemal and two mysterious strangers got to be extras is now online.

I had planned another round of deluxe video labeling, but given the way they cut it I don't think it's really worth the effort.

If you haven't seen any episodes of DoS before, I'd suggest episode 4 as its current pinnacle so far (although you may need the exposition of episode 1 to figure out what the hell is going on). That's not to take anything away from the recent episode and its formidable star power, but the fact that I heard bits and pieces of a lot of the jokes during filming makes it seem a bit less funny to me than the others.

making a difference

graphic for kriston's campaign to get the nytimes to get rid of their stupid double-click functionalityKriston's on to something here. People don't want websites to make their browsers work in radically different ways than they normally do. Or at least they don't want them to when everything else seems to be normal. This NYTimes behavior is almost as irritating as the snap.com preview windows that now pop up by default on every wordpress.com blog.

I imagine that the folks at the Times will come to their senses. But to me the most remarkable part of all of this isn't the stupidity of the "feature" — it's how many people seem to share my affliction. I thought I was the only one who constantly highlighted and rehighlighted text while reading things on the web. But no! It seems that Kriston, Spencer and Ogged all suffer the same compulsion. And who knows how many more suffer in silence? Man. It just feels good to talk about it.

Actually, though, I'm not sure whether I can still count myself among their ranks. I don't remember performing the highlighting tic recently. But I honestly couldn't say whether that's because I've gotten out of the habit or because it's now so automatic for me that I don't notice myself doing it.

living up to this blog's name

picture of some gold rush prospectors

So, I suppose I should have mentioned this earlier, but I'm on the verge of a delirious Western adventure. First! A week of vacation in California. Emily and I are headed to the bay area to hang out with Jeff, Marie, Chris, Paul, Jon, my aunt & uncle, and the hippies, weirdos, fortune-seekers and drug addicts that power the world's seventh-largest economy.

Second! It's back home via Austin, where we'll rejoin the EchoDitto crew at SXSW Interactive for some good old-fashioned internet fun. Needless to say if any readers, lurkers or inter-friends will be in either area you should send me an email. If you don't have my address, send a blank message to tom@[this domain] to get the real one sent to you (consider it an experiment in spammer-foiling).