News for hackers. Stuff that matters.

gkoos

Re: on Sunday April 19, 2026 @09:23AM (#47824145)
This post runs three controlled chaos scenarios against the same endpoint to compare retry-only, Retry-After-aware retries, and hedging. One recurring result is that reliability gains can come with significantly worse p95/p99, while 429-aware retry behavior outperforms blind retries under rate limiting.
Re: on Saturday March 28, 2026 @03:33AM (#47552413)
Why debouncing input reduces call volume but does not prevent stale-response race conditions.
Re: on Friday March 20, 2026 @05:33PM (#47460893)
I implemented atomic hot config reload in both Node and Go with the same external contract, then reran benchmarks on the same machine and methodology. In this setup, Go remains about 1.92x higher throughput, while both versions show steady-state overhead from reload-safe runtime design.

Show HN: Ffetch v5 – TypeScript-first fetch client

https://www.npmjs.com/package/@fetchkit/ffetch

ffetch v5 is outffetch is a TypeScript-first fetch client focused on production reliability. Core functionality includes: - timeouts (global and per-request) - retries with exponential backoff + jitter - lifecycle hooks (before/after/onError) - pending request monitoring - per-request overrides - optional throwOnHttpErrorv5 introduces a public plugin lifecycle API plus first-party plugins...

( Read More... | no comments | on HN )
Re: on Tuesday January 06, 2026 @05:56PM (#46520037)
Summary: Explains backpressure as producer–consumer rate control in JS, covering Node.js streams (write()/drain, pipe()), Web Streams, and pitfalls with async/await and Promise.all().

Show HN: Chaos-fetch – TS library for simulating network chaos in fetch requests

https://github.com/fetch-kit/chaos-fetch

A TypeScript/ESM library for injecting latency, failures, and other network chaos into fetch requests. It supports flexible middleware and can be combined with chaos-proxy for advanced testing scenarios.npm: https://www.npmjs.com/package/@fetchkit/chaos-fetch GitHub: https://github.com/fetch-kit/chaos-fetch

( Read More... | no comments | 2 points | on HN )

Chaos Proxy – Simulate API failures, latency, and rate limits for testing

I made Chaos Proxy, a tool to inject chaos into API requests for testing and development.You can simulate latency, random failures, dropped connections, and rate limits using a simple YAML config or code. Great for testing how your app handles slow, flaky, or failing APIs.Simulate network issues and error responses Test client retry and resilience logic Easy config, extensible, and open...

( Read More... | no comments | on HN )

Show HN: Browser extensions for my privacy-first temporary email service

I previously shared a simple disposable email tool focused on privacy (no tracking, no signup). https://nullmail.ccNow I've released extensions for Chrome and Firefox to make it easier to use: - Generate a new address in one click from the toolbar - Manage temp mailboxes from the extension (until they expire) - No need to open the site each time (although the extension does open it) - Same...

( Read More... | no comments | on HN )
I got tired of reimplementing timeout/retry logic, so I built a thin fetch() wrapper.

const client = createClient({ timeout: 5000, retries: 3, circuit: { threshold: 5, reset: 30000 } }) const response = await client('/api/data') // exactly like fetch()

Drop-in replacement, zero deps, ~2KB. Has lifecycle hooks for auth/logging, exponential backoff with jitter, respects Retry-After headers, and proper AbortSignal composition. Preserves all native fetch behavior.

https://github.com/gkoos/ffetch

Thoughts?

Re:Mermaid Diagram Editor/Renderer on Thursday September 04, 2025 @11:25PM (#45134727)
Hey, I write a tech blog and I need to create lots of diagrams for it. I like using Mermaid, but I quickly ran into the same frustrating pattern with most of the existing editors and renderers: the free options were either too limited or came with barriers that slowed me down. I wanted something simple: just open the page, paste/type in Mermaid code, preview the diagram, and export it without worrying about limits or accounts. Here are some concrete problems I ran into with other tools: - Mermaid Live Editor (the official one): Great for quick editing, but exporting diagrams is capped by a rate limit on their free tier. After a handful of exports, I’d get the dreaded “free tier limit exceeded” message. Kroki.io: Supports rendering, but running it online requires trusting a shared service with my diagrams. Hosting it myself means extra setup, Docker, and server resources — not ideal if I just want to save a few diagrams. - Excalidraw & Lucidchart: Both have nice UIs, but they’re general diagramming tools, not native Mermaid editors. Lucidchart especially locks useful features (like unlimited diagrams or high-quality export) behind a paid plan. - Other browser-based tools Almost all I tried had some kind of paywall, signup requirement, or watermark on exports. For something as text-based and simple as Mermaid, that felt unnecessary. So I built my own tool with a few core principles: - No limits: you can create, edit, and export as many diagrams as you want. - No signup: the tool works straight from the browser, nothing to install. - No tracking: privacy-friendly, just you and your diagrams. - Open source: https://github.com/gkoos/mermaid-editor Now this is a very simple v0.0.1 and needs a lot of refinement, but hopefully it can be useful to some even in its current state.
Some legal departments are against AGPL and that might affect adoption.
Looks neat. A few things though: 1. Deep equality checks on every dispatch may become expensive for large, deeply nested objects. 2. Auto-generated partial dispatchers can obscure what actually happens in updates. 3. Middleware API is Redux-like, but can't see support for async flows (like thunks or sagas).
Re:NASA's 10 rules for safety critical code on Wednesday August 20, 2025 @05:01PM (#44966422)
These rules were developed in 2006 to strengthen static analysis of C code in high-stakes environments. I don't think they apply to many here.
Re:Security testing of Gitlab self-hosted deployments on Wednesday August 20, 2025 @04:57PM (#44966370)
Good start, covers the big GitLab pitfalls (auth, runners, vars, project config). The the fun part to be added: runner isolation/cleanup, built-in scans (SAST/dep/secret), logging/audit trails, push-rules (signed commits), and secret management practices. Solid so far tho.
Re:'Work-Life Balance' Will Keep You Mediocre on Wednesday August 20, 2025 @04:49PM (#44966296)
Paywall saved me from a read rage but even the first couple of lines made me wanna do things to the author :D

Show HN: A Privacy-First Temp Email Service

https://www.nullmail.cc/

Hey all, as a little weekend project I built a privacy-focused temporary email service:https://nullmail.cc- No sign-up or personal info required. - Instant, disposable, ephemeral mailboxes. - Deletes all data on expiration. - No tracking or logging of user data. - No Cookies. - Ideal for quick, anonymous email verification and sign-up flows. - Domain rotation is the email domain gets...

( Read More... | no comments | 2 points | on HN )
In every JS/TS project, be it frontend or backend, you usually have to fetch some data. And when you go into production, you realise you need something more resilient than the native fetch.

There are some libraries on npm, but I found them either too dumb or doing too much, so I built my own.

- Timeouts - per-request or global - Retries - user-defined, defaults to exponential back-off + jitter - Circuit breaker - trip after N failures - Hooks - logging, auth, metrics, request/response transformation - Per-request overrides - customize behavior on a per-request basis - Universal - Node, Browser, Cloudflare Workers, React Native - Zero runtime deps - ships as dual ESM/CJS - Written in TypeScript

Any feedback is welcome, here or in the github repo (https://github.com/gkoos/ffetch).

Looks neat. When you detect anomalies, how can you tell whether it's the cloud provider or the public internet or a transient peer tho?
In Guix, packages are typically dynamically linked against libraries in the store. Static linking changes not just the configure flags, but also how dependencies are pulled in - you'd have to make sure every dependency is available as a static .a library for the target platform and many Guix packages aren't built with static artifacts at all.
I guessit's a mix of market size, monetization difficulty, and investor expectations: - a CLI or build tool can get huge love from devs but still serve a small, finite market - many devs will happily use a free open-source tool but won't pay unless it's mission-critical - funding is biased toward sales-driven models - successful paid devtools usually have enterprise-grade support - PH and X are cool but not for validating a sustainable business
Re:Era of Bloated Software Is Over on Thursday August 14, 2025 @02:58PM (#44904239)
Web bloat is coming from every angle, including - surprise - LLM's. So no, I don't think it's over. Also wdym AI companies rendering UI? You mean the chatgpt textbox?
Plivo, Vonage, Telnyx?

Older »