Field notes

Notes from systems that had to keep working.

Field notes on data platforms, database lifecycle, distributed systems, production agentic AI, pipeline reliability, and self-hosted infrastructure.

Writing

16 notes

Browse topics
  1. Tutorial The lakehouse spine Measured on my own hardware

    A lakehouse spine: Trino, Iceberg and Polaris, with credentials that expire

    Build Trino 483 on Iceberg with Apache Polaris as the REST catalog, then prove the vended S3 credentials cannot read the table next door.

    • Iceberg & the lakehouse
    • Distributed databases

    ~45 min to a working stack; the credential-vending section is the part that takes the time

  2. Tutorial The lakehouse spine Measured on my own hardware

    Bronze, silver, gold on Iceberg: the dbt config that is silently ignored

    Build a medallion pipeline with dbt-trino on Iceberg, orchestrate it with Airflow 3, and find the partition spec dbt accepts and discards without a warning.

    • Iceberg & the lakehouse
    • Data quality & contracts

    ~40 min, most of it waiting on two container builds

  3. Tutorial The lakehouse spine Measured on my own hardware

    Iceberg maintenance: 20 files into 1, and a rollback I actually performed

    Measure what compaction buys on a small-files partition, then delete 909,968 rows and get them back — and find where the safety net stops.

    • Iceberg & the lakehouse
    • Observability & SLOs

    ~25 min, and the rollback itself takes under a second

  4. Tutorial The lakehouse spine Measured on my own hardware

    Two engines, one Iceberg catalog: StarRocks beside Trino, neither holding a key

    Attach StarRocks to the same Polaris REST catalog Trino writes through, measure both on identical data, and check for standing S3 keys.

    • Iceberg & the lakehouse
    • ClickHouse

    ~20 min, mostly waiting for the StarRocks backend to register

  5. Tutorial RHEL 8 Postgres lab on Apple Silicon Follow-along runbook

    pgBackRest against a Patroni cluster: archive, rebuild, and restore

    Wire pgBackRest into a running Patroni cluster over mutual TLS with Ansible, then prove it: full backup, replica rebuilt from the repo, and a point-in-time restore.

    • PostgreSQL
    • Distributed databases

    ~90 min on an existing cluster; the restore drill itself is ~15 min

  6. Tutorial RHEL 8 Postgres lab on Apple Silicon Follow-along runbook

    Patroni HA on PostgreSQL 18 with etcd, proven by killing the primary

    Build a two-node Patroni cluster on Rocky 8 under QEMU, then SIGKILL the leader and measure the promotion, the timeline bump, and the pg_rewind rejoin.

    • PostgreSQL
    • Distributed databases

    ~2–3 h first bring-up (TCG is slow); ~5 min for the failover itself

  7. Tutorial RHEL 8 Postgres lab on Apple Silicon Follow-along runbook

    Dedicated pgBackRest TLS on RHEL 8 with Ansible—before Postgres

    Stand up a dedicated pgBackRest TLS repo host on generic/rhel8 with Ansible-issued certs, then prove server-ping and mTLS from a client VM.

    • PostgreSQL
    • Self-hosted ops

    ~90 min first bring-up (TCG + dnf)

  8. Essay

    The data platform is part of the product

    A practical operating model for reliable data and AI products: consumer-facing promises, typed decisions, idempotency, provenance, and repair.

    • AI agents in production
    • Data quality & contracts

    10 min read

  9. Tutorial The failover lab Measured on my own hardware

    PostgreSQL 18 won't take a volume at /var/lib/postgresql/data

    The mount point moved in the PG 18 image, so every compose file copied from a 12–17 guide breaks. The corrected file, then replication, promotion and PITR.

    • PostgreSQL

    ~35 min hands-on

  10. Tutorial Free OSS on your own VPS Follow-along runbook

    A free mailbox for your domain with Stalwart

    Want a free mailbox for your domain? Run Stalwart on Docker, skip ACME when 443 is taken, publish SPF/DKIM/DMARC, and prove a Gmail round-trip.

    • Self-hosted ops

    ~60 min hands-on

  11. Tutorial The failover lab Measured on my own hardware

    A failover lab you can run on one laptop

    Six database engines, eight failover scenarios, one 8-CPU Docker rig. The results matrix, the headline measurements, and how to run the first scenario.

    • Distributed databases
    • PostgreSQL

    ~45 min hands-on

  12. Tutorial Free OSS on your own VPS Follow-along runbook

    A free VPN on your VPS with WireGuard

    Want a free VPN you actually control? Pin wg-easy to :15, mount /lib/modules, keep the UI off 80/443, and prove traffic exits from your VPS.

    • Self-hosted ops

    ~25 min hands-on

  13. Tutorial Free OSS on your own VPS Follow-along runbook

    A free private remote desktop with RustDesk

    Want a free private remote desktop? Self-host RustDesk on Docker, open UDP 21116, pin the key, and keep sessions past the public cutoff.

    • Self-hosted ops

    ~30 min hands-on