Checked in at Denver International Airport (DEN) .
39.8544452-104.6737655
Checked in at Denver International Airport (DEN) .
39.8544452-104.6737655
Checked in at George Bush Intercontinental Airport (IAH) .
Back in the US and A. Almost home.
29.9872-95.34774
Nature’s Already Figured It Out. – NewCo Shift

Continuing our exploration of health-related companies that are fundamentally shifting our understanding of the industry, meet Emily Leproust, the Parisian founder of Twist Bioscience . An industrial chemist with a PhD in bioscience, Leproust and her team are reimagining industrial processes using nature’s most powerful mechanisms. The results are stunning: replacements for oil-based products, spider silk at scale, and a new kind of digital storage that lasts for generations. Below is Leproust’s presentation at NewCo Shift Forum , and a transcript, edited for clarity.
(more…)How Elon Musk Learns Faster And Better Than Everyone Else

Photo Credit: Heisenberg Media
How is it even possible that Elon Musk could build four multibillion companies by his mid-40s — in four separate fields (software, energy, transportation, and aerospace)?
To explain Musk’s success, others have pointed to his heroic work ethic (he regularly works 85-hour weeks ), his ability to set reality-distorting visions for the future , and his incredible resilience .
(more…)What to Do About Mediocrity on Your Team

The toughest test of a manager is not how they deal with poor performance — it’s how they address mediocrity.
I’ve been struck over the years watching executives opine in public about the need for “accountability” and “high performance,” then complain helplessly in private about one or two middling members of their own team. You have no moral authority to ask other managers to hold people accountable if you’re not doing so yourself. Are you sure you’re doing enough to push for high performance? What do you do when someone’s work is good but not great? How many employees do you have whose performance isn’t bad enough for termination, but whom you’d pass on if you could get a do-over on hiring them?
(more…)Why Being a Middle Manager Is So Exhausting

There is no shortage of advice for how to navigate power dynamics within organizations — from managing toxic or exceptionally gifted subordinates to dealing with unpredictable and narcissistic bosses. Researchers have devoted entire careers to systematically cataloging the many ways in which those who have power differ from those who lack power with respect to their motivations, behaviors, biases, etc. (a sampling of these findings can be found here , here , here , and here ).
(more…)Checked in at Aeropuerto Internacional Juan Santamaría (SJO) .
Chow Costa Rica. Pura Vida!
Checked in at Playa Blanca .

Crocs! #costarica #puntaleona #crocodile
Posted on Instagram 7:32 pm, April 27, 2017

Checked in at Hotel Punta Leona .
Tonight’s grilled dinner was pretty absurd. Also delicious. #tuna #lobster #shrimp #peppers #corn #grill #seafood
9.7031533-84.6607982

