Two new places to try in the neighborhood, both opened this week!

Two new places to try in the neighborhood, both opened this week!

Two new places to try in the neighborhood, both opened this week!

Posted on Instagram 9:22 pm, March 20, 2018 jQuery(document).ready(function(){ var gmap_m3a1d9348e70bb27226f4b4b236283d74 = { positions : { 243 : new google.maps.LatLng( ‘39.76129’, ‘-104.98129’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m3a1d9348e70bb27226f4b4b236283d74’ ), { 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_m3a1d9348e70bb27226f4b4b236283d74.positions ) { gmap_m3a1d9348e70bb27226f4b4b236283d74.bounds.extend( gmap_m3a1d9348e70bb27226f4b4b236283d74.positions[m] ); } // Render markers for ( var m in gmap_m3a1d9348e70bb27226f4b4b236283d74.positions ) { gmap_m3a1d9348e70bb27226f4b4b236283d74.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m3a1d9348e70bb27226f4b4b236283d74.map, position : gmap_m3a1d9348e70bb27226f4b4b236283d74.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m3a1d9348e70bb27226f4b4b236283d74.map.setCenter( gmap_m3a1d9348e70bb27226f4b4b236283d74.positions[243] ); });

Backpack Review: Arc’teryx Brize 25L vs Patagonia Nine Trails 28L

Looking for a simple daypack for quick adventures? Me too. I’ve been using a Geigerrig Rig 1210 (looks something like this one ) for a while, but found it to be a little too small, awkwardly configured, and generally just not really what I wanted. After weighing some options, I ended up with a decision between 2 packs: the Arc’teryx Brize 25 , and the Patagonia Nine Trails 28L .

In getting there, I worked out a rough list of things I cared about:

(more…)

Linear

Linear

Linear

Posted on Instagram 8:16 pm, March 14, 2018 jQuery(document).ready(function(){ var gmap_maf6a196b76ae75d12d7aa7a227d28488 = { positions : { 62 : new google.maps.LatLng( ‘39.76924’, ‘-104.97717’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_maf6a196b76ae75d12d7aa7a227d28488’ ), { 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_maf6a196b76ae75d12d7aa7a227d28488.positions ) { gmap_maf6a196b76ae75d12d7aa7a227d28488.bounds.extend( gmap_maf6a196b76ae75d12d7aa7a227d28488.positions[m] ); } // Render markers for ( var m in gmap_maf6a196b76ae75d12d7aa7a227d28488.positions ) { gmap_maf6a196b76ae75d12d7aa7a227d28488.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_maf6a196b76ae75d12d7aa7a227d28488.map, position : gmap_maf6a196b76ae75d12d7aa7a227d28488.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_maf6a196b76ae75d12d7aa7a227d28488.map.setCenter( gmap_maf6a196b76ae75d12d7aa7a227d28488.positions[62] ); });

Intended to go snowshoeing, went hiking instead. Probably should have gone snowshoeing after all. #hiking #snow #mountains #Colorado

Intended to go snowshoeing, went hiking instead. Probably should have gone snowshoeing after all. #hiking #snow #mountains #Colorado

Intended to go snowshoeing, went hiking instead. Probably should have gone snowshoeing after all. #hiking #snow #mountains #Colorado

Posted on Instagram 9:38 pm, March 4, 2018 jQuery(document).ready(function(){ var gmap_m23d496f5373d7f91f093a6103a800ace = { positions : { 611 : new google.maps.LatLng( ‘39.702457’, ‘-105.854212’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m23d496f5373d7f91f093a6103a800ace’ ), { 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_m23d496f5373d7f91f093a6103a800ace.positions ) { gmap_m23d496f5373d7f91f093a6103a800ace.bounds.extend( gmap_m23d496f5373d7f91f093a6103a800ace.positions[m] ); } // Render markers for ( var m in gmap_m23d496f5373d7f91f093a6103a800ace.positions ) { gmap_m23d496f5373d7f91f093a6103a800ace.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m23d496f5373d7f91f093a6103a800ace.map, position : gmap_m23d496f5373d7f91f093a6103a800ace.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m23d496f5373d7f91f093a6103a800ace.map.setCenter( gmap_m23d496f5373d7f91f093a6103a800ace.positions[611] ); });

YouTube Service for Keyring

In 7072886  I added a first swing at a YouTube Service definition to Keyring. It’s based heavily on the Google Analytics one that was recently submitted via PR . It’s not part of an official release yet. I’m curious about enabling people to import the videos they publish on YouTube into a WordPress install though, as that feels like something that folks who use it heavily would want as part of their web presence.

(more…)

Snowshoeing! Glorious day for it once we were out of the wind.

Snowshoeing! Glorious day for it once we were out of the wind.

Snowshoeing! Glorious day for it once we were out of the wind.

Posted on Instagram 6:48 pm, February 18, 2018 jQuery(document).ready(function(){ var gmap_m0374e97f6e62238853710879d3c06f0f = { positions : { 775 : new google.maps.LatLng( ‘39.9024’, ‘-105.646’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m0374e97f6e62238853710879d3c06f0f’ ), { 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_m0374e97f6e62238853710879d3c06f0f.positions ) { gmap_m0374e97f6e62238853710879d3c06f0f.bounds.extend( gmap_m0374e97f6e62238853710879d3c06f0f.positions[m] ); } // Render markers for ( var m in gmap_m0374e97f6e62238853710879d3c06f0f.positions ) { gmap_m0374e97f6e62238853710879d3c06f0f.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m0374e97f6e62238853710879d3c06f0f.map, position : gmap_m0374e97f6e62238853710879d3c06f0f.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m0374e97f6e62238853710879d3c06f0f.map.setCenter( gmap_m0374e97f6e62238853710879d3c06f0f.positions[775] ); });

Keyring v1.9

I just released version 1.9 of the Keyring plugin for WordPress .

Keyring v1.9 Keyring v1.9

This version includes a few pretty cool updates and additions, as described in the changelog :

  • Added a Google Analytics Service definition.
  • Added a Strava Service definition.
  • Added a “Settings” link to the plugin listing if you’re using the bundled Admin UI.
  • Fitbit tokens now refresh properly.
  • Tumblr now requires HTTPS, so updated all request URLs to use HTTPS.

My favorite part of this release is that I didn’t personally do most of the things in there. Two of my colleagues did some of it (Strava service and Tumblr fixes), while a generous and otherwise unknown contributor on Github added the Google Analytics service.

(more…)

Going to be curious to check this place out once it’s fully renovated/built.

Going to be curious to check this place out once it’s fully renovated/built.

Going to be curious to check this place out once it’s fully renovated/built.

Posted on Instagram 12:50 pm, February 17, 2018 jQuery(document).ready(function(){ var gmap_md93459d5e499db1586b0662cd11216dd = { positions : { 462 : new google.maps.LatLng( ‘39.7714227’, ‘-104.9675534’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_md93459d5e499db1586b0662cd11216dd’ ), { 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_md93459d5e499db1586b0662cd11216dd.positions ) { gmap_md93459d5e499db1586b0662cd11216dd.bounds.extend( gmap_md93459d5e499db1586b0662cd11216dd.positions[m] ); } // Render markers for ( var m in gmap_md93459d5e499db1586b0662cd11216dd.positions ) { gmap_md93459d5e499db1586b0662cd11216dd.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_md93459d5e499db1586b0662cd11216dd.map, position : gmap_md93459d5e499db1586b0662cd11216dd.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_md93459d5e499db1586b0662cd11216dd.map.setCenter( gmap_md93459d5e499db1586b0662cd11216dd.positions[462] ); });