Programming

Checksums matter

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

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.

Default is not set

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

Configuration-friendly apps

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

Calendaring events with Python

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

The Backbone events waltz

Snippets that will show you that minimalist means versatile.

Django's signal to noise ratio

Keeping a balance between decoupled and maintenable code.

The sorry state of jQuery plugins

Customization is not enough, some plugins simply do too much.

The branch is dead, short live the branch!

Implement big changesets little by little. Don't let Theseus' ship sink!

Mock yourself, not your tests

Every mock is a smell, avoid them as much as you can.

How to publish a pelican site on Github

Step by step guide on how to publish a pelican website on Github.