Goodbye Picasso

Goodbye Picasso

Posted on Instagram 10:21 pm, June 28, 2014 jQuery(document).ready(function(){ var gmap_mf114364c5902e65eeffc653dbff3b4f8 = { positions : { 351 : new google.maps.LatLng( ‘40.722243859’, ‘-73.988778775’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mf114364c5902e65eeffc653dbff3b4f8’ ), { 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_mf114364c5902e65eeffc653dbff3b4f8.positions ) { gmap_mf114364c5902e65eeffc653dbff3b4f8.bounds.extend( gmap_mf114364c5902e65eeffc653dbff3b4f8.positions[m] ); } // Render markers for ( var m in gmap_mf114364c5902e65eeffc653dbff3b4f8.positions ) { gmap_mf114364c5902e65eeffc653dbff3b4f8.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mf114364c5902e65eeffc653dbff3b4f8.map, position : gmap_mf114364c5902e65eeffc653dbff3b4f8.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mf114364c5902e65eeffc653dbff3b4f8.map.setCenter( gmap_mf114364c5902e65eeffc653dbff3b4f8.positions[351] ); });

Impressive.

Impressive.

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

Giant robot

Giant robot

Posted on Instagram 12:25 pm, June 14, 2014 jQuery(document).ready(function(){ var gmap_m13e94631c712092bf81ed8ec038a172e = { positions : { 303 : new google.maps.LatLng( ‘45.51907’, ‘-73.585036667’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m13e94631c712092bf81ed8ec038a172e’ ), { 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_m13e94631c712092bf81ed8ec038a172e.positions ) { gmap_m13e94631c712092bf81ed8ec038a172e.bounds.extend( gmap_m13e94631c712092bf81ed8ec038a172e.positions[m] ); } // Render markers for ( var m in gmap_m13e94631c712092bf81ed8ec038a172e.positions ) { gmap_m13e94631c712092bf81ed8ec038a172e.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m13e94631c712092bf81ed8ec038a172e.map, position : gmap_m13e94631c712092bf81ed8ec038a172e.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m13e94631c712092bf81ed8ec038a172e.map.setCenter( gmap_m13e94631c712092bf81ed8ec038a172e.positions[303] ); });

Why Web Development Is Complex

I keep hearing things like “programming is easy” and “everyone should code”! These are both interesting, kind of misleading statements. The actual core part of programming — actually writing code, is perhaps not that hard. Writing simple code is, relatively, simple. Many more people can, and should, probably learn to do that. Actually being a good developer is vastly different (and massively more complex).

It’s a worthy goal for people to get into development, and I love that more and more folks are, but you should also set your expectations realistically if you’ve never coded anything before. You can learn some basics pretty quickly, but you have a lot to learn before you will be fully proficient in a real development environment.

(more…)

Getting my #burritofriday on.

Getting my #burritofriday on.

Posted on Instagram 1:00 pm, June 6, 2014 jQuery(document).ready(function(){ var gmap_me51ce47a580d8e3cbf3487a53722101e = { positions : { 127 : new google.maps.LatLng( ‘40.674235418’, ‘-73.982220724’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_me51ce47a580d8e3cbf3487a53722101e’ ), { 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_me51ce47a580d8e3cbf3487a53722101e.positions ) { gmap_me51ce47a580d8e3cbf3487a53722101e.bounds.extend( gmap_me51ce47a580d8e3cbf3487a53722101e.positions[m] ); } // Render markers for ( var m in gmap_me51ce47a580d8e3cbf3487a53722101e.positions ) { gmap_me51ce47a580d8e3cbf3487a53722101e.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_me51ce47a580d8e3cbf3487a53722101e.map, position : gmap_me51ce47a580d8e3cbf3487a53722101e.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_me51ce47a580d8e3cbf3487a53722101e.map.setCenter( gmap_me51ce47a580d8e3cbf3487a53722101e.positions[127] ); });

Into The Wild

Into The Wild

Posted on Instagram 3:14 pm, May 31, 2014 jQuery(document).ready(function(){ var gmap_m11e8f888d53f6f22df2471969c6d7006 = { positions : { 283 : new google.maps.LatLng( ‘41.173925451’, ‘-74.168624423’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m11e8f888d53f6f22df2471969c6d7006’ ), { 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_m11e8f888d53f6f22df2471969c6d7006.positions ) { gmap_m11e8f888d53f6f22df2471969c6d7006.bounds.extend( gmap_m11e8f888d53f6f22df2471969c6d7006.positions[m] ); } // Render markers for ( var m in gmap_m11e8f888d53f6f22df2471969c6d7006.positions ) { gmap_m11e8f888d53f6f22df2471969c6d7006.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m11e8f888d53f6f22df2471969c6d7006.map, position : gmap_m11e8f888d53f6f22df2471969c6d7006.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m11e8f888d53f6f22df2471969c6d7006.map.setCenter( gmap_m11e8f888d53f6f22df2471969c6d7006.positions[283] ); });

Hatchetin’

Hatchetin’

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

Fatty Timber Rattlesnake seen in #Harriman State Park last August. Be safe/alert, ppl!

Fatty Timber Rattlesnake seen in #Harriman State Park last August. Be safe/alert, ppl!

Posted on Instagram 9:12 am, May 29, 2014 jQuery(document).ready(function(){ var gmap_m4091327b44afd9d4bef46ead4ec4fc03 = { positions : { 771 : new google.maps.LatLng( ‘41.204333333’, ‘-74.176666667’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m4091327b44afd9d4bef46ead4ec4fc03’ ), { 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_m4091327b44afd9d4bef46ead4ec4fc03.positions ) { gmap_m4091327b44afd9d4bef46ead4ec4fc03.bounds.extend( gmap_m4091327b44afd9d4bef46ead4ec4fc03.positions[m] ); } // Render markers for ( var m in gmap_m4091327b44afd9d4bef46ead4ec4fc03.positions ) { gmap_m4091327b44afd9d4bef46ead4ec4fc03.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m4091327b44afd9d4bef46ead4ec4fc03.map, position : gmap_m4091327b44afd9d4bef46ead4ec4fc03.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m4091327b44afd9d4bef46ead4ec4fc03.map.setCenter( gmap_m4091327b44afd9d4bef46ead4ec4fc03.positions[771] ); });

So hot, they’re dropping like flies.

So hot, they’re dropping like flies.

Posted on Instagram 1:32 pm, May 27, 2014 jQuery(document).ready(function(){ var gmap_m217163574a3ad7377989c1248342b122 = { positions : { 217 : new google.maps.LatLng( ‘40.669405’, ‘-73.984978333’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m217163574a3ad7377989c1248342b122’ ), { 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_m217163574a3ad7377989c1248342b122.positions ) { gmap_m217163574a3ad7377989c1248342b122.bounds.extend( gmap_m217163574a3ad7377989c1248342b122.positions[m] ); } // Render markers for ( var m in gmap_m217163574a3ad7377989c1248342b122.positions ) { gmap_m217163574a3ad7377989c1248342b122.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m217163574a3ad7377989c1248342b122.map, position : gmap_m217163574a3ad7377989c1248342b122.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m217163574a3ad7377989c1248342b122.map.setCenter( gmap_m217163574a3ad7377989c1248342b122.positions[217] ); });

Chicken heart soup for dinner, care of @akires’ mom.

Chicken heart soup for dinner, care of @akires’ mom.

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

Do you like my new scarf? WRONG! It’s a baby sling you hipster.

Do you like my new scarf? WRONG! It’s a baby sling you hipster.

Posted on Instagram 11:18 am, May 25, 2014 jQuery(document).ready(function(){ var gmap_maf4adaff7d484cbc0516c399de65e634 = { positions : { 344 : new google.maps.LatLng( ‘40.633580494’, ‘-74.014391804’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_maf4adaff7d484cbc0516c399de65e634’ ), { 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_maf4adaff7d484cbc0516c399de65e634.positions ) { gmap_maf4adaff7d484cbc0516c399de65e634.bounds.extend( gmap_maf4adaff7d484cbc0516c399de65e634.positions[m] ); } // Render markers for ( var m in gmap_maf4adaff7d484cbc0516c399de65e634.positions ) { gmap_maf4adaff7d484cbc0516c399de65e634.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_maf4adaff7d484cbc0516c399de65e634.map, position : gmap_maf4adaff7d484cbc0516c399de65e634.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_maf4adaff7d484cbc0516c399de65e634.map.setCenter( gmap_maf4adaff7d484cbc0516c399de65e634.positions[344] ); });

Tuna Tataki

Tuna Tataki

Tuna Tataki

38.9084487-76.9974852

Posted on Instagram 11:39 am, May 17, 2014 jQuery(document).ready(function(){ var gmap_m807ac5cd623d0919e47d6b325a0b47e3 = { positions : { 866 : new google.maps.LatLng( ‘38.908448716’, ‘-76.997485158’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m807ac5cd623d0919e47d6b325a0b47e3’ ), { 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_m807ac5cd623d0919e47d6b325a0b47e3.positions ) { gmap_m807ac5cd623d0919e47d6b325a0b47e3.bounds.extend( gmap_m807ac5cd623d0919e47d6b325a0b47e3.positions[m] ); } // Render markers for ( var m in gmap_m807ac5cd623d0919e47d6b325a0b47e3.positions ) { gmap_m807ac5cd623d0919e47d6b325a0b47e3.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m807ac5cd623d0919e47d6b325a0b47e3.map, position : gmap_m807ac5cd623d0919e47d6b325a0b47e3.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m807ac5cd623d0919e47d6b325a0b47e3.map.setCenter( gmap_m807ac5cd623d0919e47d6b325a0b47e3.positions[866] ); });

Personal Location Tracking

Screen Shot 2014-05-14 at 10.00.03 AM

I’ve been pretty fascinated with the idea of recording my own location for a while now. I started using Foursquare at SXSW in 2009 and have mostly continued to do so since then (I have over 3,700 check-ins). You can see my check-ins being syndicated back to this website (using Keyring Social Importers ), and if you scroll back through the history of the main page, you’ll get maps aggregating a few check-ins at a time.

(more…)

Automattic, 5 Years In

automattic-santacruz-2013

On May 11 (today) in 2009, I started full time at Automattic . I’ve written about my experiences over the years, and marked the occasion each year in some small way . Let’s continue the tradition.

automattic-logo

This year has actually been a particularly big year. Probably the headliner happened only a week ago; Automattic raised $160 million , on a valuation of $1 billion. That’s a lot of money. That’s a large valuation, and it feels kind of weird to be employee #35 of a company of that scale. We’re now at 247 employees, and we span 30[1] different countries. Whoah.

(more…)