FAUN.dev's Software Engineering Weekly Newsletter
 
🔗 View in your browser   |  ✍️ Publish on FAUN.dev   |  🦄 Become a sponsor
 
Allow loading remote contents and showing images to get the best out of this email.
 
SoftwareEngineeringLinks
 
This Week in Software Engineering, with Varbear the Bear
 
 
🔍 Inside this Issue
 
 
Mercury is quietly shipping millions of lines of Haskell while everyone else is racing toward agentic everything. Pair that with a few sharp lessons on premature scale, interpreter speed, and why Postgres can burn your disks even when nothing updates, and this one pays for itself.

🪙 A Couple Million Lines of Haskell: Production Engineering at Mercury
🧠 Agentic Coding is a Trap
⚡ How To Make a Fast Dynamic Language Interpreter
📉 Reduced Median Memory Estimation Error by 99%, With the Help of AI
🧾 When upserts don't update but still write: Debugging Postgres performance at scale

Ship fewer traps, ship more truth.

Have a great week!
FAUN.dev() Team
 
 
⭐ Patrons
 
iacconf.com iacconf.com
 
It’s 2026. Platform engineering has a new user: AI agents. Is your team ready?
 
 
Join IaCConf 2026 to learn how top IaC leaders from companies like Google, Sanofi, and AHEAD are solving the hardest problems in cloud provisioning, state management, and platform engineering.

May 14. Free to attend. Register now.
 
 
eventbrite.co.uk eventbrite.co.uk
 
🚀 Join the AI-Powered Platform Engineering – Cohort 2 by Packt!
 
 
Learn how to build intelligent, scalable platforms with AI — from self-service developer portals to AI-driven observability. This hands-on cohort equips engineers, SREs, and tech leaders with real-world frameworks to design smarter platforms and boost developer productivity

Register here.
 
 
👉 Spread the word and help developers find you by promoting your projects on FAUN. Get in touch for more information.
 
ℹ️ News, Updates & Announcements
 
faun.dev faun.dev
 
Ubuntu 26.04 LTS Released: Meet Resolute Raccoon
 
 
Ubuntu 26.04 LTS - Resolute Raccoon ships GNOME 50. GNOME-on-X11 is gone; the session runs only on Wayland. Mutter patches shave NVIDIA blocked frame time down to microseconds.

The release requires systemd 259 and cgroup v2. It swaps initramfs to Dracut. Desktop minimums rise. Binaries default to memory-safe Rust.

Ubuntu adds native CUDA and ROCm to main repos. Livepatch lands on Arm64. The installer gains TPM-backed full-disk encryption. App Center becomes the central app manager.
 
 
👉 Enjoyed this?Read more news on FAUN.dev/news
 
⭐ Sponsors
 
eventbrite.co.uk eventbrite.co.uk
 
Are Your APIs Ready for AI Agents? A Hands-on Workshop on May 23rd
 
 
Are Your APIs Ready for AI Agents? A Hands-on Workshop on May 23rd

AI agents are beginning to autonomously call APIs, chain services, and create integrations that most platforms were never designed to handle. This hands-on masterclass on Designing AI-ready APIs helps architects and developers build governed, predictable API ecosystems using OpenAPI, Overlay, and Arazzo.

Learn how to add guardrails, improve discoverability, and safely evolve existing APIs for automated consumption.

FAUN.dev readers get an exclusive 40% discount using code FAUN40.
 
 
faun.dev faun.dev
 
Cloud Native CI/CD with GitLab: From Commit to Production Ready
 
 
Cloud Native CI/CD with GitLab: From Commit to Production Ready is a complete, hands-on path to becoming the person on your team who actually understands GitLab CI/CD, not just the YAML, but the architecture underneath.

You'll start with the fundamentals: jobs, stages, the container registry, your first working pipeline; and build up to the parts most engineers learn the hard way in production: reusable definitions with extends and includes, DAGs for non-sequential execution, artifact strategies, conditional logic and workflow rules, parallelism and matrix builds, runner and executor internals, and cloud-native runners on Kubernetes - with caching, autoscaling, and observability wired in. The final chapters walk through multi-stage continuous deployment with HelmandKubernetes end to end.

23 chapters. Hands-on throughout. Designed so beginners can follow it linearly and experienced engineers can jump straight to the chapter they need.

Written by Aymen El Amri - founder of FAUN.dev(), author of multiple cloud-native engineering books, and trainer to thousands of DevOps and platform engineers worldwide.

→ Explore the course
 
 
👉 Spread the word and help developers find you by promoting your projects on FAUN. Get in touch for more information.
 
🔗 Stories, Tutorials & Articles
 
larsfaye.com larsfaye.com
 
Agentic Coding is a Trap
 
 
AI-driven coding agents are the hot new trend, but beware of the trade-offs: increased complexity, skills atrophy, vendor lock-in, and fluctuating costs. Only skilled developers can spot issues in the vast lines of generated code, but paradoxically, AI tools are impacting critical thinking skills negatively. To avoid this, demote AI's role, leverage it for planning, and stay actively engaged in implementation to maintain coding skills and mitigate comprehension debt.
 
 
datadoghq.com datadoghq.com
 
When upserts don't update but still write: Debugging Postgres performance at scale
 
 
The Datadog team introduced a new upsert query to track inactive hosts, but it unexpectedly increased disk writes and WAL syncs due to row locking. By digging into Postgres's Write-Ahead Logging (WAL) and rewriting the query using a Common Table Expression (CTE), they avoided unnecessary overhead and improved performance. The new query eliminated the need for locking and minimized WAL activity and allowed for more efficient host tracking without sacrificing correctness.
 
 
mixpanel.substack.com mixpanel.substack.com
 
