This place is really cute, and seems to be a good spot for #cafeworking. Will try their food as well.

This place is really cute, and seems to be a good spot for #cafeworking. Will try their food as well.

This place is really cute, and seems to be a good spot for #cafeworking. Will try their food as well.

39.76464-104.95653

Posted on Instagram 12:20 pm, October 13, 2017 jQuery(document).ready(function(){ var gmap_m49bf99362a63b74961929ba691381850 = { positions : { 272 : new google.maps.LatLng( ‘39.76464’, ‘-104.95653’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m49bf99362a63b74961929ba691381850’ ), { 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_m49bf99362a63b74961929ba691381850.positions ) { gmap_m49bf99362a63b74961929ba691381850.bounds.extend( gmap_m49bf99362a63b74961929ba691381850.positions[m] ); } // Render markers for ( var m in gmap_m49bf99362a63b74961929ba691381850.positions ) { gmap_m49bf99362a63b74961929ba691381850.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m49bf99362a63b74961929ba691381850.map, position : gmap_m49bf99362a63b74961929ba691381850.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m49bf99362a63b74961929ba691381850.map.setCenter( gmap_m49bf99362a63b74961929ba691381850.positions[272] ); });

Mixmaster @scratchymonkey

Mixmaster @scratchymonkey

Mixmaster @scratchymonkey

50.1122886-122.9558218

Posted on Instagram 11:49 pm, September 21, 2017 jQuery(document).ready(function(){ var gmap_m1bde92a47f9d67f87c17ce909366ee13 = { positions : { 281 : new google.maps.LatLng( ‘50.112288625037’, ‘-122.95582178407’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m1bde92a47f9d67f87c17ce909366ee13’ ), { 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_m1bde92a47f9d67f87c17ce909366ee13.positions ) { gmap_m1bde92a47f9d67f87c17ce909366ee13.bounds.extend( gmap_m1bde92a47f9d67f87c17ce909366ee13.positions[m] ); } // Render markers for ( var m in gmap_m1bde92a47f9d67f87c17ce909366ee13.positions ) { gmap_m1bde92a47f9d67f87c17ce909366ee13.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m1bde92a47f9d67f87c17ce909366ee13.map, position : gmap_m1bde92a47f9d67f87c17ce909366ee13.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m1bde92a47f9d67f87c17ce909366ee13.map.setCenter( gmap_m1bde92a47f9d67f87c17ce909366ee13.positions[281] ); });

Ted Rheingold

I’m sad to hear that Ted Rheingold has lost his fight with cancer, and died on Monday. Through a pretty random turn of events, Ted was one of the very first people I met in the SF technology “scene”, back in 2005, after I moved to San Francisco. I attended the first BarCamp, and didn’t have a good way to get there. In amongst the communications about attending, Ted volunteered to give anyone a lift from SF down to the South Bay, so I accepted graciously, and grabbed a ride with him. We chatted all the way there and back, and on and off throughout the day. I remember Ted being open, energetic, passionate, and really light hearted about who he was, what he did, and what he valued. I can’t really imagine a better introduction to those days of the web, and to the community helping build it.

(more…)

Afternoon beers after a rough 4wd in, plus rain while setting up camp. Birthday weekend for @akires

Afternoon beers after a rough 4wd in, plus rain while setting up camp. Birthday weekend for @akires

Afternoon beers after a rough 4wd in, plus rain while setting up camp. Birthday weekend for @akires

39.8358205-105.678059

Posted on Instagram 3:54 pm, August 13, 2017 jQuery(document).ready(function(){ var gmap_mb7f7cb13cc27277a72ca4a710c01d67c = { positions : { 453 : new google.maps.LatLng( ‘39.8358205’, ‘-105.678059’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mb7f7cb13cc27277a72ca4a710c01d67c’ ), { 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_mb7f7cb13cc27277a72ca4a710c01d67c.positions ) { gmap_mb7f7cb13cc27277a72ca4a710c01d67c.bounds.extend( gmap_mb7f7cb13cc27277a72ca4a710c01d67c.positions[m] ); } // Render markers for ( var m in gmap_mb7f7cb13cc27277a72ca4a710c01d67c.positions ) { gmap_mb7f7cb13cc27277a72ca4a710c01d67c.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mb7f7cb13cc27277a72ca4a710c01d67c.map, position : gmap_mb7f7cb13cc27277a72ca4a710c01d67c.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mb7f7cb13cc27277a72ca4a710c01d67c.map.setCenter( gmap_mb7f7cb13cc27277a72ca4a710c01d67c.positions[453] ); });

Canoeing the Colorado

A few weeks ago, Erika and I joined some friends on the Colorado River for a repeat of a trip we took last year.

I got all my gear sorted out on Thursday afternoon/evening, then drove out to Fruita (our put-in point) on Friday morning. By noon we were all loaded up in our canoes and ready to hit the water.

This year’s highlight was probably the felon we ran into who claimed to be on the run. Seriously. Right when we started, we saw someone putting in on the other side of the river in a yellow kayak. Not too long later he caught up with us, and asked to borrow a phone. His story was confusing and rambling, but he claimed to be on the run from Federal Marshals, and was taking one last river trip before he was put away for 20+ years on a felony “paleolithic” offense, which apparently involved finding and trying to sell a dinosaur bone on federal property. The guy was wearing jeans and runners, and had nothing with him. Our guess is that he stole the kayak and was just making a run for it.

(more…)

Our doorstep canal.

Our doorstep canal.

Our doorstep canal.

Posted on Instagram 7:00 am, August 5, 2017 jQuery(document).ready(function(){ var gmap_m3486e39b179685cb00eea8ba435ef2be = { positions : { 383 : new google.maps.LatLng( ‘52.0833’, ‘5.13333’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m3486e39b179685cb00eea8ba435ef2be’ ), { 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_m3486e39b179685cb00eea8ba435ef2be.positions ) { gmap_m3486e39b179685cb00eea8ba435ef2be.bounds.extend( gmap_m3486e39b179685cb00eea8ba435ef2be.positions[m] ); } // Render markers for ( var m in gmap_m3486e39b179685cb00eea8ba435ef2be.positions ) { gmap_m3486e39b179685cb00eea8ba435ef2be.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m3486e39b179685cb00eea8ba435ef2be.map, position : gmap_m3486e39b179685cb00eea8ba435ef2be.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m3486e39b179685cb00eea8ba435ef2be.map.setCenter( gmap_m3486e39b179685cb00eea8ba435ef2be.positions[383] ); });

Sushi

Sushi

Sushi

Posted on Instagram 5:30 am, August 5, 2017 jQuery(document).ready(function(){ var gmap_mbbbc39360fd29bd0999880b0fca2bb24 = { positions : { 750 : new google.maps.LatLng( ‘52.361659686179’, ‘4.8825574754137’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mbbbc39360fd29bd0999880b0fca2bb24’ ), { 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_mbbbc39360fd29bd0999880b0fca2bb24.positions ) { gmap_mbbbc39360fd29bd0999880b0fca2bb24.bounds.extend( gmap_mbbbc39360fd29bd0999880b0fca2bb24.positions[m] ); } // Render markers for ( var m in gmap_mbbbc39360fd29bd0999880b0fca2bb24.positions ) { gmap_mbbbc39360fd29bd0999880b0fca2bb24.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mbbbc39360fd29bd0999880b0fca2bb24.map, position : gmap_mbbbc39360fd29bd0999880b0fca2bb24.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mbbbc39360fd29bd0999880b0fca2bb24.map.setCenter( gmap_mbbbc39360fd29bd0999880b0fca2bb24.positions[750] ); });

Hoi Ann. Loving it.

https://dentedreality-content.s3.amazonaws.com/wp-content/uploads/2017/07/14182411/20271362_1835203006809425_2866936750784118784_n.mp4

Hoi Ann. Loving it.

39.76985-104.97295 jQuery(document).ready(function(){ var gmap_m629268bd9c1d15b4b249ffcb6e477be6 = { positions : { 175 : new google.maps.LatLng( ‘39.76985’, ‘-104.97295’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m629268bd9c1d15b4b249ffcb6e477be6’ ), { 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_m629268bd9c1d15b4b249ffcb6e477be6.positions ) { gmap_m629268bd9c1d15b4b249ffcb6e477be6.bounds.extend( gmap_m629268bd9c1d15b4b249ffcb6e477be6.positions[m] ); } // Render markers for ( var m in gmap_m629268bd9c1d15b4b249ffcb6e477be6.positions ) { gmap_m629268bd9c1d15b4b249ffcb6e477be6.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m629268bd9c1d15b4b249ffcb6e477be6.map, position : gmap_m629268bd9c1d15b4b249ffcb6e477be6.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m629268bd9c1d15b4b249ffcb6e477be6.map.setCenter( gmap_m629268bd9c1d15b4b249ffcb6e477be6.positions[175] ); });

Union Pacific. Toot, toot. #train #unionpacific #colorado #canoecamping #camping #river #utah

Union Pacific. Toot, toot. #train #unionpacific #colorado #canoecamping #camping #river #utah

Union Pacific. Toot, toot. #train #unionpacific #colorado #canoecamping #camping #river #utah

Posted on Instagram 10:53 pm, July 24, 2017 jQuery(document).ready(function(){ var gmap_m7f4fffe718ac166a72a7308e8d4cff1c = { positions : { 392 : new google.maps.LatLng( ‘39.862997046629’, ‘-105.08438988874’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m7f4fffe718ac166a72a7308e8d4cff1c’ ), { 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_m7f4fffe718ac166a72a7308e8d4cff1c.positions ) { gmap_m7f4fffe718ac166a72a7308e8d4cff1c.bounds.extend( gmap_m7f4fffe718ac166a72a7308e8d4cff1c.positions[m] ); } // Render markers for ( var m in gmap_m7f4fffe718ac166a72a7308e8d4cff1c.positions ) { gmap_m7f4fffe718ac166a72a7308e8d4cff1c.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m7f4fffe718ac166a72a7308e8d4cff1c.map, position : gmap_m7f4fffe718ac166a72a7308e8d4cff1c.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m7f4fffe718ac166a72a7308e8d4cff1c.map.setCenter( gmap_m7f4fffe718ac166a72a7308e8d4cff1c.positions[392] ); });

Tents in the darkness. #canoecamping #camping #tent #coleman

Tents in the darkness. #canoecamping #camping #tent #coleman

Tents in the darkness. #canoecamping #camping #tent #coleman

Posted on Instagram 10:47 pm, July 24, 2017 jQuery(document).ready(function(){ var gmap_md6d7657b3574e59117ad5ae109a68f2f = { positions : { 785 : new google.maps.LatLng( ‘39.862997046629’, ‘-105.08438988874’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_md6d7657b3574e59117ad5ae109a68f2f’ ), { 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_md6d7657b3574e59117ad5ae109a68f2f.positions ) { gmap_md6d7657b3574e59117ad5ae109a68f2f.bounds.extend( gmap_md6d7657b3574e59117ad5ae109a68f2f.positions[m] ); } // Render markers for ( var m in gmap_md6d7657b3574e59117ad5ae109a68f2f.positions ) { gmap_md6d7657b3574e59117ad5ae109a68f2f.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_md6d7657b3574e59117ad5ae109a68f2f.map, position : gmap_md6d7657b3574e59117ad5ae109a68f2f.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_md6d7657b3574e59117ad5ae109a68f2f.map.setCenter( gmap_md6d7657b3574e59117ad5ae109a68f2f.positions[785] ); });

Day Two campsite. Incredible. #canoeing #canoecamping #colorado #utah #river #canyon

Day Two campsite. Incredible. #canoeing #canoecamping #colorado #utah #river #canyon

Day Two campsite. Incredible. #canoeing #canoecamping #colorado #utah #river #canyon

Posted on Instagram 10:42 pm, July 24, 2017 jQuery(document).ready(function(){ var gmap_m1013717c82ee4fd64bfab1f32935f3a0 = { positions : { 143 : new google.maps.LatLng( ‘39.142171016667’, ‘-109.00057068333’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m1013717c82ee4fd64bfab1f32935f3a0’ ), { 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_m1013717c82ee4fd64bfab1f32935f3a0.positions ) { gmap_m1013717c82ee4fd64bfab1f32935f3a0.bounds.extend( gmap_m1013717c82ee4fd64bfab1f32935f3a0.positions[m] ); } // Render markers for ( var m in gmap_m1013717c82ee4fd64bfab1f32935f3a0.positions ) { gmap_m1013717c82ee4fd64bfab1f32935f3a0.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m1013717c82ee4fd64bfab1f32935f3a0.map, position : gmap_m1013717c82ee4fd64bfab1f32935f3a0.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m1013717c82ee4fd64bfab1f32935f3a0.map.setCenter( gmap_m1013717c82ee4fd64bfab1f32935f3a0.positions[143] ); });