Skip to content
From the institute

Ideas in practice.

Writing on software craft, civic technology and building things that last.

Written by Anastasios Orfanidis, as the work happens.

Topics
Projects
The archive

All posts

Testing and TDD
·7 min read

Unknown Is an Answer

A stub that holds no documents could not say whether a change still matched a query. Letting it answer unknown named a case the real database has too.

Testing and TDD
·7 min read

The Inbox That Delivers Nowhere

Signing in by emailed code puts a mailbox on the critical path. How we use Mailpit on Studomia, how our tests read the code, and what one question taught us.

Testing and TDD
·6 min read

What the Nullable Gave Back

One file, seven behaviours held fixed, the database swapped for a Nullable: about 180 times less time inside the tests, and coverage flat to two decimals.

Testing and TDD
·6 min read

Twenty Six More Tests, Four Fewer Behaviours

Removing the mocks grew the suite from 44 tests to 70 and quietly deleted four behaviours, every one of them a failure path. Test count is not coverage.

Testing and TDD
·6 min read

The Best Coverage Number in the Room

Same commit, same spec, same test count. The mocked suite ran 5.6 times faster, covered 3.5 fewer points of real code, and posted the best branch coverage.

Shipping and Operations
·7 min read

We Promised Not to Watch. Then We Needed to See.

Our privacy policy said no analytics, and it was true. Adding a page counter meant reopening that promise in public: what we chose, what we refused, one commit.

Shipping and Operations
·6 min read

A Privacy Policy You Can Diff

Our legal pages are files in the same repository as the site. Each now lists every change to its text, with the date and the diff, drawn from git at build time.

Shipping and Operations
·7 min read

What We Count, and What We Refuse to Know

Every system that holds anything about a visitor, in one table in the privacy policy. Writing it found a form that no longer existed and one that wrote twice.

Shipping and Operations
·8 min read

The Small Things the Crawler Notices

Speed is the part of findability you can measure on a laptop. Fonts and images we shipped without looking, an error page we did not have, and the numbers after.