What I Reference

I find myself constantly referencing great books, blog posts, and podcasts, then sending them one-off. Here’s a list of my favorites. Engineering System Design for Recommendations and Search - fantastic overview of core retrieval to ranking steps of modern pre-LLM recommendation and search systems. I directly used ideas from this at Amazon to improve homepage recommendations. Author recently followed up with Improving Recommendation Systems & Search in the Age of LLMs Patterns for Building LLM-based Systems & Products - similar to above, with a focus on LLM systems. Directly used learning here for Shopping Guides. Author summarized all LLM lessons in the much broader What We’ve Learned From A Year of Building with LLMs Microservices - parody video spoofing microservices architecture that is too real. Worth rewatching anytime you think “we’ll just make this a microservice” The Missing README - canonical book to give to new software engineers. Covers core concepts of using git, testing, doing code reviews, safe deployment and more. Data Structures and Algorithms in Python - very readable book to understand core algorithms with actual python implementations which made learning and deeply understanding much easier for me. How Big Tech Runs Tech Projects and the Curious Absence of Scrum - specific methodologies don’t matter, autonomous engineering teams create a plan and execute, with product focused on strategy of what to build, not delivery. Migrations Done Well: Typical Migration Approaches - multipart guide to successfully architecting, planning, and executing a migration. Leadership ...

May 8, 2025

So, I vibe coded

Continuing my exploration of llm assistance in coding, I decided to try to fully build an app end to end only via vibe-coding in natural language, no actual code. I did this mostly through the composer feature in cursor. I had a lot of fun! In particular, it collapsed the time I took from idea to working app from ~20 hours to ~2 hours. You can check out the app I built here: Why are stocks up? which is a question friends have asked me for years (don’t worry, I also have whyarestocksdown.com). ...

March 24, 2025

Are Typescript and Python the last languages?

I host this blog on AWS with S3 and cloudfront. It’s built using Hugo a fun open-source static site generator. I picked this setup originally after reading reddit threads recommending various static site generators, like this one. It was an excuse to learn some new tech, but I also wanted to pick something that was simple to learn and easy to deploy. For the past few months I’ve been using Cursor for my side projects. It completely changes the experience of writing code. Instead of the OODA loop of googling, reading docs, writing code, testing, reading reddit, checking stackoverflow, googling again, you ask an AI. You live in the IDE. And you notice that Cursor, using LLMs, is much better at writing code in popular languages and frameworks. I assume this is because the models are trained on open-source code and documentation, and the more that exists the better the LLMs are. ...

February 21, 2025

Sharing 1 Computer for 4 People - Ideal?

Recently, at a family gathering I made an off-hand comment to my parents that on some flights during the week it seems like 50%+ people are on Wifi doing work. I expressed how important it was to me in particular, given that I work at a cloud-based analytics company for me, to have access to the internet when preparing to meet with customers. And my Mom told me a great story about one of her first jobs. As a programmer in the aircraft industry building flight simulators (my Mom is very cool), she shared an office with 3 other people. Crowded, certainly. If that wasn’t enough, however, they also shared a single computer! Over the course of the day, they tried to be fair about giving each other ~2 hours each. They tried to be flexible when someone was close to a deadline. Remember, these are programmers. ...

August 14, 2014

Be Lazy

My dad had a great quote for me growing up. It was “the most successful people are lazy.” He meant a particular kind of lazy- the kind that finds ways to optimize their life. For example, my dad is too lazy to solve the same types of mathematic problems again and again, so he codes up a solution to automate it. In school, I was too lazy to study more than I needed. Instead I would actually focus on the main concepts and prepare for the topics the teacher was most likely to ask. This left me free to work on side projects or learn things I cared about more. ...

April 4, 2011