README.txt - Mostly lies and rants in plain text.

Checksums matter

When serving files over the internet, TCP and SSL are not enough.

The only bakery in town

A short story about a town, a bakery and monopolies

Read this after your next meeting

Changing the purpose of meetings in an async first environment

Inline form validation with Django and Htmx

Partial and progressive form validation without any Javascript.

Let the code settle

Gain confidence when deploying critical changes.

Djangonauts don't let djangonauts write Javascript

Why and how to fight JS fatigue with some Django and htmx.

Endpoints matter

Entities can be identified by IDs, but also paths.

Concurrent updates on Firestore documents

Can we achieve eventual consistency? Maybe something close to it?

Reclaiming space from a big table in Postgres

After deleting columns or updating lots of rows.

No-SQL databases are glorified caches

Thoughts on SQL vs No-SQL databases. When to use each.

De-normalize with Firestore sub-collections for fun and profit

Can subcollections help denormalization be a not so terrible idea?

Configuration is an API, not an SDK

A configuration architecture for the working dev.

Deploying at 6am, a postmortem

Another chapter in the IT nightmare stories.

Socialism works, but doesn't scale

Can libertarians and socialists agree on anything?

Default is not set

How can you tell if an optional parameter was set or not?

Childe Roland to the Dark Tower came

My attempt to fixing the Dark Tower series.

Privileged victimhood

The dangers of identity politics and state imposed privileges.

Configuration-friendly apps

Some guidelines for config management in general and Python apps in particular.

It's the competition, stupid

Increasing your chances of prosperity.

Calendaring events with Python

Some gotchas you'll find when scheduling the next world's doomsday.

Next »