hassy's blog

Coffee shop programmer

Fri, 01 Aug 2008 - permalink

Many good things have been written in coffee shops, like Harry Potter, Delicious Library, this blog entry and a big portion of Hypernumbers.

Attempts at joking aside, I love working in coffee shops. The energy and the vibe can be incredible, the change of scenery revitalizing, and lack of wifi liberating. Sometimes you get opportunities to talk to interesting people too.

I'm lucky to live near an area saturated with coffee shops, coffee houses, and cafés. I've got five favorites (two of which are Starbucks), which I visit regularly. Just the other day I set a personal record with 4 in one day, but usually it's one or two every other day or so.

The key to successful camping in coffee shops is being nice. The first thing to do is to find a place or two you really like and become a regular. Be friendly and chat to people working there. Most of the time they'll initiate the smalltalk once they start recognizing you, and it's easy to pick up from there. You want them to know you and to like you. That way, even if local etiquette frowns upon people spending hours at a café on one or two drinks, the staff won't mind.

This works well: take your empty cup to the counter as you leave the place. It's a small gesture, but they appreciate it, and it'll make them remember you.

Tip. I usually just drop the change into the tip jars.

Be considerate. Avoid the places at lunch time peak, unless you're having lunch yourself. Don't take up more space than you need. Don't be a jerk.

Money is less of a problem than it might seem. I usually have black cofee or plain tea, which I love and which are usually the cheapest items on the menu. Some places have loyalty cards too where you get your Nth drink on the house.

Learn when not to go to work in a coffee shop. I find them best for blasting through lists of well-defined things to do. Design — not so good, although there have been times when it worked. Brainstorming and organizing large amounts of information — terrific for that too. Find what works for you. There are times when I absolutely need my whiteboard, a large screen, and no people and noise around me.

Prepare for lack of wifi. I've got documentation for all libraries and frameworks I use on my lappy, and I use Git for source control.

I don't worry much about ergonomics. Good diet, regular exercise, and regular breaks when working are key. A few hours a day on the laptop won't destroy you.

Happy camping.

P.S. Big shout out to San Francisco coffee shops. Of all places I've been to, SF had the best coffee shops no doubt.

P.P.S. Comments on this entry over at Hacker News and proggit.

Managing humans

Mon, 28 Jul 2008 - permalink

Barely a year out of school, and still learning every day... about things I've yet to learn. “Managing Humans” was an insight into the wonderful world of the “people stuff”-side of making software, mostly management. Read in two sittings in the local Starbucks this weekend. 5 stars/both thumbs up.

Now, I've not been working as a drone for a big faceless corporation since leaving school, quite the opposite — I've been immersed in the wonderful world of startups, where you can't help but learn about much more than technology. (Which makes it all much more fun.) Still, there's only so much you can learn in a year (or ten), so when someone like rands speaks, you listen. And take lots of notes.

I read a lot, and this one of the few books this year which I read cover to cover. Pure win.

On killer apps and Erlang

Tue, 22 Jul 2008 - permalink

I'm sorry to say this, but some people in the Erlang community are wrong. Neither CouchDB, nor Ejabberd, nor SimpleDB, and not even Facebook Chat are killer apps for Erlang. Great examples of how powerful Erlang is? Yes. Need more of them? Yes, definitely. Killer apps in the way that Rails was for Ruby? No way.

Yes, apps like CouchDB and Ejabberd will increase the install base of Erlang as they gain in popularity. They'll drive a handful of curious programmers to give Erlang a close look. But it's very unlikely that they'll lead to the kind of massive uptake of Erlang like Rails did for Ruby.

Right now, the “killer apps” for Erlang would be more books. More documentation, especially tutorials aimed at newbies (to OTP/Erlang, not programming). Erlware is an extremely important project for Erlang's uptake – programmers have been “spoiled” by CPAN and RubyGems. The ultimate killer app for Erlang though, is something that'll give people a solid framework to quickly build something cool & sexy, in Erlang. I don't know what that is, although I do know that “concurrency” or “multicore programming” are not the killer apps either. Counting on those is a cop-out.

Perhaps, all that's needed is to rename OTP to Erlang On Rails, and to appoint an arrogant, brilliant Dane to take care of everything.

Starling Update

Mon, 21 Jul 2008 - permalink

I've had a couple of emails recently with people wondering about Starling and what's happening to it. The project is very much alive, although it's taken me much longer than I thought it would to get to the current stage.

Version 0.2 will be out real soon, with a few big changes: Starling is now a linked-in driver, Unicode regular expressions are supported, and the distribution will include Autoconf scripts to build on Windows/Cygwin, Ubuntu and OSX. I'll probably switch it to MIT License as well.

The Unicode support EEP to go along with it has already been written, and will be published as soon as Starling 0.2 is ready.

Yojimbo, oh so close

Sun, 20 Jul 2008 - permalink

My Yojimbo trial expired today, so I bought a license.

I've tried several “stuff organizers” for the Mac in the last couple of weeks. Yojimbo comes closest to what I need – close enough to buy a license, although it's not quite there.

These would make Yojimbo perfect for me:

I'll wrap up with something positive. Yojimbo is impressively fast. Start up, importing, searching, the whole lot – on this old Powerbook G4 with a library of over 200 web archives and PDFs. Nice.