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:
- Finer grained search, e.g. tag:iphone or image:lolcat.
- Proper smart collections instead of tag collections. At the very least I'd like the option to match any of the specified tags.
- Nested collections.
- When I drag a webpage from Safari to Yojimbo, save what's already loaded in Safari. Reason: not all webpages have a "for print" version, and I'd like to be able to use Aardvark to delete banners, Flash and other annoying crap.
- Remember zoom level I set for PDFs and images.
- Better control over default note formatting. More specifically I'd like to be able to set linespacing and page width. Writeroom does this nicely (in Preferences), and so does VoodooPad (with a NewPageTemplate page).
- Easier way to link to other items from notes.
- Let me remove default collections from the sidebar. (I don't use Bookmarks.)
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.