i  <esau

my 4 “Computers” posts

making a grainy spotlight effect with CSS

I first saw this on Hakushi Hasegawa's website1 and after a little digging around in the source, saw that it was implemented with a shader and three.js

But I had a hunch that it might be possible with CSS blending modes. Not because I fully understood them, but just because it seemed like the sort of thing they're made for.

Keep reading →

phones are about to get more useful

Two years ago, a colleague asked me "concretely, what's a way in which you think AI is going to change the world?"

I said: the way we relate to and use software. We will stop writing or installing it.1 We'll instead have an AIs that dynamically write our programs for us.

Two years later, I'm feeling even more confident about this. Claude Code and Codex are the worst they'll ever be, and they're already one-shotting simple webapps.

Keep reading →

blocking youtube recommendations

youtube i love you, but you're bringing me down

in a bastardized interpretation of fitness landscapes, i've recently been thinking about how every decision i make is a step in some direction in an infinite mountain range. in this space, my altitude isn't environmental fitness. it's something more like "personal value" or "amount self-actualized" where you can imagine standing at the peak of a hill in this endless mountain range as being highly satisfied with myself, highly engaged in my life.

Keep reading →

data wrangling shootout

Say I have a CSV with two columns:

country, users
China, 113
Nicaragua, 29
Jordan, 89

and I want to aggregate these by continent. What's an easy way to do that?

Well I found this country-by-continent dataset by samayo:

[
  {
    "Country": "Afghanistan",
    "Continent": "Asia"
  },
  {
    "Country": "Albania",
    "Continent": "Europe"
  }

So I have everything I need except for a workflow. Let's evaluate some options.

  1. ChatGPT
  2. nushell
  3. DuckDB
  4. Observable
  5. TypeScript with Bun

ChatGPT

I attached the two files and submitted the following prompt to ChatGPT 4o:

Keep reading →

← All tags