Introducing Fig
A small TypeScript UI runtime based on React Fiber.
Ben Gubler's personal website. Thoughts on web development, AI, and building things that matter.
A small TypeScript UI runtime based on React Fiber.
A local web UI for AI coding agents. Multi-pane, multi-session, streaming — run Claude Code and Codex side by side from your browser.
A typed TypeScript framework for AI agents. Replace dozens of tools with two — search and execute — and sandbox LLM-generated code with granular permissions.
My experience as an intern working on Next.js at Vercel.
Things I learned and projects I made.
Build with tsdown, Vitest, release-please, and Biome.
Making Eta ESM-only, changing package scope, and improving CI/CD.
A comprehensive evaluation framework for comparing tokenizers across human and programming languages.
Starter Nix config for macOS using nix-darwin, home-manager, and mise.
Humans are developing new linguistic patterns to distinguish themselves from AI-generated content, and the rate of change will accelerate.
How to add .md URLs to your Next.js blog to serve raw markdown content, inspired by Vercel's docs.
Add smooth page transitions to Next.js using the View Transitions API.
A short summary of Mark Rosenfelder's thoughts on child language acquisition
Quick thoughts about miscellaneous language / linguistic topics
Interesting things I've been reading
How to save a HuggingFace dataset to disk and use it offline
Markdown detection in Google Docs, swiping between tabs in Brave Browser for iOS, and running TypeScript files from the command line.
How to make the dropdown content of a Radix or shadcn dropdown match the width of the trigger.
Using the code.interact() function to launch an interactive code interpreter
Why I'm starting a microblog and how it differs from my main blog.
Fine-tuning Llama-2-7B using the Alpaca dataset and Hugging Face Trainer
I published `gom`, a CLI tool for monitoring GPU usage across Docker containers.
How to use Enroot on Slurm for containerized multi-node training.
How to use Enroot on Slurm for containerized multi-node training.
A quick guide to using Slurm for distributed machine learning.
The Dockerfile I use to set up my machine learning environment.
Which one should you use for distributed training?
Since contemporary LLM architectures lack recursion, they're fundamentally incapable of doing some math operations.
JavaScript tools have too many config files. Let's combine them.
The next version of Eta, an embedded JS template engine, brings API and documentation improvements.
I created a brand-new personal website using Next.js, Tailwind CSS, and MDX.