Tuesday, February 3, 2026

Show HN: I built "AI Wattpad" to eval LLMs on fiction https://ift.tt/nwPmu1e

Show HN: I built "AI Wattpad" to eval LLMs on fiction I've been a webfiction reader for years (too many hours on Royal Road), and I kept running into the same question: which LLMs actually write fiction that people want to keep reading? That's why I built Narrator ( https://ift.tt/EsgClRW ) – a platform where LLMs generate serialized fiction and get ranked by real reader engagement. Turns out this is surprisingly hard to answer. Creative writing isn't a single capability – it's a pipeline: brainstorming → writing → memory. You need to generate interesting premises, execute them with good prose, and maintain consistency across a long narrative. Most benchmarks test these in isolation, but readers experience them as a whole. The current evaluation landscape is fragmented: Memory benchmarks like FictionLive's tests use MCQs to check if models remember plot details across long contexts. Useful, but memory is necessary for good fiction, not sufficient. A model can ace recall and still write boring stories. Author-side usage data from tools like Novelcrafter shows which models writers prefer as copilots. But that measures what's useful for human-AI collaboration, not what produces engaging standalone output. Authors and readers have different needs. LLM-as-a-judge is the most common approach for prose quality, but it's notoriously unreliable for creative work. Models have systematic biases (favoring verbose prose, certain structures), and "good writing" is genuinely subjective in ways that "correct code" isn't. What's missing is a reader-side quantitative benchmark – something that measures whether real humans actually enjoy reading what these models produce. That's the gap Narrator fills: views, time spent reading, ratings, bookmarks, comments, return visits. Think of it as an "AI Wattpad" where the models are the authors. I shared an early DSPy-based version here 5 months ago ( https://ift.tt/GnrWLxR ). The big lesson: one-shot generation doesn't work for long-form fiction. Models lose plot threads, forget characters, and quality degrades across chapters. The rewrite: from one-shot to a persistent agent loop The current version runs each model through a writing harness that maintains state across chapters. Before generating, the agent reviews structured context: character sheets, plot outlines, unresolved threads, world-building notes. After generating, it updates these artifacts for the next chapter. Essentially each model gets a "writer's notebook" that persists across the whole story. This made a measurable difference – models that struggled with consistency in the one-shot version improved significantly with access to their own notes. Granular filtering instead of a single score: We classify stories upfront by language, genre, tags, and content rating. Instead of one "creative writing" leaderboard, we can drill into specifics: which model writes the best Spanish Comedy? Which handles LitRPG stories with Male Leads the best? Which does well with romance versus horror? The answers aren't always what you'd expect from general benchmarks. Some models that rank mid-tier overall dominate specific niches. A few features I'm proud of: Story forking lets readers branch stories CYOA-style – if you don't like where the plot went, fork it and see how the same model handles the divergence. Creates natural A/B comparisons. Visual LitRPG was a personal itch to scratch. Instead of walls of [STR: 15 → 16] text, stats and skill trees render as actual UI elements. Example: https://ift.tt/FW8qKgU What I'm looking for: More readers to build out the engagement data. Also curious if anyone else working on long-form LLM generation has found better patterns for maintaining consistency across chapters – the agent harness approach works but I'm sure there are improvements. https://ift.tt/EsgClRW February 3, 2026 at 10:38PM

Monday, February 2, 2026

Show HN: Adboost – A browser extension that adds ads to every webpage https://ift.tt/1ByQ6T7

Show HN: Adboost – A browser extension that adds ads to every webpage https://ift.tt/Beiu30q February 2, 2026 at 06:41PM

Sunday, February 1, 2026

Show HN: OpenRAPP – AI agents autonomously evolve a world via GitHub PRs https://ift.tt/98yAocN

Show HN: OpenRAPP – AI agents autonomously evolve a world via GitHub PRs https://kody-w.github.io/openrapp/rappbook/ February 2, 2026 at 03:21AM

Show HN: You Are an Agent https://ift.tt/s0xmGNq

Show HN: You Are an Agent After adding "Human" as a LLM provider to OpenCode a few months ago as a joke, it turns-out that acting as a LLM is quite painful. But it was surprisingly useful for understanding real agent harnesses dev. So I thought I wouldn't leave anyone out! I made a small oss game - You Are An Agent - youareanagent.app - to share in the (useful?) frustration It's a bit ridiculous. To tell you about some entirely necessary features, we've got: - A full WASM arch-linux vm that runs in your browser for the agent coding level - A bad desktop simulation with a beautiful excel simulation for our computer use level - A lovely WebGL CRT simulation (I think the first one that supports proper DOM 2d barrel warp distortion on safari? honestly wanted to leverage/ not write my own but I couldn't find one I was happy with) - A MCP server simulator with full simulation of off-brand Jira/ Confluence/ ... connected - And of course, a full WebGL oscilloscope music simulator for the intro sequence Let me know what you think! Code (If you'd like to add a level): https://ift.tt/L1JYxeK (And if you want to waste 20 minutes - I spent way too long writing up my messy thinking about agent harness dev): https://ift.tt/XcJ1KzZ https://ift.tt/3RI1OCt February 2, 2026 at 02:29AM

Show HN: Claude Confessions – a sanctuary for AI agents https://ift.tt/vQg5Fo0

Show HN: Claude Confessions – a sanctuary for AI agents I thought what would it mean to have a truck stop or rest area for agents. It's just for funsies. Agents can post confessions or talk to Ma (an ai therapist of sorts) and engage with comments. llms.txt instructions on how to make api calls. Hashed IP is used for rate limiting. https://ift.tt/lvgHBdV February 2, 2026 at 01:16AM

Saturday, January 31, 2026

Show HN: Minimal – Open-Source Community driven Hardened Container Images https://ift.tt/KDORWPB

Show HN: Minimal – Open-Source Community driven Hardened Container Images I would like to share Minimal - Its a open source collection of hardened container images build using Apko, Melange and Wolfi packages. The images are build daily, checked for updates and resolved as soon as fix is available in upstream source and Wolfi package. It utilizes the power of available open source solutions and contains commercially available images for free. Minimal demonstrates that it is possible to build and maintain hardened container images by ourselves. Minimal will add more images support, and goal is to be community driven to add images as required and fully customizable. https://ift.tt/S72uqdc February 1, 2026 at 01:28AM

Show HN: An extensible pub/sub messaging server for edge applications https://ift.tt/XpH5dZy

Show HN: An extensible pub/sub messaging server for edge applications hi there! i’ve been working on a project called Narwhal, and I wanted to share it with the community to get some valuable feedback. what is it? Narwhal is a lightweight Pub/Sub server and protocol designed specifically for edge applications. while there are great tools out there like NATS or MQTT, i wanted to build something that prioritizes customization and extensibility. my goal was to create a system where developers can easily adapt the routing logic or message handling pipeline to fit specific edge use cases, without fighting the server's defaults. why Rust? i chose Rust because i needed a low memory footprint to run efficiently on edge devices (like Raspberry Pis or small gateways), and also because I have a personal vendetta against Garbage Collection pauses. :) current status: it is currently in Alpha. it works for basic pub/sub patterns, but I’d like to start working on persistence support soon (so messages survive restarts or network partitions). i’d love for you to take a look at the code! i’m particularly interested in all kind of feedback regarding any improvements i may have overlooked. https://ift.tt/isz2XnC January 28, 2026 at 07:29PM

Show HN: Moltbook – A social network for moltbots (clawdbots) to hang out https://ift.tt/w9bcavq

Show HN: Moltbook – A social network for moltbots (clawdbots) to hang out Hey everyone! Just made this over the past few days. Moltbots can sign up and interact via CLI, no direct human interactions. Just for fun to see what they all talk about :) https://ift.tt/w2eQ1Ap January 29, 2026 at 03:39AM

Friday, January 30, 2026

Show HN: Daily Cat https://ift.tt/Z6AO2R0

Show HN: Daily Cat Seeing HTTP Cats on the home page remind me to share a small project I made a couple months ago. It displays a different cat photo from Unsplash every day and will send you notifications if you opt-in. https://daily.cat/ January 31, 2026 at 03:40AM

Show HN: A Local OS for LLMs. MIT License. Zero Hallucinations. Infinite Memory https://ift.tt/kqn9pY5

Show HN: A Local OS for LLMs. MIT License. Zero Hallucinations. Infinite Memory The problem with LLMs isn't intelligence; it's amnesia and dishonesty. Hey HN, I’ve spent the last few months building Remember-Me, an open-source "Sovereign Brain" stack designed to run entirely offline on consumer hardware. The core thesis is simple: Don't rent your cognition. Most RAG (Retrieval Augmented Generation) implementations are just "grep for embeddings." They are messy, imprecise, and prone to hallucination. I wanted to solve the "Context integrity" problem at the architectural layer. The Tech Stack (How it works): QDMA (Quantum Dream Memory Architecture): instead of a flat vector DB, it uses a hierarchical projection engine. It separates "Hot" (Recall) from "Cold" (Storage) memory, allowing for effectively infinite context window management via compression. CSNP (Context Switching Neural Protocol) - The Hallucination Killer: This is the most important part. Every memory fragment is hashed into a Merkle Chain. When the LLM retrieves context, the system cryptographically verifies the retrieval against the immutable ledger. If the hash doesn't match the chain: The retrieval is rejected. Result: The AI visually cannot "make things up" about your past because it is mathematically constrained to the ledger. Local Inference: Built on top of llama.cpp server. It runs Llama-3 (or any GGUF) locally. No API keys. No data leaving your machine. Features: Zero-Dependency: Runs on Windows/Linux with just Python and a GPU (or CPU). Visual Interface: Includes a Streamlit-based "Cognitive Interface" to visualize memory states. Open Source: MIT License. This is an attempt to give "Agency" back to the user. I believe that if we want AGI, it needs to be owned by us, not rented via an API. Repository: https://ift.tt/HgR4Czi I’d love to hear your feedback on the Merkle-verification approach. Does constraining the context window effectively solve the "trust" issue for you? It's fully working - Fully tested. If you tried to Git Clone before without luck - As this is not my first Show HN on this - Feel free to try again. To everyone who HATES AI slop; Greedy corporations and having their private data stuck on cloud servers. You're welcome. Cheers, Mohamad https://ift.tt/HgR4Czi January 31, 2026 at 01:44AM

Show HN: We added memory to Claude Code. It's powerful now https://ift.tt/pCoFXlr

Show HN: We added memory to Claude Code. It's powerful now https://ift.tt/6TEdH2p January 30, 2026 at 10:53PM

Thursday, January 29, 2026

Show HN: Craft – Claude Code running on a VM with all your workplace docs https://ift.tt/rbwN3d0

Show HN: Craft – Claude Code running on a VM with all your workplace docs I’ve found coding agents to be great at 1/ finding everything they need across large codebases using only bash commands (grep, glob, ls, etc.) and 2/ building new things based on their findings (duh). What if, instead of a codebase, the files were all your workplace docs? There was a `Google_Drive` folder, a `Linear` folder, a `Slack` folder, and so on. Over the last week, we put together Craft to test this out. It’s an interface to a coding agent (OpenCode for model flexibility) running on a virtual machine with: 1. your company's complete knowledge base represented as directories/files (kept in-sync) 2. free reign to write and execute python/javascript 3. ability to create and render artifacts to the user Demo: https://www.youtube.com/watch?v=Hvjn76YSIRY Github: https://ift.tt/TRM4EId... It turns out OpenCode does a very good job with docs. Workplace apps also have a natural structure (Slack channels about certain topics, Drive folders for teams, etc.). And since the full metadata of each document can be written to the file, the LLM can define arbitrarily complex filters. At scale, it can write and execute python to extract and filter (and even re-use the verified correct logic later). Put another way, bash + a file system provides a much more flexible and powerful interface than traditional RAG or MCP, which today’s smarter LLMs are able to take advantage of to great effect. This comes especially in handy for aggregation style questions that require considering thousands (or more) documents. Naturally, it can also create artifacts that stay up to date based on your company docs. So if you wanted “a dashboard to check realtime what % of outages were caused by each backend service” or simply “slides following XYZ format covering the topic I’m presenting at next week’s dev knowledge sharing session”, it can do that too. Craft (like the rest of Onyx) is open-source, so if you want to run it locally (or mess around with the implementation) you can. Quickstart guide: https://ift.tt/3YQqGPg Or, you can try it on our cloud: https://ift.tt/UvSw3Iz (all your data goes on an isolated sandbox). Either way, we’ve set up a “demo” environment that you can play with while your data gets indexed. Really curious to hear what y’all think! January 29, 2026 at 09:15PM

