RSSAmplifier

Blog

Because .com Wasn't Available

jonathanklein.netRSS feed ↗25 posts

Latest posts

How I Fixed My Email Inbox

I've struggled to manage my work and personal email for years. Recently, I found my solution: use Superhuman Mail . The Problem: I get tons of emails that are not easy to unsubscribe from or automatically filter. A lot of it is cold outreach from salespeople. A lot of it is updates from kid events, school, etc., and requests for surveys, interviews, and paid engagements. These are not easy to…

2026: The Year of the Uber Engineer

One of my favorite movies of all time is V for Vendetta . There’s a particular scene that sticks in my memory: it’s towards the end of the movie, when Inspector Finch is talking to his assistant Dominic Stone. Here’s the clip (it's worth the 1-minute watch). This is how I feel about AI in 2026, specifically AI-assisted software development. Let’s start with a timeline of the last 18 months. These…

Business Books for Technical Leaders

I get a lot of questions like, "You seem to know a lot about business for a technical CTO. How?" and "I'd like to be a CTO someday. Do you have any tips?" First and foremost, a CTO is a business-focused role. You must be able to do whatever the business requires most at any given moment, whether that's coding, technical architecture, hiring, raising money, selling, conducting a layoff, leading…

Trust, but verify

I’ve always disliked this phrase, and it felt like a pure contradiction - you wouldn’t need to verify if you truly trust. It has come up recently in my life and work, so I decided to dig in and crystallize my thoughts. The phrase originated as a Russian proverb (doveryai, no proveryai) and is attributed to Vladimir Lenin and Joseph Stalin . Inauspicious beginnings, to say the least. Ronald Reagan…

Why You Should Buy a Tesla Model 3

My wife and I have driven a Model S for over 2 years, and a Model 3 for a couple months. We get a lot of questions about whether we like the cars, Tesla in general, and whether the “cheaper Tesla” is worth buying. This post is an attempt to answer those questions, clear up some misconceptions, and present a clear case why the Model 3 is a great buy if you are in the market for a new sedan. Cost…

React Boston: New England's First React.js Conference

I'm co-organizing React Boston , the first react.js focused conference in New England this fall! The conference will be held on September 23rd-24th (this is a weekend), in the heart of Boston at Wayfair's main office. It will be a single track event with topics around React itself, Relay, GraphQL, React Native, and more. The CFP is open , and tickets are on sale now . We really want this event to…

What You Can Do About Global Warming

This was originally a Facebook post, but I'm preserving it here in a slightly longer format due to the transient nature of Facebook. August 2016 was the hottest August ever . So was July. And June. And so on for the last 11 months. Here’s a scary animation . No country is taking this seriously , and if we continue on our current path the Earth will be uninhabitable in 100-200 years. Global warming…

"Composer: Getting Started" Published on Pluralsight

My second Pluralsight course, Composer: Getting Started , just went live! This is another course that's loosely based on a talk I've given in the past, with a lot more of the details fleshed out. The course covers the following topics: The Basics of Composer Including Third Party Code Autoloading Your Code Composer Scripts Publishing Your Own Composer Package Check it out on Pluralsight today, and…

High Performance PHP: Now On Pluralsight

I've just published my first Pluralsight Course: High Performance PHP ! I've spoken about this topic a number of times in the past, so it seemed like a good fit for my first foray into the screen casting world. This course also has much more that PHP optimizations in it. The five modules are: Optimizing PHP Code Choosing and Configuring a Web Server Database Optimization Performance and Load…

Joining Attend.com

When I left Etsy at the end of February, it was because I wanted to join something small where I could have a lot of impact. I did that, becoming a co-founder/CTO at a three person startup in Boston in the online grocery space. Unfortunately that business didn't work out, and closed its doors for good on April 6th. That left me wondering what to do next, and I spent the month of April talking to a…

Reflecting on 2.5 Years as a Remote

February 27th was my last day at Etsy, concluding 2.5 years as a remote employee (more on what's next in a future post). A lot has been written about remote work, including a recent book , but I wanted to talk about my own experience and some of the lessons that I learned over the past few years. Overall Etsy does a great job with remote employees, and it continues to get better. During my last…

Refocusing the Content on This Blog

I've decided to narrow the focus of this blog, exclusively covering the following topics: Software Engineering Web Technologies Web Performance My Career All of fitness related posts (pushupdates, GORUCK events, etc.) are moving to my new blog at fitness.jkle.in . I realize that the overlap between people who care about web technology and people who care about my crazy fitness goals is vanishingly…

GORUCK Light After Action Review

I completed my first GORUCK event on 9/13, a Light in Boston. We covered about 8 miles in 5 hours and I was carrying roughly 30 pounds. Overall it met my expectations as a challenging event, although with significantly less focus on calisthenics than I expected. The vast majority of our time was spent rucking around Boston, with minimal time spent doing push-ups, flutter kicks, etc. My class met…

Fixing jQuery Animate Flickering

I just spent over a hour wrestling with this bug, and I'm hoping this post will help spare someone else the same pain. The problem that I ran into was an annoying flicker when using the jQuery .animate() function to change the opacity of a DOM node. I did a bunch of Googling, but none of the solutions worked for me. I tried: Calling e.preventDefault() in the event handler. Using return false; in…

The Road to 100 Consecutive Push-ups

In addition to my goal of doing one million push-ups by the age of 50, I always wanted to be able to do 100 consecutive push-ups. I started training heavily towards this goal on February 1st of this year, and hit that milestone on May 18th. It took a bit of experimentation to find out what worked to increase my push-up max, and there’s a lot of misinformation around this particular goal on the…

Revisiting the "Cookieless Domain" Recommendation

For a long time one of the recommendations for a faster site has been to “serve your static content from a cookieless domain”. This suggestion shows up in the Google best practices , the Yahoo! performance rules , and in Phil Dixon’s famous Shopzilla case study from Velocity 2009, where he states that implementing this one best practice resulted in a 0.5% improvement in top line revenue. Case…

Reducing Domain Sharding

This post originally appeared on the Perf Planet Performance Calendar on December 7th, 2013. Domain sharding has long been considered a best practice for pages with lots of images. The number of domains that you should shard across depends on how many HTTP requests the page makes, how many connections the client makes to each domain, and the available bandwidth. Since it can be challenging to…

Pushupdate 2013

This is a follow-up to my " 1,000,000 Push-ups " post. Check that out for the reasoning behind this challenge. November 19th was my birthday, and it also marked the end of the second year of my push-up challenge. For the last year my goal was to average 100 push-ups per day, and I finished five push-ups ahead of that goal, with a running total of 54,805 push-ups. This isn't a magical coincidence,…

A New Source For WPO Resources

** Update 12/03/13 ** - This article was deleted by Wikipedia moderators. If you want the full background on why, check out the deletion talk page . I have just moved the article to the Web Platform Wiki , which is a more appropriate place for it. After my last post with its abundance of footnotes, some people asked for a place on the web where they can see an aggregated list of performance…

We Have a Long Way To Go

When you work on web performance every day, it is easy to assume that the best practices are widely known, widely understood, and widely followed. Unfortunately, as I have learned through a couple of different experiences recently, this is not the case. It is frankly astounding how many websites are still failing to implement the best practices that Steve Souders outlined in his book " High…

30 Day Challenge: Vegetarianism

For context about 30 day challenges, watch this Ted Talk by Matt Cutts . My 30 day challenge in September was to be a vegetarian - and a true vegetarian, so no meat whatsoever, including seafood. I've thought about doing this challenge for a while, and this video pushed me over the edge. My goals for this challenge were simple: See what it's like to live as a vegetarian, and what options are…

What I Learned From 30 Days Without TV

My 30 day challenge for August was to avoid watching any television or movies, and I finished about a week ago. This challenge was tough, primarily since my girlfriend Stephanie (who I live with) was not under the same restriction. As a result I ended up catching a few minutes of TV and movies here and there, but I did manage to avoid watching a complete show or movie for the entire month. Also as…

Northeast PHP Recap

Last weekend was the 2nd annual Northeast PHP conference in Boston. I gave two talks, " Practical Responsive Web Design " ( slides ) and " Scaling PHP to 40 Million Uniques " ( slides ). I had a lot of fun at the conference, and met some great people. I didn't get to attend as many talks as I would have liked, since I spent some of the sessions preparing for my own, but there were a couple that I…

30 Day Challenge: No TV or Movies

For context about 30 day challenges, watch this Ted Talk by Matt Cutts . I'm trying an experiment for the month of August - not watching any television or movies. I've never been someone who watches a ton of TV, but when I get into a show I can power through a ten episode season in a week. Throughout July, I spent more time in front of the TV than usual, and some of my other activities have fallen…

Cognitive Biases in Software Engineering

Human logic, unlike that of the machines which we program and use every day, isn't perfect. We make mistakes, we establish bad mental habits, and we have many cognitive biases that negatively impact our ability to be successful engineers. I want to go over five of the most common biases that I see on a regular basis as a software engineer. Fundamental Attribution Error In social psychology, the…