Unpopular opinion: If your process is even semi-predictable and runs in a loop, you're probably burning money on tokens and don't need an agent ๐ฅ๐ต๐ฅ
Use AI to build a good old-fashioned program that handles the workflow and only calls an agent as a fallback๐ค
Thank me later๐
I'm pretty sure the only reason to use Kafka for telemetry data in 2026 is muscle memory.
A simple, open source, S3-backed pipeline can shuttle 1Gb/s of logs to @ClickHouseDB for $200/mo with 2.8s p50 latency. Fast enough for us.
https://t.co/E3Zv25TIqS
the default "puff into {nvme, dram}" works well for most use-cases, but in cases of high, sustained QPSโcoupling compute and storage is best
this is what we mean by "compute-storage flexible"
Don't know how I got this far in my career without realizing that us-east-1a/b/c are just random identifiers and 1a for one account might be 1c for another
Until now, LiveVue supported only two SSR modes:
โก๏ธ Vitejs-based (for development)
โก๏ธ Nodejs (for production)
Now I'm introducting a third one:
โ QuickBeam
It's running QuickJS as NIF, which is more performant. Now a default mode!
Thanks @dan_note for contribution!
Reach can now trace data flow from Elixir through QuickBEAM's JS runtime and back. One program dependence graph across two languages and two runtimes.
Also: dead code detection now produces near-zero false positives across 5 real codebases.
The line between frontend and backend is getting thinner. More coming soon.
https://t.co/0eHb5ngVuD
This is my first big Elixir project. I reached for it because I needed to manage the state of a lot of docker compose clusters to run the dev servers and docker containers to run agents.
The supervisor tree was crucial to getting it working.
Reach 1.5.0 โ effect classification accuracy went from 11% to 89%.
The analyzer couldn't tell ๐๐๐๐.๐๐๐๐๐๐!() from ๐ด๐๐๐.๐๐๐(). Now it can.
What changed:
โ Alias/import resolution. ๐๐๐๐๐ ๐ต๐๐.๐ฑ๐๐ then ๐ฑ๐๐.๐๐๐๐() was invisible to coupling analysis. Multi-alias ๐๐๐๐๐ ๐ต๐๐.{๐ฐ, ๐ฑ} and ๐๐๐๐๐๐ too
โ Cross-module effect inference. Pure functions recognized transitively across modules
โ Plugin ๐๐๐๐๐๐๐๐ข_๐๐๐๐๐๐/๐ท callback for all 8 built-in plugins. ๐๐๐๐.๐๐๐ โ read, ๐๐๐๐.๐๐๐๐๐๐! โ write, ๐๐๐๐๐๐ โ pure
โ On Elixir 1.19+ reads compiler-inferred types from ExCk BEAM chunk
7 new commands: ๐๐๐๐๐๐๐๐, ๐๐๐๐๐๐๐๐, ๐๐๐๐๐, ๐๐๐๐๐๐๐, ๐๐๐๐๐๐๐๐๐๐, ๐ก๐๐๐, ๐๐๐๐๐๐๐๐๐๐๐ข. All take a path filter: ๐๐๐ก ๐๐๐๐๐.๐๐๐๐๐๐๐๐ ๐๐๐/๐๐ข_๐๐๐/
Tested on 7 real codebases (up to 817 files). Zero crashes, 30% faster.
https://t.co/bULkiIZP7H
PgQue v0.1.0 is out.
PgQ -- the Postgres queue system built at Skype 20 years ago for 1B-user-scale workloads -- repackaged for the managed-Postgres era. One SQL file. No C extension. No external daemon. pg_cron to tick.
Why bother reviving a 2007 architecture?
Every major Postgres queue in production today uses some flavor of SKIP LOCKED + UPDATE/DELETE. It works under light load. When you have more data and higher load, it degrades predictably. Then you get posts like these:
- Brandur at Heroku, 2015: 60k job backlog in one hour from a single open transaction
- PlanetScale, 2026: death spiral at 800 jobs/sec
- River issue #59, awa issue #169 and so on, Oban's partitioning work, PGMQ's autovacuum tuning guide and duct-taping with pg_partman
The core issue is how Postgres MVCC is implemented and how we deal with it. Dead tuples in the hot path, xmin horizon pinned, vacuum falling behind, query performance quickly degrades. This happens every time you run pg_dump, execute an analytical query, or have a lagging/unused logical replication slot.
PgQ solved this in 2007 with snapshot-based batching and TRUNCATE rotation -- zero dead tuples in the event
path, by design.
But PgQ needed a C extension and an external daemon. Which means it doesn't run on RDS, Aurora, Cloud SQL, AlloyDB, Supabase, or Neon -- i.e., where most
Postgres lives now.
PgQue closes that gap.
๐ Pure SQL + PL/pgSQL (PgQ engine)
๐ฉโ๐ป \i sql/pgque.sql -- you're done
๐ pg_cron replaces pgqd (optional, recommended)
๐ป Python, Go, TypeScript client examples shipped
๐ Apache 2.0
Trade-off: end-to-end event delivery latency is up to a second, it depends on ticking frequency. If you need sub-3ms job dispatch, use River, Oban, or graphile-worker (and avoid anything that blocks xmin horizon). If you need high-throughput event streaming with fan-out inside Postgres -- Kafka-shaped, without Kafka and dealing with transactional outbox implementation -- this is the right shape of tool.
Kudos to Marko Kreen and Skype engineers who implemented this decades ago, for the original PgQ, and to Alexander Kukushkin whose recent "Rediscovering PgQ" talk brought this quiet corner of the Postgres ecosystem back into view.
Stars, issues, PRs, and honest criticism all welcome.
Link ๐