Go fuzzing missed a crash hitting ~1 in 5 inputs.
Why: Go checks slices against capacity, not length. Inputs shared one big buffer, so overruns hit spare capacity and never panicked.
My take: test the harness too.
data = data[:len(data):len(data)]
developers.googleblog.com/ca…
22
My app monetization quiz shows a "54% match" for 90% of all 30,720 possible answer sets.
The formula usually lands in the 30s, and a clamp raises it to 54. Ties quietly go to freemium.
What I found by testing every combination:
medium.com/@eibrahim/my-mone…
1
57
Angular's compiler used TypeScript's Transformer API. TypeScript 7 dropped it.
The fix, ngp, analyzes in Rust and emits plain files for any type-checker or bundler: 2-3x faster cold builds.
My take: a hook you don't own is a dependency you can lose.
infoq.com/news/2026/11/angul…
31
I shipped a fake chat generator whose Download PNG button never downloads.
html2canvas can't parse Tailwind v4's oklch colors, so the export throws, and a try/finally with no catch hides it. No file, no error.
What broke and what I'm fixing:
medium.com/@eibrahim/my-fake…
2
2
90
OpenTelemetry's batch migration has a capacity trap: 1,000 queued batches becomes 1,000 smaller requests when batching moves after the queue.
My take: preserve the buffer's workload capacity, not its old config number.
opentelemetry.io/blog/2026/c…
31
I built a startup runway calculator for Idea Score. An edge case exposed a bad label: 1,000 months of runway becomes "Profitable" while the page still shows $10K monthly cash loss. The formatter changed the meaning of the math.
medium.com/@eibrahim/my-runw…
1
59
HubSpot halved HBase storage with erasure coding, then paid in tail latency: one slow DataNode meant 5s reads.
Fix: if a read is slow, rebuild the cell from parity and race it. 98% fewer slow-read minutes.
My take: every hedge needs a circuit breaker.
product.hubspot.com/blog/hed…
26
My kids' activities finder says "filter by age group and category." It has one filter: age.
Category is just a heading. "60+ activities" is exactly 60. And ages 3, 5, 8, and 12 each match two age groups.
What I'm fixing:
medium.com/@eibrahim/my-acti…
55
Cloudflare's D1 runs millions of databases by keeping the central DB off the hot path.
Queries go from the edge directly to a Durable Object. Postgres stays the source of truth; 30s heartbeats fix drift.
My take: design for repair, not perfect writes.
infoq.com/news/2026/11/cloud…
46
Week 4 of testing demand before I build.
Small GCs still email lien waiver PDFs, track them in spreadsheets, and sometimes pay before the signed waiver is back.
WaiverGate: request, remind, check the amount, hold the payment until it's in.
waivergate.hub.elitecoders.a…
1
50
My Flexbox playground's preview quietly adds a 360px container height that its copied CSS never includes. So "Centered" only centers vertically in the preview.
Also, typing -2 into order gives you order: 2.
What I'm fixing:
medium.com/@eibrahim/my-flex…
44
Libghostty 1.0 checks ABI compatibility in CI against a baseline.
My take: if other teams build on your library, compatibility is a testable feature. Put it in the pipeline, alongside correctness.
mitchellh.com/writing/libgho…
39
My markup calculator's caption says markup is always higher than margin. Right above it, at the defaults (60% markup, 37.5% margin), the margin bar is longer.
The bars use different scales. Switching modes reuses stale hidden values.
What I'm fixing:
medium.com/@eibrahim/my-mark…
44
AI means Grab ships more code. But a shipped mobile crash stays on devices for months.
Their layers: lint rules from post-mortems, crash rate per new version, flag kill switches.
My take: make every post-mortem a check. Your AI won't remember.
infoq.com/news/2026/11/grab-…
23
My party checklist saves your ticks by position, not by task.
Tick "Send out invitations" for 30 guests, change it to 51, and the tick moves to "Hire an event coordinator." Switch to Wedding and you've started dress shopping.
What I'm fixing:
medium.com/@eibrahim/my-part…
1
73
GitHub Actions lockfiles are GA. Keep readable tags like v4; runs use the exact commits in actions.lock, transitive deps too.
My take: a lock only freezes what you trusted. Review moves to the Dependabot PR. Auto-merge it and you lock in the attack.
infoq.com/news/2026/11/githu…
2
60
I built a free tone checker for ChatSpark. Its own preset scores 99/100 for readability and 62/100 for friction. Easy to read can still sound sharp. The rewrite also repeats "following up." Here is what the rules catch, and miss.
medium.com/@eibrahim/i-built…
53
Microsoft ran one agent task 5 times on Dev Proxy. All 5 scripts passed, but trajectories showed 15 problems: guessed docs URLs that 404'd, errors with no valid values, every run scraping a DLL for plugin names.
My take: green evals hide product gaps.
developer.microsoft.com/blog…
32
My dog name generator's Random button types the name it picks into search. Search matches substrings, so Iris also matches every Irish Setter: 27 cards, with Iris 8th.
The page also says 351+ names. It lists 329.
What went wrong and what I'm fixing:
medium.com/@eibrahim/my-dog-…
54
Inkitt's PR agent ships code daily. Their lesson: the model was the easy part.
Guardrails are plain code: two tries per stage, and a path gate that reads the real git diff, not the agent's report.
My take: don't let the agent grade its own homework.
infoq.com/news/2026/11/inkit…
27
