Updates Instagram Photography Projects About Contact

Photo Album: Erg Chebbi (Sahara)

6 January 2014

We spent New Year's eve in the desert. A 2 hour camel ride into the dunes., not the most comfortable form of transport.

Via Google+

Photo Album: Marrakesh

5 January 2014

Lots of photo coming from our trip to Morocco. Here's the first batch from Marrakesh.

Via Google+

Refreshed

22 December 2013

I took some time today to clean up the styling on this site. It turned out — unconsciously — to be a bit Mediumy; with the serif body (Palantio) and sans-serif title (Lucida Grand). Probably not too surprising.

Movember

5 December 2013

@lukester and Stroke 9 at the Red Devil Lounge Dominion with Ojan Pawtrero Street Fair Ada being weird Night run by the Bay Bridge Softball…

Continue reading on Medium »

House boating on Lake Shasta

25 November 2013

The best way to spend a long 4th of July weekend. Wake boarding, swimming, barbecues, and bonfires.

Continue reading on Medium »

Visitors

31 October 2013

Trip to the allergy doctor A calm bay on the morning run Up and to the right Dinner and a nice bottle of wine at home Hardly Strictly…

Continue reading on Medium »

Link: Why You’re Not Photogenic

17 October 2013

Via Google+

Running to stand still

30 September 2013

Spotting dolphins at Fort Funston Sunset at home Haircut with Beth Watching Orange is the new black Medium softball game Indian summer on…

Continue reading on Medium »

Don’t drink crap coffee

14 September 2013

Don't drink crap coffee.

http://www.theguardian.com/lifeandstyle/wordofmouth/2013/sep/13/civet-coffee-cut-the-crap

I remember excitedly seeing the flash of a civet disappearing into the dark jungle. They were one of the animals that everyone hoped to see.

Via Google+

The three axes of engineering leadership

1 September 2013

Within the tech industry, managers are oft lamented.

Continue reading on Medium »

Mauna Kea, HI

1 September 2013

Continue reading on Medium »

Summer Adventuring

1 September 2013

One second a dayBiergarten SF Riding through downtown SF after dropping Ada with Tessa Driving under the freeway after seeing Jeff in the…

Continue reading on Medium »

Ciro-Flex Rapax

28 August 2013

I have a bit of a camera problem. This is one of my favorites. It’s a medium format twin-lens reflex.

Continue reading on Medium »

Folding Brownie

28 August 2013

This is my great-grandfather’s folding brownie. It lasted a surprisingly long time, used first to photograph my mother as a child and then…

Continue reading on Medium »

Howard and Mary, San Francisco, CA

28 August 2013

Continue reading on Medium »

Dear Mobile Phone Manufacturers,

28 August 2013

Your industrial designers and product engineers produce masterpieces.

Continue reading on Medium »

Fast upload previews aka. yak shave #645

28 August 2013

So you have a cool web app that allows people to upload photos.

Continue reading on Medium »

Beyond pushState — building single page applications

28 August 2013

Single page applications are on the rise, and in many cases they make the web faster, richer, and more interactive.

Continue reading on Medium »

Old Dry Dock

28 August 2013

Continue reading on Medium »

Gmail and the GC

28 August 2013

Back in 2006 I was working on the Gmail team and we were undertaking a complete rewrite of the frontend code.

Continue reading on Medium »

Rise of the SPA

28 August 2013

Numerous studies have shown that even modest improvements in latency can have measurable impact on usage.

Continue reading on Medium »

json ⊄ js

28 August 2013

Conventional wisdom says that JSON is a subset of JavaScript.

Continue reading on Medium »

Zion National Park, Utah

28 August 2013

Continue reading on Medium »

Whiteboarding

28 August 2013

If you are interviewing for a programming job it is almost inevitable that you will be asked to do some coding on a whiteboard.

Continue reading on Medium »

In the clear

28 August 2013

Continue reading on Medium »

At some stage…

28 August 2013

… I would like to: * Complete an iron man. * Become a qualified EMT.

Continue reading on Medium »

Three up

28 August 2013

Continue reading on Medium »

Enlightened

28 August 2013

Continue reading on Medium »

Stairwell

28 August 2013

Continue reading on Medium »

Eye in the sky

28 August 2013

Continue reading on Medium »

In the shadows

28 August 2013

Continue reading on Medium »

Why are the levels of a building called storeys?

28 August 2013

Storey (or story in US English) is derived from historia meaning narrative.

Continue reading on Medium »

Velocity vs. Quality

28 August 2013

At some point in every software development project the question of velocity vs.

Continue reading on Medium »

Ada Havanese

28 August 2013

Continue reading on Medium »

On the sofa

28 August 2013

I’d just got back from Borneo, having come home sooner than intended.

Continue reading on Medium »