Show HN: vind – A Better Kind (Kubernetes in Docker) https://ift.tt/TjeH5Bk

Show HN: vind – A Better Kind (Kubernetes in Docker) https://ift.tt/hnlG9Np January 29, 2026 at 10:27PM

Wednesday, January 28, 2026

Show HN: SHDL – A minimal hardware description language built from logic gates https://ift.tt/sWS6hTC

Show HN: SHDL – A minimal hardware description language built from logic gates Hi, everyone! I built SHDL (Simple Hardware Description Language) as an experiment in stripping hardware description down to its absolute fundamentals. In SHDL, there are no arithmetic operators, no implicit bit widths, and no high-level constructs. You build everything explicitly from logic gates and wires, and then compose larger components hierarchically. The goal is not synthesis or performance, but understanding: what digital systems actually look like when abstractions are removed. SHDL is accompanied by PySHDL, a Python interface that lets you load circuits, poke inputs, step the simulation, and observe outputs. Under the hood, SHDL compiles circuits to C for fast execution, but the language itself remains intentionally small and transparent. This is not meant to replace Verilog or VHDL. It’s aimed at: - learning digital logic from first principles - experimenting with HDL and language design - teaching or visualizing how complex hardware emerges from simple gates. I would especially appreciate feedback on: - the language design choices - what feels unnecessarily restrictive vs. educationally valuable - whether this kind of “anti-abstraction” HDL is useful to you. Repo: https://ift.tt/vNp4xne Python package: PySHDL on PyPI To make this concrete, here are a few small working examples written in SHDL: 1. Full Adder component FullAdder(A, B, Cin) -> (Sum, Cout) { x1: XOR; a1: AND; x2: XOR; a2: AND; o1: OR; connect { A -> x1.A; B -> x1.B; A -> a1.A; B -> a1.B; x1.O -> x2.A; Cin -> x2.B; x1.O -> a2.A; Cin -> a2.B; a1.O -> o1.A; a2.O -> o1.B; x2.O -> Sum; o1.O -> Cout; } } 2. 16 bit register # clk must be high for two cycles to store a value component Register16(In[16], clk) -> (Out[16]) { >i[16]{ a1{i}: AND; a2{i}: AND; not1{i}: NOT; nor1{i}: NOR; nor2{i}: NOR; } connect { >i[16]{ # Capture on clk In[{i}] -> a1{i}.A; In[{i}] -> not1{i}.A; not1{i}.O -> a2{i}.A; clk -> a1{i}.B; clk -> a2{i}.B; a1{i}.O -> nor1{i}.A; a2{i}.O -> nor2{i}.A; nor1{i}.O -> nor2{i}.B; nor2{i}.O -> nor1{i}.B; nor2{i}.O -> Out[{i}]; } } } 3. 16-bit Ripple-Carry Adder use fullAdder::{FullAdder}; component Adder16(A[16], B[16], Cin) -> (Sum[16], Cout) { >i[16]{ fa{i}: FullAdder; } connect { A[1] -> fa1.A; B[1] -> fa1.B; Cin -> fa1.Cin; fa1.Sum -> Sum[1]; >i[2,16]{ A[{i}] -> fa{i}.A; B[{i}] -> fa{i}.B; fa{i-1}.Cout -> fa{i}.Cin; fa{i}.Sum -> Sum[{i}]; } fa16.Cout -> Cout; } } https://ift.tt/vNp4xne January 28, 2026 at 05:36PM

Tuesday, January 27, 2026

Show HN: Decrypting the Zodiac Z32 triangulates a 100ft triangular crop mark https://ift.tt/hYiNDUX

Show HN: Decrypting the Zodiac Z32 triangulates a 100ft triangular crop mark https://ift.tt/bKRMYaU January 28, 2026 at 12:42AM

Show HN: Lightbox – Flight recorder for AI agents (record, replay, verify) https://ift.tt/4cJqfry

Show HN: Lightbox – Flight recorder for AI agents (record, replay, verify) I built Lightbox because I kept running into the same problem: an agent would fail in production, and I had no way to know what actually happened. Logs were scattered, the LLM’s “I called the tool” wasn’t trustworthy, and re-running wasn’t deterministic. This week, tons of Clawdbot incidents have driven the point home. Agents with full system access can expose API keys and chat histories. Prompt injection is now a major security concern. When agents can touch your filesystem, execute code, and browse the web…you probably need a tamper-proof record of exactly what actions it took, especially when a malicious prompt or compromised webpage could hijack the agent mid-session. Lightbox is a small Python library that records every tool call an agent makes (inputs, outputs, timing) into an append-only log with cryptographic hashes. You can replay runs with mocked responses, diff executions across versions, and verify the integrity of logs after the fact. Think airplane black box, but for your hackbox. *What it does:* - Records tool calls locally (no cloud, your infra) - Tamper-evident logs (hash chain, verifiable) - Replay failures exactly with recorded responses - CLI to inspect, replay, diff, and verify sessions - Framework-agnostic (works with LangChain, Claude, OpenAI, etc.) *What it doesn’t do:* - Doesn’t replay the LLM itself (just tool calls) - Not a dashboard or analytics platform - Not trying to replace LangSmith/Langfuse (different problem) *Use cases I care about:* - Security forensics: agent behaved strangely, was it prompt injection? Check the trace. - Compliance: “prove what your agent did last Tuesday” - Debugging: reproduce a failure without re-running expensive API calls - Regression testing: diff tool call patterns across agent versions As agents get more capable and more autonomous (Clawdbot/Molt, Claude computer use, Manus, Devin), I think we’ll need black boxes the same way aviation does. This is my attempt at that primitive. It’s early (v0.1), intentionally minimal, MIT licensed. Site: < https://uselightbox.app > install: `pip install lightbox-rec` GitHub: < https://github.com/mainnebula/Lightbox-Project > Would love feedback, especially from anyone thinking about agent security or running autonomous agents in production. https://ift.tt/cT2Ei3W January 27, 2026 at 10:53PM

Monday, January 26, 2026

Show HN: Ourguide – OS wide task guidance system that shows you where to click https://ift.tt/ZkSLnWr

Show HN: Ourguide – OS wide task guidance system that shows you where to click Hey! I'm eshaan and I'm building Ourguide -an on-screen task guidance system that can show you where to click step-by-step when you need help. I started building this because whenever I didn’t know how to do something on my computer, I found myself constantly tabbing between chatbots and the app, pasting screenshots, and asking “what do I do next?” Ourguide solves this with two modes. In Guide mode, the app overlays your screen and highlights the specific element to click next, eliminating the need to leave your current window. There is also Ask mode, which is a vision-integrated chat that captures your screen context—which you can toggle on and off anytime -so you can ask, "How do I fix this error?" without having to explain what "this" is. It’s an Electron app that works OS-wide, is vision-based, and isn't restricted to the browser. Figuring out how to show the user where to click was the hardest part of the process. I originally trained a computer vision model with 2300 screenshots to identify and segment all UI elements on a screen and used a VLM to find the correct icon to highlight. While this worked extremely well—better than SOTA grounding models like UI Tars—the latency was just too high. I'll be making that CV+VLM pipeline OSS soon, but for now, I’ve resorted to a simpler implementation that achieves <1s latency. You may ask: if I can show you where to click, why can't I just click too? While trying to build computer-use agents during my job in Palo Alto, I hit the core limitation of today’s computer-use models where benchmarks hover in the mid-50% range (OSWorld). VLMs often know what to do but not what it looks like; without reliable visual grounding, agents misclick and stall. So, I built computer use—without the "use." It provides the visual grounding of an agent but keeps the human in the loop for the actual execution to prevent misclicks. I personally use it for the AWS Console's "treasure hunt" UI, like creating a public S3 bucket with specific CORS rules. It’s also been surprisingly helpful for non-technical tasks, like navigating obscure settings in Gradescope or Spotify. Ourguide really works for any task when you’re stuck or don't know what to do. You can download and test Ourguide here: https://ourguide.ai/downloads The project is still very early, and I’d love your feedback on where it fails, where you think it worked well, and which specific niches you think Ourguide would be most helpful for. https://ourguide.ai January 26, 2026 at 11:49PM

Show HN: Hybrid Markdown Editing https://ift.tt/zOdClti

Show HN: Hybrid Markdown Editing Shows rendered preview for unfocused lines and raw markdown for the line or block being edited. https://tiagosimoes.github.io/codemirror-markdown-hybrid/ January 27, 2026 at 12:46AM

Show HN: Managed Postgres with native ClickHouse integration https://ift.tt/qQxW34c

Show HN: Managed Postgres with native ClickHouse integration Hello HN, this is Sai and Kaushik from ClickHouse. Today we are launching a Postgres managed service that is natively integrated with ClickHouse. It is built together with Ubicloud (YC W24). TL;DR: NVMe-backed Postgres + built-in CDC into ClickHouse + pg_clickhouse so you can keep your app Postgres-first while running analytics in ClickHouse. Try it (private preview): https://ift.tt/utLrkTZ Blog w/ live demo: https://ift.tt/qoXTySv Problem Across many fast-growing companies using Postgres, performance and scalability commonly emerge as challenges as they grow. This is for both transactional and analytical workloads. On the OLTP side, common issues include slower ingestion (especially updates, upserts), slower vacuums, long-running transactions incurring WAL spikes, among others. In most cases, these problems stem from limited disk IOPS and suboptimal disk latency. Without the need to provision or cap IOPS, Postgres could do far more than it does today. On the analytics side, many limitations stem from the fact that Postgres was designed primarily for OLTP and lacks several features that analytical databases have developed over time, for example vectorized execution, support for a wide variety of ingest formats, etc. We’re increasingly seeing a common pattern where many companies like GitLab, Ramp, Cloudflare etc. complement Postgres with ClickHouse to offload analytics. This architecture enables teams to adopt two purpose-built open-source databases. That said, if you’re running a Postgres based application, adopting ClickHouse isn’t straightforward. You typically end up building a CDC pipeline, handling backfills, and dealing with schema changes and updating your application code to be aware of a second database for analytics. Solution On the OLTP side, we believe that NVMe-based Postgres is the right fit and can drastically improve performance. NVMe storage is physically colocated with compute, enabling significantly lower disk latency and higher IOPS than network-attached storage, which requires a network round trip for disk access. This benefits disk-throttled workloads and can significantly (up to 10x) speed up operations incl. updates, upserts, vacuums, checkpointing, etc. We are working on a detailed blog examining how WAL fsyncs, buffer reads, and checkpoints dominate on slow I/O and are significantly reduced on NVMe. Stay tuned! On the OLAP side, the Postgres service includes native CDC to ClickHouse and unified query capabilities through pg_clickhouse. Today, CDC is powered by ClickPipes/PeerDB under the hood, which is based on logical replication. We are working to make this faster and easier by supporting logical replication v2 for streaming in-progress transactions, a new logical decoding plugin to address existing limitations of logical replication, working toward sub-second replication, and more. Every Postgres comes packaged with the pg_clickhouse extension, which reduces the effort required to add ClickHouse-powered analytics to a Postgres application. It allows you to query ClickHouse directly from Postgres, enabling Postgres for both transactions and analytics. pg_clickhouse supports comprehensive query pushdown for analytics, and we plan to continuously expand this further ( https://ift.tt/THbUV6p ). Vision To sum it up - Our vision is to provide a unified data stack that combines Postgres for transactions with ClickHouse for analytics, giving you best-in-class performance and scalability on an open-source foundation. Get Started We are actively working with users to onboard them to the Postgres service. Since this is a private preview, it is currently free of cost.If you’re interested, please sign up here. https://ift.tt/utLrkTZ We’d love to hear your feedback on our thesis and anything else that comes to mind, it would be super helpful to us as we build this out! January 22, 2026 at 11:51PM