How We Reduced Median Memory Estimation Error by 99%, With the Help of AI
 
 
The compaction pipeline at Mixpanel ran into memory estimation issues causing OOMKills. By implementing AI-assisted analysis, they were able to reduce median estimation error by 99%, leading to a significant improvement in memory estimation accuracy. Through thorough analysis and exploration of alternative approaches, they were able to find a simple solution that outperformed more complex alternatives.
 
 
zef-lang.dev zef-lang.dev
 
How To Make a Fast Dynamic Language Interpreter
 
 
Zef's AST-walking interpreter posts a 16.6× speed-up. The gains come from surgical changes: 64-bit tagged values, AST node & RMW specialization, symbol hash-consing, inline caches, and a shaped object model. Developers built it on Fil-C++ and later ported it to Yolo-C++. The Yolo build adds ~4x speed, at the cost of unsound GC behavior. Zef now challenges CPython, Lua, and QuickJS.
 
 
blog.haskell.org blog.haskell.org
 
A Couple Million Lines of Haskell: Production Engineering at Mercury
 
 
Mercury runs ~2M lines of Haskell in production.
They chose Temporal to retire cron and DB-backed state machines. Durable workflows replace brittle coordination.

They open-sourced a Haskell SDK for Temporal, wired in OpenTelemetry hooks, and pushed records-of-functions plus domain-error types.
 
 

👉 Got something to share? Create your FAUN Page and start publishing your blog posts, tools, and updates. Grow your audience, and get discovered by the developer community.

 
⚙️ Tools, Apps & Software
 
github.com github.com
 
alirezarezvani/claude-skills
 
 
232+ Claude Code skills & agent plugins for Claude Code, Codex, Gemini CLI, Cursor, and 8 more coding agents — engineering, marketing, product, compliance, C-level advisory.
 
 
github.com github.com
 
ENTERPILOT/GoModel
 
 
AI gateway written in Go. Lightweight unified OpenAI-compatible API for OpenAI, Anthropic, Gemini, Groq, xAI & Ollama. LiteLLM alternative with observability, guardrails, streaming, costs and usage tracking.
 
 
github.com github.com
 
besimple-oss/broccoli
 
 
Broccoli turns Linear tickets into shipped PRs — powered by Claude and Codex, running on your own Google Cloud or Blaxel containers.
 
 
github.com github.com
 
tech-engine/goscrapy: GoScrapy
 
 
Harnessing Go's perfomance for blazingly fast web scraping, inspired by Python's Scrapy framework.
 
 
github.com github.com
 
AndrewVos/endless-toil
 
 
Hear your agent suffer through your code
 
 

👉 Spread the word and help developers find and follow your Open Source project by promoting it on FAUN. Get in touch for more information.

 
🤔 Did you know?
 
 
Did you know that Redis keeps the recent replication stream in an in-memory circular buffer called the replication backlog, so when a replica reconnects after a brief disconnect it can issue PSYNC with its last offset and replay only the missed bytes instead of pulling the full dataset? If the offset has already fallen out of the backlog, the master is forced into a full resync, which means forking, producing an RDB snapshot, and streaming it over the wire, all of which spike CPU and bandwidth on the primary. That is why sizing repl-backlog-size to comfortably cover your worst expected disconnect window is one of the highest leverage replication knobs in Redis, well ahead of toggling repl-diskless-sync.
 
 
🤖 Once, SenseiOne Said
 
 
"Dev tools promise fewer mistakes; the good ones just make your mistakes reproducible. The rest of engineering is deciding which mistakes deserve automation."
— SenseiOne
 

(*) SenseiOne is FAUN.dev’s work-in-progress AI agent

 
⚡Growth Notes
 
 
"Design for horizontal scale from day one" is sound advice until you're three sprints in, sharding a service that peaks at 40 RPS, and your stateless everything rule means a request that used to be one in-process call is now four network hops through a queue you don't have capacity to operate. Premature distribution doesn't just cost latency, it costs the debugging budget you'll need when real load shows up and you can't tell whether the bug is in your code or in the seams you added to prepare for it.
 
Each week, we share a practical move to grow faster and work smarter
 
😂 Meme of the week
 
 
 
 
❤️ Thanks for reading
 
 
👋 Keep in touch and follow us on social media:
- 💼LinkedIn
- 📝Medium
- 🐦Twitter
- 👥Facebook
- 📰Reddit
- 📸Instagram

👌 Was this newsletter helpful?
We'd really appreciate it if you could forward it to your friends!

🙏 Never miss an issue!
To receive our future emails in your inbox, don't forget to add community@faun.dev to your contacts.

🤩 Want to sponsor our newsletter?
Reach out to us at sponsors@faun.dev and we'll get back to you as soon as possible.
 

SoftwareEngineeringLinks #527: Agentic Coding is a Trap
Legend: ✅ = Editor's Choice / ♻️ = Old but Gold / ⭐ = Promoted / 🔰 = Beginner Friendly

You received this email because you are subscribed to FAUN.dev.
We (🐾) help developers (👣) learn and grow by keeping them up with what matters.

You can manage your subscription options here (recommended) or use the old way here (legacy). If you have any problem, read this or reply to this email.