Tuesday, June 30, 2026

Show HN: Fleet – a local-first console for managing Dockerized Hermes AI Agents https://ift.tt/Ea9ikur

Show HN: Fleet – a local-first console for managing Dockerized Hermes AI Agents https://ift.tt/ZcVaitW June 30, 2026 at 02:01AM

Show HN: The UNESCO Tsunami Warning Emails Are Gone https://ift.tt/0ip3sAX

Show HN: The UNESCO Tsunami Warning Emails Are Gone This key piece of tsunami warning and safety was discontinued this morning and evidently there's no way to get it back. :/ https://ift.tt/XoKwMxi June 29, 2026 at 11:36PM

Monday, June 29, 2026

Show HN: Use-zerostack – delegate any task to a lightweight coding agent https://ift.tt/GfmJEcv

Show HN: Use-zerostack – delegate any task to a lightweight coding agent https://ift.tt/TueFbAJ June 29, 2026 at 01:03AM

Show HN: NanoEuler – GPT-2 scale model in pure C/CUDA from scratch https://ift.tt/2KW9P3X

Show HN: NanoEuler – GPT-2 scale model in pure C/CUDA from scratch Hi everyone, I started working on nanoeuler after the ban of anthropic's fable because my ambition and dream is to work in the AI field in anthropic. The two interesting reasons that led me to create nanoeuler were (1) interfacing with llm does not mean understanding how they are composed and (2), working on llm with a very low-level layer to understand the correlation between parameters and data and growth of the model and how the GPU works and how some layers can be optimized. So I started working on it with a research aspect by making nanoeuler grow more and more but doing one step after another starting from Shakespeare.txt and understanding what a text generation model understands at 23 million parameters. For example, nanoeuler at that number had understood that Name: started a line and wrote that line with sense. I wrote everything in CUDA because I wanted to not use any intermediary between the model in training and inference and what it had to do. Then the use of SFT and much more, even if in small ways, were really useful to understand the various step to make an llm like a chatbot.Any feedback, help, or suggestions are absolutely welcome! https://ift.tt/gQBjXKm June 29, 2026 at 01:08AM

Show HN: Caliper – pass@k reliability testing for Claude Code and Codex skills https://ift.tt/zc2jOVN

Show HN: Caliper – pass@k reliability testing for Claude Code and Codex skills Skills for Claude Code and Codex are hard to test. What I mean by hard is that there's no standard way to do it. You evaluate the skill once on something, it looks like it works. You publish it. Then the new super model releases (GLM 5.2 anyone?), it will quietly break for some part, and you won't find out until your users complain. I also faced the same problem, so I tried to build something lightweight to stop doing that. Caliper. It's a local and lightweight harness that runs a skill k times in isolated environments and gives you a pass@k score (How much times it succeeded in these k times). As a non-deterministic technology, you can't just say "it worked once". You need to answer how much it passed in k times. You define success in a YAML spec. I picked YAML to keep a schema and make it still readable for a human. You either use a LLM judge, a Python assertion, or both: Here's an simple evaluation example with a JSON extraction, so you write this in a YAML file: tasks: - name: Extracts action items as clean JSON prompt: "Read /tmp/transcript.txt and write the action items to /tmp/actions.json." expect: "A valid JSON array where every item has owner, task, due. No markdown fences." assert: | import json items = json.load(open("/tmp/actions.json")) assert isinstance(items, list) assert all({"owner","task","due"} <= i.keys() for i in items) Then with the CLI, you'll run it: caliper run extract-actions.eval.yaml --k 5 --baseline What's cool about the --baseline flag is that it will re-runs everything without the skill, so you can see whether the skill is doing the work or the base agent was going to pass anyway: ID Task k(5) pass@k task-1 Extracts action items as JSON 5/5 100% PASS With skill 100% No skill 60% Delta +40% Most models know how to get the JSON right most of the time (JSON extraction was solved by 2 years old already). But that's it, "most of the time" is the bug. That delta shows how the skill actually helped. (It's sometimes 0%, sometimes -100%!) I also created two skills you can get started right away with your favorite harness, e.g. Claude Code, Codex or Pi: - evaluate-skill: run and manage evals without leaving your workflow - grill-skill: reads your SKILL.md, interviews you about what "good" looks like, writes a 3-task spec (happy path, edge case, adversarial), and runs it You can install the skill with the command: npx skills@latest add edonadei/caliper I for now support claude-code, codex, pi, claude-api, openai-api. You can run the agent and the judge as separate backends, so you can run a skill on one and judge with another. GitHub: https://github.com/edonadei/caliper PyPI: https://pypi.org/project/caliper-eval/ Of course, it's a first step. I think the autorater layer can be vastly improved, more handholding to create and iterate on evaluation specs, supporting more harness, why not including this layer into a self-improvement bigger system? If you're also building agentic evaluations, I'm genuinely interested to hear how you are handling that. https://github.com/edonadei/caliper June 28, 2026 at 11:12PM

Sunday, June 28, 2026

Show HN: E3d-pod2vid – AI pipeline that turns podcasts into YouTube-ready videos https://ift.tt/pQgLkKO

Show HN: E3d-pod2vid – AI pipeline that turns podcasts into YouTube-ready videos turn your .mpa files into animated videos. https://ift.tt/VhIXu35 June 28, 2026 at 03:39AM

Show HN: Wind particles on Mapbox from a single EXIF JPEG https://ift.tt/bvliysU

Show HN: Wind particles on Mapbox from a single EXIF JPEG https://ift.tt/i2U0atE June 27, 2026 at 11:46PM

Show HN: Shot-scraper video tool for recording YAML-defined webapp feature demos https://ift.tt/sxDX7ur

Show HN: Shot-scraper video tool for recording YAML-defined webapp feature demos https://ift.tt/kQ6Gbou June 30, 2026 at 10:28PM