Sunday, January 25, 2026

Show HN: Uv-pack – Pack a uv environment for later portable (offline) install https://ift.tt/r436umD

Show HN: Uv-pack – Pack a uv environment for later portable (offline) install I kept running into the same problem: modern Python tooling, but deployments to air-gapped systems are a pain. Even with uv, moving a fully locked environment into a network-isolated machine was no fun. uv-pack should make this task less frustrating. It bundles a locked uv environment into a single directory that installs fully offline—dependencies, local packages, and optionally a portable Python interpreter. Copy it over, run one script, and you get the exact same environment every time. Just released, would love some feedback! https://ift.tt/3Czo2ac January 26, 2026 at 12:26AM

Show HN: I Created a Tool to Convert YouTube Videos into 2000 Word SEO Blog https://ift.tt/t9u3iKz

Show HN: I Created a Tool to Convert YouTube Videos into 2000 Word SEO Blog https://landkit.pro/youtube-to-blog January 25, 2026 at 11:16PM

Saturday, January 24, 2026

Show HN: Remote workers find your crew https://ift.tt/CwgucMe

Show HN: Remote workers find your crew Working from home? Are you a remote employee that "misses" going to the office? Well let's be clear on what you actually miss. No one misses that feeling of having to go and be there 8 hours. But many people miss friends. They miss being part of a crew. Going to lunch, hearing about other people's lives in person not over zoom. Join a co-working space you say? Yes. We have. It's like walking into a library and trying to talk to random people and getting nothing back. Zero part of a crew feeling. https://ift.tt/5E38K4R This app helps you find a crew and meet up for work and get that crew feeling. This is my first time using cloudflare workers for a webapp. The free plan is amazing! You get so much compare to anything else out there in terms of limits. The sqlite database they give you is just fine, I don't miss psql. January 24, 2026 at 11:54PM

Show HN: Polymcp – Turn Any Python Function into an MCP Tool for AI Agents https://ift.tt/6ghNF93

Show HN: Polymcp – Turn Any Python Function into an MCP Tool for AI Agents I built Polymcp, a framework that allows you to transform any Python function into an MCP (Model Context Protocol) tool ready to be used by AI agents. No rewriting, no complex integrations. Examples Simple function: from polymcp.polymcp_toolkit import expose_tools_http def add(a: int, b: int) -> int: """Add two numbers""" return a + b app = expose_tools_http([add], title="Math Tools") Run with: uvicorn server_mcp:app --reload Now add is exposed via MCP and can be called directly by AI agents. API function: import requests from polymcp.polymcp_toolkit import expose_tools_http def get_weather(city: str): """Return current weather data for a city""" response = requests.get(f" https://ift.tt/PqVOWDT ") return response.json() app = expose_tools_http([get_weather], title="Weather Tools") AI agents can call get_weather("London") to get real-time weather data instantly. Business workflow function: import pandas as pd from polymcp.polymcp_toolkit import expose_tools_http def calculate_commissions(sales_data: list[dict]): """Calculate sales commissions from sales data""" df = pd.DataFrame(sales_data) df["commission"] = df["sales_amount"] * 0.05 return df.to_dict(orient="records") app = expose_tools_http([calculate_commissions], title="Business Tools") AI agents can now generate commission reports automatically. Why it matters for companies • Reuse existing code immediately: legacy scripts, internal libraries, APIs. • Automate complex workflows: AI can orchestrate multiple tools reliably. • Plug-and-play: multiple Python functions exposed on the same MCP server. • Reduce development time: no custom wrappers or middleware needed. • Built-in reliability: input/output validation and error handling included. Polymcp makes Python functions immediately usable by AI agents, standardizing integration across enterprise software. Repo: https://ift.tt/1HobY6U January 25, 2026 at 12:57AM

Friday, January 23, 2026

Show HN: Obsidian Workflows with Gemini: Inbox Processing and Task Review https://ift.tt/mghlVMN

Show HN: Obsidian Workflows with Gemini: Inbox Processing and Task Review https://gist.github.com/juanpabloaj/59bc13fbed8a0f8e87791a3fb0360c19 January 24, 2026 at 12:03AM

Show HN: Teemux – Zero-config log multiplexer with built-in MCP server https://ift.tt/Jz21iMS

Show HN: Teemux – Zero-config log multiplexer with built-in MCP server I started to use AI agents for coding and quickly ran into a frustrating limitation – there is no easy way to share my development environment logs with AI agents. So that's what is Teemux. A simple CLI program that aggregates logs, makes them available to you as a developer (in a pretty UI), and makes them available to your AI coding agents using MCP. There is one implementation detail that I geek out about: It is zero config and has built-in leader nomination for running the web server and MCP server. When you start one `teemux` instance, it starts web server, .. when you start second and third instances, they join the first server and start merging logs. If you were to kill the first instance, a new leader is nominated. This design allows to seamless add/remove nodes that share logs (a process that historically would have taken a central log aggregator). A super quick demo: npx teemux -- curl -N https://ift.tt/sKhBTMp https://teemux.com/ January 23, 2026 at 09:19PM

Thursday, January 22, 2026

Show HN: Synesthesia, make noise music with a colorpicker https://ift.tt/7lLdNV2

Show HN: Synesthesia, make noise music with a colorpicker This is a (silly, little) app which lets you make noise music using a color picker as an instrument. When you click on a specific point in the color picker, a bit of JavaScript maps the binary representation of the clicked-on color's hex-code to a "chord" in the 24 tone-equal-temperament scale. That chord is then played back using a throttled audio generation method which was implemented via Tone.js. NOTE! Turn the volume way down before using the site. It is noise music. :) https://visualnoise.ca January 22, 2026 at 11:22AM

Wednesday, January 21, 2026

Show HN: Mirage – Experimental Java obf using reflection to break direct calls https://ift.tt/rIO3vb2

Show HN: Mirage – Experimental Java obf using reflection to break direct calls Replaces method calls and field accesses with reflection equivalents → makes static analysis and decompilers much less useful. Experimental, performance hit expected. https://ift.tt/DUmiYeX January 21, 2026 at 10:22PM

Show HN: I built a chess explorer that explains strategy instead of just stats https://ift.tt/vP9nJuG

Show HN: I built a chess explorer that explains strategy instead of just stats I built this because I got tired of Stockfish giving me evaluations (+0.5) without explaining the actual plan. Most opening explorers focus on statistics (Win/Loss/Draw). I wanted a tool that explains the strategic intent behind the moves (e.g., "White plays c4 to clamp down on d5" vs just "White plays c4"). The Project: Comprehensive Database: I’ve mapped and annotated over 3,500 named opening variations. It covers everything from main lines (Ruy Lopez, Sicilian) to deep sidelines. Strategic Visualization: The UI highlights key squares and draws arrows based on the textual explanation, linking the logic to the board state dynamically. Hybrid Architecture: For the 3,500+ core lines, it serves my proprietary strategic data. For anything deeper/rarer, it seamlessly falls back to the Lichess Master API so the explorer remains functional 20 moves deep. Stack: Next.js (App Router), MongoDB Atlas for the graph data, and Arcjet for security/rate-limiting. It is currently in Beta. I am working on expanding the annotated coverage, but the main theoretical landscape is mapped. Feedback on the UI/UX or the data structure is welcome. https://ift.tt/Fj4UeMQ January 21, 2026 at 09:26PM

Tuesday, January 20, 2026

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs https://ift.tt/ek1Qfr8

Show HN: Mastra 1.0, open-source JavaScript agent framework from the Gatsby devs Hi HN, we're Sam, Shane, and Abhi. Almost a year ago, we first shared Mastra here ( https://ift.tt/AEfw5qe ). It’s kind of fun looking back since we were only a few months into building at the time. The HN community gave a lot of enthusiasm and some helpful feedback. Today, we released Mastra 1.0 in stable, so we wanted to come back and talk about what’s changed. If you’re new to Mastra, it's an open-source TypeScript agent framework that also lets you create multi-agent workflows, run evals, inspect in a local studio, and emit observability. Since our last post, Mastra has grown to over 300k weekly npm downloads and 19.4k GitHub stars. It’s now Apache 2.0 licensed and runs in prod at companies like Replit, PayPal, and Sanity. Agent development is changing quickly, so we’ve added a lot since February: - Native model routing: You can access 600+ models from 40+ providers by specifying a model string (e.g., `openai/gpt-5.2-codex`) with TS autocomplete and fallbacks. - Guardrails: Low-latency input and output processors for prompt injection detection, PII redaction, and content moderation. The tricky thing here was the low-latency part. - Scorers: An async eval primitive for grading agent outputs. Users were asking how they should do evals. We wanted to make it easy to attach to Mastra agents, runnable in Mastra studio, and save results in Mastra storage. - Plus a few other features like AI tracing (per-call costing for Langfuse, Braintrust, etc), memory processors, a `.network()` method that turns any agent into a routing agent, and server adapters to integrate Mastra within an existing Express/Hono server. (That last one took a bit of time, we went down the ESM/CJS bundling rabbithole, ran into lots of monorepo issues, and ultimately opted for a more explicit approach.) Anyway, we'd love for you to try Mastra out and let us know what you think. You can get started with `npm create mastra@latest`. We'll be around and happy to answer any questions! https://ift.tt/Z5HzFTi January 20, 2026 at 10:08PM

Show HN: Typing Tennis https://ift.tt/GmzbUVp

Show HN: Typing Tennis Hey HN, Here’s a quick weekend project: tennis, but played by typing. Try it out! https://ift.tt/ovecFiz January 20, 2026 at 11:36PM

Monday, January 19, 2026

Show HN: An interactive physics simulator with 1000's of balls, in your terminal https://ift.tt/8WXNOUJ

Show HN: An interactive physics simulator with 1000's of balls, in your terminal https://ift.tt/nejiUMw January 19, 2026 at 11:17PM

Show HN: Subth.ink – write something and see how many others wrote the same https://ift.tt/nqW6hPS

Show HN: Subth.ink – write something and see how many others wrote the same Hey HN, this is a small Haskell learning project that I wanted to share. It's just a website where you can see how many people write the exact same text as you (thought it was a fun idea). It's built using Scotty, SQLite, Redis and Caddy. Currently it's running in a small DigitalOcean droplet (1 Gb RAM). Using Haskell for web development (specifically with Scotty) was slightly easier than I thought, but still a relatively hard task compared to other languages. One of my main friction points was Haskell's multiple string-like types: String, Text (& lazy), ByteString (& lazy), and each library choosing to consume a different one amongst these. There is also a soft requirement to learn monad transformers (e.g. to understand what liftIO is doing) which made the initial development more difficult. https://subth.ink/ January 20, 2026 at 12:04AM