Lugupeetud mobiiltelefonide tootjad

28 August 2013

Teie tööstus disainerid ja toote insenerid toota meistriteoseid.

Continue reading on Medium »

Brazilian Post

28 August 2013

Começo explicando que não ia postar este texto na internet.

Continue reading on Medium »

By the collection owner

28 August 2013

One

Continue reading on Medium »

My Post

28 August 2013

In a collection

Continue reading on Medium »

The three axes of engineering leadership

17 August 2013

Thoughts on the roles played by engineering managers, and some common pitfalls.

Continue reading on Medium »

Photo Album: 402 Mt. Diablo

25 July 2013

Playing hooky with the 402 team on a trip up Mt Diablo.  (Hard core hiking crew)

Via Google+

Mauna Kea, HI

16 July 2013

Continue reading on Medium »

Tubing

16 July 2013

Summer is not San Francisco’s best time of year. The heat of the Central Valley sucks in air from the Pacific, cooled by the California Current coming down from the Arctic, and we end off stuck in a bank of fog. So when Tessa read an article in 7×7 Magazine about a place to go t…

Continue reading on Medium »

Ciro-Flex Rapax

16 July 2013

I have a bit of a camera problem. This is one of my favorites. It’s a medium format twin-lens reflex.

Continue reading on Medium »

Folding Brownie

16 July 2013

This is my great-grandfather’s folding brownie. It lasted a surprisingly long time, used first to photograph my mother as a child and then being used, herself, when at university.

Continue reading on Medium »

Howard and Mary, San Francisco, CA

16 July 2013

Continue reading on Medium »

Cheetah in the heat haze; Serengeti, Tanzania

16 July 2013

Continue reading on Medium »

We raced with eggs and spoons.

16 July 2013

Continue reading on Medium »

Taman Nasional Tanjung Puting, Kalimantan, Indonesia

16 July 2013

Continue reading on Medium »

Alyeska, AK

16 July 2013

Continue reading on Medium »

Old Dry Dock

16 July 2013

Continue reading on Medium »

Photo Album: Trinity Alps

11 July 2013

3 days; 32 miles; 50lbs; 15,000 feet.

This 4th July we went backpacking in the Trinity Alps.  The trailhead was 14 miles up a dirt fire road, which in turn was 40-miles from Weaverville, which is 260 miles from SF.  So pretty remote.

We hit the trail late in the day, after driving from SF, avoiding much of the crazy CA heat wave, even so it was in the high 80s when we began.  The first day was a lot of climbing to get up to Foster Lake, but well worth it.  We passed one group of day hikers, but otherwise had the whole valley to ourselves.

