ads

Sunday, March 8, 2026

Show HN: Skir – A schema language I built after 15 years of Protobuf friction https://ift.tt/WLdg0tN

Show HN: Skir – A schema language I built after 15 years of Protobuf friction Why I built Skir: https://ift.tt/zdabGcW... Quick start: npx skir init All the config lives in one YML file. Website: https://skir.build GitHub: https://ift.tt/Z3cks4W Would love feedback especially from teams running mixed-language stacks. https://skir.build/ March 9, 2026 at 12:17AM

Show HN: Astro MD Editor – Schema-aware editor for Astro content collections https://ift.tt/w8HKWgL

Show HN: Astro MD Editor – Schema-aware editor for Astro content collections I built this for my own Astro projects where I got tired of hand-editing YAML frontmatter and switching between files. astro-md-editor reads your collection schemas and gives you a local editor UI with typed frontmatter controls (including image/color/icon pickers) alongside a markdown/MDX editor. Run it with: npx astro-md-editor Would love feedback on schema edge cases or missing field types. https://ift.tt/FAx2wuv March 8, 2026 at 11:44PM

Show HN: I built a simple book tracker because I kept buying books I owned https://ift.tt/qHek8SK

Show HN: I built a simple book tracker because I kept buying books I owned I'm Maureen, a senior and self-taught developer. I love browsing second-hand book markets but kept coming home with books I already owned. I couldn't find a simple enough app to track my library — everything required an account, had ads, or pushed a subscription. So I built one myself. SeniorEase Library (Android): scan an ISBN, book is added instantly. No account, no ads, one-time €2.99. First 10 books free. Would love any feedback! https://ift.tt/D3Rt1yr March 8, 2026 at 11:17PM

Show HN: Agentcheck – Check what an AI agent can access before you run it https://ift.tt/5vrHETy

Show HN: Agentcheck – Check what an AI agent can access before you run it Hey HN! I've just open-sourced agentcheck, a fast, read-only CLI tool that scans your shell and reports what an AI agent could access: cloud IAM credentials, API keys, Kubernetes contexts, local tools, and more. Main features: - Broad coverage: scans AWS, GCP, Azure, 100+ API key environment variables and credential files, Kubernetes, Docker, SSH keys, Terraform configs, and .env files - Severity levels: every finding is tagged LOW, MODERATE, HIGH, or CRITICAL so you know what actually matters - CI/CD integration: run agentcheck --ci to fail a pipeline if findings exceed a configurable threshold, with JSON and Markdown output for automation - Configurable: extend it with your own env vars, credential files, and CLI tool checks via a config file When you hand a shell to an AI agent, it inherits everything in that environment: cloud credentials, API keys, SSH keys, kubectl contexts. That's often more access than you'd consciously grant, and it’s hard to keep track of what permissions your user account actually has. Agentcheck makes that surface area visible before you run the agent. It’s a single Go binary, no dependencies. Install with Homebrew: brew install Pringled/tap/agentcheck Code: github.com/Pringled/agentcheck Let me know if you have any feedback! https://ift.tt/Bo5Ea02 March 8, 2026 at 11:05PM

Saturday, March 7, 2026

Show HN: Tessera – MCP server that gives Claude persistent memory and local RAG https://ift.tt/AEvu03P

Show HN: Tessera – MCP server that gives Claude persistent memory and local RAG https://ift.tt/HS9BX0o March 8, 2026 at 12:42AM

Show HN: Prompt Armour – Real-time PII detection for AI chatbots, 100% local https://ift.tt/aGDYjFX

Show HN: Prompt Armour – Real-time PII detection for AI chatbots, 100% local https://prompt-armour.vercel.app/ March 8, 2026 at 12:34AM

Show HN: OpenGraviton – Run 500B+ parameter models on a consumer Mac Mini https://ift.tt/2M6FohH