Tonight’s grilled dinner was pretty absurd. Also delicious. #tuna #lobster #shrimp #peppers #corn #grill #seafood
9.7029733-84.6605084
Posted on Instagram 12:55 am, April 27, 2017 jQuery(document).ready(function(){ var gmap_m63f270b6679a68766abca9a784de0473 = { positions : { 539 : new google.maps.LatLng( ‘9.7029733395391’, ‘-84.660508412921’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m63f270b6679a68766abca9a784de0473’ ), { 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_m63f270b6679a68766abca9a784de0473.positions ) { gmap_m63f270b6679a68766abca9a784de0473.bounds.extend( gmap_m63f270b6679a68766abca9a784de0473.positions[m] ); } // Render markers for ( var m in gmap_m63f270b6679a68766abca9a784de0473.positions ) { gmap_m63f270b6679a68766abca9a784de0473.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m63f270b6679a68766abca9a784de0473.map, position : gmap_m63f270b6679a68766abca9a784de0473.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m63f270b6679a68766abca9a784de0473.map.setCenter( gmap_m63f270b6679a68766abca9a784de0473.positions[539] ); });
Checked in at Playa Blanca .
9.7030631-84.6673511

Dinner. #fish #wholefish #platacones
9.7177712-84.6317307
Posted on Instagram 9:42 pm, April 24, 2017 jQuery(document).ready(function(){ var gmap_m5b63ac04dc0db349e1d74ece45407f97 = { positions : { 153 : new google.maps.LatLng( ‘9.7177711688073’, ‘-84.631730737243’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m5b63ac04dc0db349e1d74ece45407f97’ ), { 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_m5b63ac04dc0db349e1d74ece45407f97.positions ) { gmap_m5b63ac04dc0db349e1d74ece45407f97.bounds.extend( gmap_m5b63ac04dc0db349e1d74ece45407f97.positions[m] ); } // Render markers for ( var m in gmap_m5b63ac04dc0db349e1d74ece45407f97.positions ) { gmap_m5b63ac04dc0db349e1d74ece45407f97.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m5b63ac04dc0db349e1d74ece45407f97.map, position : gmap_m5b63ac04dc0db349e1d74ece45407f97.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m5b63ac04dc0db349e1d74ece45407f97.map.setCenter( gmap_m5b63ac04dc0db349e1d74ece45407f97.positions[153] ); });
How Google builds web frameworks – freeCodeCamp
It’s public knowledge that Google uses a single repository to share code — all 2 billion lines of it — and that it uses the trunk-based development paradigm.

This is easily one of the largest single code repositories in the world. Source .
For many developers outside the company, this is surprising and counterintuitive, but it works really well. (The article linked above gives good examples, so I won’t repeat them here.)
(more…)The missing piece of a manager’s responsibilities
In September 2016 I gave a presentation on managerial focus at the Calibrate Conference. In that talk I outlined the responsibilities of a manager and shared the tools I have been developing to decide which responsibilities to focus at any given time. But now, after giving that talk, I realize that there is a major responsibility that I left out. It’s the core of what we do as managers, but it was so easy for me to overlook because the focus is internal. I call it, “digging deep”: owning your successes and knowing that you can overcome whatever challenges come your way.
(more…)
Texas!
29.9844444-95.3413889
Posted on Instagram 3:39 pm, April 23, 2017 jQuery(document).ready(function(){ var gmap_m03d94a8bb6bf09129fa50eef60814e3d = { positions : { 377 : new google.maps.LatLng( ‘29.984444444444’, ‘-95.341388888889’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m03d94a8bb6bf09129fa50eef60814e3d’ ), { 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_m03d94a8bb6bf09129fa50eef60814e3d.positions ) { gmap_m03d94a8bb6bf09129fa50eef60814e3d.bounds.extend( gmap_m03d94a8bb6bf09129fa50eef60814e3d.positions[m] ); } // Render markers for ( var m in gmap_m03d94a8bb6bf09129fa50eef60814e3d.positions ) { gmap_m03d94a8bb6bf09129fa50eef60814e3d.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m03d94a8bb6bf09129fa50eef60814e3d.map, position : gmap_m03d94a8bb6bf09129fa50eef60814e3d.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m03d94a8bb6bf09129fa50eef60814e3d.map.setCenter( gmap_m03d94a8bb6bf09129fa50eef60814e3d.positions[377] ); });
Your non-linear problem of 90% utilization
Does it feel like everyone is working very hard, all the time, and yet not accomplishing as much as everyone would like?
Maybe this is why.
Suppose a web server is running at 50% of its full capacity. Browser traffic doesn’t arrive in regular, smooth amounts; it comes in spurts and occasionally large spikes. Because the server is under-utilized, when a spike arrives there are spare resource to deal with the increase. If the spike is sufficiently large, performance will degrade, and if larger still, many of the requests will have to be rejected rather than answered; after all, there’s some limit past which the server cannot do any additional work.
(more…)Things We Learned Creating Technology Career Steps — Medium

This is part three of a three-part series on how we created a career path framework for the individual contributors at Spotify. Part one discussed the process we used to formulate the framework. Part two contained version 1.0 of our framework. In this segment, I’ll talk about the lessons we learned rolling out the framework to the technology organization. If you haven’t read the first two parts, I suggest that you read those first before proceeding with this one.
(more…)Checked in at Denver International Airport (DEN) .
It’s almost like I live here. DEN:IAH.
39.8529241-104.6736744

Checked in at Extended Stay America Albuquerque – Rio Rancho .
Last night in ABQ.
35.2129134-106.6590514

Checked in at Thai House Restaurant .
#jetpack meetup with the local @wordpress crew
35.0804737-106.623772

#jetpack meetup with the local @wordpress crew
35.0805111-106.6239609
Posted on Instagram 7:00 pm, April 21, 2017 jQuery(document).ready(function(){ var gmap_m94857d6f6226018f0d78a35fdd23314c = { positions : { 931 : new google.maps.LatLng( ‘35.080511066667’, ‘-106.6239609’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m94857d6f6226018f0d78a35fdd23314c’ ), { 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_m94857d6f6226018f0d78a35fdd23314c.positions ) { gmap_m94857d6f6226018f0d78a35fdd23314c.bounds.extend( gmap_m94857d6f6226018f0d78a35fdd23314c.positions[m] ); } // Render markers for ( var m in gmap_m94857d6f6226018f0d78a35fdd23314c.positions ) { gmap_m94857d6f6226018f0d78a35fdd23314c.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m94857d6f6226018f0d78a35fdd23314c.map, position : gmap_m94857d6f6226018f0d78a35fdd23314c.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m94857d6f6226018f0d78a35fdd23314c.map.setCenter( gmap_m94857d6f6226018f0d78a35fdd23314c.positions[931] ); });
I’ve just released version 1.8 of both Keyring , and the Keyring Social Importers . This version includes a new service file, and an accompanying importer, which allows you to import content from a Jetpack-powered WordPress site, using the WordPress.com REST API . That means any site hosted on WordPress.com, or any self-hosted site with the Jetpack plugin installed. There are also a few key fixes for the Twitter and LinkedIn services/importers, so it’s a nice update.
(more…)Growing vegetables in Colorado presents challenges, but growing vegetables in the mountains is harder still. This is due to the much shorter growing season, cool nights, wind, critters, and possible watering restrictions. For the purposes of this fact sheet, ‘high elevation’ or ‘mountains’ means anything over 7,500 feet in elevation in Colorado.
Source: Vegetable Gardening in the Mountains – 7.248 – ExtensionExtension
Now that I own my own house, and some of the technologies involved are a bit more stable, I’ve gotten into the idea of home automation a bit more. Here’s a quick run down of my current configuration.
At the center of most things, I have a wink hub (first generation). I configure as much as possible through that, since it simplifies interacting with them if they’re all available in one place.
(more…)
Got all the cooler season things planted finally. Even though it’s pretty warm already, and forecast for more of the same.
39.7572-104.967
Posted on Instagram 4:27 pm, April 9, 2017 jQuery(document).ready(function(){ var gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f = { positions : { 184 : new google.maps.LatLng( ‘39.7572’, ‘-104.967’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f’ ), { 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_mbfbfe6a153079cb2a2d0fe39cb79bb1f.positions ) { gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f.bounds.extend( gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f.positions[m] ); } // Render markers for ( var m in gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f.positions ) { gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f.map, position : gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f.map.setCenter( gmap_mbfbfe6a153079cb2a2d0fe39cb79bb1f.positions[184] ); });


Tulip Party #flowers #tulips #garden
39.7321442-104.9607721
Posted on Instagram 4:21 pm, April 9, 2017 jQuery(document).ready(function(){ var gmap_m719251e6b75e67beff0021ddf8c4bf85 = { positions : { 392 : new google.maps.LatLng( ‘39.73214416473’, ‘-104.9607721189’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m719251e6b75e67beff0021ddf8c4bf85’ ), { 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_m719251e6b75e67beff0021ddf8c4bf85.positions ) { gmap_m719251e6b75e67beff0021ddf8c4bf85.bounds.extend( gmap_m719251e6b75e67beff0021ddf8c4bf85.positions[m] ); } // Render markers for ( var m in gmap_m719251e6b75e67beff0021ddf8c4bf85.positions ) { gmap_m719251e6b75e67beff0021ddf8c4bf85.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m719251e6b75e67beff0021ddf8c4bf85.map, position : gmap_m719251e6b75e67beff0021ddf8c4bf85.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m719251e6b75e67beff0021ddf8c4bf85.map.setCenter( gmap_m719251e6b75e67beff0021ddf8c4bf85.positions[392] ); });
Last year, Erika and I planted our first ever vegetable garden. We quickly became obsessed with it, and this year we’ve upgraded from 2 beds with approximately 50 square feet, to a total of 6 beds, with over 285 square feet (more than 5x the growing space)! We’re pretty psyched to see what we can produce this year, and will be trying a bunch of new vegetables, in addition to more of the varieties we liked from last year.
(more…)I Was As Average As Humanly Possible For A Week
In 1927, an enterprising magazine writer named William Dutton got an idea: Let’s find the most average man in America and see what he’s like. He scoured the country to find America’s most average town — Fort Madison, Iowa — and then surveyed the people there until he met Roy L. Gray .
(more…)
Heavy modifications required, but getting good coverage now. #gardening #irrigation #vegetablegarden
Posted on Instagram 5:50 pm, April 1, 2017 jQuery(document).ready(function(){ var gmap_mcf9873a8f4158f268d441f141a0dd337 = { positions : { 386 : new google.maps.LatLng( ‘39.7572’, ‘-104.967’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mcf9873a8f4158f268d441f141a0dd337’ ), { 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_mcf9873a8f4158f268d441f141a0dd337.positions ) { gmap_mcf9873a8f4158f268d441f141a0dd337.bounds.extend( gmap_mcf9873a8f4158f268d441f141a0dd337.positions[m] ); } // Render markers for ( var m in gmap_mcf9873a8f4158f268d441f141a0dd337.positions ) { gmap_mcf9873a8f4158f268d441f141a0dd337.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mcf9873a8f4158f268d441f141a0dd337.map, position : gmap_mcf9873a8f4158f268d441f141a0dd337.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mcf9873a8f4158f268d441f141a0dd337.map.setCenter( gmap_mcf9873a8f4158f268d441f141a0dd337.positions[386] ); });
Checked in at The Home Depot .
More irrigation supplies — with erika
Modern JavaScript for Ancient Web Developers

Learn JavaScript using… JavaScript. Image via learnyounode .
There’s a certain kind of old-school, backend web developer who, a long time ago, mastered things like Perl or Python or PHP or Java Server Pages, maybe even Rails or Django. This person worked with giant relational databases and built APIs that serve up JSON and even (gasp!) XML.
This person is a backend developer, so for a long time, JavaScript was just a fun little toy that added a bit of frontend trickery that could make things on a web page change color. If JavaScript was being really useful, it would add form validation that helped prevent the wrong information from getting into the database. Eight years ago jQuery blew this person’s mind . JavaScript itself was a language one merely tolerated, but never embraced.
(more…)Ruthless Prioritization – Startup Grind – Medium

Prioritization means doing the things that are most important first. If you build products, it means doing the things that create the most customer value first.
In my experience, the craft of making prioritization decisions is one of the most difficult skills to impart on teams because of how complex those decisions can become, and while it’s usually a core responsibility of product managers, I’ve found that the best teams are the ones where everyone is maniacally prioritizing towards the same goal, and doing so in a way that’s consistent with each other.
(more…)Five Lessons from Scaling Pinterest – Greylock Perspectives

When you’re scaling quickly, you get a lot right, but you inevitably get some things wrong. The best companies — like Pinterest — are the ones that learn from those mistakes and adjust quickly.
This post is a distillation of the lessons I learned, first as one of the company’s first product managers, and finally leading product for our discovery team — overseeing search, recommendations, our visual search team, and more.
(more…)How to Manage Your Former Peers
Becoming the boss is an exciting transition, but it can also be a nerve-wracking one. This is especially true if you are now managing people who used to be your peers. You need to establish your credibility and authority, without acting like the promotion’s gone to your head. How you walk this line will depend on your organization and your leadership style, but here are some general rules to make any transition smoother.
(more…)Speed up your site with a little machine learning – Hacker Noon
I spend roughly 73% of my life thinking about web performance — hitting that sweet 60FPS on slow phones, loading my assets in the perfect order, offline-caching everything I can. Other examples.
But recently I’ve been wondering if my definition of web performance is too narrow. From a user’s perspective, all that jazz is a tiny piece of the performance pie.
(more…)
Finally got all of our irrigation in on all the beds. Officially ready for planting #garden #vegetablegarden #spring #irrigation
39.7572-104.967
Posted on Instagram 10:35 pm, March 26, 2017 jQuery(document).ready(function(){ var gmap_m84a8b9e37f86d81e612cb82863ba0ee1 = { positions : { 358 : new google.maps.LatLng( ‘39.7572’, ‘-104.967’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m84a8b9e37f86d81e612cb82863ba0ee1’ ), { 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_m84a8b9e37f86d81e612cb82863ba0ee1.positions ) { gmap_m84a8b9e37f86d81e612cb82863ba0ee1.bounds.extend( gmap_m84a8b9e37f86d81e612cb82863ba0ee1.positions[m] ); } // Render markers for ( var m in gmap_m84a8b9e37f86d81e612cb82863ba0ee1.positions ) { gmap_m84a8b9e37f86d81e612cb82863ba0ee1.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m84a8b9e37f86d81e612cb82863ba0ee1.map, position : gmap_m84a8b9e37f86d81e612cb82863ba0ee1.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m84a8b9e37f86d81e612cb82863ba0ee1.map.setCenter( gmap_m84a8b9e37f86d81e612cb82863ba0ee1.positions[358] ); });

Productive morning. #garden #yard #mulch
39.7572-104.967
Posted on Instagram 1:22 pm, March 24, 2017 jQuery(document).ready(function(){ var gmap_m3f8522e130bcac9c8c0956aee689e52a = { positions : { 218 : new google.maps.LatLng( ‘39.7572’, ‘-104.967’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m3f8522e130bcac9c8c0956aee689e52a’ ), { 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_m3f8522e130bcac9c8c0956aee689e52a.positions ) { gmap_m3f8522e130bcac9c8c0956aee689e52a.bounds.extend( gmap_m3f8522e130bcac9c8c0956aee689e52a.positions[m] ); } // Render markers for ( var m in gmap_m3f8522e130bcac9c8c0956aee689e52a.positions ) { gmap_m3f8522e130bcac9c8c0956aee689e52a.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m3f8522e130bcac9c8c0956aee689e52a.map, position : gmap_m3f8522e130bcac9c8c0956aee689e52a.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m3f8522e130bcac9c8c0956aee689e52a.map.setCenter( gmap_m3f8522e130bcac9c8c0956aee689e52a.positions[218] ); });
A static business is a healthy business

Is that the sun? No, it’s our business. Read on…
Last year I wrote an article suggesting that you shouldn’t let any one (or small group) of customers overpay you.
If you have a small handful of customers paying you significantly more than most of your customers, you’re no longer a product company — you’re actually a consulting company working for those big payers. You’ll do what they say — often at the detriment of your smaller customers — because the big guys pay the big bucks.
(more…)Voice and the uncanny valley of AI
Voice is a Big Deal in tech this year. Amazon has probably sold 10m Echos, you couldn’t move for Alexa partnerships at CES, Google has made its own and, it seems, this is the new platform. There are a couple of different causes for this explosion, and, also, a couple of problems. To begin, the causes.
First, voice is a big deal because voice input now works in a way that it did not until very recently. The advances in machine learning in the past couple of years mean (to simplify hugely) that computers are getting much better at recognizing what people are saying. Technically, there are two different fields here; voice recognition and natural language processing. Voice recognition is the transcribing of audio to text and natural language processing is taking that text and working out what command might be in it. Since 2012, error rates for these tasks have gone from perhaps a third to under 5%. In other words, this works, mostly, when in the past it didn’t. This isn’t perfect yet – with normal use a 5% error rate can be something you run into every day or two, and Twitter is full of people posting examples of voice assistants not understanding at all. But this is continuing to improve – we know how to do this now.
(more…)
#burritofriday
39.7401244-104.963292
Posted on Instagram 2:08 pm, March 17, 2017 jQuery(document).ready(function(){ var gmap_mc4e0573bd447bd7597143c62f63c5e45 = { positions : { 285 : new google.maps.LatLng( ‘39.740124419831’, ‘-104.96329197258’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mc4e0573bd447bd7597143c62f63c5e45’ ), { 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_mc4e0573bd447bd7597143c62f63c5e45.positions ) { gmap_mc4e0573bd447bd7597143c62f63c5e45.bounds.extend( gmap_mc4e0573bd447bd7597143c62f63c5e45.positions[m] ); } // Render markers for ( var m in gmap_mc4e0573bd447bd7597143c62f63c5e45.positions ) { gmap_mc4e0573bd447bd7597143c62f63c5e45.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mc4e0573bd447bd7597143c62f63c5e45.map, position : gmap_mc4e0573bd447bd7597143c62f63c5e45.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mc4e0573bd447bd7597143c62f63c5e45.map.setCenter( gmap_mc4e0573bd447bd7597143c62f63c5e45.positions[285] ); });
Checked in at Georgetown Visitor Center .
I used to write a lot of Angular back in 2015. But recently, the JS community has largely moved on from Angular 1 to other libraries, and in turn, so have my projects. I always knew in the back of my mind that technology — and the knowledge that goes along with it — becomes outdated, but this was the first time I experienced it for myself. I wondered: what parts of my Angular knowledge are now obsolete? What parts are long-lasting? And most importantly, how can I make sure that I always get better as an engineer in the face of all those fleeting frameworks and libraries?
(more…)What are some of the dark lessons that life showed you?

A question I originally answered on Quora : What are some of the dark lessons that life showed you?
I can picture it right now: my youngest daughter will one day breathe her last breath. She will be buried. And then she will be forgotten.
Or the seas will rise up and claim us all. Or most of the people I know are mentally ill criminals.
(more…)Checked in at Ratio Beerworks .
with Chelsea
Let’s stop calling them ‘soft skills’ – It’s Your Turn
Are you good at your job?
Different, easier question: Was Ty Cobb good at baseball?

Ty Cobb: Competitive Jerk
It’s generally understood that Ty Cobb was a jerk. His teammates didn’t like him very much. But he’s still in the Hall of Fame. That’s because baseball keeps score… of hits, of runs and of catches.
(more…)
#immigrants
Posted on Instagram 2:50 pm, March 4, 2017 jQuery(document).ready(function(){ var gmap_m257573dd0cbab736fdcb1cf89db7b13b = { positions : { 996 : new google.maps.LatLng( ‘39.747694765574’, ‘-104.98420639855’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m257573dd0cbab736fdcb1cf89db7b13b’ ), { 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_m257573dd0cbab736fdcb1cf89db7b13b.positions ) { gmap_m257573dd0cbab736fdcb1cf89db7b13b.bounds.extend( gmap_m257573dd0cbab736fdcb1cf89db7b13b.positions[m] ); } // Render markers for ( var m in gmap_m257573dd0cbab736fdcb1cf89db7b13b.positions ) { gmap_m257573dd0cbab736fdcb1cf89db7b13b.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m257573dd0cbab736fdcb1cf89db7b13b.map, position : gmap_m257573dd0cbab736fdcb1cf89db7b13b.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m257573dd0cbab736fdcb1cf89db7b13b.map.setCenter( gmap_m257573dd0cbab736fdcb1cf89db7b13b.positions[996] ); });
I’ve been trying to make small improvements to the Keyring Social Importers package (and People & Places) that I maintain, and have made a number of them over the last few weeks. Here are some details of recent updates which you may have missed:
add_place_to_post() method so that you can add multiple Places to a single Post.people and places taxonomies via the REST API
.Checked in at The Preservery .
39.764171-104.98132

Final night #meetup dinner.
39.7638893-104.9813919
Posted on Instagram 7:57 pm, March 2, 2017 jQuery(document).ready(function(){ var gmap_ma7f2dd4044a9e807a31528c911c3f4e8 = { positions : { 914 : new google.maps.LatLng( ‘39.7638893’, ‘-104.9813919’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_ma7f2dd4044a9e807a31528c911c3f4e8’ ), { 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_ma7f2dd4044a9e807a31528c911c3f4e8.positions ) { gmap_ma7f2dd4044a9e807a31528c911c3f4e8.bounds.extend( gmap_ma7f2dd4044a9e807a31528c911c3f4e8.positions[m] ); } // Render markers for ( var m in gmap_ma7f2dd4044a9e807a31528c911c3f4e8.positions ) { gmap_ma7f2dd4044a9e807a31528c911c3f4e8.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_ma7f2dd4044a9e807a31528c911c3f4e8.map, position : gmap_ma7f2dd4044a9e807a31528c911c3f4e8.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_ma7f2dd4044a9e807a31528c911c3f4e8.map.setCenter( gmap_ma7f2dd4044a9e807a31528c911c3f4e8.positions[914] ); });
Checked in at Shish Kabob Grill .
39.7401559-104.9835545
Checked in at Osaka Ramen .
39.7595548-104.9861225
This researcher programmed bots to fight racism on Twitter. It worked.

Example of message designed to remind harassers of the humanity of their victims and to reconsider the norms of online behavior. (Screen shot from Twitter by Kevin Munger/TMC)
Despite rising concern among the public, social-media companies have had little success stemming the wave of online harassment. As part of research recently published in the journal Political Behavior , I conducted an experiment on Twitter to find out the best tactics people can use to discourage other users from using harassing language. I found that these sanctioning messages do have an effect, but not in all contexts.
(more…)Key Takeaways from the Gallup State of the American Workplace Study
Last week, Gallup released its State of the American Workplace study (read it here ). This is yet another of their comprehensive looks at what really motivates and engages employees.
As we’ve done in the past for Gallup’s State of the American Manager , Deloitte’s Study of Millennials , and others, we’ve pulled out some of the essential takeaways you should know for your teams and companies.
(more…)Checked in at Enterprise 5280 .
39.761688-104.979971
Checked in at Schebens Manor .
39.7558119-104.9680914
This was happening a few days ago. Today it’s sunny and gorgeous. #cowx
jQuery(document).ready(function(){ var gmap_mea0181fac987c97c4618ad8135108d95 = { positions : { 105 : new google.maps.LatLng( ‘39.7572’, ‘-104.967’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mea0181fac987c97c4618ad8135108d95’ ), { 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_mea0181fac987c97c4618ad8135108d95.positions ) { gmap_mea0181fac987c97c4618ad8135108d95.bounds.extend( gmap_mea0181fac987c97c4618ad8135108d95.positions[m] ); } // Render markers for ( var m in gmap_mea0181fac987c97c4618ad8135108d95.positions ) { gmap_mea0181fac987c97c4618ad8135108d95.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mea0181fac987c97c4618ad8135108d95.map, position : gmap_mea0181fac987c97c4618ad8135108d95.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mea0181fac987c97c4618ad8135108d95.map.setCenter( gmap_mea0181fac987c97c4618ad8135108d95.positions[105] ); });

Setting up some rain barrels now that it’s no longer illegal in CO
Posted on Instagram 10:38 am, February 25, 2017
Amazon’s Leadership Principles
Our Leadership Principles aren’t just a pretty inspirational wall hanging. These Principles work hard, just like we do. Amazonians use them, every day, whether they’re discussing ideas for new projects, deciding on the best solution for a customer’s problem, or interviewing candidates. It’s just one of the things that makes Amazon peculiar.
Leaders start with the customer and work backwards. They work vigorously to earn and keep customer trust. Although leaders pay attention to competitors, they obsess over customers.
(more…)Mon, Jul 21, 2014 in
Wouldn’t you like to find the root cause of that downtime incident? Many people
would. But experience has taught me that there is no such thing as a single root
cause. Instead, there’s a chain of interrelated causes, each of which is
necessary but none of which is sufficient to cause the overall problem.
(more…)Checked in at The Home Depot .
Is it project season already? — with erika
Checked in at Schebens Manor .
Checked in at Paxti’s Pizza .
I attended the SaaStr Annual conference in San Francisco last week, and here are some of the notes I took in amongst the different sessions.
The nature of business is shifting towards:
In addition to knowing who your customers are, you should know who they are not. Who are you willing to be bad for?
If your LTV is 3x your CAC, then you’re in a good place.
(more…)
Happy Retirement, random United pilot.
Posted on Instagram 12:30 pm, February 15, 2017 jQuery(document).ready(function(){ var gmap_m99bb98e9d3d014968e84be962a63a727 = { positions : { 878 : new google.maps.LatLng( ‘29.984444444444’, ‘-95.341388888889’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m99bb98e9d3d014968e84be962a63a727’ ), { 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_m99bb98e9d3d014968e84be962a63a727.positions ) { gmap_m99bb98e9d3d014968e84be962a63a727.bounds.extend( gmap_m99bb98e9d3d014968e84be962a63a727.positions[m] ); } // Render markers for ( var m in gmap_m99bb98e9d3d014968e84be962a63a727.positions ) { gmap_m99bb98e9d3d014968e84be962a63a727.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m99bb98e9d3d014968e84be962a63a727.map, position : gmap_m99bb98e9d3d014968e84be962a63a727.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m99bb98e9d3d014968e84be962a63a727.map.setCenter( gmap_m99bb98e9d3d014968e84be962a63a727.positions[878] ); });
Inside Instagram’s reinvention
Toward the tail end of 2015, Kevin Systrom, the CEO of Instagram, came to a realization: The photo-sharing app he had founded five years earlier was straying too far from its roots.
Instagram was growing, yes, and finally generating some serious ad dollars — which Facebook had been waiting for since it bought the company for $1 billion back in 2012.
But its user base was also growing, and it wasn’t all good growth: Instagram feeds that were once dominated by photos from friends and family members were becoming more impersonal.
(more…)Four days into 2017, Medium’s employees came to work and were told that one-third of them, 50 people, were fired.
They were shocked. Their adored boss, billionaire CEO Ev Williams, best known as the cofounder of Twitter, seemed to care so deeply for each of them.
But he told the world about the layoff in a blog post even before all the people who lost their jobs were informed, a former employee tells Business Insider.
(more…)
Bikes for days.
Posted on Instagram 12:40 am, February 15, 2017 jQuery(document).ready(function(){ var gmap_mdf40c26edfda0b1c6545dd63a82640cc = { positions : { 710 : new google.maps.LatLng( ‘52.37667637011’, ‘4.8978638807509’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_mdf40c26edfda0b1c6545dd63a82640cc’ ), { 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_mdf40c26edfda0b1c6545dd63a82640cc.positions ) { gmap_mdf40c26edfda0b1c6545dd63a82640cc.bounds.extend( gmap_mdf40c26edfda0b1c6545dd63a82640cc.positions[m] ); } // Render markers for ( var m in gmap_mdf40c26edfda0b1c6545dd63a82640cc.positions ) { gmap_mdf40c26edfda0b1c6545dd63a82640cc.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_mdf40c26edfda0b1c6545dd63a82640cc.map, position : gmap_mdf40c26edfda0b1c6545dd63a82640cc.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_mdf40c26edfda0b1c6545dd63a82640cc.map.setCenter( gmap_mdf40c26edfda0b1c6545dd63a82640cc.positions[710] ); });
Checked in at Zest .
Checked in at Art Apartment Amsterdam .

Canals.
Posted on Instagram 5:19 pm, February 12, 2017 jQuery(document).ready(function(){ var gmap_m4b468848a0cc94c959bcdaa1140edba7 = { positions : { 142 : new google.maps.LatLng( ‘52.3731’, ‘4.8922’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m4b468848a0cc94c959bcdaa1140edba7’ ), { 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_m4b468848a0cc94c959bcdaa1140edba7.positions ) { gmap_m4b468848a0cc94c959bcdaa1140edba7.bounds.extend( gmap_m4b468848a0cc94c959bcdaa1140edba7.positions[m] ); } // Render markers for ( var m in gmap_m4b468848a0cc94c959bcdaa1140edba7.positions ) { gmap_m4b468848a0cc94c959bcdaa1140edba7.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m4b468848a0cc94c959bcdaa1140edba7.map, position : gmap_m4b468848a0cc94c959bcdaa1140edba7.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m4b468848a0cc94c959bcdaa1140edba7.map.setCenter( gmap_m4b468848a0cc94c959bcdaa1140edba7.positions[142] ); });

Accidentally stumbled into Brooklyn. In Amsterdam.
Posted on Instagram 1:03 pm, February 12, 2017 jQuery(document).ready(function(){ var gmap_m80fdc90348ed1844d6539823028e20de = { positions : { 359 : new google.maps.LatLng( ‘52.383659560403’, ‘4.9300687139857’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m80fdc90348ed1844d6539823028e20de’ ), { 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_m80fdc90348ed1844d6539823028e20de.positions ) { gmap_m80fdc90348ed1844d6539823028e20de.bounds.extend( gmap_m80fdc90348ed1844d6539823028e20de.positions[m] ); } // Render markers for ( var m in gmap_m80fdc90348ed1844d6539823028e20de.positions ) { gmap_m80fdc90348ed1844d6539823028e20de.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m80fdc90348ed1844d6539823028e20de.map, position : gmap_m80fdc90348ed1844d6539823028e20de.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m80fdc90348ed1844d6539823028e20de.map.setCenter( gmap_m80fdc90348ed1844d6539823028e20de.positions[359] ); });
Checked in at Owl Hotel .

Ceiling
Posted on Instagram 7:54 am, February 11, 2017 jQuery(document).ready(function(){ var gmap_m42f1c52b06425079a52fca2e3f86debd = { positions : { 259 : new google.maps.LatLng( ‘52.35995’, ‘4.8853799’ ) }, bounds : new google.maps.LatLngBounds(), // empty for now, we’ll dynamically extend it later map : new google.maps.Map( document.getElementById( ‘gmap_m42f1c52b06425079a52fca2e3f86debd’ ), { 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_m42f1c52b06425079a52fca2e3f86debd.positions ) { gmap_m42f1c52b06425079a52fca2e3f86debd.bounds.extend( gmap_m42f1c52b06425079a52fca2e3f86debd.positions[m] ); } // Render markers for ( var m in gmap_m42f1c52b06425079a52fca2e3f86debd.positions ) { gmap_m42f1c52b06425079a52fca2e3f86debd.markers[m] = new google.maps.Marker( { clickable: true, map : gmap_m42f1c52b06425079a52fca2e3f86debd.map, position : gmap_m42f1c52b06425079a52fca2e3f86debd.positions[m] } ); } // Redraw map to fit our new marker-based bounds gmap_m42f1c52b06425079a52fca2e3f86debd.map.setCenter( gmap_m42f1c52b06425079a52fca2e3f86debd.positions[259] ); });
Checked in at Owl Hotel .