Blog

  • Drive

    I just drove from Seattle to Denver where I’m spending a week. We took the northern route through Montana and I stopped and did a tiny bit of fishing in the Clarke Fork and Yellowstone rivers. I just caught one small rainbow on a dry fly in the clarke fork which wasn’t bad considering it was the middle of the day on both rivers and not far from the road.

    We stopped in Bozeman for the night and I discovered an awesome fly fishing shop called the Bozeman Angler. There are some awesome restaurants on the same side of the street.

    Next week I’m in BC for three days king salmon fishing. I can’t wait.

  • X-Games Video: Jake Brown's unbelievable 40 foot fall

    Jake Brown fell 40 feet and landed so hard in the transition at the X-Games last night that his shoes flew off. Forward to the end of the vid and watch the slowmo version.

    Brown spent Thursday night in a local hospital, where he was treated for a bleeding liver, two sprained wrists, a bruised lung, and whiplash to his back and neck. He didn’t break a single bone. Unbelievable.

  • A good book

    If you’re a bit of a sci-fi fan, a bit of a maritime adventure fan, like all things engineering, then I have just the book for you. The Ice Limit is one of the best paperbacks I’ve read for a very very long time.

  • How hedge funds die

    Marc Andreessen has a great post on the collapse of the Sowood hedge fund recently. Reading this I have a weird sense of deja-vu. LTCM collapsed while I was working at Credit Suisse First Boston in Canary Wharf, London. CSFB lost about $700 million. Around the same time the Russian economy took a dip and they blew another $600 million. There were no layoffs and no pay cuts.

    If I ever decide I need the security of a day job I’ll go back to London and work in Canary Wharf. The London banking sector is the most bomb proof industry on the planet. Canary Wharf is also a pretty darn cool place to work.

  • Fly fishing South Fork of the Snoqualmie river

    After getting a TON of work done today I drove up to the South Fork of the Snoqualmie river to fish a secret spot I’ve discovered fairly high up in the mountains. There’s a forgotten path down to the river, you scramble over some rocks, slide down a small waterfall,  boulder around a bend in the river and there’s this sweet little pool. A nice 12 inch rainbow exploded the surface when he took the dry fly on my first cast. He put up a beautiful fight. I released him unharmed. The river turns into a gorge further down with a few big log jams and it looks like it’s fairly unexplored. So that’ll me my next mission when I’m up there again.

  • Why linux rocks

    I’m busy decommissioning an old server I’ve had for almost a year. I’ve used it for dev and testing and installed a bunch of crap on it.  It has never required a reboot and has been busily chugging away. Here’s it’s uptime:

    11:20:46 up 333 days,  8:13,  1 user,  load average: 1.02, 1.34, 1.21

    The only reason it needed a reboot 333 days ago is because the datacenter it was hosted in was being migrated. It was up for about a year before that, again without reboot.

  • Configuring apache 2.2.4 + mod_perl 2.0 + php 5.2.3 + libapreq with a worker MPM

    I couldn’t find any docs on compiling mod_perl2 alongside php5 with apache 2.2, so hopefully this helps someone.

    I’ve always statically compiled mod_perl into apache, but the easiest way to get mod_perl to play nice with PHP under apache2 is to compile them as DSO’s or dynamic modules that are inserted at runtime. I’ve tested this under Ubuntu 7 and CentOS 5.

    At the time of this writing the server hosting this page is running with this config and handles a not-insignificant amount of traffic.

    NOTE: I use a worker MPM with Apache to get the best possible performance. The worker MPM is a hybrid thread/process model. It requires that PHP be threadsafe when compiled.

    Here are the commands I use. I’m assuming you’ve downloaded the latest apache httpd 2.2 source code, php’s source code, mod_perl’s source code and libapreq2’s source code. I’m assuming you’re smart enough to know when to CD to the directory of each app to compile and install that app, so I’ve left out basic steps like that.

    First compile apache with DSO support. Enable the worker MPM, enable mod_rewrite, enable mod_expires, and add a little magic to make libapreq work:

    ./configure –prefix=/usr/local/apache2 –with-mpm=worker –enable-so –enable-rewrite –enable-expires –with-included-apr

    make

    make install

    Now that apache is installed, compile and install a thread-safe PHP DSO . Note the enable-maintainer-zts compiles a threadsafe PHP. I’ve also added mysql support.

    ./configure –with-mysql –enable-maintainer-zts –with-apxs2=/usr/local/apache2/bin/apxs

    make

    make install

    Now you compile and install a mod_perl DSO.

    perl Makefile.PL –with-apache2-apxs=/usr/local/apache2/bin/apxs

    make

    make install

    Next you compile and install libapreq as a DSO

    perl Makefile.PL –with-apache2-apxs=/usr/local/apache2/bin/apxs

    make

    make install

    Make sure your httpd.conf contains the following to enable mod_perl, php and libapreq:

    LoadModule apreq_module /usr/local/apache2/modules/mod_apreq2.so
    LoadModule perl_module modules/mod_perl.so
    LoadModule php5_module modules/libphp5.so
    DirectoryIndex index.html index.htm index.php
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

  • An ode to the end of Facebook

    I rant, Tony rants, Alan ranted.

    With surprisingly similar space-time coordinates.

    Our love of Facebook is duly recanted.

    We’re no longer Zuckerberg’s subordinates.

  • Quote of the day

    Douglas MacArthur – “We are not retreating – we are advancing in another direction.”

  • More great headlines that get traffic

    My bro (in the literal sense) Nick is on the home page of Reddit this morning with an article about the chopper crash yesterday. As always, it’s all in the headline:

    Can you Believe they are Charging the Fugitive Driver for the Deaths in the Press Chopper Crash?

    Writing headlines of pure genius like this is going to rapidly become a very desirable skill.