Show HN: OpenGraviton – Run 500B+ parameter models on a consumer Mac Mini Hi HN, I built OpenGraviton, an open-source AI inference engine designed to push the limits of running extremely large models on consumer hardware. The system combines several techniques to drastically reduce memory and compute requirements: • 1.58-bit ternary quantization ({-1, 0, +1}) for ~10x compression • dynamic sparsity with Top-K pruning and MoE routing • mmap-based layer streaming to load weights directly from NVMe SSDs • speculative decoding to improve generation throughput These allow models far larger than system RAM to run locally. In early benchmarks, OpenGraviton reduced TinyLlama-1.1B from ~2.05GB (FP16) to ~0.24GB using ternary quantization. Synthetic stress tests at the 140B scale show that models which would normally require ~280GB FP16 can fit within ~35GB when packed with the ternary format. The project is optimized for Apple Silicon and currently uses custom Metal + C++ tensor unpacking. Benchmarks, architecture, and details: https://opengraviton.github.io GitHub: https://ift.tt/iLOwpRP https://opengraviton.github.io March 7, 2026 at 11:37PM

Friday, March 6, 2026

Show HN: diskard – A fast TUI disk usage analyzer with trash functionality https://ift.tt/Vd7exyL

Show HN: diskard – A fast TUI disk usage analyzer with trash functionality This is an ncdu clone written in Rust that I figured others might find useful! The main things that differentiate it from ncdu are: - It's very fast. In my benchmarks it's often twice as fast. - It allows you to send files to trash rather than permanently delete. Please try it out and lmk if I can improve on anything! https://ift.tt/JYNrWSX March 6, 2026 at 09:35PM

Show HN: Modembin – A pastebin that encodes your text into real FSK modem audio https://ift.tt/4OlSN2v

Show HN: Modembin – A pastebin that encodes your text into real FSK modem audio A fun weekend project: https://ift.tt/VM2GvEN It's a pastebin, except text/files are encoded into .wav files using real FSK modem audio. Image sharing is supported via Slow-Scan Television (SSTV), a method of transmitting images as FM audio originally used by ham radio operators. Everything runs in the browser with zero audio libraries and the encoding is vanilla TypeScript sine wave math: phase-continuous FSK with proper 8-N-1 framing, fractional bit accumulation for non-integer sample rates, and a quadrature FM discriminator on the decode side (no FFT windowing or Goertzel), The only dependency is lz-string for URL sharing compression. It supports Bell 103 (300 baud), Bell 202 (1200 baud), V.21, RTTY/Baudot, Caller ID (Bellcore MDMF), DTMF, Blue Box MF tones, and SSTV image encoding. There's also a chat mode where messages are transmitted as actual Bell 103 audio over WebSocket... or use the acoustic mode for speaker-to-mic coupling for in-room local chat. https://ift.tt/VM2GvEN March 6, 2026 at 10:00PM

Thursday, March 5, 2026

Show HN: Tracemap – run and visualize traceroutes from probes around the world https://ift.tt/7SduDP0

