In my last post, I built a semantic map of 4 million Hacker News posts and dived deep into semantic search and AI embeddings. Continuing the fun research and hacking in this space, in this post, I'll deep dive into how vector search works with interactive visu…
When it comes to language models, we tend to look at benchmarks to decide which model is the best to use in our application. But benchmarks only tell half a story. Unless you're building an all-purpose chat application, what you should be actually looking at i…
1. IntroductionIf you’ve taken an algorithms class, you have likely seen dynamic programming, specifically a technique called memoization. Memoization works to optimize recursive algorithms by caching the solutions to subproblems in a table, and when a subprob…
I recently set up a phone line for my 9-year-old. Why? I liked the idea of her being able to connect with others in a way she has control over, but with some of the natural limitations built in to a traditional landline and without the distractions of a smartp…
A while ago, a prominent Vercel employee (two, actually) posted to the tune of: Developers don’t get CDNs Exhibit A etc. It is often that random tweets somehow get me into a frenzy – somebody is wrong on the internet, yet again. But when I gave this a second t…
At Guesswork, we are a team of four engineers with no background in sales or marketing. So, we had to figure out a way to get customers without relying on any of those skills. That led us, through ...
In this article, I would like to discuss in more depth the topic of “zero-knowledge proofs”, an emerging technology still very much in prototyping stage, but becoming more and more accessible through projects and languages like Noir or Mina.
I think ledgers are underutilized in software development today. Specifically, double-entry ledger modeling would be a better fit in a lot of systems than the ad-hoc ledger-ish things they currently have.
KV caches are one of the most critical techniques for efficient inference in LLMs in production. KV caches are an important component for compute-efficient L...
More people have been working on blocking whole ranges of IP numbers, since that catches hosting providers that give bots access to the whole range they control. The bots switch IP numbers all the time so a filter based on IP numbers won’t catch them. But if w…
I've been building a universal code formatter in Zig, and I recently discovered something humbling: my formatter will
never be as fast as Ruff on large files. But here's the twist - it's actually faster on
small files, and the journey to this realization taugh…
Honda Global | Honda R&D Co., Ltd., a research and development subsidiary of Honda Motor Co., Ltd., today conducted a launch and landing test of an experimental reusable rocket*1 (6.3 m in length, 85 cm in diameter, 900 kg dry weight/1,312 kg wet weight) devel…
People keep asking me If I use Generative AI tools for coding and what I think of them, so this is my effort to put my thoughts in writing, so that I can send people here instead of having to repeat…
Recently Apple published a paper on LRMs (Large Reasoning Models) and how they found that “that LRMs have limitations in exact computation” and that “they fail to use explicit algorithms and reason inconsistently across puzzles.” I would consider this a death …
As an increasing number of AI applications evolve to agents doing work for people, agent management becomes a critical part of these product's design. How can p...
Software development is a mess of bad leadership, useless meetings, broken agile rituals, and daily burnout. Here’s what really happens behind the JIRA tickets.
Until recently, one of the easiest ways to get “into” Microsoft 365 was to go to Office.com. I’ll readily admit that I never spent any time on the page, mainly because most of my …
Nix with Flakes allows you to easily centralize project environments and setup right in your repository. Often, your README will tell the reader "get an API key for FOOSERVICE from a teammate"
The Homebrew package manager is nice. It's not perfect, it's not performant, but in my opinion, for developer machines, it's by far the easiest and most flexible package manager, especially for quickly distributing internal tools. The flexibility comes from tw…
It's the start of a new fiscal year and that's always a time to look forward and define strategy: What are we gonna work on these next months. I've always handled the same structure in defining my strategy and I thought I'd share it here.