Field notes · issue 014

Hello, I'mAda Kessel

A software engineer who writes down the systems she ships, the type she argues with, and the slow parts of the week.

14 posts · 3 min read · updated this week

A programmer's desk at night with an open notebook, keyboard and mug under low warm light
A writing desk in a shared studio, Thursday, 22:40.

Stars on ledger-core

1,284stars

The forked copy of the journal theme, forked by readers and shared back.

Forks of ledger-core

47forks

Every fork is a reader who kept the layout and changed the content.

Weekly digest

30 minread

One post a week, written on a Thursday and sent on the following Monday.

A dim study at night with a monitor glowing softly over a desk of printed pages
The desk at 02:00, where most of the type is written. The monitor is the only light source.

Latest posts

Three from the last week. Each one ships with a code block you can read end to end.

3 posts · 12 min total

Type · 4 min

A slow reader's type scale

Line-height, measure and the two fonts I keep falling back on when a project runs out of time.

Read post

// a type scale that holds at 17px and 19px
export const scale = {
  body: "1rem / 1.7",
  h3: "1.25rem / 1.35",
  h1: "2.1rem / 1.15"
}

Engineering · 5 min

Caching the error response

A 404 cache is the cheapest thing you can put behind a gateway, and it pays for itself in the first week.

Read post

// the cache key, no request id
const key = new URLSearchParams({ "path": req.path })
    .toString()
    .split("?"[0])
    .pop()

if (cache.has(key)) return cache.get(key)

Reading list

Shorter posts, longer ones stay in the archive.

  • 01

    The 404 cache, explained in one diagram

    Engineering 4 min
  • 02

    Why I moved the build to a single runner

    Engineering 7 min
  • 03

    Reading a log file without a pager

    Type 3 min
  • 04

    Two fonts that survived four re-themes

    Type 5 min
  • 05

    What I stopped doing in my first year of shipping

    Reflection 6 min