Show HN: Tracemap – run and visualize traceroutes from probes around the world Hi HN, I thought it would be fun to plot a traceroute on a map to visually see the path packets take. I know this idea has been done before, but I still wanted to scratch that itch. The first version just let you paste in a traceroute and it would plot the hops on a map. Later I discovered Globalping ( https://globalping.io ), which allows you to run traceroutes and MTRs from probes around the world, so I integrated that into the tool. From playing around with it, I noticed a few interesting things: • It's very easy to spot incorrect IP geolocation. If a hop shows 1–2 ms latency but appears to jump across continents, the geolocation is probably wrong. • Suboptimal routing is sometimes much easier to notice visually than by just looking at latency numbers. • Even with really good databases like IPinfo, IP geolocation is still not perfect, so parts of the path may occasionally be misleading. Huge credit to the teams behind Globalping and IPinfo — Globalping for the measurement infrastructure and IPinfo for the geolocation data. Feedback welcome. https://tracemap.dev/ March 5, 2026 at 11:40PM

Show HN: OmoiOS–190K lines of Python to stop babysitting AI agents (Apache 2.0) https://ift.tt/5tfqPKU

Show HN: OmoiOS–190K lines of Python to stop babysitting AI agents (Apache 2.0) AI coding agents generate decent code. The problem is everything around the code - checking progress, catching drift, deciding if it's actually done. I spent months trying to make autonomous agents work. The bottleneck was always me. Attempt 1 - Claude/GPT directly: works for small stuff, but you re-explain context endlessly. Attempt 2 - Copilot/Cursor: great autocomplete, still doing 95% of the thinking. Attempt 3 - continuous agents: keeps working without prompting, but "no errors" doesn't mean "feature works." Attempt 4 - parallel agents: faster wall-clock, but now you're manually reviewing even more output. The common failure: nobody verifies whether the output satisfies the goal. That somebody was always me. So I automated that job. OmoiOS is a spec-driven orchestration system. You describe a feature, and it: 1. Runs a multi-phase spec pipeline (Explore > Requirements > Design > Tasks) with LLM evaluators scoring each phase. Retry on failure, advance on pass. By the time agents code, requirements have machine-checkable acceptance criteria. 2. Spawns isolated cloud sandboxes per task. Your local env is untouched. Agents get ephemeral containers with full git access. 3. Validates continuously - a separate validator agent checks each task against acceptance criteria. Failures feed back for retry. No human in the loop between steps. 4. Discovers new work - validation can spawn new tasks when agents find missing edge cases. The task graph grows as agents learn. What's hard (honest): - Spec quality is the bottleneck. Vague spec = agents spinning. - Validation is domain-specific. API correctness is easy. UI quality is not. - Discovery branching can grow the task graph unexpectedly. - Sandbox overhead adds latency per task. Worth it, but a tradeoff. - Merging parallel branches with real conflicts is the hardest problem. - Guardian monitoring (per-agent trajectory analysis) has rough edges still. Stack: Python/FastAPI, PostgreSQL+pgvector, Redis (~190K lines). Next.js 15 + React Flow (~83K lines TS). Claude Agent SDK + Daytona Cloud. 686 commits since Nov 2025, built solo. Apache 2.0. I keep coming back to the same problem: structured spec generation that produces genuinely machine-checkable acceptance criteria. Has anyone found an approach that works for non-trivial features, or is this just fundamentally hard? GitHub: https://ift.tt/d356S9K Live: https://omoios.dev https://ift.tt/d356S9K March 5, 2026 at 11:07PM

Show HN: AgnosticUI – A source-first UI library built with Lit https://ift.tt/OKyimFC

Show HN: AgnosticUI – A source-first UI library built with Lit I’ve spent the last few years building AgnosticUI. It started as a CSS-first monorepo with logic manually duplicated across framework packages. It turned into a maintenance nightmare. I recently completed a total rewrite in Lit to align with web standards and unify the core. One major architectural shift was moving to a "Source-First" model. Instead of a black box in node_modules, the UI source lives in your local project workspace. This makes the components fully visible to LLMs, preventing the hallucinations common when AI tries to guess at hidden library APIs. I wrote a technical post-mortem on Frontend Masters detailing the hurdles of this migration (Shadow DOM a11y, Form Participation, and @lit/react vs React 19): https://ift.tt/8Smlw2e... https://ift.tt/goQNWKi March 5, 2026 at 11:06PM

Show HN: Keep large tool output out of LLM context: 3x accuracy 95% fewer tokens https://ift.tt/qBSbT9R

Show HN: Keep large tool output out of LLM context: 3x accuracy 95% fewer tokens LLM agents often place raw JSON tool outputs directly in the prompt. After a few tool calls, earlier results get compacted or truncated and answers become incorrect or inconsistent. I built Sift, a drop-in MCP gateway that stores tool outputs as local artifacts (filesystem blobs indexed in SQLite) and returns an `artifact_id` plus compact schema hints when responses are large or paginated. Instead of reasoning over full JSON in the prompt, the model runs a small Python query: def run(data, schema, params): return max(data, key=lambda x: x["magnitude"])["place"] Query code runs in a constrained subprocess (AST/import guards + timeout/memory caps). Only the computed result is returned to the model. Benchmark (Claude Sonnet 4.6, 103 questions across 12 datasets): - Baseline (raw JSON in prompt): 34/103 (33%), 10.7M input tokens - Sift (artifact + code query): 102/103 (99%), 489K input tokens Open benchmark + MIT code: https://ift.tt/5XYr4c6 Install: pipx install sift-gateway sift-gateway init --from claude Works with Claude Code, Cursor, Windsurf, Zed, and VS Code. Existing MCP servers and tools require no changes. https://ift.tt/5XYr4c6 March 5, 2026 at 08:53PM