Make Videos Play at Any Speed

When consuming educational materials, I often want to watch faster than the player permits. 2x seems to be an upper limit on many platforms, and that makes sense; 2x can be pretty fast. For material that’s review, I want to go even faster, like 2.5x. Here’s how I bypass this artificial constraint: open developer tools and ensure that the video HTML entity is in scope. You might have to scroll down to it, or highlight it with the element selector. Then, type this into the developer tools console: ...

October 28, 2026

How to Get Better at Guitar

Years ago, I watched a video where guitar teacher Justin Sandercoe explained a way to get better at guitar. It has changed my playing, and it might change yours, too. This isn’t my idea; it’s Justin’s. You should watch his video and visit his website. Why am I writing about it, then? Because I think it’s an invaluable idea, and I want to extend its reach and offer my testimony. Note: This post is part of April Cools, where writers publish something sincere but different from their usual work. I hope you find it interesting. ...

April 1, 2026

How I Read 44 Books Last Year

Do you want to read more? Over a decade, I’ve been on a journey from casual to power-reader. In this post, I’d like to share the ideas and techniques that have helped me read more. First, some background. My Reading Journey I wasn’t much of a reader as a kid; I was more interested in drawing and building things. Today, I read 40+ books per year. This always includes a few programming books, a habit that’s rare in my field. ...

February 24, 2026

Favorite Ideas from "It Doesn't Have to Be Crazy at Work"

I recently re-read It Doesn’t Have to be Crazy at Work by Jason Fried and David Heinemeier of Basecamp. Here are some of my favorite ideas. I came up in the Ruby on Rails community, where Fried, DHH, and Basecamp loom large. I don’t agree with everything they say. But, I’ve always appreciated their articulate and passionate arguments about how technology teams can work better. I’ve read every book they’ve written. ...

February 20, 2026

Learning to Program in 2026

If I had to start over as a person who wanted to become a professional programmer, in 2026, what would I do? I wrote about this before, in 2015, and am here in the present to report: a lot has changed. I’d skip my old post, and read this one instead. It’s the simplest, most viable advice I can give today. I’m writing for someone who was like me a decade ago. You are interested in programming as a profession, have little or no programming experience, and you aren’t sure what direction to go. ...

January 16, 2026

Things I Don't Know, As of 2026

Here’s a list of the things that I’d like to learn about and have chosen not to specialize in (yet), as of 2026. I believe that there’s value in exposing one’s ignorance, or “Wearing the white belt” as it’s described in Apprenticeship Patterns. Seniority isn’t about accumulating all the skills. It’s about being an expert where needed, dangerous everywhere else, relentlessly curious, and able to learn quickly. This is a list of things that I don’t know as of 2026. A caveat is that I know something about most things on this list. I can tell you what excellence looks like and identify it in others. ...

January 13, 2026

Learning JavaScript Promises the Feynman Way

Want to learn a tricky topic and sharpen your learning skills at the same time? In this post, I’ll use the Feynman Learning Technique— a method of learning complex things by explaining them simply— with a sprinkle of LLM magic, to deepen my understanding of JavaScript promises. What is the Feynman Learning Technique? The Feynman Learning Technique is a learning method defined by Nobel laureate physicist and bongo drummer Richard Feynman. My perception is that it’s been pieced together from things that Dr. Feynman said over time. ...

August 25, 2025

Practical Ways to 'Learn in Public' Now

I’ve been a practitioner of Shawn Wang’s ‘Learn in Public’ for years. In this post, I’ll share a list of ways I’ve found to learn in public. I think that learning in public can start with you, then your team, then the world. And so, these are ordered from small and private to big and public. Talk through a tough problem out loud. Instead of holding a difficult problem in your head, try building a solution out loud from a series of facts. “We’re seeing a bug on staging. It affects this page…”. Talk to a duck if nobody is around. ...

January 28, 2024

One-Sentence Summaries of Popular Technology Books

Here are some one-sentence summaries of books that have helped me understand programming and technology. Some are technical and some are general. I’m only including books here that I’d recommend reading. This format is reductive by design, so please explore these books to consider the nuances I’m omitting. One-Sentence Summaries Beck, Kent and Andres, Cynthia. Extreme Programming Explained: Embrace Change. If an engineering practice is good (code review) we should do it all the time (pair programming). Carr, Nicholas. The Shallows: What the Internet Is Doing to Our Brains. Our brains change rapidly between generations and the internet is changing them right now. Ford, Martin. The Lights in the Tunnel: Automation, Accelerating Technology and the Economy of the Future. Automation will make some jobs obsolete– not the ones you might think– and also create new jobs. Godin, Seth. Linchpin: Are You Indispensable? As work becomes automated, the people who will still be indispensable at work will have mastered skills like authenticity, passion, and communication. Godin, Seth. The Dip: A Little Book That Teaches You When to Quit (and When to Stick). Participating in any venture requires an important skill: knowing when to walk away. Hoover, Dave and Oshineye, Adewale. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. Advancing beyond entry-level quickly is possible with the right strategy. Hunt, Andrew and Thomas, David. The Pragmatic Programmer: From Journeyman to Master. Programming is a craft and we can learn from other established crafts. Isaacson, Walter. Steve Jobs. Steve Jobs’ genius was seeing potential in ideas that other people underestimated or dismissed. Krug, Steve. Don’t Make Me Think: A Common Sense Approach to Web Usability. Great user interfaces ask their users to make very few arbitrary decisions. Lanier, Jaron. You Are Not a Gadget. The internet has strayed from its founding ideals and could be replaced with something more humane. Metz, Sandi. Practical Object Oriented Design in Ruby. Object-oriented programming can be modeled as a series of messages passed between bicycle components. Newport, Cal. So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love. If you want to be passionate about your work, first focus on being good at it. Norman, Don. The Design of Everyday Things. Design is inseparable from psychology. Sinek, Simon. The Infinite Game. Organizations that succeed in the long run choose to play games that don’t have an end (Walt Disney builds Disneyland, a place that can be endlessly improved). Stanier, James. Become an Effective Software Engineering Manager: How to Be the Leader Your Development Team Needs. Engineering management is teachable, but it takes effort because the proficiency it took to be become one doesn’t guarantee you’ll succeed at it. Swartz, Aaron. The Boy Who Could Change the World: The Writings of Aaron Swartz. Thoughtful essays about technology and ethics from one of the web’s founders. Conery, Rob. The Imposter’s Handbook: a CS Primer for Self-Taught Developers. Quickly learn the fundamentals of CS from a self-taught ‘imposter.’ What’s Next The following books are in my to-read pile: ...

March 21, 2023

Recommended Reading

Here are some books that have helped me understand programming. This list is a living document that I plan to update as I read. Recommended Reading Beck, Kent and Andres, Cynthia. Extreme Programming Explained: Embrace Change. XP won, and this book from Kent Beck is the primary source. I revisit it often to find or refresh my ideas about software delivery. Hoover, Dave and Oshineye, Adewale. Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman. Dave and Adewale provide a template for helping yourself or your teammates grow in their early careers. Some ideas that have greatly influenced me: wearing the white belt, exposing my ignorance, and being the worst person on a team. ...

September 28, 2022