Solar powered USB ports on a patio umbrella 🤯🤯🤯

Solar powered USB ports on a patio umbrella 🤯🤯🤯

Solar powered USB ports on a patio umbrella 🤯🤯🤯

39.75034-104.98401

Posted on Instagram 7:26 pm, August 23, 2019 jQuery(document).ready(function(){ var gmap_m54ef7ff5b2253d6883236ef85c424f24 = { positions : { 940 : new google.maps.LatLng( ‘39.75034’, ‘-104.98401’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m54ef7ff5b2253d6883236ef85c424f24’ ), { 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_m54ef7ff5b2253d6883236ef85c424f24.positions ) { gmap_m54ef7ff5b2253d6883236ef85c424f24.bounds.extend( gmap_m54ef7ff5b2253d6883236ef85c424f24.positions[m] ); } // Render markers for ( var m in gmap_m54ef7ff5b2253d6883236ef85c424f24.positions ) { gmap_m54ef7ff5b2253d6883236ef85c424f24.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m54ef7ff5b2253d6883236ef85c424f24.map, position : gmap_m54ef7ff5b2253d6883236ef85c424f24.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m54ef7ff5b2253d6883236ef85c424f24.map.setCenter( gmap_m54ef7ff5b2253d6883236ef85c424f24.positions[940] ); });

There are much worse places to make a fresh cup of coffee. (from a few weeks ago, wishing I was there now)

There are much worse places to make a fresh cup of coffee. (from a few weeks ago, wishing I was there now)

There are much worse places to make a fresh cup of coffee. (from a few weeks ago, wishing I was there now)

39.4091364-105.5007863

Posted on Instagram 4:09 pm, August 23, 2019 jQuery(document).ready(function(){ var gmap_mf476f9b82b770f10fc8d19253598f79f = { positions : { 119 : new google.maps.LatLng( ‘39.4091364’, ‘-105.5007863’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mf476f9b82b770f10fc8d19253598f79f’ ), { 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_mf476f9b82b770f10fc8d19253598f79f.positions ) { gmap_mf476f9b82b770f10fc8d19253598f79f.bounds.extend( gmap_mf476f9b82b770f10fc8d19253598f79f.positions[m] ); } // Render markers for ( var m in gmap_mf476f9b82b770f10fc8d19253598f79f.positions ) { gmap_mf476f9b82b770f10fc8d19253598f79f.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mf476f9b82b770f10fc8d19253598f79f.map, position : gmap_mf476f9b82b770f10fc8d19253598f79f.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mf476f9b82b770f10fc8d19253598f79f.map.setCenter( gmap_mf476f9b82b770f10fc8d19253598f79f.positions[119] ); });

Arc’teryx Norvan SL Hoody Review

Before we get into any details, let me just get this out of the way — I absolutely love this thing, and giggle every time I get to use it. It makes no sense, I know, but here we are.

OK — now that you know how biased I am, let’s jump into some details.

I have the black and red, size Large. I’m 6’4″ and have bizarrely long arms, but the Norvan SL Hoody fits as well (if not better) than most standard long-sleeve items I get my hands on, and isn’t too baggy around the body. When I first pull it out of the pouch it might be a little short (because the fabric is all crumpled up), but then it smoothes out to full length pretty quickly. The semi-rigid hood rim and extended and reflective cuffs are really nice touches, and help make this jacket feel like more than just a super-expensive poncho.

(more…)

Engineering Management Lessons From Mountain Biking

Since moving to Colorado, I’ve been lucky enough to get out mountain biking pretty frequently. I love it. On some rides you’re just trying to get up or down the mountain in one piece, but on some rides you get good time to think quite deeply. On a recent ride I was rolling around (pun intended, you’re welcome) some ideas about engineering management, and realized there are some good parallels between mountain biking and leading teams of engineers.

(more…)

Got carried away and now we have unlimited free power FROM THE SKY. Thanks @goalzero

Got carried away and now we have unlimited free power FROM THE SKY. Thanks @goalzero

Got carried away and now we have unlimited free power FROM THE SKY. Thanks @goalzero

39.7391-104.9836

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

John Wayne!

https://scontent.cdninstagram.com/v/t50.2886-16/68826435_2090959341199899_5959889929884951687_n.mp4?_nc_ht=scontent.cdninstagram.com&oe=5D4EBAC1&oh=f9f3b1cc3f12f1c797b1e34d41c3ed60

John Wayne!

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

Trouble on the horizon.

Trouble on the horizon.

Trouble on the horizon.

38.4547-107.327

Posted on Instagram 5:47 pm, August 8, 2019 jQuery(document).ready(function(){ var gmap_m347ef00f839bdc723179cdcd4a0c762c = { positions : { 793 : new google.maps.LatLng( ‘38.4547’, ‘-107.327’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m347ef00f839bdc723179cdcd4a0c762c’ ), { 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_m347ef00f839bdc723179cdcd4a0c762c.positions ) { gmap_m347ef00f839bdc723179cdcd4a0c762c.bounds.extend( gmap_m347ef00f839bdc723179cdcd4a0c762c.positions[m] ); } // Render markers for ( var m in gmap_m347ef00f839bdc723179cdcd4a0c762c.positions ) { gmap_m347ef00f839bdc723179cdcd4a0c762c.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m347ef00f839bdc723179cdcd4a0c762c.map, position : gmap_m347ef00f839bdc723179cdcd4a0c762c.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m347ef00f839bdc723179cdcd4a0c762c.map.setCenter( gmap_m347ef00f839bdc723179cdcd4a0c762c.positions[793] ); });

Not sponsored, but happy to rave about the @bigagnes_ Copper Spur UL 2. Freaking love this tent; best one I’ve ever owned.

Not sponsored, but happy to rave about the @bigagnes_ Copper Spur UL 2. Freaking love this tent; best one I’ve ever owned.

Not sponsored, but happy to rave about the @bigagnes_ Copper Spur UL 2. Freaking love this tent; best one I’ve ever owned.

38.4547-107.327

Posted on Instagram 5:43 pm, August 8, 2019 jQuery(document).ready(function(){ var gmap_m9309d5b6c47741d21e9db49c4d553ddb = { positions : { 444 : new google.maps.LatLng( ‘38.4547’, ‘-107.327’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m9309d5b6c47741d21e9db49c4d553ddb’ ), { 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_m9309d5b6c47741d21e9db49c4d553ddb.positions ) { gmap_m9309d5b6c47741d21e9db49c4d553ddb.bounds.extend( gmap_m9309d5b6c47741d21e9db49c4d553ddb.positions[m] ); } // Render markers for ( var m in gmap_m9309d5b6c47741d21e9db49c4d553ddb.positions ) { gmap_m9309d5b6c47741d21e9db49c4d553ddb.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m9309d5b6c47741d21e9db49c4d553ddb.map, position : gmap_m9309d5b6c47741d21e9db49c4d553ddb.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m9309d5b6c47741d21e9db49c4d553ddb.map.setCenter( gmap_m9309d5b6c47741d21e9db49c4d553ddb.positions[444] ); });

More crazy views a 5 minute stroll from our campsite.

More crazy views a 5 minute stroll from our campsite.

More crazy views a 5 minute stroll from our campsite.

38.4547-107.327

Posted on Instagram 5:37 pm, August 8, 2019 jQuery(document).ready(function(){ var gmap_m213219871378940aceede8a0daf0bc29 = { positions : { 746 : new google.maps.LatLng( ‘38.4547’, ‘-107.327’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m213219871378940aceede8a0daf0bc29’ ), { 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_m213219871378940aceede8a0daf0bc29.positions ) { gmap_m213219871378940aceede8a0daf0bc29.bounds.extend( gmap_m213219871378940aceede8a0daf0bc29.positions[m] ); } // Render markers for ( var m in gmap_m213219871378940aceede8a0daf0bc29.positions ) { gmap_m213219871378940aceede8a0daf0bc29.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m213219871378940aceede8a0daf0bc29.map, position : gmap_m213219871378940aceede8a0daf0bc29.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m213219871378940aceede8a0daf0bc29.map.setCenter( gmap_m213219871378940aceede8a0daf0bc29.positions[746] ); });

Epic views from our campsite this week.

Epic views from our campsite this week.

Epic views from our campsite this week.

38.4669609-107.1662674

Posted on Instagram 5:35 pm, August 8, 2019 jQuery(document).ready(function(){ var gmap_mf364e2bf9633c0ff560378bf051dd465 = { positions : { 534 : new google.maps.LatLng( ‘38.4669609’, ‘-107.1662674’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mf364e2bf9633c0ff560378bf051dd465’ ), { 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_mf364e2bf9633c0ff560378bf051dd465.positions ) { gmap_mf364e2bf9633c0ff560378bf051dd465.bounds.extend( gmap_mf364e2bf9633c0ff560378bf051dd465.positions[m] ); } // Render markers for ( var m in gmap_mf364e2bf9633c0ff560378bf051dd465.positions ) { gmap_mf364e2bf9633c0ff560378bf051dd465.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mf364e2bf9633c0ff560378bf051dd465.map, position : gmap_mf364e2bf9633c0ff560378bf051dd465.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mf364e2bf9633c0ff560378bf051dd465.map.setCenter( gmap_mf364e2bf9633c0ff560378bf051dd465.positions[534] ); });

Thoroughly delightful wedding over the weekend. So much fun seeing everyone from NYC and so happy for @brandonlotti and @axaedwards

Thoroughly delightful wedding over the weekend. So much fun seeing everyone from NYC and so happy for @brandonlotti and @axaedwards

Thoroughly delightful wedding over the weekend. So much fun seeing everyone from NYC and so happy for @brandonlotti and @axaedwards

40.67364-73.99176

Posted on Instagram 5:29 pm, August 8, 2019 jQuery(document).ready(function(){ var gmap_m0e28be9bde9f1feafbde65d14ed6d4d2 = { positions : { 841 : new google.maps.LatLng( ‘40.67364’, ‘-73.99176’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m0e28be9bde9f1feafbde65d14ed6d4d2’ ), { 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_m0e28be9bde9f1feafbde65d14ed6d4d2.positions ) { gmap_m0e28be9bde9f1feafbde65d14ed6d4d2.bounds.extend( gmap_m0e28be9bde9f1feafbde65d14ed6d4d2.positions[m] ); } // Render markers for ( var m in gmap_m0e28be9bde9f1feafbde65d14ed6d4d2.positions ) { gmap_m0e28be9bde9f1feafbde65d14ed6d4d2.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m0e28be9bde9f1feafbde65d14ed6d4d2.map, position : gmap_m0e28be9bde9f1feafbde65d14ed6d4d2.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m0e28be9bde9f1feafbde65d14ed6d4d2.map.setCenter( gmap_m0e28be9bde9f1feafbde65d14ed6d4d2.positions[841] ); });

#tallpeoplebathroomproblems

#tallpeoplebathroomproblems

#tallpeoplebathroomproblems

40.6556702-74.0069427

Posted on Instagram 5:25 pm, August 8, 2019 jQuery(document).ready(function(){ var gmap_mc434a07136becbc55f29b4591bdf8338 = { positions : { 912 : new google.maps.LatLng( ‘40.6556702’, ‘-74.0069427’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mc434a07136becbc55f29b4591bdf8338’ ), { 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_mc434a07136becbc55f29b4591bdf8338.positions ) { gmap_mc434a07136becbc55f29b4591bdf8338.bounds.extend( gmap_mc434a07136becbc55f29b4591bdf8338.positions[m] ); } // Render markers for ( var m in gmap_mc434a07136becbc55f29b4591bdf8338.positions ) { gmap_mc434a07136becbc55f29b4591bdf8338.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mc434a07136becbc55f29b4591bdf8338.map, position : gmap_mc434a07136becbc55f29b4591bdf8338.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mc434a07136becbc55f29b4591bdf8338.map.setCenter( gmap_mc434a07136becbc55f29b4591bdf8338.positions[912] ); });