gkoos
gkoos on Hacker News
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.
Posted by
gkoos on Sunday April 05, 2026 @08:15AM
from the show-hn dept.
https://fetch-kit.github.io/ffetch-demo/
Live benchmark comparing fetch, axios, ky, and ffetch side-by-side with configurable latency, failures, and rate limiting. No setup needed. Run chaos scenarios and see real-time reliability metrics.
Why debouncing input reduces call volume but does not prevent stale-response race conditions.
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.
Posted by
gkoos on Saturday March 14, 2026 @12:43AM
from the show-hn dept.
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...
Posted by
gkoos on Thursday January 29, 2026 @06:58PM
from the show-hn dept.
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().
Posted by
gkoos on Tuesday October 28, 2025 @04:43PM
from the blog.gaborkoos.com dept.
Posted by
gkoos on Saturday September 27, 2025 @10:41AM
from the show-hn dept.
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
Posted by
gkoos on Saturday September 20, 2025 @09:11AM
from the self-post dept.
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...
Posted by
gkoos on Wednesday September 10, 2025 @10:59AM
from the show-hn dept.
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...
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?
Posted by
gkoos on Saturday September 06, 2025 @11:04AM
from the npmjs.com dept.
Posted by
gkoos on Thursday September 04, 2025 @11:25PM
from the mermaid-editor.online dept.
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.
Posted by
gkoos on Sunday August 31, 2025 @09:24AM
from the blog.gaborkoos.com dept.
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).
Posted by
gkoos on Friday August 29, 2025 @10:57AM
from the nullmail.cc dept.
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.
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.
Paywall saved me from a read rage but even the first couple of lines made me wanna do things to the author :D
Posted by
gkoos on Saturday August 16, 2025 @07:18AM
from the show-hn dept.
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...
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).
Posted by
gkoos on Saturday August 16, 2025 @04:29AM
from the npmjs.com dept.
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
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?