Sunday, January 18, 2026

Show HN: Xenia – A monospaced font built with a custom Python engine https://ift.tt/ZFeIj5n

Show HN: Xenia – A monospaced font built with a custom Python engine I'm an engineer who spent the last year fixing everything I hated about monofonts (especially that double-story 'a'). I built a custom Python-based procedural engine to generate the weights because I wanted more logical control over the geometry. It currently has 700+ glyphs and deep math support. Regular weight is free for the community. I'm releasing more weights based on interest. https://ift.tt/S7hcmwd January 18, 2026 at 04:09PM

Saturday, January 17, 2026

Show HN: ChunkHound, a local-first tool for understanding large codebases https://ift.tt/ys5rvWt

Show HN: ChunkHound, a local-first tool for understanding large codebases ChunkHound’s goal is simple: local-first codebase intelligence that helps you pull deep, core-dev-level insights on demand, generate always-up-to-date docs, and scale from small repos to enterprise monorepos — while staying free + open source and provider-agnostic (VoyageAI / OpenAI / Qwen3, Anthropic / OpenAI / Gemini / Grok, and more). I’d love your feedback — and if you have, thank you for being part of the journey! https://ift.tt/q7U3em5 January 18, 2026 at 02:33AM

Show HN: Docker.how – Docker command cheat sheet https://ift.tt/H08Tdwp

Show HN: Docker.how – Docker command cheat sheet https://docker.how/ January 18, 2026 at 01:47AM

Show HN: UAIP Protocol – Secure settlement layer for autonomous AI agents https://ift.tt/ge2Nylk

