tl;dr: I’m a Startup CTO

This blog is almost painfully disused. Then again, I rarely have news that is both interesting and contractually permissible to report.

Today, I have one such rare piece of news: I am, as of lunchtime today, the CTO of Moveable Feast Mobile Media. We’re building tools for travelers and travel journalists – and that will probably be all I say on the topic until we’re nearly ready to launch. (If the curiosity is gnawing at your very soul, don’t despair – it won’t be long.)

For the time being, I’ll continue to consult and build software on a contract basis. (To my clients: Resume breathing normally; your projects shall not be abandoned.). Keep me and my coterie of engineering superheroes in mind for your next mobile or distributed computing project.

Finally and very importantly: Much gratitude to Steve Schultz for allowing himself to be convinced that I’m grownup enough to join him in this endeavor – and for being the only MBA I can recall whom I’d ever be this excited to work with again.

Now: To business…

Perspective Check

On the LIRR today, I saw someone in a fast food uniform shirt. This person was probably commuting at least an hour and blowing an hour’s wage each way to sling burgers in Manhattan. And in the current economy, this person might even be grateful to have to do this. I thought about that.

I love my yuppie, first-world problems. They’re real, and some of them are non-trivial, but it doesn’t take much reflection to decide that I wouldn’t trade them for most other people’s. This week, anyway.

On the Merits of Rough Edges

Cory Doctorow has written a much-linked article for Locus magazine on the topic of Writing in the Age of Distraction. (Cory’s advice has also been touted by Drawn! magazine as equally good for visual artists.) He recommends, among other things, stopping before you feel done:

When you hit your daily word-goal, stop. Stop even if you’re in the middle of a sentence. Especially if you’re in the middle of a sentence. That way, when you sit down at the keyboard the next day, your first five or ten words are already ordained, so that you get a little push before you begin your work. Knitters leave a bit of yarn sticking out of the day’s knitting so they know where to pick up the next day — they call it the “hint.” Potters leave a rough edge on the wet clay before they wrap it in plastic for the night — it’s hard to build on a smooth edge.

On the software engineering side: Kent Beck’s excellent book Test Driven Development: By Example makes the recommendation to “stop on red” – that is, to cease work for the day with your code in a known broken state, failing a test.

It’s a characteristic of my work habits that I generally feel the urge to tie up what I’m working on. This goes for software, where I have a lot of trouble walking away from a piece of code that doesn’t compile and behave as expected, and for fiction and screenwriting, where I always have the urge to finish a scene, transcribe all my notes, or otherwise exhaust myself and my creative urge before I walk away.

This habit may allow me to squeeze a little more productivity out of the day, but these neat packages are not always so pretty in the morning: When there isn’t a place where I must pick up the thread, I’m left with choices, which usually means going to a list somewhere, and that list generally presents itself as the Monstrous Wall of Shit to Do, and I usually haven’t gotten through my first coffee yet, and I will generally decide that I’d better get through my email and catch up on Twitter before I attack the MWoStD. A whole morning can get lost that way, and good luck building momentum for the afternoon.

There may be something here for me. Certainly, it’s a good sign that the “rough edge/stop on red” concept crosses disciplines so easily, and is espoused by smart people in multiple fields. It is also interestingly tangential to the notion of wabi-sabi, which holds that since all things are imperfect, impermanent, and incomplete, it is allowable and even desirable that our creative acts embrace this.

So, tonight I’m going to break some shit, and hope that meditation on wabi-sabi will keep me from gnashing my teeth all night. And hopefully it won’t be long before I accumulate enough mornings hitting the ground running that walking away from broken work seems normal and sane.

Refocusing

As you may have guessed from my last entry, this is heading in the direction of a personal blog again. I’m going to save most or all of my technical writing for the Kickass Labs blog (case in point: my recent Hadoop Streaming Tutorial). This has to do with the fact that much of my after-hours unsupervised play time is spent on tech projects with the KAL cabal, and if I’m going to spend the effort to write blog entries on advanced technical topics like distributed computing, I’d like to leverage it to raise the profile of the whole group.

So, look for more personal stuff here, along with pointers to my technical content on KAL.

Word for the Year

Almost 20 years ago, I made my last New Year’s resolution.  In true geek fashion, it was actually a meta-resolution, and it was that I would make no more resolutions.  They’re always a bunch of stuff you feel like you “should” do, tied to an arbirtrary calendar date, with no practical impetus or emotional drive behind them.  They fail almost universally, because if the people (and I’m no exception) making the resolutions cared, they’d have done what they wanted when they wanted to, rather than trying to talk themselves into doing things they “should” at the same time as everyone else.

I’m a bit bored with most Internet memes, too.  ‘Nuff said.

That makes this post weird. I’ve latched onto one of the memes floating around Twitter (and I’m sure elsewhere): The “Word of the Year”. People are picking a word (in most cases a verb) to focus their behavior in the coming year.

This meme passed in front of me just as I happened to have a few days off and was using it to organize the monstrous pile of projects I try to advance and maintain. I was already coming to some insights about my need for focus and direction. Even more, I was noticing that my pile of projects tends to grow, and I take very few away for any reason, whether that’s the completion of the project or deciding that there are better ways to spend my time.

