My household loves the New York Times’ daily word games. Unfortunately, my wife is a lot better at Spelling Bee than I am. This provided the perfect excuse for today’s project. Pangrams are in bold. Scores are accurate according to the game’s official guide. The solver is written in Rust and compiled to WebAssembly , and then wrapped in a trivial Web Component . It runs entirely in-browser,…
In 2017 I was living near Boston, and I joined a startup founded by two friends of mine who had recently moved to New York. On the rare occasions that we would meet in person, it would be in one of the smallest sizes of offices that WeWork offered. The rest of the time, we’d be a remote-first company. That company eventually grew from 4 people to over a hundred, got acquired , achieved a huge…
Who doesn’t love namedropping a great thinker in casual conversation? These are some that I continually find useful. Hyram’s Law “With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody.” Hyram Wright Jakob’s Law No relation to the author “Users spend most of their time on other sites.…
I have been building web apps for long enough to remember when it was commonplace to SSH (or Telnet!) into the server and just vim index.php . As you can imagine, it was pretty easy to bring the site down like that, so we started doing what is now called Continuous Integration and Continuous Deployment: automated tests as a precondition for deployment. Later, we adopted static analysis tools and…
One of the things I really like about Rust is its match expressions. Plenty of other languages like Ruby, Python, and Haskell have similar features, but it’s painfully absent in popular languages like JavaScript. There, we have only switch...case . That statement is not exhaustive, and matching on anything other than scalar values requires casting to string and may yield counterintuitive results.…
Two interests defined 2023 for me: large language models, and plants. So I thought, why not combine them? Green Thumb Guide is a chatbot intended to help newbies like me to not kill their houseplants, and help their garden thrive. It has a knowledgebase of articles I’ve found useful, and it also understands the climates that outdoor plants can tolerate. The first version “hard coded” my hardiness…
This is not a post about using LLMs to write SQL. It’s about using LLMs to teach SQL. ⊕ Everybody deserves a friend they can ask really stupid questions of without embarrassment. A mentor, guide, or illustrated primer . With the advent of GPTs, you can! I’ve been using custom GPTs to improve various skills, and in this post I’ll be introducing the most useful one I’ve made so far: SQL Sage . My…
In my teens and early 20s I was obsessed with the history of computing and the internet. I still am, but other obsessions have reduced the relative weight of this interest. It was during those years that I made a regular pilgrimage to the MIT Flea Market . I bought many of the components for my first computers there. I also found this important piece of computing history, a full set of 4.3 BSD…
Everything in this list is something we have actually used and would recommend to other new parents. First Trimester Morning sickness is no joke, except it’s nothing like what we see in movies and TV, where the heroine throws up once and then takes a pregnancy test. The new mom is going to be on the verge of puking for weeks on end, morning, noon, and night. Fortunately, extra-sour candy can trick…
Over the past few months I’ve been dealing with some champagne problems like, “How are we going to process all this data for so many customers?” (please pardon the humblebrag). The answer to problems like that is almost always to introduce a queing system of some sort. I would like to share with you some guidelines that I’ve used for designing the SQS queues at Blissfully . NOTE While these…