Swimming with the Razorfishes

Saturday, December 10, 2005

No, No

Oh, God. Make it stop. Do not click that link.


The New York Times has a nice article on Ellis, the guy who does chalk tracings in Brooklyn.

I'd like to disagree with the Times, though. He does them in Cobble Hill, not Carrol Gardens.

Friday, December 09, 2005




"Existing CMOS sensors can record light 1,000 times brighter than their dimmest detectable light, a dynamic range of 1:1,000, while the Rochester technology already demonstrates a dynamic range of 1:100,000."



click for high-res

Thursday, December 08, 2005


I want to move somewhere and live with no furniture.


The more I do this software stuff, the more I think that managing project complexity is one of the keys to consistent success.

  • Maintaining documentation at appropriate levels of specificity and organized logically. Good docs help you functionally understand the system at multiple levels. It should be obvious that, if you don't understand the system, you'll write some bad software.
  • Using use cases, XP stories, or some other result-focused documentation to drive work. Describing software is inherently complex. Getting Earth people to understand software requirements is near impossible. Use cases or XP stories structure the requirements in terms of visible, useful features, making them far easier to understand and discuss.
  • Creating well factored classes. This should be obvious, but well designed classes factor behavior and related data to one entity, making them easier to understand and change.
  • Creating both dynamic and static UML describing the systems at appropriate levels of abstraction. Good UML gives you a roadmap for understanding the structure and relationships in the system. UML is succinct and has semantic meaning; it is the best thing we have for describing the basic structure of software.
  • Establishing roles for project members to make responsibility clear. Clear roles let team members focus on a set of related tasks, rather than having to context-shift from hour to hour.
  • Organizing meetings with as few people as possible. You have a meeting to get something done; each extra person in the meeting adds an additional line of communication, making consensus more difficult. Worst case, the extra people can't even contribute to the topics being discussed. Even worse case, the idiot who can't contribute to the meeting also can't shut up.
  • Planning work in order of risk and dependency. Finishing high-risk tasks first means that more simple tasks will be left as integration draws near. Keeping dependencies straight means less re-work on already completed code.

Complexity and risk are closely related. Managing one often mitigates the other. Less-complex systems are easier to understand, easier to modify, and are less likely break in the process.

Taking the reverse, if you see a project that isn't managing its complexity, assume they will bite it at some point.


click for high-res


Hold crap -- I just used procmail to forward whitelisted e-mail to my gmail account. I can't believe I got that to work.


They're all Twix!

Wednesday, December 07, 2005


I certainly hope this guy actually said, "I have a bomb" or something like that. I hope he wasn't just some crazy guy who ended up dead just because he was crazy.


Seventeenth-century wall, possibly the first battery, discovered while digging in Battery Park.


The BBC is running some nice John Lennon stuff this week.

Photoshop Tennis

LayerMatch.com hosts Photoshop tennis matches. Snappy Flash interface.

Tuesday, December 06, 2005


Fifty Seven
click for high-res

My cell phone is napping comfortably on my pillow at home. Don't bother calling; you'll just wake it up.

Party Time

Its party time?

Monday, December 05, 2005


For my Friend, Edward, whom I keep missing. Because I'm scatterbrained.

click for high-res

I'm making the Canon camera RAW file for this image available under the license below, hoping that you'll take the image and post process it.

I'm always curious to see how others would photoshop the photos I make, so I invite you to realize a final image from this RAW file. You'll need Photoshop CS, or something that can convert Canon RAW files (this one is from a 5D). The image is licensed for non-commercial use, though I'm requesting that you share alike; send me a link to the image you create, or send me the image if you'd rather I host it.

This work and associated RAW file is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.

Creative Commons License


I really need to stop stepping in smelly things.


Places I would like to work / live.

  • San Francisco
  • Washington DC
  • Venice, Italy
  • Pittsburgh

Sunday, December 04, 2005

Nothing makes me laugh like old episodes of Jackass.


First Snow
click for high-res

First Snow.

Here is an idea.

One of the reasons I like walking around with an iPod is that my world suddenly has a sound track. Sometimes I want to hear the street noise, but sometimes I want music.

But wearing an iPod is kind of antisocial. You end up in your own world.

Wouldn't it be fun if iPods broadcast their signal over Bluetooth, so that anyone within 30 feet could "tune in" to your station? I think I'd like that. I imagine a crowd forming on the sidewalk, following behind the person with the best mix playing. Could also be a mini social network kind of thing. The listening person could have a way to signal back to the "broadcaster" with a VCard, saying, "nice mix" or something like that.

Is this stupid?