So I kicked around a few ideas for a verb to focus on. One of the better ones was “release”. That can mean to release – to let go of – a project that doesn’t deserve my attention anymore, or that I’m just not going to get around to. That’s a focus I’m trying to achieve – for example, I’ll save $100 this year on not renewing domain names for projects I’ve decided I’m not going to pursue because their potential return is small in relation to the effort, or because I just won’t learn much from them.

In my work, “release” also carries another meaning – to release a piece of software is to turn it over to your users. (If you’ve never written software, you have no idea of the hubris implied in this act, by the way.) The fact that “release” can thus mean both adding and taking away makes it a compact and potent – almost poetic – verb to focus on. It’s still missing something, though – for example, it my current push to complete the Hundred Pushups program, what am I releasing?

So “release” doesn’t cover all my goals and projects, but the connotation of software release starts me down another path of thought, which is that in organizing and pursuing my work over the past couple of years, I’ve given myself credit for advancing projects, even in small ways. This is good, but when you have a lot of projects, this can lead to advancing many of them and completing none of them. (I shouldn’t say none, if I’m being specific about myself – I completed two sites with my pals at Kickass Labs, and released two of my own, including the self-sustaining GuitarCardio.com, of which I am probably inordinately proud.)

During this fit of organization, I’ve come to realize that I need to move from advancement to accomplishment. I need to complete projects, or drop them. I need to stop nudging things forward on my desktop, and launch them into the wider world.

So, my verb is “finish”.

It is, in a sense, a little morbid. A finished thing is done, dead, no more. There’s nothing else to do with it. This fits for some things, like a project I drop because I don’t see the return in it, or a one-off thing that I complete and never look at again.

It is, in another sense, deceptive. Software is never finished. (People just stop paying for it.) Nor, for that matter, are screenplays. Ditto paintings. There’s always something to add, something to optimize, some other tweak to make. But a software release can be finished, and launched, and hopefully be consumed greedily. A screenplay draft can be bound and sent to agents. Nothing is ever done, but it can be made ready.

So “finish” is kind of a squirrelly word, and doesn’t feel like it perfectly fits everything I do – but as a mantra to assist that shift in focus from advancing my projects to taking them over the line, I suspect it will do well. The Tao that can be spoken of is not the true Tao anyway, but I think “finish” might be the tangent to the Tao that I need right now.

Status Report

There’s a lot going on.  Yowza.

For starters: I’ve left my day job and gone back to consulting. As is my policy, I’m not going to reveal clients here, but they’re an interesting cross-section of business verticals and projects, and one prospective client in particular already has me in touch with people on at least 3 continents, all from my desk in Kew Gardens. I’m feeling very much like one of those digital nomads that the post-Web-2.0 techno-hypesters like to talk about. And liking it.

I also have a part-time, on-site gig in a very trendy New York neighborhood. On some evenings, there is a truck vending “artisanal ice cream” parked outside this client’s offices. (I have not yet seen it move, nor heard it play an endless loop of 8 bars of “Pop Goes the Weasel”.) It’s little details like that that keep the New York experience refreshingly weird.

Also – and I should have posted about this ages ago, but you know how it is – the Rails Rumble 2008 was a blast, and I know more in my bones about building complex messaging systems than I did before the Rumble. Our entry was a multi-player word game, and you may play the Rumble incarnation of it here. We’ll be blogging about Rumble lessons and putting up an update of the game in the next few weeks.

And speaking of “we”, Gabe, Abel and I have added a whimsical name to our hacker cabal; blog posts about the Rumble experience will be posted over at Kickass Labs. (Note to Abel: Get a site up already so I can link to you properly. A one-pager will do.)

In other news: When I’m not hustling paying work or hacking w/ the KAL crew, I have plenty of my own projects to work on. To wit: I have a goal to fix a minor bug in GuitarCardio this week, I will probably take down Rewardist for the time being, and I’m currently investigating solutions to data representation issues in my super-top-secret Hadoop project.

And that’s enough blogging. Back to work.

You May Expect More

I’ve just made a change in my occupational situation.  In the coming months, I expect to have more time and more energy for this blog and my other projects.  So look to this space for:

  • More announcements of niche web projects
  • More advancement of existing web projects (hello, GuitarCardio!)
  • The announcement of a much more ambitious, high-falutin’ Java project
  • More Ruby one-liners and development observations

Among other things upcoming: I’m competing with good friends and former cow-orkers Gabe and Abel in Rails Rumble 2008 (so don’t expect to hear from me Oct 18-19). I’ll post here about how that went.

New Feature on GuitarCardio.com

No, it’s not an application feature – it’s new content. I’ve posted my first guitar gear review! And I’ve already got a second item lined up.

Of course, in my rare spare minute, I’m still working on added features for GuitarCardio.com – I think mode-based drills will be next.

Vote Kristin!

I have plenty to report, but not a lot of time to do it just now. What’s really important here is that you go check out Kristin’s latest blog entry. My darling wife has entered an online karaoke contest being run by a well-known composer and lyricist, and could use your vote.

I’ll update about coding and websites and all that later.

Vote Kristin!