26th Mar, 2008

No comments

Slashdot Review for Regular Expression Pocket Reference


Michael J. Ross gave the second edition of Regular Expression Pocket Reference a score of 9/10 in his Slashdot review. He was particularly impressed by the lack of errors.

As of this writing, there are no unconfirmed errata (those submitted by readers but not yet checked by the author to see whether they are valid), and no confirmed ones, either. In fact, in my review of the first edition, published in 2004, it was noted that there were no unconfirmed errata, despite the book being out for some time prior to that review. The most likely explanation is that the author — in addition to any technical reviewers — did a thorough job of checking all of the regular expressions in the book, along with the sample code that make use of them. These efforts have paid off with the apparent absence of any errors in this new edition — something unseen in any other technical book with which I am familiar.

I’m sure that the book isn’t actually error free, but the fact that it can masquerade as so is a tribute to the tech reviewers, Jeffrey Friedl, Philip Hazel, Steve Friedl, Ola Bini, Ian Darwin, Zak Greant, Ron Hitchens, A.M. Kuchling, Tim Allwine, Schuyler Erle, David Lents, Evan Henshaw-Plath, Rich Bowen, Eric Eisenhart, and Brad Merrill, and to my editors Andy Oram, Nat Torkington, and Linda Mui. That’s a lot of people for such a small book but the draft I turned in warranted them. Thank you.

My goals for the second edition were to increase coverage for things that I used (it turns out that one of the best reasons to write a book is so you can look things up later) and to add content for system administrators (who, based on feedback, seemed like the biggest users of the book). I’m a ruby developer now, so this edition has a ruby chapter, plus I added an Apache chapter and a cookbook of common regular expressions for the system administrators.

People often ask me why I covered so many implementations and the answer is because as a web developer I used regular expressions in so many places: ruby/perl, javascript, shell, vim, and apache. I bet system administrators are the same way.

Make sure to buy a few copies from Amazon.

24th Mar, 2008

No comments

Retro Audio

This is so sweet. I found a post about a new venture from my Dad, Forget CDs Or iTunes – Buy Your Music On Reel-To-Reel Tape From The Tape Project.

First, the picture is amazing. I’m pretty sure that the reels are laser etched with your serial number.

Secondly, this project is the pet project of some of the most talented audiophiles ever. They pick their favorite recordings of all time (and they’ve heard a lot of recordings) and then master them in the highest quality format they can find. This is the music they most want to listen to in the format they most want to hear it in.

Take a peek at the Tape Project. If you thought programmers were nerds then you’ve never met an audiophile.

21st Mar, 2008

10 comments

Take the Next Step, Paul

In college I had a wonderful Humanities professor who insisted on making us write short essays so we could practice writing succinctly. After each essay she would personally sit down with us and critique our logic (and our grammar!). Her feedback to me was almost always the same, “your argument is logical and supports your conclusion but you need to take the next logical step. What does your argument imply?”

I was never able to take the next step, even when pressured. And she never took it for me. It would be fair to say that I hated her during these meetings.

Today I ended up quoting her while reading Paul Graham’s “You Weren’t Meant to Have a Boss.

Paul’s thesis is that typical big business drains the life out of its employees because we weren’t meant to work in such large groups. It’s unnatural. To truly live, we need to be in groups small enough that we have room for creativity and freedom of action. That’s the way nature intended.

I agree. Jay and I talk all the time about how much more fun we’re having at CrowdVine than any of our other programming jobs. We’re free to build product. Programming isn’t just a job for us, it’s our hobby and passion. Being in a small group for the first time really is bliss. We’re not the only ones saying that either. Talk to people who’ve been much more successful than us like 37Signals or SmugMug. They’re not just successful, they’re happy.

So while I agree with everything Paul wrote, I found myself screaming, “take the next step, Paul!”

He’s a venture capitalist. He’s promoting programmers joining startups. Venture backed startups start as everything he describes–small companies that are great places to work and learn. But they only stay that way for a few years.

