It’s a Drunken Aussie-Yeti Thing
Posted on Flickr 11:48 pm, December 8, 2006


Tina took a liking to the ladies. I think she’s in love.
Posted on Flickr 11:33 pm, December 8, 2006


Authentication model for DokuWiki that backs onto an existing MySQL database for user/pass/group information.
This page breaks down all the special commands that are available in Doxygen. Doesn’t include all the HTML you can use, but covers all the special internal stuff.

This was me, packed up and getting ready to make the hike back down to Bottcher’s Gap and then head home.
Posted on Flickr 8:32 am, November 26, 2006 jQuery(document).ready(function(){ var gmap_mdb989690c0c7703328b572de3634f9f7 = { positions : { 179 : new google.maps.LatLng( ‘36.34389’, ‘-121.776409’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mdb989690c0c7703328b572de3634f9f7’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_mdb989690c0c7703328b572de3634f9f7.positions ) { gmap_mdb989690c0c7703328b572de3634f9f7.bounds.extend( gmap_mdb989690c0c7703328b572de3634f9f7.positions[m] ); } // Render markers for ( var m in gmap_mdb989690c0c7703328b572de3634f9f7.positions ) { gmap_mdb989690c0c7703328b572de3634f9f7.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mdb989690c0c7703328b572de3634f9f7.map, position : gmap_mdb989690c0c7703328b572de3634f9f7.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mdb989690c0c7703328b572de3634f9f7.map.setCenter( gmap_mdb989690c0c7703328b572de3634f9f7.positions[179] ); });

Awesome colors – everything from bright yellow through brown, red, gold, to rich, dark greens.
Posted on Flickr 12:10 pm, November 25, 2006 jQuery(document).ready(function(){ var gmap_m08464be33096979898ae209966e1af7b = { positions : { 523 : new google.maps.LatLng( ‘36.34389’, ‘-121.776409’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m08464be33096979898ae209966e1af7b’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m08464be33096979898ae209966e1af7b.positions ) { gmap_m08464be33096979898ae209966e1af7b.bounds.extend( gmap_m08464be33096979898ae209966e1af7b.positions[m] ); } // Render markers for ( var m in gmap_m08464be33096979898ae209966e1af7b.positions ) { gmap_m08464be33096979898ae209966e1af7b.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m08464be33096979898ae209966e1af7b.map, position : gmap_m08464be33096979898ae209966e1af7b.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m08464be33096979898ae209966e1af7b.map.setCenter( gmap_m08464be33096979898ae209966e1af7b.positions[523] ); });

One of many.
Posted on Flickr 10:23 am, November 25, 2006 jQuery(document).ready(function(){ var gmap_m5183b4729b70319e098c72815b8f599f = { positions : { 505 : new google.maps.LatLng( ‘36.34389’, ‘-121.776409’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m5183b4729b70319e098c72815b8f599f’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m5183b4729b70319e098c72815b8f599f.positions ) { gmap_m5183b4729b70319e098c72815b8f599f.bounds.extend( gmap_m5183b4729b70319e098c72815b8f599f.positions[m] ); } // Render markers for ( var m in gmap_m5183b4729b70319e098c72815b8f599f.positions ) { gmap_m5183b4729b70319e098c72815b8f599f.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m5183b4729b70319e098c72815b8f599f.map, position : gmap_m5183b4729b70319e098c72815b8f599f.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m5183b4729b70319e098c72815b8f599f.map.setCenter( gmap_m5183b4729b70319e098c72815b8f599f.positions[505] ); });

Day hike from near Apple Tree (up from Bottcher’s Gap), heading around past Devil’s Peak towards Pine Creek campsite.
Posted on Flickr 8:55 am, November 25, 2006 jQuery(document).ready(function(){ var gmap_m9730f522126f51d384652b3c8369f27e = { positions : { 448 : new google.maps.LatLng( ‘36.34389’, ‘-121.776409’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m9730f522126f51d384652b3c8369f27e’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m9730f522126f51d384652b3c8369f27e.positions ) { gmap_m9730f522126f51d384652b3c8369f27e.bounds.extend( gmap_m9730f522126f51d384652b3c8369f27e.positions[m] ); } // Render markers for ( var m in gmap_m9730f522126f51d384652b3c8369f27e.positions ) { gmap_m9730f522126f51d384652b3c8369f27e.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m9730f522126f51d384652b3c8369f27e.map, position : gmap_m9730f522126f51d384652b3c8369f27e.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m9730f522126f51d384652b3c8369f27e.map.setCenter( gmap_m9730f522126f51d384652b3c8369f27e.positions[448] ); });

One of many amazing valley views in the area.
Posted on Flickr 8:48 am, November 25, 2006 jQuery(document).ready(function(){ var gmap_me55db0f223934c0b1397c5cc8c8b0571 = { positions : { 527 : new google.maps.LatLng( ‘36.34389’, ‘-121.776409’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_me55db0f223934c0b1397c5cc8c8b0571’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_me55db0f223934c0b1397c5cc8c8b0571.positions ) { gmap_me55db0f223934c0b1397c5cc8c8b0571.bounds.extend( gmap_me55db0f223934c0b1397c5cc8c8b0571.positions[m] ); } // Render markers for ( var m in gmap_me55db0f223934c0b1397c5cc8c8b0571.positions ) { gmap_me55db0f223934c0b1397c5cc8c8b0571.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_me55db0f223934c0b1397c5cc8c8b0571.map, position : gmap_me55db0f223934c0b1397c5cc8c8b0571.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_me55db0f223934c0b1397c5cc8c8b0571.map.setCenter( gmap_me55db0f223934c0b1397c5cc8c8b0571.positions[527] ); });

Turns out that we accidentally didn’t sleep at the actual Apple Tree campsite, but we had this view, so it was well worth it.
Posted on Flickr 3:10 pm, November 24, 2006 jQuery(document).ready(function(){ var gmap_m5ad7e7c6e16ca3e6005131b21957b231 = { positions : { 270 : new google.maps.LatLng( ‘36.34389’, ‘-121.776409’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m5ad7e7c6e16ca3e6005131b21957b231’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_m5ad7e7c6e16ca3e6005131b21957b231.positions ) { gmap_m5ad7e7c6e16ca3e6005131b21957b231.bounds.extend( gmap_m5ad7e7c6e16ca3e6005131b21957b231.positions[m] ); } // Render markers for ( var m in gmap_m5ad7e7c6e16ca3e6005131b21957b231.positions ) { gmap_m5ad7e7c6e16ca3e6005131b21957b231.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m5ad7e7c6e16ca3e6005131b21957b231.map, position : gmap_m5ad7e7c6e16ca3e6005131b21957b231.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m5ad7e7c6e16ca3e6005131b21957b231.map.setCenter( gmap_m5ad7e7c6e16ca3e6005131b21957b231.positions[270] ); });

Lots of sections like this.
Posted on Flickr 10:26 am, November 24, 2006 jQuery(document).ready(function(){ var gmap_mfdfecbd134b263a61d828d91ba704761 = { positions : { 64 : new google.maps.LatLng( ‘36.34389’, ‘-121.776409’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mfdfecbd134b263a61d828d91ba704761’ ), { mapTypeId: google.maps.MapTypeId.ROADMAP, center: new google.maps.LatLng( 0, 0 ), zoom: 16 // Seems to be a good zoom for a single point } ), markers : {}, }; // end of gmap // Extend the bounds of interest based on our positions for ( var m in gmap_mfdfecbd134b263a61d828d91ba704761.positions ) { gmap_mfdfecbd134b263a61d828d91ba704761.bounds.extend( gmap_mfdfecbd134b263a61d828d91ba704761.positions[m] ); } // Render markers for ( var m in gmap_mfdfecbd134b263a61d828d91ba704761.positions ) { gmap_mfdfecbd134b263a61d828d91ba704761.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mfdfecbd134b263a61d828d91ba704761.map, position : gmap_mfdfecbd134b263a61d828d91ba704761.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mfdfecbd134b263a61d828d91ba704761.map.setCenter( gmap_mfdfecbd134b263a61d828d91ba704761.positions[64] ); });






PHP class for managing connections/email on an IMAP host. Looks full-featured although I’ve not actually tried using it yet.
Turck MMCache for PHP – Turck Software St. Petersburg
Turck MMCache is a free open source PHP accelerator, optimizer, encoder and dynamic content cache for PHP. It increases performance of PHP scripts by caching them in compiled state, so that the overhead of compiling is almost completely eliminated. Also i
Drop in player for a webpage that allows you to play back a video in Flash. 15 euros for commercial use. Perhaps only works with Flash videos?


This shot is a stitched together copy of a number of shots, all taken in sequence as one of the skiiers came down the jump.
It was put together by layering each progressive shot over the previous one, then lining them up (using 40% opacity), then clipping out everything except for the actual skier. I think it turned out quite nicely ![]()
Posted on Flickr 4:34 pm, November 12, 2006
PHP class for working with Amazon’s S3 storage engine.
Mobile browser using the Mozilla engine (a la FireFox) for Windows Mobile devices.
Widgetbox › Directory of web widgets for WordPress, TypePad, MySpace and other blogs and web pages
Directory of widgets for all sorts of applications etc. Their office is down the street from mine (on Brannan).
Interesting company that provides support and services around helping you provide an API to your service/application.
CSS Photo Shuffler by Carl Camera : Demonstration Site
Very slick implementation of a pure JS/CSS fade in/out image slideshow.
DevShed article on MySQL table types
Article from a book discussing normalization, table types, relationships etc under the MySQL DB engine



We went out later and between venues passed through Yerba Buena Gardens which are quite impressive at night.
Posted on Flickr 7:14 pm, November 4, 2006


Highlight of the day – Tony Hawk was there and ripped it up on the half-pipe. He’s getting older, but damn, the guy can still move.
Posted on Flickr 2:33 pm, November 4, 2006

Kaya Turski took a really, really bad accident, which was made worse by the negligently put together ski jump (don’t get me started). I don’t know how she ended up, but I hope she was ok.
Posted on Flickr 1:57 pm, November 4, 2006



We were allowed right down on the field which was a special enough even in it’s own right.
Posted on Flickr 10:25 am, November 4, 2006
Zamzar – Free online file conversion
Awesome online tool to convert music/doc/video/image files to different formats without download/installing anything. Very cool.
A client-installed program (Windows only) for managing Google AdWords campaigns. Looks pretty slick. Includes some collaboration features.
Google APIlity Library Documentation
Complete PHP library for working with the Google AdWords API. Don’t re-invent the wheel.
(mt) Media Temple – (gs) Grid-Server
Awesome hosting system from Media Temple. Looks like it’d scale really well.
Cost Per Influence. Many-to-Many:
Article by Ross Mayfield about a better pricing strategy for Internet Marketing.
Awesome, really flexible calendar plugin/framework for WordPress
Podcast about digital lifestyle and efficiency. Think Lifehacker, from IBM.

Very chic bar just off the main strip called Onix. It’s run by the people who produce “Noche” magazine, and it’s got a very slick interior. Oh, and they play all their music from Pandora!
Posted on Flickr 8:43 pm, October 29, 2006

L-R Taylor, her sister Kendall, Jessica (a.k.a Reese Witherspoon)
Posted on Flickr 7:39 pm, October 29, 2006

Seemed to be crawling with nothing but too-old women wearing too-little clothing, drinking too-much alcohol and dancing too-hard for their weary bones.
Posted on Flickr 7:16 pm, October 29, 2006

Dodgy big club for all the gringo’s.
Posted on Flickr 6:40 pm, October 29, 2006




What is this sign saying? No leaning? No pretending to walk off in a direction? No old people with bad backs?
Posted on Flickr 7:55 am, October 29, 2006

L-R Justin, Neil (with Brody), Nate, Me.
Posted on Flickr 1:43 pm, October 28, 2006


It doesn’t get much more “on the beach” than this.
Posted on Flickr 12:08 pm, October 28, 2006



Nate and Taylor hired a pair of professional Salsa instructors to come along and dance, then show us how to do some of it. It was awesome fun, but it was around 85 degrees, so there was sweat flying everywhere!
Posted on Flickr 4:55 pm, October 28, 2006

Everywhere our group sat all weekend was officially “The Fun Table”. We even had a sign for the reception party ![]()
Posted on Flickr 4:32 pm, October 28, 2006


Taylor has some of the cake’s candy!
Posted on Flickr 4:14 pm, October 28, 2006

Such a cool idea. The cake was actually a pinata, which Nate (and Taylor) smashed after the wedding. It was filled with crazy Mexican candy as well.
Posted on Flickr 3:06 pm, October 28, 2006


The ceremony is over, it’s time to eat, drink and dance!
Posted on Flickr 12:57 pm, October 28, 2006







AJAX/DHTML based customizable timeline system.
Line Rider – beta by *fsk on deviantART
Awesome flash based game. Make a little bob-sledder fly around and build your own track. Totally addictive
Carson Workshops Summit – The Future of Web Apps
Podcasts etc all available for the speakers at this excellent conference.
Stuffed Guys | Smart software for your online business.
Small Russian software development house that seems to develop some pretty cool stuff. (Click tracker, SQL syncher, project management tool)


Lesson #1 of responsible drinking: eat first.
Posted on Flickr 3:35 pm, October 13, 2006


First time we ever did 4 bottles between the 2 of us.
We’re going to Thailand!
Posted on Flickr 5:01 pm, October 12, 2006

Something going on that is stopping my bus. Bah!
Posted on Flickr 2:23 pm, October 11, 2006
Might not last long, but this is an awesome tool that pulls Amazon cover art for popular albums in my Last.fm account. It makes a cloud. Strip back to the filename URL for details.
How do you know what RSS extensions have been defined already, where they have been defined, and how you can avoid re-inventing what somebody else has created already?
Awesome website/blog froma guy who’s working with the Yahoo UI elements to the extreme.
