~/writing · pragmatic engineering · AI agents · teams

Engineering notes, for shipping code that just works.

Pragmatic approaches, tested coding patterns, defensive programming, CI/CD, AI workflows, and the team habits that make reliable software easier to ship.

boring softwarearchitecture

Build boring, reliable software

Clear ownership, small moving parts, fast verification loops, and release habits a team can trust.

moMohamed Meabed· 6 min read
// boring software loop
business fact simple path verify
release check before deploy
// team rule
reliability = shared habit
Latest writing
llm·Mar 4, 2026

LLMs in production: tools, retrieval, evals

Where each pattern earns its place, where it does not, and how I keep cost, latency, and trust honest.

3 min read0
llm·Feb 25, 2026

Keep tool-calling agents on a short leash

The tool surface, eval loop, and refusal rules I want before an agent can touch a real repo.

5 min read0
aws·Feb 16, 2026

AWS to GCP, after the workload inventory

Moving AI training onto managed GPUs only worked after we separated real runtime needs from idle infrastructure.

4 min read0
kubernetes·Feb 6, 2026

Offline-first mobile when the network is bad

The cluster and API only matter if the field worker can capture intent, reconnect, and trust the result.

3 min read0
nodejs·Jan 28, 2026

MongoDB modeling mistakes that show up late

Document shape, indexes, and the day the working set stops fitting in memory.

4 min read0
terraform·Jan 19, 2026

Everything as code without the sprawl

Terraform, Ansible, GitHub, Sentry, local machines, and the console work I try to turn into repeatable code.

5 min read0
nginx·Aug 12, 2018

HTTP 497 Status Code

Plain HTTP sent to an HTTPS port is a small nginx edge case. The fix is tiny, but the habit is bigger: make protocol mistakes converge.

3 min read0
docker·Oct 27, 2014

Ship it with Docker tips

Local containers only help when they can see the files developers are actually editing.

3 min read0
magento·Sep 5, 2013

Magento field notes

EAV migrations, admin routing, payments, product lists, and the kind of debugging that makes operational reality hard to ignore.

3 min read0