The second day started with a 1500ft decent in 1.5-miles.  The meadows at the bottom were amazingly idyllic and we slowly worked our way up the valley, resting in the shade of trees and drinking from mountain streams.  Unfortunately Ada had cut her paws up on the decent, so we ended off having to carry her a lot of the way (she's fine now).

After we left the valley it was a long, slow, steep slog.  Several sections on the map seemed to go on forever, so when we missed the turn to our evening camp we didn't notice for a few miles.  In some ways it was lucky because we ended off close to a fireroad.  We struck camp and planned to leave a cache of gear that we'd come back for.

On the final day we hit the trail at sunrise, back tracked, and with some effort, found the right trail (this area is lightly trodden and the trail disappears sometimes for hundreds of feet at a time).  Tessa only had Ada in her backpack and mine was a lot lighter, so we made good progress.  Still it was hot, steep, and very strenuous.

Finally, we made it back to the car, drove back down the fireroad, and eventually found the other fireroad that led to our cache.  It turned out to be another 2-miles and 1700 vertical feet from a gate on the fireroad, so I ended off run/walking to grab the gear in 90+ temperatures.

Glad we had the GPS to track it, otherwise we'd probably have never found it. 

Via Google+

Photo Album: Monterey

7 July 2013

Via Google+

Photo Album: Ball-Park to Sausalito

13 June 2013

A half-marathon dog-walk from AT&T Park to the Sausalito Ferry, experiencing a few of SF's many microclimates. 

Via Google+

Photo Album: May 2013

13 June 2013

Backlog photos from London Heathrow.

Via Google+

Link: Drowning Doesn’t Look Like Drowning

5 June 2013

PSA.  50 percent of child drownings occur within 25 yards of a parent or other adult. In 10 percent of those drownings, the adult will actually watch the child do it, having no idea it is happening.

Via Google+

Dear Mobile Phone Manufacturers,

4 June 2013

Your industrial designers and product engineers produce masterpieces. Beautifully constructed artifacts of shaped glass, brushed metal, and electrical wizardry. The tactile and visual sensations you deliver create a lust that drives people to stand in line for hours and pay hund…

Continue reading on Medium »

Fast upload previews aka. yak shave #645

4 June 2013

So you have a cool web app that allows people to upload photos. Your backend engineers have built a service that resizes, crops, and optimizes the photos so that you can fit it nicely into the UI. You already know about the benefits of XMLHttpRequest2 and are using it to upload…

Continue reading on Medium »

Beyond pushState — building single page applications

4 June 2013

Single page applications are on the rise, and in many cases they make the web faster, richer, and more interactive. The HTML5 history APIs have allowed us take advantage of the benefits of SPAs while still allowing pages to be deep linkable, server renderable, and easily shareabl…

Continue reading on Medium »

Gmail and the GC

4 June 2013

Back in 2006 I was working on the Gmail team and we were undertaking a complete rewrite of the frontend code. Gmail’s original web client had strokes of genius in it but was getting really hard to maintain and was limiting new feature development. The new version had a bunch of …

Continue reading on Medium »

Rise of the SPA

4 June 2013

Numerous studies have shown that even modest improvements in latency can have measurable impact on usage. As such, sites should have aggressive goals for both actual and user perceived latency. The most obvious metric is load time: how long does it take for a page to appear infr…

Continue reading on Medium »

json ⊄ js

4 June 2013

Conventional wisdom says that JSON is a subset of JavaScript. The thing is it isn’t. According to the spec JSON strings can contain any unicode character except " or / or control character. This means that the following string is perfectly valid JSON: {"str": "own
ed"} Try c…

Continue reading on Medium »

Zion National Park, Utah

4 June 2013

Continue reading on Medium »

Whiteboarding

4 June 2013

If you are interviewing for a programming job it is almost inevitable that you will be asked to do some coding on a whiteboard. While there has been some criticism of the practice, it is widely employed by the tech giants—Google, Facebook, Microsoft, Amazon—and startups alike. I…

Continue reading on Medium »

In the clear

4 June 2013

Continue reading on Medium »

Snoopy

4 June 2013

Multi-light set up with white seamless. No trampoline.

Continue reading on Medium »

At some stage…

4 June 2013

… I would like to: * Complete an iron man. * Become a qualified EMT. * See the aurora. * Qualify as a PADI Rescue Diver. * Write a book. * Travel on the Trans-Siberian Railway. * Step foot on every continent. * Kayak with killer whales. * Go into space. * Survive the zo…

Continue reading on Medium »

Three up

4 June 2013

Continue reading on Medium »

Enlightened

4 June 2013

Continue reading on Medium »

Stairwell

4 June 2013

Continue reading on Medium »

Eye in the sky

4 June 2013

Continue reading on Medium »

In the shadows

4 June 2013

Continue reading on Medium »

Ledson Castle; Sonoma, CA

4 June 2013

Continue reading on Medium »

Blue Angels; San Francisco, CA

4 June 2013

Continue reading on Medium »

Horse riding; Kenwood, CA

4 June 2013

Continue reading on Medium »

Why are the levels of a building called storeys?

4 June 2013

Storey (or story in US English) is derived from historia meaning narrative. Medieval buildings had carvings depicting myths and legends. The higher the building, the more stories they had. The rest is history. (via 99% Invisible)

Continue reading on Medium »

Velocity vs. Quality

4 June 2013

At some point in every software development project the question of velocity vs. quality inevitably comes up. The idea being that cutting some corners will allow you to move faster and get to your goal sooner. This is a topic I have wrestled with over the years and have come to …

Continue reading on Medium »

Ada Havanese

4 June 2013

Continue reading on Medium »

On the sofa

4 June 2013

I’d just got back from Borneo, having come home sooner than intended. In those days airlines were much more flexible and I’d travelled overland from Pontianak to Kuching to see if I could initiate the 2nd leg of my flight a few days early. After a month of hiking in the jungle an…

Continue reading on Medium »

Climbing Information Center at Paradise; Mount Rainier, WA

4 June 2013

Continue reading on Medium »

Squaw in the summertime

4 June 2013

Continue reading on Medium »

“Dear Mobile Phone Manufacturers,” in Dear (blank),

18 May 2013

Your industrial designers and product engineers produce masterpieces. Beautifully constructed artifacts of shaped glass, brushed metal, and electrical wizardry. The tactile and visual sensations you deliver create a lust that drives people to stand in line for hours and pay hund…

Continue reading on Medium »

“Fast upload previews aka. yak shave #645” in Joys of JavaScript

11 April 2013

So you have a cool web app that allows people to upload photos. Your backend engineers have built a service that resizes, crops, and optimizes the photos so that you can fit it nicely into the UI. You already know about the benefits of XMLHttpRequest2 and are using it to upload…

Continue reading on Medium »

“Beyond pushState — building single page applications” in Joys of JavaScript

14 March 2013

Single page applications are on the rise, and in many cases they make the web faster, richer, and more interactive. The HTML5 history APIs have allowed us take advantage of the benefits of SPAs while still allowing pages to be deep linkable, server renderable, and easily shareabl…

Continue reading on Medium »

Video: Great Blue Hole

13 March 2013

Video from our Great Blue Hole dive in Belize.  Hastily edited, so don't expect anything amazing, but kind of gives some impression of what it was like.

Via Google+

Photo: Playing with LEDs

9 March 2013

Last day on Ambergris Caye.  There's not much to do here in the evening; so we abated boredom with a night walk, long exposures of the stars, and some messing around with a red LED.

Via Google+

Photo: Morning calm

8 March 2013

Feeling a bit fizzy after a 3-tank day with the Amigos del Mar in their 56ft dive boat.  We did a deep dive at The Great Blue Hole, then two other dives including one at Half-Moon Caye where we were swarmed by Reef Sharks; probably the best dives I've done.

The boat also lost a prop on the way back, but that's another story; "¡No hay propella!"

Via Google+

Photo: White Sands Dive Shop

7 March 2013

White Sands dive shop, Ambergris Caye, Belize

We did two days diving with White Sands, they're a good crew. I was shooting video with my contour but it didn't save. Had a bunch of good footage including moray eels and nurse sharks.  :(  Reformatted the card so tomorrows dive at The Blue Hole should hopefully yield something.

Via Google+

Photo: Windy

7 March 2013

Windy evening on Ambergris Caye.

PS. Thank you G+ Photos Team for fixing the album page, it's so much smoother now.

Via Google+

Photo: Palapa Water Bar

6 March 2013

Palapa Water Bar, Ambergris Caye, Belize

Via Google+

Photo: Taking photos of pigeons

7 February 2013

Taking photos of pigeons, with a range finder at f/1.4, is hard.

Via Google+

Link: Medium Redesign

6 February 2013

We released a pretty big design change to medium.com today. IMO the team did an amazing job making the site look great on a range of screen sizes. Here's my new profile page. Lots more in the pipeline too.

As luck would have it, we ended off pushed under peak load after a couple of articles about the Megan Phelps went viral.  Pretty baller.

Via Google+

Photo: Cute sketch of Ada

21 January 2013

Cute sketch of Ada that Rosie quickly drew at brunch.

Via Google+

Photo Album: January 2013

15 January 2013

Via Google+

“Gmail and the GC” in Joys of JavaScript

10 January 2013

Back in 2006 I was working on the Gmail team and we were undertaking a complete rewrite of the frontend code. Gmail’s original web client had strokes of genius in it but was getting really hard to maintain and was limiting new feature development.

The new version had a bunch of enhancements: including a robust request service, using both XHRs and Iframes (for incremental responses); there was an event driven store that abstracted the UI’s data access; we were now using templates that compiled to JS functions; and we were employing many other techniques that are now considered best practice, but at the time were in their infancy.

Things were going great, then a few months into development we started to notice that the app was performing really badly in Internet Explorer 6. Given that one …

Continue reading on Medium »

“Rise of the SPA” in Tech Talk

7 January 2013

Numerous studies have shown that even modest improvements in latency can have measurable impact on usage. As such, sites should have aggressive goals for both actual and user perceived latency.

The most obvious metric is load time: how long does it take for a page to appear infront of the user. This is influenced by many factors, including DNS lookup, network speed, and how many resources need to be loaded before the page is visible (stylesheets, javascript, images, fonts), etc.

Sites will often optimize and minify stylesheets, combine images into a single sprite, defer loading of javascript, and serve static files from a CDN. All in order to speed up load time. This is great. And once all the resources are cached by the browser can lead to pretty snappy feeling sites.

However, even wit…

Continue reading on Medium »

Photo Album: England, Winter 2012

31 December 2012

Via Google+

“json ⊄ js” in Joys of JavaScript

27 December 2012

Conventional wisdom says that JSON is a subset of JavaScript. The thing is it isn’t.

Continue reading on Medium »

Image Entropy

27 December 2012

For some time I’ve been interested in the concept of “smart cropping”. While there have been lots of articles about various approaches used, most are relatively abstract. So in order to better understand the techniques I decided to use Christmas down-time to experiment myself.

I wrote two little toy-scripts that use entropy to calculate the interestingness of parts of the image. It was also an excuse to play with <canvas>, to do all the processing on the client.

Take a look »

Photo Album: Zion Trip – Neon Boneyard

15 December 2012

Officially this place has rebranded as the Neon Museum (www.neonmuseum.org) but its still a graveyard for the gaudy remnants of old Las Vegas.

If you're ever in Vegas, I definitely recommend visiting as an off strip activity. 

Via Google+