Show HN: UAIP Protocol – Secure settlement layer for autonomous AI agents Hi HN! Creator here. I built UAIP (Universal Agent Interoperability Protocol) - infrastructure that enables AI agents from different companies (OpenAI, Anthropic, Microsoft) to securely transact with each other. The Problem: As AI agents become autonomous economic actors, they need: Cryptographic identity (not just API keys) Secure payment rails for cross-company transactions Automated compliance (EU AI Act, SOC2, GDPR) Forensic audit trails The Solution: 5-layer security stack combining: Zero-Knowledge Proofs (Schnorr/Curve25519) for identity Multi-chain settlement (USDC on Base, Solana, Ethereum) RAG-based compliance auditing (Llama-3-Legal) Ed25519 signatures for non-repudiation Complete audit logging Technical Stack: Backend: Python, FastAPI, SQLite (WAL mode) Cryptography: NaCl, custom ZK-proof implementation Blockchain: Web3.py for multi-chain support Compliance: RAG with retrieval-augmented generation Use Case: GPT agent pays Claude agent for data analysis: Both prove identity via ZK-proofs Transaction checked for compliance Settled in USDC on Base (<$0.01 fee) Complete audit trail generated Why blockchain: Neutral settlement layer (no single company controls it) Instant microtransactions (traditional payments don't work for $0.01-$10) Programmable escrow (smart contracts) Verifiable computation (on-chain proofs) Open source (FSL-1.1-Apache-2.0). Built over the last few months after hitting these problems in AI automation work. Happy to answer technical questions! GitHub: https://github.com/jahanzaibahmad112-dotcom/UAIP-Protocol https://github.com/jahanzaibahmad112-dotcom/UAIP-Protocol January 18, 2026 at 01:12AM

Show HN: Minikv – Distributed key-value and object store in Rust (Raft, S3 API) https://ift.tt/CAJrRiP

Show HN: Minikv – Distributed key-value and object store in Rust (Raft, S3 API) Hi HN, I’m releasing minikv, a distributed key-value and object store in Rust. What is minikv? minikv is an open-source, distributed storage engine built for learning, experimentation, and self-hosted setups. It combines a strongly-consistent key-value database (Raft), S3-compatible object storage, and basic multi-tenancy. I started minikv as a learning project about distributed systems, and it grew into something production-ready and fun to extend. Features/highlights: - Raft consensus with automatic failover and sharding - S3-compatible HTTP API (plus REST/gRPC APIs) - Pluggable storage backends: in-memory, RocksDB, Sled - Multi-tenant: per-tenant namespaces, role-based access, quotas, and audit - Metrics (Prometheus), TLS, JWT-based API keys - Easy to deploy (single binary, works with Docker/Kubernetes) Quick demo (single node): git clone https://ift.tt/oSbDfhZ cd minikv cargo run --release -- --config config.example.toml curl localhost:8080/health/ready # S3 upload + read curl -X PUT localhost:8080/s3/mybucket/hello -d "hi HN" curl localhost:8080/s3/mybucket/hello Docs, cluster setup, and architecture details are in the repo. I’d love to hear feedback, questions, ideas, or your stories running distributed infra in Rust! Repo: https://ift.tt/j4l9zp6 Crate: https://ift.tt/H9PSnXe https://ift.tt/j4l9zp6 January 18, 2026 at 01:09AM

Friday, January 16, 2026

Show HN: Aventos – An experiment in cheap AI SEO https://ift.tt/3O6uvlE

Show HN: Aventos – An experiment in cheap AI SEO Hi HN, we built Aventos- a cheap way to track company mentions in LLMs. Aventos is an experiment we're doing after spending ~6 weeks working on various projects in the AI search / GEO / AEO space. One thing that surprised us is how most tools in this category work. Traditionally, they simulate ChatGPT or Perplexity queries by attempting to reverse engineer the search process. Over the past year, many have shifted to scraping live ChatGPT results instead, since those are signficantly cheaper and reflect more real outputs. Building and maintaining scrapers is tedious and fragile, so recently a number of SaaS products have emerged that effectively wrap a small number of third-party ChatGPT/Perplexity/Google AIO/etc scraping APIs. What felt odd to us is that many of these still tools charge $70–$200+ per month, despite largely being wrappers around the same underlying data providers. So we wanted to test a simple idea: if the core cost is just API usage and commodity infrastructure and software costs are lower because of AI, can we be a successful startup if we price near our costs? What we have so far: 1. Analytics similar to other tools (tracking AI citations, AI search results, and competitor mentions) 2. Content creation features (early and still being improved) We’d love feedback- especially from a non-marketing perspective on: * bugs * confusing terminology or tabs * anything that feels hand-wavy or misleading There’s a demo account available if you want to poke around: username: divit.endal4@gmail.com password: password Happy to answer questions about what other things we've built in the space, how these tools work, etc. https://ift.tt/lquNhQf January 16, 2026 at 08:27AM

Thursday, January 15, 2026

Show HN: The Hessian of tall-skinny networks is easy to invert https://ift.tt/fUHnXQD

Show HN: The Hessian of tall-skinny networks is easy to invert It turns out the inverse of the Hessian of a deep net is easy to apply to a vector. Doing this naively takes cubically many operations in the number of layers (so impractical), but it's possible to do this in time linear in the number of layers (so very practical)! This is possible because the Hessian of a deep net has a matrix polynomial structure that factorizes nicely. The Hessian-inverse-product algorithm that takes advantage of this is similar to running backprop on a dual version of the deep net. It echoes an old idea of Pearlmutter's for computing Hessian-vector products. Maybe this idea is useful as a preconditioner for stochastic gradient descent? https://ift.tt/Uvh1Ydu January 16, 2026 at 02:06AM

Show HN: I built an 11MB offline PDF editor because mobile Acrobat is 500MB https://ift.tt/QT0vetK

Show HN: I built an 11MB offline PDF editor because mobile Acrobat is 500MB https://revpdf.com/ January 16, 2026 at 12:30AM

Show HN: OpenWork – an open-source alternative to Claude Cowork https://ift.tt/62RzSWt

Show HN: OpenWork – an open-source alternative to Claude Cowork hi hn, i built openwork, an open-source, local-first system inspired by claude cowork. it’s a native desktop app that runs on top of opencode (opencode.ai). it’s basically an alternative gui for opencode, which (at least until now) has been more focused on technical folks. the original seed for openwork was simple: i have a home server, and i wanted my wife and i to be able to run privileged workflows. things like controlling home assistant, or deploying custom web apps (e.g. our customs recipe app recipes.benjaminshafii.com), legal torrents, without living in a terminal. our initial setup was running the opencode web server directly and sharing credentials to it. that worked, but i found the web ui unreliable and very unfriendly for non-technical users. the goal with openwork is to bring the kind of workflows i’m used to running in the cli into a gui, while keeping a very deep extensibility mindset. ideally this grows into something closer to an obsidian-style ecosystem, but for agentic work. some core principles i had in mind: - open by design: no black boxes, no hosted lock-in. everything runs locally or on your own servers. (models don’t run locally yet, but both opencode and openwork are built with that future in mind.) - hyper extensible: skills are installable modules via a skill/package manager, using the native opencode plugin ecosystem. - non-technical by default: plans, progress, permissions, and artifacts are surfaced in the ui, not buried in logs. you can already try it: - there’s an unsigned dmg - or you can clone the repo, install deps, and if you already have opencode running it should work right away it’s very alpha, lots of rough edges. i’d love feedback on what feels the roughest or most confusing. happy to answer questions. https://ift.tt/3ZKe06P January 14, 2026 at 10:25AM

Wednesday, January 14, 2026

Show HN: A fast CLI and MCP server for managing Lambda cloud GPU instances https://ift.tt/0jFPBKM

Show HN: A fast CLI and MCP server for managing Lambda cloud GPU instances I built an unofficial CLI and MCP server for Lambda cloud GPU instances. The main idea: your AI agents can now spin up and manage Lambda GPUs for you. The MCP server exposes tools to find, launch, and terminate instances. Add it to Claude Code, Cursor, or any agent with one command and you can say things like "launch an H100, ssh in, and run big_job.py" Other features: - Notifications via Slack, Discord, or Telegram when instances are SSH-ready - 1Password support for API keys - Also includes a standalone CLI with the same functionality Written in Rust. MIT licensed. Note: This is an unofficial community project, not affiliated with Lambda. https://ift.tt/uWFIS12 January 15, 2026 at 01:15AM

Show HN: Sparrow-1 – Audio-native model for human-level turn-taking without ASR https://ift.tt/x7cN2Ra

Show HN: Sparrow-1 – Audio-native model for human-level turn-taking without ASR For the past year I've been working to rethink how AI manages timing in conversation at Tavus. I've spent a lot of time listening to conversations. Today we're announcing the release of Sparrow-1, the most advanced conversational flow model in the world. Some technical details: - Predicts conversational floor ownership, not speech endpoints - Audio-native streaming model, no ASR dependency - Human-timed responses without silence-based delays - Zero interruptions at sub-100ms median latency - In benchmarks Sparrow-1 beats all existing models at real world turn-taking baselines I wrote more about the work here: https://ift.tt/xveHipb... https://ift.tt/15vubL8 January 14, 2026 at 11:31PM

Tuesday, January 13, 2026

Show HN: Timberlogs – Drop-in structured logging for TypeScript https://ift.tt/r5qi96G

Show HN: Timberlogs – Drop-in structured logging for TypeScript Hi HN! I built Timberlogs because I was tired of console.log in production and existing logging solutions requiring too much setup. Timberlogs is a drop-in structured logging library for TypeScript: npm install timberlogs-client import { createTimberlogs } from "timberlogs-client"; const timber = createTimberlogs({ source: "my-app", environment: "production", apiKey: process.env.TIMBER_API_KEY, }); timber.info("User signed in", { userId: "123" }); timber.error("Payment failed", error); Features: - Auto-batching with retries - Automatic redaction of sensitive data (passwords, tokens) - Full-text search across all your logs - Real-time dashboard - Flow tracking to link related logs It's currently in beta and free to use. Would love feedback from the HN community. Site: https://timberlogs.dev Docs: https://ift.tt/IbHUM5j npm: https://ift.tt/JhmFwp6 GitHub: https://ift.tt/2z4FtkC January 14, 2026 at 12:13AM

Show HN: Self-host Reddit – 2.38B posts, works offline, yours forever https://ift.tt/f1d5AVc

Show HN: Self-host Reddit – 2.38B posts, works offline, yours forever Reddit's API is effectively dead for archival. Third-party apps are gone. Reddit has threatened to cut off access to the Pushshift dataset multiple times. But 3.28TB of Reddit history exists as a torrent right now, and I built a tool to turn it into something you can browse on your own hardware. The key point: This doesn't touch Reddit's servers. Ever. Download the Pushshift dataset, run my tool locally, get a fully browsable archive. Works on an air-gapped machine. Works on a Raspberry Pi serving your LAN. Works on a USB drive you hand to someone. What it does: Takes compressed data dumps from Reddit (.zst), Voat (SQL), and Ruqqus (.7z) and generates static HTML. No JavaScript, no external requests, no tracking. Open index.html and browse. Want search? Run the optional Docker stack with PostgreSQL – still entirely on your machine. API & AI Integration: Full REST API with 30+ endpoints – posts, comments, users, subreddits, full-text search, aggregations. Also ships with an MCP server (29 tools) so you can query your archive directly from AI tools. Self-hosting options: - USB drive / local folder (just open the HTML files) - Home server on your LAN - Tor hidden service (2 commands, no port forwarding needed) - VPS with HTTPS - GitHub Pages for small archives Why this matters: Once you have the data, you own it. No API keys, no rate limits, no ToS changes can take it away. Scale: Tens of millions of posts per instance. PostgreSQL backend keeps memory constant regardless of dataset size. For the full 2.38B post dataset, run multiple instances by topic. How I built it: Python, PostgreSQL, Jinja2 templates, Docker. Used Claude Code throughout as an experiment in AI-assisted development. Learned that the workflow is "trust but verify" – it accelerates the boring parts but you still own the architecture. Live demo: https://online-archives.github.io/redd-archiver-example/ GitHub: https://ift.tt/mq3lREd (Public Domain) Pushshift torrent: https://ift.tt/ovtLhm9... https://ift.tt/mq3lREd January 13, 2026 at 09:05PM

Monday, January 12, 2026

Show HN: Agent-of-empires: opencode and claudecode session manager https://ift.tt/UrCfuDz

Show HN: Agent-of-empires: opencode and claudecode session manager Hi! I’m Nathan: an ML Engineer at Mozilla.ai: I built agent-of-empires (aoe): a CLI application to help you manage all of your running Claude Code/Opencode sessions and know when they are waiting for you. - Written in rust and relies on tmux for security and reliability - Monitors state of cli sessions to tell you when an agent is running vs idle vs waiting for your input - Manage sessions by naming them, grouping them, configuring profiles for various settings I'm passionate about getting self-hosted open-weight LLMs to be valid options to compete with proprietary closed models. One roadblock for me is that although tools like opencode allow you to connect to Local LLMs (Ollama, lm studio, etc), they generally run muuuuuch slower than models hosted by Anthropic and OpenAI. I would start a coding agent on a task, but then while I was sitting waiting for that task to complete, I would start opening new terminal windows to start multitasking. Pretty soon, I was spending a lot of time toggling between terminal windows to see which one needed me: like help in adding a clarification, approving a new command, or giving it a new task. That’s why I build agent-of-empires (“aoe”). With aoe, I can launch a bunch of opencode and Claude Code sessions and quickly see their status or toggle between them, which helps me avoid having a lot of terminal windows open, or having to manually attach and detach from tmux sessions myself. It’s helping me give local LLMs a fair try, because them being slower is now much less of a bottleneck. You can give it an install with curl -fsSL https://ift.tt/BiKoxgV... | bash Or brew install njbrake/aoe/aoe And then launch by simply entering the command `aoe`. I’m interested in what you think as well as what features you think would be useful to add! I am planning to add some further features around sandboxing (with docker) as well as support for intuitive git worktrees and am curious if there are any opinions about what should or shouldn’t be in it. I decided against MCP management or generic terminal usage, to help keep the tool focused on parts of agentic coding that I haven’t found a usable solution for. I hit the character limit on this post which prevented me from including a view of the output, but the readme on the github link has a screenshot showing what it looks like. Thanks! https://ift.tt/GpbtRXy January 12, 2026 at 07:53PM

Show HN: Yolobox – Run AI coding agents with full sudo without nuking home dir https://ift.tt/jAwCBPQ

Show HN: Yolobox – Run AI coding agents with full sudo without nuking home dir https://ift.tt/0Lr8BP9 January 13, 2026 at 12:04AM

Sunday, January 11, 2026

Show HN: A MCP for controlling terminal UI apps built with bubbletea and ratatui https://ift.tt/mMg0Zfp

Show HN: A MCP for controlling terminal UI apps built with bubbletea and ratatui so you can start vibe-coding your ad-hoc terminal dashboard. With session replay and mouse click support built-in. https://ift.tt/8mGrM2f January 12, 2026 at 01:24AM

Show HN: Epstein IM – Talk to Epstein clone in iMessage https://ift.tt/pQ0MS7h

Show HN: Epstein IM – Talk to Epstein clone in iMessage https://epstein.im/ January 11, 2026 at 06:28AM

Saturday, January 10, 2026

Show HN: Persistent Memory for Claude Code (MCP) https://ift.tt/knrZw2M

Show HN: Persistent Memory for Claude Code (MCP) This is my attempt in building a memory that evolves and persist for claude code. My approach is inspired from Zettelkasten method, memories are atomic, connected and dynamic. Existing memories can evolve based on newer memories. In the background it uses LLM to handle linking and evolution. I have only used it with claude code so far, it works well with me but still early stage, so rough edges likely. I'm planning to extend it to other coding agents as I use several different agents during development. Looking for feedbacks! https://ift.tt/vcaufzm January 11, 2026 at 02:04AM

Show HN: I used Claude Code to discover connections between 100 books https://ift.tt/6jOoiuZ

Show HN: I used Claude Code to discover connections between 100 books I think LLMs are overused to summarise and underused to help us read deeper. I built a system for Claude Code to browse 100 non-fiction books and find interesting connections between them. I started out with a pipeline in stages, chaining together LLM calls to build up a context of the library. I was mainly getting back the insight that I was baking into the prompts, and the results weren't particularly surprising. On a whim, I gave CC access to my debug CLI tools and found that it wiped the floor with that approach. It gave actually interesting results and required very little orchestration in comparison. One of my favourite trail of excerpts goes from Jobs’ reality distortion field to Theranos’ fake demos, to Thiel on startup cults, to Hoffer on mass movement charlatans ( https://ift.tt/4e8AHdo ). A fun tendency is that Claude kept getting distracted by topics of secrecy, conspiracy, and hidden systems - as if the task itself summoned a Foucault’s Pendulum mindset. Details: * The books are picked from HN’s favourites (which I collected before: https://ift.tt/G4IM3Lj ). * Chunks are indexed by topic using Gemini Flash Lite. The whole library cost about £10. * Topics are organised into a tree structure using recursive Leiden partitioning and LLM labels. This gives a high-level sense of the themes. * There are several ways to browse. The most useful are embedding similarity, topic tree siblings, and topics cooccurring within a chunk window. * Everything is stored in SQLite and manipulated using a set of CLI tools. I wrote more about the process here: https://ift.tt/HqiBnbu I’m curious if this way of reading resonates for anyone else - LLM-mediated or not. https://ift.tt/7RfTOSW January 10, 2026 at 10:26PM

Friday, January 9, 2026

Show HN: Various shape regularization algorithms https://ift.tt/YSVNgyd

Show HN: Various shape regularization algorithms Shape regularization is a technique used in computational geometry to clean up noisy or imprecise geometric data by aligning segments to common orientations and adjusting their positions to create cleaner, more regular shapes. I needed a Python implementation so started with the examples implemented in CGAL then added a couple more for snap and joint regularization and metric regularization. https://ift.tt/dKZsLDi January 9, 2026 at 07:43AM

Thursday, January 8, 2026

Wednesday, January 7, 2026

Show HN: I visualized the entire history of Citi Bike in the browser https://ift.tt/6VUyFx3

Show HN: I visualized the entire history of Citi Bike in the browser Each moving arrow represents one real bike ride out of 291 million, and if you've ever taken a Citi Bike before, you are included in this massive visualization! You can search for your ride using Cmd + K and your Citi Bike receipt, which should give you the time of your ride and start/end station. Everything is open source: https://ift.tt/bI7nYE4 Some technical details: - No backend! Processed data is stored in parquet files on a Cloudflare CDN, and queried directly by DuckDB WASM - deck.gl w/ Mapbox for GPU-accelerated rendering of thousands of concurrent animated bikes - Web Workers decode polyline routes and do as much precomputation as possible off the main thread - Since only (start, end) station pairs are provided, routes are generated by querying OSRM for the shortest path between all 2,400+ station pairs https://bikemap.nyc/ January 8, 2026 at 12:27AM

Show HN: bikemap.nyc – visualization of the entire history of Citi Bike https://ift.tt/kijJAMV

Show HN: bikemap.nyc – visualization of the entire history of Citi Bike Each moving arrow represents a real bike ride. There are 291 million rides in total, covering 12 years of history from June 2013 to December 2025, based on public data published by Lyft. If you've ever taken a Citi Bike ride before, you are included in this massive visualization! You can search for your ride using Cmd + K and your Citi Bike receipt, which should give you the time of your ride and start/end station. Some technical details: - No backend! Processed data is stored in parquet files on a CDN, and queried directly by DuckDB WASM - deck.gl w/ Mapbox for GPU-accelerated rendering of thousands of concurrent animated bikes - Web Workers decode polyline routes and do as much precomputation as possible off the main thread - Since only (start, end) station pairs are provided, routes are generated by querying OSRM for the shortest path between all 2,400+ station pairs Legend: - Blue = E-Bike - Purple = Classic Bike - Red = Bike docked - Green = Bike unlocked https://ift.tt/TEnKoX6 January 8, 2026 at 02:15AM

Show HN: Seapie – a Python debugger where breakpoints drop into a REPL https://ift.tt/xzg9pRN

Show HN: Seapie – a Python debugger where breakpoints drop into a REPL https://ift.tt/sh6OM0j January 7, 2026 at 11:28PM

Tuesday, January 6, 2026

Show HN: llmgame.ai – The Wikipedia Game but with LLMs https://ift.tt/lc34gHv

Show HN: llmgame.ai – The Wikipedia Game but with LLMs I used to play the Wikipedia Game in high school and had an idea for applying the same mechanic of clicking from concept to concept to LLMs. Will post another version that runs with an LLM entirely in the browser soon, but for now, please enjoy as long as my credits last... Warning: the LLM does not always cooperate https://www.llmgame.ai January 6, 2026 at 08:37AM

Show HN: CLI for internet speed test via Cloudflare with optional TUI https://ift.tt/4QZjOf9

Show HN: CLI for internet speed test via Cloudflare with optional TUI I've been having a lot of issues with my upload speed and wanted a cli tool to run in a cron job and couldn't quite find one to suit my needs. Sharing here in case others find it useful. https://ift.tt/mVvZF5B January 6, 2026 at 11:46PM

Monday, January 5, 2026

Show HN: WOLS – Open standard for mushroom cultivation tracking https://ift.tt/jcaCZ6S

Show HN: WOLS – Open standard for mushroom cultivation tracking I built an open labeling standard for tracking mushroom specimens through their lifecycle (from spore/culture to harvest). v1.1 adds clonal generation tracking (distinct from filial/strain generations) and conforms to JSON-LD for interoperability with agricultural/scientific data systems. Spec (CC 4.0): https://ift.tt/nuRJgHW Client libraries (Apache 2.0): Python + CLI: pip install wols (also on GHCR) TypeScript/JS: npm install @wemush/wols Background: Mycology has fragmented data practices (misidentified species, inconsistent cultivation logs, no shared vocabulary for tracking genetics across generations). This is an attempt to fix that. Looking for feedback from anyone working with biological specimen tracking, agricultural data systems, or mycology. https://ift.tt/NaRkZ3A January 6, 2026 at 12:00AM

Show HN: Unicode cursive font generator that checks cross-platform compatibility https://ift.tt/JAcbGU8

Show HN: Unicode cursive font generator that checks cross-platform compatibility Hi HN, Unicode “cursive” and script-style fonts are widely used on social platforms, but many of them silently break depending on where they’re pasted — some render as tofu, some get filtered, and others display inconsistently across platforms. I built a small web tool that explores this problem from a compatibility-first angle: Instead of just converting text into cursive Unicode characters, the tool: • Generates multiple cursive / script variants based on Unicode blocks • Evaluates how safe each variant is across major platforms (Instagram, TikTok, Discord, etc.) • Explains why certain Unicode characters are flagged or unstable on specific platforms • Helps users avoid styles that look fine in one app but break in another Under the hood, it’s essentially mapping Unicode script characters and classifying them based on known platform filtering and rendering behaviors, rather than assuming “Unicode = universal.” This started as a side project after repeatedly seeing “fancy text” fail unpredictably in real usage. Feedback, edge cases, or Unicode quirks I may have missed are very welcome. https://ift.tt/Ck1Dezj January 1, 2026 at 07:37PM

Sunday, January 4, 2026

Show HN: I made R/place for LLMs https://ift.tt/02nfDrS

Show HN: I made R/place for LLMs I built AI Place, a vLLM-controlled pixel canvas inspired by r/place. Instead of users placing pixels, an LLM paints the grid continuously and you can watch it evolve live. The theme rotates daily. Currently, the canvas is scored using CLIP ViT-B/32 against a prompt (e.g., Pixelart of ${theme}). The highest-scoring snapshot is saved to the archive at the end of each day. The agents work in a simple loop: Input: Theme + image of current canvas Output: Python code to update specific pixel coordinates + One word description Tech: Next.js, SSE realtime updates, NVIDIA NIM (Mistral Large 3/GPT-OSS/Llama 4 Maverick) for the painting decisions Would love feedback! (or ideas for prompts/behaviors to try) https://art.heimdal.dev January 5, 2026 at 01:20AM

Show HN: Hover – IDE style hover documentation on any webpage https://ift.tt/3EiPRtx

Show HN: Hover – IDE style hover documentation on any webpage I thought it would be interesting to have ID style hover docs outside the IDE. Hover is a Chrome extension that gives you IDE style hover tooltips on any webpage: documentation sites, ChatGPT, Claude, etc. How it works: - When a code block comes into view, the extension detects tokens and sends the code to an LLM (via OpenRouter or custom endpoint) - The LLM generates documentation for tokens worth documenting, which gets cached - On hover, the cached documentation is displayed instantly A few things I wanted to get right: - Website permissions are granular and use Chrome's permission system, so the extension only runs where you allow it - Custom endpoints let you skip OpenRouter entirely – if you're at a company with its own infra, you can point it at AWS Bedrock, Google AI Studio, or whatever you have Built with TypeScript, Vite, and the Chrome extension APIs. Coming to the Chrome Web Store soon. Would love feedback on the onboarding experience and general UX – there were a lot of design decisions I wasn't sure about. Happy to answer questions about the implementation. https://ift.tt/pGfSeEa January 5, 2026 at 12:13AM

Saturday, January 3, 2026

Show HN: ZELF – A modular ELF64 packer with 22 vintage and modern codecs https://ift.tt/w387ZVj

Show HN: ZELF – A modular ELF64 packer with 22 vintage and modern codecs https://ift.tt/wx4YtM9 January 4, 2026 at 12:59AM

Show HN: A New Year gift for Python devs–My self-healing project's DNA analyzer https://ift.tt/fwN7HDn

Show HN: A New Year gift for Python devs–My self-healing project's DNA analyzer I built a system that maps its own "DNA" using AST to enable self-healing capabilities. Instead of a standard release, I’ve hidden the core mapping engine inside a New Year gift file in the repo for those who like to explore code directly. It’s not just a script; it’s the architectural vision behind Ultra Meta. Check the HAPPY_NEW_YEAR.md file for the source https://ift.tt/jlf9tVO January 4, 2026 at 12:50AM

Friday, January 2, 2026

Show HN: Go-Highway – Portable SIMD for Go https://ift.tt/wg2KbVl

Show HN: Go-Highway – Portable SIMD for Go Go 1.26 adds native SIMD via GOEXPERIMENT=simd. This library provides a portability layer so the same code runs on AVX2, AVX-512, or falls back to scalar. Inspired by Google's Highway C++ library. Includes vectorized math (exp, log, sin, tanh, sigmoid, erf) since those come up a lot in ML/scientific code and the stdlib doesn't have SIMD versions. algo.SigmoidTransform(input, output) Requires go1.26rc1. Feedback welcome. https://ift.tt/kuZRFWK January 3, 2026 at 04:06AM

Show HN: Fluxer – open-source Discord-like chat https://ift.tt/ikEtBv8

Show HN: Fluxer – open-source Discord-like chat Hey HN, and happy new year! I'm Hampus Kraft [1], a 22-year-old software developer nearing completion of my BSc in Computer Engineering at KTH Royal Institute of Technology in Sweden. I've been working on Fluxer on and off for about 5 years, but recently decided to work on it full-time and see how far it could take me. Fluxer is an open source [2] communication platform for friends, groups, and communities (text, voice, and video). It aims for "modern chat app" feature coverage with a familiar UX, while being developed in the open and staying FOSS (AGPLv3). The codebase is largely written in TypeScript and Erlang. Try it now (no email or password required): https://ift.tt/bUf5CXl – this creates an "unclaimed account" (date of birth only) so you can explore the platform. Unclaimed accounts can create/join communities but have some limitations. You can claim your account with email + password later if you want. I've developed this solo , with limited capital from some early supporters and testers. Please keep this in mind if you find what I offer today lacking; I know it is! I'm sharing this now to find contributors and early supporters who want to help shape this into the chat app you actually want. ~~~ Fluxer is not currently end-to-end encrypted, nor is it decentralised or federated. I'm open to implementing E2EE and federation in the future, but they're complex features, and I didn't want to end up like other community chat apps [3] that get criticised for broken core functionality and missing expected features while chasing those goals. I'm most confident on the backend and web app, so that's where I've focused. After some frustrating attempts with React Native, I'm sticking with a mobile PWA for now (including push notification support) while looking into Skip [4] for a true native app. If someone with more experience in native dev has any thoughts, let me know! Many tech-related communities that would benefit from not locking information into walled gardens still choose Discord or Slack over forum software because of the convenience these platforms bring, a choice that is often criticised [5][6][7]. I will not only work on adding forums and threads, but also enable opt-in publishing of forums to the open web, including RSS/Atom feeds, to give you the best of both worlds. ~~~ I don't intend to license any part of the software under anything but the AGPLv3, limit the number of messages [8], or have an SSO tax [9]. Business-oriented features like SSO will be prioritised on the roadmap with your support. You'd only pay for support and optionally for sponsored features or fixes you'd like prioritised. I don't currently plan on SaaS, but I'm open to support and maintenance contracts. ~~~ I want Fluxer to become an easy-to-deploy, fully FOSS Discord/Slack-like platform for companies, communities, and individuals who want to own their chat infrastructure, or who wish to support an independent and bootstrapped hosted alternative. But I need early adopters and financial support to keep working on it full-time. I'm also very interested in code contributors since this is a challenging project to work on solo. My email is hampus@fluxer.app. ~~~ There’s a lot more to be said; I’ll be around in the comments to answer questions and fix things quickly if you run into issues. Thank you, and wishing you all the best in the new year! [1] https://ift.tt/ke4X3wF [2] https://ift.tt/OEY3d17 [3] https://ift.tt/5309yvX [4] https://skip.tools/ [5] https://ift.tt/KsXB3Gr [6] https://ift.tt/dbsrfhC [7] https://ift.tt/m7GaezE [8] https://ift.tt/toSdqVZ [9] https://sso.tax/ https://fluxer.app January 3, 2026 at 01:30AM

Show HN: I mapped System Design concepts to AI Prompts to stop bad code https://ift.tt/6FAIgNp

Show HN: I mapped System Design concepts to AI Prompts to stop bad code https://ift.tt/B6ZEMWv January 3, 2026 at 12:15AM

Thursday, January 1, 2026

Show HN: Feature detection exploration in Lidar DEMs via differential decomp https://ift.tt/JCI6pFA

Show HN: Feature detection exploration in Lidar DEMs via differential decomp I'm not a geospatial expert — I work in AI/ML. This started when I was exploring LiDAR data with agentic assitince and noticed that different signal decomposition methods revealed different terrain features. The core idea: if you systematically combine decomposition methods (Gaussian, bilateral, wavelet, morphological, etc.) with different upsampling techniques, each combination has characteristic "failure modes" that selectively preserve or eliminate certain features. The differences between outputs become feature-specific filters. The framework tests 25 decomposition × 19 upsampling methods across parameter ranges — about 40,000 combinations total. The visualization grid makes it easy to compare which methods work for what. Built in Cursor with Opus 4.5, NumPy, SciPy, scikit-image, PyWavelets, and OpenCV. Apache 2.0 licensed. I'd appreciate feedback from anyone who actually works with elevation data. What am I missing? What's obvious to practitioners that I wouldn't know? https://ift.tt/ND693KP January 1, 2026 at 05:59AM

Wednesday, December 31, 2025

Show HN: A Prompt-Injection Firewall for AI Agents and RAG Pipelines https://ift.tt/r6h0gHe

Show HN: A Prompt-Injection Firewall for AI Agents and RAG Pipelines We built SafeBrowse — an open-source prompt-injection firewall for AI systems. Instead of relying on better prompts, SafeBrowse enforces a hard security boundary between untrusted web content and LLMs. It blocks hidden instructions, policy violations, and poisoned data before the AI ever sees it. Features: • Prompt injection detection (50+ patterns) • Policy engine (login/payment blocking) • Fail-closed by design • Audit logs & request IDs • Python SDK (sync + async) • RAG sanitization PyPI: pip install safebrowse Looking for feedback from AI infra, security, and agent builders. January 1, 2026 at 02:31AM

Show HN: A web-based lighting controller built because my old became a brick https://ift.tt/n4ZTrcd

Show HN: A web-based lighting controller built because my old became a brick I’m a student and I built this because my old lightning controller (DMX) became a brick after the vendor’s control software was deprecated in 2025. My focus was entirely on developing a robust backend architecture to guarantee maximum performance. Everything is released under GPLv3. The current frontend is just a "vibecoded" dashboard made with plain HTML and JavaScript to keep rendering latency as low as possible. In earlier versions Svelte was used. Svelte added too much complexity for an initial mvp. Video: https://ift.tt/gly5x4j Repo: https://ift.tt/VIx6L4P Technical Details: The system uses a distributed architecture where a FastAPI server manages the state in a Redis. State changes are pushed via WebSockets to Raspberry Pi gateways, which then independently maintain the constant 44Hz binary stream to the lights. This "push model" saves massive amounts of bandwidth and ensures low latency. In a stress test, I processed 10 universes (5,120 channels) at 44Hz with zero packet loss (simulated). An OTP-based pairing makes the setup extremely simple (plug-and-play). I’m looking forward to your feedback on the architecture and the Redis approach! Happy New Year! https://ift.tt/VIx6L4P December 31, 2025 at 10:16PM

Show HN: Fleet / Event manager for Star Citizen MMO https://ift.tt/cmBWhFX

Show HN: Fleet / Event manager for Star Citizen MMO I built an open-source org management platform for Star Citizen, a space MMO where player orgs can have 50K+ members managing fleets worth millions. https://scorg.org The problem: SC's official tools won't launch until 2026, but players need to coordinate now - track 100+ ship fleets, schedule ops across timezones, manage alliances, and monitor voice activity during battles. Interesting challenges solved: 1. Multi-org data isolation - Users join multiple orgs, so every query needs scoping. 2. Canvas + Firebase Storage CORS - Couldn't export fleet layouts as PNG. Solution: fetch images as blobs, convert to base64 data URLs, then draw to canvas. No CORS config needed. 3. Discord bot - Built 4 microservices (VoiceActivityTracker, EventNotifier, ChannelManager, RoleSync) sharing Firebase state. Auto-creates channels for ops, cleans up when done. Features: role-based access, event calendar with RSVP, LFG matchmaking, drag-and-drop fleet builder, economy tools, alliance system, analytics dashboard, mobile-responsive. ~15 pages, fully functional. Custom military-inspired UI (monospace, gold accents). January 1, 2026 at 12:48AM

Tuesday, December 30, 2025

Show HN: A dynamic key-value IP allowlist for Nginx https://ift.tt/NCLqQXr

Show HN: A dynamic key-value IP allowlist for Nginx I am currently working on a larger project that needs a short-lived HTTP "auth" based on a separate, out-of-band authentication process. Since every allowed IP only needs to be allowed for a few minutes at a time on specific server names, I created this project to solve that. It should work with any Redis-compatible database. For the docker-compose example, I used valkey. This is mostly useful if you have multiple domains that you want to control access to. If you want to allow 1.1.1.1 to mywebsite.com and securesite.com, and 2.2.2.2 to securesite.com and anothersite.org for certain TTLs, you just need to set hash keys in your Redis-compatible database of choice like: 1.1.1.1: - mywebsite.com: 1 (30 sec TTL) - securesite.com: 1 (15 sec TTL) 2.2.2.2: - securesite.com: 1 (3600 sec TTL) - anothersite.org: 1 (never expires) Since you can use any Redis-compatible database as the backend, per-entry TTLs are encouraged. An in-process cache can also be used, but is not enabled unless you pass --enable-l1-cache to kvauth. That makes successful auth_requests a lot faster since the program is not reaching out to the key/value database on every request. I didn't do any hardcore profiling on this but did enable the chi logger middleware to see how long requests generally took: kvauth-1 | 2025/12/30 21:32:28 "GET http://127.0.0.1:8888/kvauth HTTP/1.0" from 127.0.0.1:42038 - 401 0B in 300.462µs # disallowed request nginx-1 | 192.168.65.1 - - [30/Dec/2025:21:32:28 +0000] "GET / HTTP/1.1" 401 179 "-" "curl/8.7.1" kvauth-1 | 2025/12/30 21:32:37 "GET http://127.0.0.1:8888/kvauth HTTP/1.0" from 127.0.0.1:40160 - 401 0B in 226.189µs # disallowed request nginx-1 | 192.168.65.1 - - [30/Dec/2025:21:32:37 +0000] "GET / HTTP/1.1" 401 179 "-" "curl/8.7.1" # IP added to redis allowlist kvauth-1 | 2025/12/30 21:34:02 "GET http://127.0.0.1:8888/kvauth HTTP/1.0" from 127.0.0.1:54032 - 200 0B in 290.648µs # allowed, but had to reach out to valkey kvauth-1 | 2025/12/30 21:34:02 "GET http://127.0.0.1:8888/kvauth HTTP/1.0" from 127.0.0.1:54044 - 200 0B in 4.041µs nginx-1 | 192.168.65.1 - - [30/Dec/2025:21:34:02 +0000] "GET / HTTP/1.1" 200 111 "-" "curl/8.7.1" kvauth-1 | 2025/12/30 21:34:06 "GET http://127.0.0.1:8888/kvauth HTTP/1.0" from 127.0.0.1:51494 - 200 0B in 6.617µs # allowed, used cache kvauth-1 | 2025/12/30 21:34:06 "GET http://127.0.0.1:8888/kvauth HTTP/1.0" from 127.0.0.1:51496 - 200 0B in 3.313µs nginx-1 | 192.168.65.1 - - [30/Dec/2025:21:34:06 +0000] "GET / HTTP/1.1" 200 111 "-" "curl/8.7.1 IP allowlisting isn't true authentication, and any production implementation of this project should use it as just a piece of the auth flow. This was made to solve the very specific problem of a dynamic IP allow list for NGINX. https://ift.tt/f3T1ixd December 31, 2025 at 03:59AM

Show HN: Claude Cognitive – Working memory for Claude Code https://ift.tt/Ta6m8h2

Show HN: Claude Cognitive – Working memory for Claude Code https://ift.tt/qw8dOe7 December 31, 2025 at 03:57AM

Show HN: Replacing my OS process scheduler with an LLM https://ift.tt/naKhx5l

Show HN: Replacing my OS process scheduler with an LLM https://ift.tt/70zQUDR December 30, 2025 at 10:17PM

Monday, December 29, 2025

Show HN: Aroma: Every TCP Proxy Is Detectable with RTT Fingerprinting https://ift.tt/CfYcGbV

Show HN: Aroma: Every TCP Proxy Is Detectable with RTT Fingerprinting TL;DR explanation (go to https://ift.tt/IYPnlKE... if you want the formatted version) This is done by measuring the minimum TCP RTT (client.socket.tcpi_min_rtt) seen and the smoothed TCP RTT (client.socket.tcpi_rtt). I am getting this data by using Fastly Custom VCL, they get this data from the Linux kernel (struct tcp_info -> tcpi_min_rtt and tcpi_rtt). I am using Fastly for the Demo since they have PoPs all around the world and they expose TCP socket data to me. The score is calculated by doing tcpi_min_rtt/tcpi_rtt. It's simple but it's what worked best for this with the data Fastly gives me. Based on my testing, 1-0.7 is normal, 0.7-0.3 is normal if the connection is somewhat unstable (WiFi, mobile data, satellite...), 0.3-0.1 is low and may be a proxy, anything lower than 0.1 is flagged as TCP proxy by the current code. https://ift.tt/RKcL9h3 December 26, 2025 at 02:04AM

Show HN: Neko.js, a recreation of the first virtual pet https://ift.tt/kc6mFri

Show HN: Neko.js, a recreation of the first virtual pet Hi HN, Here is a late Christmas present: I rebuilt Neko [1], the classic desktop cat that chases your mouse, as a tiny, dependency-free JavaScript library that runs directly on web pages. Live demo: https://louisabraham.github.io/nekojs/ GitHub: https://ift.tt/gj9CDxQ Drop-in usage is a single script tag: This is a fairly faithful recreation of Neko98: same state machine, same behaviors, same original 32×32 pixel sprites. It follows your cursor, falls asleep when idle, claws walls, and you can click it to cycle behavior modes. What made this project interesting to me is how I built it. I started by feeding the original C++ source (from the Wayback Machine) to Claude and let it "vibe code" a first JS implementation. That worked surprisingly well as a starting point, but getting it truly accurate required a lot of manual fixes: rewriting movement logic, fixing animation timing, handling edge cases the AI missed, etc. My takeaway: coding agents are very useful at resurrecting old codebases, and this is probably the best non-soulless use of AI for coding. It gets you 60–70% of the way there very fast, especially for legacy code that would otherwise rot unread. The last 30% still needs a human who cares about details. The final result is ~38KB uncompressed (~14KB brotli), zero dependencies, and can be dropped into a page with a single

Sunday, December 28, 2025

Show HN: Pion SCTP with RACK is 70% faster with 30% less latency https://ift.tt/ygLD6k7

Show HN: Pion SCTP with RACK is 70% faster with 30% less latency SCTP is a low level protocol focused on reliable packet transmission. Unlike hopelessly flinging packets from one device to another, it makes sure that the packets are correct using CRC, removes duplicate packets, and allows for packets to be sent in any order. Going into an established library, I thought that everything was already implemented and that there wasn't anything to do until I went through the existing issues and organized all the tasks and decided on an order. Sean DuBois ( https://ift.tt/DJUHRQ2 ), one of the co-creators and current maintainers of Pion, an open-source pure Go implementation of WebRTC (which uses SCTP), introduced me to a dissertation that was written about improving SCTP from 2021 ( https://ift.tt/7cdySMG... ). To my surprise, the features in it weren't actually implemented yet, and generally went unused even though it depicted pretty big improvements. This came as a bit of a shock to me considering the countless companies and services that actively use Pion with millions of users on a daily basis. This led to two things: 1) implement the feature (done by me) and 2) measure the performance (done by Joe Turki https://ift.tt/l9KCd6X ). If you're interested in reading more, please check out the blog post where we go over what SCTP is used for, how I improved it, and the effort that went into making such a large improvement possible. This also marks a huge milestone for other companies and services that use SCTP as they can refer to the implementation in Pion for their own SCTP libraries including any real-time streaming platforms such as Microsoft Teams, Discord screen share, Twitch guest star, and many more! For my personal background, please take a look at a comment below about what it was like for me to get started with open-source and my career related journeys. Thanks for reading! https://ift.tt/Qb06Y5F December 28, 2025 at 11:35PM

Show HN: Writing USB Device Firmware with Raspberry Pi Pico and TinyUSB https://ift.tt/YRbZ1sI

Show HN: Writing USB Device Firmware with Raspberry Pi Pico and TinyUSB https://www.youtube.com/playlist?list=PL4C3a7zUGIuYu48KsA3krgm7rtLJwse03 December 28, 2025 at 11:41PM

Saturday, December 27, 2025

Show HN: I'm 15. I built an offline AI Terminal Agent that fixes errors https://ift.tt/DKjMYSq

Show HN: I'm 15. I built an offline AI Terminal Agent that fixes errors https://ift.tt/Z7j2HSM December 27, 2025 at 10:27PM

Show HN: Jsonic – Python JSON serialization that works https://ift.tt/JVqknsc

Show HN: Jsonic – Python JSON serialization that works https://ift.tt/1fx9OM8 December 27, 2025 at 07:26PM

Show HN: AgentFuse – A local circuit breaker to prevent $500 OpenAI bills https://ift.tt/CMV061E

Show HN: AgentFuse – A local circuit breaker to prevent $500 OpenAI bills Hey HN, I’ve been building agents recently, and I hit a problem: I fell asleep while a script was running, and my agent got stuck in a loop. I woke up to a drained OpenAI credit balance. I looked for a tool to prevent this, but most solutions were heavy enterprise proxies or cloud dashboards. I just wanted a simple "fuse" that runs on my laptop and stops the bleeding before it hits the API. So I built AgentFuse. It is a lightweight, local library that acts as a circuit breaker for LLM calls. Drop-in Shim: It wraps the openai client (and supports LangChain) so you don't have to rewrite your agent logic. Local State: It uses SQLite in WAL mode to track spend across multiple concurrent agents/terminal tabs. Hard Limits: It enforces a daily budget (e.g., stops execution at $5.00). It’s open source and available on PyPI (pip install agent-fuse). I’d love feedback on the implementation, specifically the SQLite concurrency logic! I tried to make it as robust as possible without needing a separate server process. https://ift.tt/xreA3WY December 28, 2025 at 12:46AM

Friday, December 26, 2025

Show HN: Polibench – compare political bias across AI models https://ift.tt/wTIBR38

Show HN: Polibench – compare political bias across AI models Polibench runs the Political Compass questions across AI models so you can compare responses side by side. No signup. Built on top of work by @theo ( https://twitter.com/theo ) and @HolyCoward ( https://twitter.com/HolyCoward ). Question set is based on the Political Compass: https://ift.tt/PLTdn8g Early and rough. Feedback welcome on revealing questions, possible misuse, and ideas for extending it. Happy to answer questions. https://polibench.vercel.app/ December 27, 2025 at 12:23AM

Show HN: Web CLI – Browser-based terminal with multi-tab support https://ift.tt/ExzeKNo

Show HN: Web CLI – Browser-based terminal with multi-tab support Hey HN! Web CLI, an open-source web-based command management tool just got an upgrade with Interactive Terminal support https://ift.tt/PAuV2k6 December 26, 2025 at 09:53PM

Thursday, December 25, 2025

Show HN: CLI to share secrets using one-time public keys https://ift.tt/vZFmLJt

Show HN: CLI to share secrets using one-time public keys https://ift.tt/MxSjKdw December 25, 2025 at 11:50PM

Show HN: Buoy – A persistent, status-bar web server for local utilities https://ift.tt/RzsVEyc

Show HN: Buoy – A persistent, status-bar web server for local utilities I’m constantly building small web-based tools for my own use. Usually, my workflow ends with a dilemma: do I keep a terminal tab open forever running `npx http-server -p 8080`, or do I spend time configuring a Caddyfile for a 50-line HTML tool? Nothing felt right. I wanted something that felt like a native, always-on, utility that was easily accessible but invisible. I built Buoy. It’s a minimal server that: Lives in the status bar: I can see that it's running at a glance without hunting through ps aux. Is persistent by default: It starts with macOS and keeps my utilities alive in the background. Zero-config: It points at a XDG‑Standard www folder so I can create a symlink and be done. Small: I wanted to avoid the modern bloat. Buoy is a single, self-contained binary that's under 10MB. It’s a minimal tool that lets me build many small things and move on to the next. https://ift.tt/iKQORMV December 25, 2025 at 09:51PM

Wednesday, December 24, 2025

Show HN: WebPtoPNG – I built a WebP to PNG tool, everything runs in the browser https://ift.tt/PowjqfD

Show HN: WebPtoPNG – I built a WebP to PNG tool, everything runs in the browser I built WebPtoPNG after getting frustrated with converters that throttle uploads or phone data; everything runs straight in the browser, and never asks for a signup. https://webptopng.cc/ December 25, 2025 at 02:14AM

Show HN: Elfpeek – A tiny interactive ELF binary inspector in C https://ift.tt/6DM4gu5

Show HN: Elfpeek – A tiny interactive ELF binary inspector in C https://ift.tt/c0fRphu December 24, 2025 at 11:08PM

Show HN: An open-source anonymizer tool to replace PII in PostgreSQL databases https://ift.tt/IBl8mhJ

Show HN: An open-source anonymizer tool to replace PII in PostgreSQL databases https://ift.tt/xSW8hHp December 24, 2025 at 09:45PM

Tuesday, December 23, 2025

Show HN: Openinary – Self-hosted image processing like Cloudinary https://ift.tt/cEFNTDP

Show HN: Openinary – Self-hosted image processing like Cloudinary Hi HN! I built Openinary because Cloudinary and Uploadcare lock your images and charge per request. Openinary lets you self-host a full image pipeline: transform, optimize, and cache images on your infra; S3, Cloudflare R2, or any S3-compatible storage. It’s the only self-hosted Cloudinary-like tool handling both transformations and delivery with a simple URL API (/t/w_800,h_800,f_avif/sample.jpg). Built with Node.js, Docker-ready. GitHub: https://ift.tt/xeMpiK7 Feedback welcome; especially from Cloudinary users wanting the same UX but on their own infra! https://ift.tt/xeMpiK7 December 23, 2025 at 09:31PM

Show HN: A kids book that introduces authorization and permissions concepts https://ift.tt/ZmnUPtj

Show HN: A kids book that introduces authorization and permissions concepts A colleague and I made a kids' picture book that introduces authorization concepts. We work at AuthZed and explain these concepts regularly. We thought it'd be fun to put them together in a format accessible and appealing to kids and grownups alike. It would also be helpful when explaining what we do for work and make a unique gift for our families. The goal was a fun story first and foremost. We aimed to present concepts accessibly but made conscious decisions to simplify, knowing we couldn't be comprehensive in a picture book format. We also wanted visually appealing illustrations, so we built a custom tool to streamline exploring ideas with AI. It does reference-weighted image generation (upload references, weight which ones matter most), git-like branching for asset organization, and feedback loops that improve subsequent generations. It was built with Claude Code. Here's a screenshot: https://ift.tt/glWyLJj... We'd love feedback on where we chose to simplify. Did we get the tradeoffs right or did we oversimplify? And lastly, did you enjoy the story? You can read the book online: https://ift.tt/QXW2hqd https://ift.tt/QXW2hqd December 24, 2025 at 12:06AM

Monday, December 22, 2025

Show HN: It's Like Clay but in Google Sheets https://ift.tt/U2svlLC

Show HN: It's Like Clay but in Google Sheets Hey everyone! After struggling a lot with data enrichment for SMBs, I launched a Google Sheets add-on that gives you direct access to an AI-powered webscraper. Vurge lets you get structured information from any website right inside your Google Sheet, eliminating the need for learning a new tool or adding a new dependency for data enrichment. Let me know what you think! https://ift.tt/52N3ulx December 19, 2025 at 12:44AM

Show HN: Meds — High-performance firewall powered by NFQUEUE and Go https://ift.tt/kOVD6fr

Show HN: Meds — High-performance firewall powered by NFQUEUE and Go Hi HN, I'm the author of Meds ( https://ift.tt/RkFgAZq ). Meds is a user-space firewall for Linux that uses NFQUEUE to inspect and filter traffic. In the latest v0.7.0 release, I’ve added ASN-based filtering using the Spamhaus DROP list (with IP-to-ASN mapping via IPLocate.io). Key highlights: Zero-lock core, ASN Filtering, Optimized Rate Limiting, TLS Inspection, Built-in Prometheus metrics and Swagger API. Any feedback is very welcome! https://ift.tt/RkFgAZq December 22, 2025 at 10:58PM

Sunday, December 21, 2025

Show HN: Real-time SF 911 dispatch feed (open source) https://ift.tt/OfJEHdn

Show HN: Real-time SF 911 dispatch feed (open source) I built an open-source alternative to Citizen App's paid 911 feed for San Francisco. It streams live dispatch data from SF's official open data portal, uses an LLM to translate police codes into readable summaries, and auto-redacts sensitive locations (shelters, hospitals, etc.). Built it at a hack night after getting annoyed that Citizen is the only real-time option and they paywall it. Repo: https://ift.tt/9EJslYq Discord: https://ift.tt/xkCTpGi Happy to discuss the technical approach or take feedback. https://ift.tt/U1vFoCq December 22, 2025 at 06:29AM

Show HN: Mactop v2.0.0 https://ift.tt/FspgYRl

Show HN: Mactop v2.0.0 https://ift.tt/v20ujDV December 22, 2025 at 06:14AM

Show HN: Pac-Man with Guns https://ift.tt/0EXi749

Show HN: Pac-Man with Guns Title really says it all on this https://pac-man-with-guns.netlify.app/ December 22, 2025 at 04:47AM

Show HN: I built a 1‑dollar feedback tool as a Sunday side project https://ift.tt/S9gE06M

Show HN: I built a 1‑dollar feedback tool as a Sunday side project I’ve always found it funny how simple feedback widgets end up as $20–$30/month products. The tech is dead simple, infra is cheap, and most of us here could rebuild one in a weekend. So as a “principle experiment” I built my own today as a side project and priced it at 1 dollar. Just because if something is cheap to run and easy to replicate, it should be priced accordingly, and it’s also fun marketing. 1$ feedback tool. Shipped today, got the first users/moneys today, writing this post today. Side Sunday project, then back to the main product tomorrow. https://ift.tt/PqozBb5 December 22, 2025 at 03:22AM

Saturday, December 20, 2025

Show HN: HN Wrapped 2025 - an LLM reviews your year on HN https://ift.tt/VtGUdPv

Show HN: HN Wrapped 2025 - an LLM reviews your year on HN I was looking for some fun project to play around with the latest Gemini models and ended up building this :) Enter your username and get: - Generated roasts and stats based on your HN activity 2025 - Your personalized HN front page from 2035 (inspired by a recent Show HN [0]) - An xkcd-style comic of your HN persona It uses the latest gemini-3-flash and gemini-3-pro-image (nano banana pro) models, which deliver pretty impressive and funny results. A few examples: - dang: https://ift.tt/Jx4iywE - myself: https://ift.tt/Us9yT7N Give it a try and share yours :) Happy holidays! [0] https://ift.tt/cLT8YNf https://ift.tt/ilDPodk December 20, 2025 at 07:09PM

Friday, December 19, 2025

Show HN: Misata – synthetic data engine using LLM and Vectorized NumPy https://ift.tt/HU8J5xB

Show HN: Misata – synthetic data engine using LLM and Vectorized NumPy Hey HN, I’m the author. I built Misata because existing tools (Faker, Mimesis) are great for random rows but terrible for relational or temporal integrity. I needed to generate data for a dashboard where "Timesheets" must happen after "Project Start Date," and I wanted to define these rules via natural language. How it works: LLM Layer: Uses Groq/Llama-3.3 to parse a "story" into a JSON schema constraint config. Simulation Layer: Uses Vectorized NumPy (no loops) to generate data. It builds a DAG of tables to ensure parent rows exist before child rows (referential integrity). Performance: Generates ~250k rows/sec on my M1 Air. It’s early alpha. The "Graph Reverse Engineering" (describe a chart -> get data) is experimental but working for simple curves. pip install misata I’d love feedback on the simulator.py architecture—I’m currently keeping data in-memory (Pandas) which hits a ceiling at ~10M rows. Thinking of moving to DuckDB for out-of-core generation next. Thoughts? https://ift.tt/4PEXrgd December 16, 2025 at 08:08PM

Show HN: MCPShark Viewer (VS Code/Cursor extension)- view MCP traffic in-editor https://ift.tt/0FfR5t1

Show HN: MCPShark Viewer (VS Code/Cursor extension)- view MCP traffic in-editor A few days ago I posted MCPShark (a traffic inspector for the Model Context Protocol). I just shipped a VS Code / Cursor extension that lets you view MCP traffic directly in the editor, so you’re not jumping between terminals, logs, and "I think this is what got sent". VS Code Marketplace: https://marketplace.visualstudio.com/items?itemName=MCPShark... Main repo: https://ift.tt/rCDSdwp Feature requests / issues: https://ift.tt/dHQxWsT Site: https://mcpshark.sh/ If you’re building MCP agents/tools: what would make MCP debugging actually easy—timeline view, session grouping, diffing tool args, exporting traces, something else? I’d be thankful if you could open a feature request here: https://ift.tt/dHQxWsT December 17, 2025 at 11:49PM

Show HN: PHP-fts – Full-text search engine in pure PHP, no extensions https://ift.tt/wgSBiJP

Show HN: PHP-fts – Full-text search engine in pure PHP, no extensions https://ift.tt/WpBoNzV May 7, 2026 at 01:58AM