The Omenabyte Blog

Notes from the build.

Field notes on shipping AI products, securing what you build, and running infrastructure with fewer moving parts. Everything here is tested before it ships — including the parts that turned out to be a bad idea.

Replace Snowflake dashboards — materialized views in Postgres
LatestDatabasesSep 27, 2026 · 5 min read

Stop Recomputing Your Dashboard on Every Page Load

A materialized view pre-computes the aggregation once, REFRESH CONCURRENTLY hot-swaps it without locking readers, and pg_cron schedules it in-database. No ETL pipeline, no warehouse.

Read the post →

All posts

Vibe-coded app security — RLS off, exposed API keys, open database endpoints
Security

You're Doing Vibe-Coding Wrong. Here's the 17-Point Fix.

Scanners found 98% of AI-built apps have at least one security flaw. RLS off by default, API keys in JS bundles, open DELETE endpoints. The checklist that closes it.

9 min
Replace InfluxDB — declarative partitioning with BRIN indexes
Databases05/09

Billions of Log Rows, One Command to Make Them Disappear

Declarative partitioning plus a BRIN index prunes the scan to one partition — and retention becomes a single DROP TABLE, not a bulk delete job.

5 min
Replace MongoDB — jsonb column with a GIN index
Databases04/09

You Don't Need MongoDB for "Flexible" Data. You Need One Column Type.

jsonb plus a GIN index gives you document flexibility without a second database — and the "document" still joins against your relational tables in one transaction.

4 min
Replace Pinecone — pgvector with an HNSW index
Databases03/09

Your AI Feature Doesn't Need Pinecone. It Needs pgvector.

pgvector with an HNSW index puts embeddings in the same row as everything else — semantic and relational in one query, one transaction.

4 min
Be Politely Paranoid — the most dangerous hacker never touched a keyboard
Security

I Watched a Man's Certainty Evaporate in Real Time

The most dangerous hacker in the room never touched a keyboard. Why "I use strong passwords" is the weakest link — from Be Politely Paranoid.

6 min
AI Slash Commands Handbook — 1027 composable image prompt modifiers
AI

1027 AI Image Slash Commands That Will 10x Your Prompt Game

The /imagine trick that started a thousand cheat sheets. 1027 composable modifiers for Midjourney, DALL-E 3, Leonardo, SDXL, Flux and ChatGPT.

7 min
The Prompt Library — A Field Guide for Claude Code
AI

The Prompting Gap Is the Only Gap Left

Same Claude Code, wildly different outcomes. The last gap between "I have an AI assistant" and "I ship faster" is vocabulary. 52 prompts, 5 stages.

5 min
God's Eye View — open source 3D globe tracking planes, ships and satellites
OSINT

Wait, We Got Open Source Palantir Before GTA VI?

An ex-Google Maps PM open-sourced a browser-based 3D globe tracking every plane, ship, satellite and CCTV camera in real time. One Google Maps key. MIT licensed.

6 min
Replace Elasticsearch — tsvector with pg_trgm trigram search
Databases02/09

Postgres Can Do Typo-Tolerant Search. You Don't Need Elasticsearch Yet.

tsvector plus pg_trgm give you stemmed, ranked, typo-tolerant search inside the database you already run — no second cluster, no sync job.

5 min
Replace Redis and RabbitMQ — FOR UPDATE SKIP LOCKED job queue
Databases01/09

I Replaced Redis and RabbitMQ With 15 Lines of Postgres

The FOR UPDATE SKIP LOCKED clause turns an ordinary table into a safe, concurrent job queue — tested for duplicates, crashes and reclaims before this post was written.

4 min

Just Use Postgres

A 9-part series · 6 published

A running series on replacing dedicated infrastructure with the Postgres instance you already run. Each entry is benchmarked against a live database, including the cases where the swap is the wrong call.