By definition the startups are either going to grow into an awful company with bosses or be acquired by an awful company with bosses (or fail). The startup founders are either going to turn into bosses (which Paul correctly points out isn’t very rewarding either) or they’re going to turn into employees with bosses.

The logical step that Paul couldn’t take is that he’s wrong for being in the venture business. The venture business depends on an ecosystem of bosses. Even if his founders feel like they’re getting a fair trade for a few unhappy years at a big company, they wouldn’t have the option of either growth or acquisition if other programmers couldn’t be pursuaded to work “unnaturally.”

The difference with companies like 37Signals and SmugMug (and CrowdVine) is that while they have the same natural working conditions, they’re structured so that those conditions don’t have to end. If Paul really wants to create good jobs he should turn YCombinator into a small business incubator.

Great discussion of this on Hacker News including responses from Paul. One commenter there made a big fuss that I was technically incorrect to call Paul a venture capitalist. True he’s a new un-labeled form of investor who’s using his own money and experience, and not using money from a venture fund. However I stand by my argument, which is based on the exit pressures which are very VC.

14th Mar, 2008

No comments

Recent Purchases

I purchased three things in the last year that I’ve ended up being very happy with.

System76 Pangolin Laptop


Last summer I decided to switch from OSX back to Linux. I don’t think Linux is better desktop software necessarily. However 99% of my time is spent either using software that’s the same on all platforms (Firefox and Thunderbird) or doing development for software that runs on Linux. I got tired of the context switching. I wanted my laptop to behave the same way that my server did. My last experiences with Linux on a laptop were pretty time consuming and I never got everything working (like power management). System76 sells laptops with Linux pre-installed and they make sure the hard parts are working (wireless, power management, sound). I even have IE6.

System76 does one important thing extremely well: they make sure your laptop software works correctly by offering updates and fantastic software support. I do have one complaint. Their hardware support turnaround is awful. I needed to get my power connection replaced and was without my laptop for three weeks. Around the same time my coworker thought his Macbook wireless wasn’t working so he went in to the Apple store and got a brand new one same day only to get home and realize the problem was with his Airport. I’d still recommend System76 with the caveat that you shouldn’t buy the extra warranty and assume that you’ll pay for any repairs to be done locally.

Logitech S510 Cordless Keyboard


I do also have a desktop and enjoy working there because I have a nice view and because I have a dual monitor setup. However, I’ve come to find that I prefer my keyboard to be on my lap. I decided to try out Logitech’s S510 Cordless Keyboard. I discovered two things. One, cordless keyboards are nice! Two, this is a fantastic keyboard to type on. I like writing just for the joy of getting to press the keys. The keyboard side works great. I don’t notice a lag. I went six months before needing to recharge the battery. I can type from almost anywhere in my room. The package also comes with a wireless mouse, but I didn’t like it so I stuck with my old mouse.

Syncmaster 245BW 24″ Widescreen Monitor


This monitor is HUGE. 24 inches is a lot of inches. I’ve always lusted after bigger monitors but recently felt like buying one would have been too extravagant. I don’t know why I thought that because I’ve definitely read that larger monitors can make huge differences in productivity. I’ve also read how tabbing through windows is a bigger break in concentration than merely glancing. That’s why I have all my interrupting programs (Email, IM) on a second monitor (merely 20″ widescreen).

Last month I had my first conference booth in order to demo CrowdVine. The booth fee was waived because we were being showcased but the logistical fees weren’t. This was my first exposure to conference logistical fees and I was shocked! I paid $90 to plug my laptop in for two hours plus another $90 for Jay’s laptop and another $90 to power the monitor we were demoing on. We also could have rented a 30″ plasma screen for $300 but at that price I decided it was better to buy something I could own. And that’s how I ended up with this wonderful 24″ monitor ($400 plus shipping there and home).