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: A lie detector game that reads your pulse through your phone camera https://ift.tt/rzFTDLm

Show HN: A lie detector game that reads your pulse through your phone camera https://kouh.me/tells May 8, 2026 at 11:31PM