The best Hacker News stories from Show from the past week

Go back

Latest posts:

Show HN: Hardtime.nvim – break bad habits and master Vim motions

Show HN: Vaev – A browser engine built from scratch (It renders google.com)

We’ve been working on Vaev, a minimal web browser engine built from scratch. It supports HTML/XHTML, the CSS cascade, @page rules for pagination, and print-to-PDF rendering. It even handles calc(), var(), and percentage units—and yes, it renders Google.com (mostly).<p>This is an experimental project focused on learning and exploration. Networking is basic (<a href="http://" rel="nofollow">http://</a> and file:// only), and grid layouts aren’t supported yet, but we’re making progress fast.<p>We’d love your thoughts and feedback.

Show HN: Vaev – A browser engine built from scratch (It renders google.com)

We’ve been working on Vaev, a minimal web browser engine built from scratch. It supports HTML/XHTML, the CSS cascade, @page rules for pagination, and print-to-PDF rendering. It even handles calc(), var(), and percentage units—and yes, it renders Google.com (mostly).<p>This is an experimental project focused on learning and exploration. Networking is basic (<a href="http://" rel="nofollow">http://</a> and file:// only), and grid layouts aren’t supported yet, but we’re making progress fast.<p>We’d love your thoughts and feedback.

Show HN: I modeled the Voynich Manuscript with SBERT to test for structure

I built this project as a way to learn more about NLP by applying it to something weird and unsolved.<p>The Voynich Manuscript is a 15th-century book written in an unknown script. No one’s been able to translate it, and many think it’s a hoax, a cipher, or a constructed language. I wasn’t trying to decode it — I just wanted to see: does it behave like a structured language?<p>I stripped a handful of common suffix-like endings (aiin, dy, etc.) to isolate what looked like root forms. I know that’s a strong assumption — I call it out directly in the repo — but it helped clarify the clustering. From there, I used SBERT embeddings and KMeans to group similar roots, inferred POS-like roles based on position and frequency, and built a Markov transition matrix to visualize cluster-to-cluster flow.<p>It’s not translation. It’s not decryption. It’s structural modeling — and it revealed some surprisingly consistent syntax across the manuscript, especially when broken out by section (Botanical, Biological, etc.).<p>GitHub repo: <a href="https://github.com/brianmg/voynich-nlp-analysis">https://github.com/brianmg/voynich-nlp-analysis</a> Write-up: <a href="https://brig90.substack.com/p/modeling-the-voynich-manuscript-with?r=3z5dn9" rel="nofollow">https://brig90.substack.com/p/modeling-the-voynich-manuscrip...</a><p>I’m new to the NLP space, so I’m sure there are things I got wrong — but I’d love feedback from people who’ve worked with structured language modeling or weird edge cases like this.

Show HN: I modeled the Voynich Manuscript with SBERT to test for structure

I built this project as a way to learn more about NLP by applying it to something weird and unsolved.<p>The Voynich Manuscript is a 15th-century book written in an unknown script. No one’s been able to translate it, and many think it’s a hoax, a cipher, or a constructed language. I wasn’t trying to decode it — I just wanted to see: does it behave like a structured language?<p>I stripped a handful of common suffix-like endings (aiin, dy, etc.) to isolate what looked like root forms. I know that’s a strong assumption — I call it out directly in the repo — but it helped clarify the clustering. From there, I used SBERT embeddings and KMeans to group similar roots, inferred POS-like roles based on position and frequency, and built a Markov transition matrix to visualize cluster-to-cluster flow.<p>It’s not translation. It’s not decryption. It’s structural modeling — and it revealed some surprisingly consistent syntax across the manuscript, especially when broken out by section (Botanical, Biological, etc.).<p>GitHub repo: <a href="https://github.com/brianmg/voynich-nlp-analysis">https://github.com/brianmg/voynich-nlp-analysis</a> Write-up: <a href="https://brig90.substack.com/p/modeling-the-voynich-manuscript-with?r=3z5dn9" rel="nofollow">https://brig90.substack.com/p/modeling-the-voynich-manuscrip...</a><p>I’m new to the NLP space, so I’m sure there are things I got wrong — but I’d love feedback from people who’ve worked with structured language modeling or weird edge cases like this.

Show HN: KVSplit – Run 2-3x longer contexts on Apple Silicon

I discovered that in LLM inference, keys and values in the KV cache have very different quantization sensitivities. Keys need higher precision than values to maintain quality.<p>I patched llama.cpp to enable different bit-widths for keys vs. values on Apple Silicon. The results are surprising:<p>- K8V4 (8-bit keys, 4-bit values): 59% memory reduction with only 0.86% perplexity loss - K4V8 (4-bit keys, 8-bit values): 59% memory reduction but 6.06% perplexity loss - The configurations use the same number of bits, but K8V4 is 7× better for quality<p>This means you can run LLMs with 2-3× longer context on the same Mac. Memory usage scales with sequence length, so savings compound as context grows.<p>Implementation was straightforward: 1. Added --kvq-key and --kvq-val flags to llama.cpp 2. Applied existing quantization logic separately to K and V tensors 3. Validated with perplexity metrics across context lengths 4. Used Metal for acceleration (with -mlong-calls flag to avoid vectorization issues)<p>Benchmarked on an M4 MacBook Pro running TinyLlama with 8K context windows. Compatible with Metal/MPS and optimized for Apple Silicon.<p>GitHub: <a href="https://github.com/dipampaul17/KVSplit">https://github.com/dipampaul17/KVSplit</a>

Show HN: Visual flow-based programming for Erlang, inspired by Node-RED

Hi There,<p>Erlang-RED has been my project for the last couple of months and I would love to get some feedback from the HN community.<p>The idea is to take advantage of Erlangs message passing and low overhead processes to have true concurrency in Node-RED flows. Plus also to bring low-code visual flow-based programming to Erlang.

Show HN: Muscle-Mem, a behavior cache for AI agents

Hi HN! Erik here from Pig.dev, and today I'd like to share a new project we've just open sourced:<p>Muscle Mem is an SDK that records your agent's tool-calling patterns as it solves tasks, and will deterministically replay those learned trajectories whenever the task is encountered again, falling back to agent mode if edge cases are detected. Like a JIT compiler, for behaviors.<p>At Pig, we built computer-use agents for automating legacy Windows applications (healthcare, lending, manufacturing, etc).<p>A recurring theme we ran into was that businesses <i>already</i> had RPA (pure-software scripts), and it worked for them in most cases. The pull to agents as an RPA alternative was <i>not</i> to have an infinitely flexible "AI Employees" as tech Twitter/X may want you to think, but simply because their RPA breaks under occasional edge-cases and agents can gracefully handle those cases.<p>Using a pure-agent approach proved to be highly wasteful. Window's accessibility APIs are poor, so you're generally stuck using pure-vision agents, which can run around $40/hr in token costs and take 5x longer than a human to perform a workflow. At this point, you're better off hiring a human.<p>The goal of Muscle-Mem is to get LLMs out of the hot path of repetitive automations, intelligently swapping between script-based execution for repeat cases, and agent-based automations for discovery and self-healing.<p>While inspired by computer-use environments, Muscle Mem is designed to generalize to any automation performing discrete tasks in dynamic environments. It took a great deal of thought to figure out an API that generalizes, which I cover more deeply in this blog: <a href="https://erikdunteman.com/blog/muscle-mem/" rel="nofollow">https://erikdunteman.com/blog/muscle-mem/</a><p>Check out the repo, consider giving it a star, or dive deeper into the above blog. I look forward to your feedback!

Show HN: Semantic Calculator (king-man+woman=?)

I've been playing with embeddings and wanted to try out what results the embedding layer will produce based on just word-by-word input and addition / subtraction, beyond what many videos / papers mention (like the obvious king-man+woman=queen). So I built something that doesn't just give the first answer, but ranks the matches based on distance / cosine symmetry. I polished it a bit so that others can try it out, too.<p>For now, I only have nouns (and some proper nouns) in the dataset, and pick the most common interpretation among the homographs. Also, it's case sensitive.

Show HN: HelixDB – Open-source vector-graph database for AI applications (Rust)

Hey HN, we want to share HelixDB (<a href="https://github.com/HelixDB/helix-db/">https://github.com/HelixDB/helix-db/</a>), a project a college friend and I are working on. It’s a new database that natively intertwines graph and vector types, without sacrificing performance. It’s written in Rust and our initial focus is on supporting RAG. Here’s a video runthrough: <a href="https://screen.studio/share/szgQu3yq" rel="nofollow">https://screen.studio/share/szgQu3yq</a>.<p>Why a hybrid? Vector databases are useful for similarity queries, while graph databases are useful for relationship queries. Each stores data in a way that’s best for its main type of query (e.g. key-value stores vs. node-and-edge tables). However, many AI-driven applications need <i>both</i> similarity and relationship queries. For example, you might use vector-based semantic search to retrieve relevant legal documents, and then use graph traversal to identify relationships between cases.<p>Developers of such apps have the quandary of needing to build on top of two different databases—a vector one and a graph one—plus you have to link them together and sync the data. Even then, your two databases aren't designed to work together—for example, there’s no native way to perform joins or queries that span both systems. You’ll need to handle that logic at the application level.<p>Helix started when we realized that there are ways to integrate vector and graph data that are both fast and suitable for AI applications, especially RAG-based ones. See this cool research paper: <a href="https://arxiv.org/html/2408.04948v1" rel="nofollow">https://arxiv.org/html/2408.04948v1</a>. After reading that and some other papers on graph and hybrid RAG, we decided to build a hybrid DB. Our aim was to make something better to use from a developer standpoint, while also making it fast as hell.<p>After a few months of working on this as a side project, our benchmarking shows that we are on par with Pinecone and Qdrant for vectors, and our graph is up to three orders of magnitude faster than Neo4j.<p>Problems where a hybrid approach works particularly well include:<p>- Indexing codebases: you can vectorize code-snippets within a function (connected by edges) based on context and then create an AST (in a graph) from function calls, imports, dependencies, etc. Agents can look up code by similarity or keyword and then traverse the AST to get only the relevant code, which reduces hallucinations and prevents the LLM from guessing object shapes or variable/function names.<p>- Molecule discovery: Model biological interactions (e.g., proteins → genes → diseases) using graph types and then embed molecule structures to find similar compounds or case studies.<p>- Enterprise knowledge management: you can represent organisational structure, projects, and people (e.g., employee → team → project) in graph form, then index internal documents, emails, or notes as vectors for semantic search and link them directly employees/teams/projects in the graph.<p>I naively assumed when learning about databases for the first time that queries would be compiled and executed like functions in traditional programming. Turns out I was wrong, but this creates unnecessary latency by sending extra data (the whole written query), compiling it at run time, and then executing it. With Helix, you write the queries in our query language (HelixQL), which is then transpiled into Rust code and built directly into the database server, where you can call a generated API endpoint.<p>Many people have a thing against “yet another query language” (doubtless for good reason!) but we went ahead and did it anyway, because we think it makes working with our database so much easier that it’s worth a bit of a learning curve. HelixQL takes from other query languages such as Gremlin, Cypher and SQL with some extra ideas added in. It is declarative while the traversals themselves are functional. This allows complete control over the traversal flow while also having a cleaner syntax. HelixQL returns JSON to make things easy for clients. Also, it uses a schema, so the queries are type-checked.<p>We took a crude approach to building the original graph engine as a way to get an MVP out, so we are now working on improving the graph engine by making traversals massively parallel and pipelined. This means data is only ever decoded from disk when it is needed, and parts of reads are all processed in parallel.<p>If you’d like to try it out in a simple RAG demo, you can follow this guide and run our Jupyter notebook: <a href="https://github.com/HelixDB/helix-db/tree/main/examples/rag_demo">https://github.com/HelixDB/helix-db/tree/main/examples/rag_d...</a><p>Many thanks! Comments and feedback welcome!

Show HN: Aberdeen – An elegant approach to reactive UIs

Yes, another reactive UI framework for JavaScript. Bear with me, please... :-)<p>I 'invented' the concept for this back in 2011, and it was used (as a proprietary lib) in various startups. Even though <i>many</i> similar open source libs have been released since, and boy have I tried a lot of them, none have been able to capture the elegance and DX of what we had back then. I might be biased though. :-)<p>So I started creating a cleaned-up, modern, TypeScript, open source implementation for the concept about five years ago. After many iterations, working on the project on and off, I'm finally happy with its API and the developer experience it offers. I'm calling it 1.0!<p>The concept: It uses many small, anonymous functions for emitting DOM elements, and automatically reruns them when their underlying proxied data changes. This proxied data can be anything from simple values to complex, typed, and deeply nested data structures.<p>As I'm currently free to spend my time on labors of love like this, I'm planning to expand the ecosystem around this to include synchronizing data with a remote server/database, and to make CRUD apps very rapid and perhaps even pleasurable to implement.<p>I've celebrated 1.0 by creating a tutorial with editable interactive examples! <a href="https://aberdeenjs.org/Tutorial/" rel="nofollow">https://aberdeenjs.org/Tutorial/</a><p>I would love to hear your feedback. The first few people to actually give Aberdeen a shot can expect fanatical support from me! :-)

Show HN: Hyvector – A fast and modern SVG editor

I have been working on Hyvector for the last five years and finally decided to present the result of my work.<p>Hyvector is an SVG editor that runs in all modern browsers. It is stable, very fast, and capable of handling complex SVG images.<p>Big new features like art strokes, vector tracing, colorizing are in the making, but for now the focus is on pushing a polished first release out of the door.<p>I would love to hear any feedback on what you like, missing features, or any bugs you encounter via our issue tracker: <a href="https://github.com/hyvectorapp/hyvector-issues">https://github.com/hyvectorapp/hyvector-issues</a><p>Note that while Hyvector should work on a phone, it is much more usable on a desktop computer or tablet.

Show HN: Using eBPF to see through encryption without a proxy

Hi HN, I'm Tyler Flint, one of the creators of qtap.<p>For a while now, my team and I at Qpoint.io have been grappling with the challenge of understanding what's actually happening inside the encrypted traffic leaving our production systems. Modern apps rely heavily on third-party APIs (think payment processors, data providers, etc.), but once TLS kicks in, figuring out exactly what data is being sent, identifying PII exposure, or debugging integration issues becomes incredibly difficult without resorting to complex and often brittle solutions.<p>Traditional approaches like forward proxies require terminating TLS (MITM), managing certificates, and often introduce performance bottlenecks or single points of failure. Network firewalls usually operate at L3/L4 and lack payload visibility. We felt there had to be a better way.<p>That's why we built qtap. It's a lightweight agent that uses eBPF to tap into network traffic at the kernel level. The key idea is to hook into common TLS libraries (like OpenSSL) before encryption and after decryption. This gives us deep visibility into the actual request/response payloads of HTTPS/TLS traffic without needing to terminate the connection or manage certs. Because it leverages eBPF, the performance impact is minimal compared to traditional methods.<p>With qtap, we can now see exactly which external services our apps are talking to, inspect the payloads for debugging or security auditing (e.g., spotting accidental PII leaks), monitor API performance/errors for third-party dependencies, and get a much clearer picture of our egress traffic patterns.<p>We've found this approach really powerful for improving reliability and security posture. We've packaged qtap as a Linux Binary, Docker container, and Helm chart for deployment.<p>This is still evolving, but we're excited about the potential of using eBPF for this kind of deep, yet non-intrusive, visibility.<p>We'd love to get the HN community's feedback:<p><pre><code> Do you face similar challenges monitoring encrypted egress traffic? What are your thoughts on using eBPF for this compared to other methods? Any suggestions or potential use cases we haven't considered? </code></pre> Happy to answer any questions!

Show HN: eInk optimized manga with Kindle Comic Converter (+Kobo/ReMarkable)

Kindle Comic Converter optimizes comics and manga for eink readers like Kindle, Kobo, ReMarkable, and more. Pages display in fullscreen without margins, with proper fixed layout support. Its main feature is various optional image processing steps to look good on eink screens, which have different requirements than normal LCD screens. It also does filesize optimization by downscaling to your specific device's screen resolution, which can improve performance on underpowered ereaders. Supported input formats include folders/CBZ/CBR/PDF of JPG/PNG files and more. Supported output formats include MOBI/AZW3, EPUB, KEPUB, and CBZ.<p>Hey everyone! I'm the current maintainer of KCC since 2023, thanks for using it! I’ve been reading manga on Kindle ever since I got the big 9.7” Kindle DX from 2010 using mangle, and upgraded to the even bigger 10.2” Kindle Scribe 2022 using KCC.<p>The biggest contributions I've made to KCC are:<p>- added modern macOS support and removed homebrew requirement - ported code to run on native Apple silicon M1 chip and later for a 2x speed boost (qt5->qt6) - free open source windows codesign with SignPath - fixed Kindle Scribe support - and tons of other various features and bug fixes and developer friendly changes - created a legacy Windows 7 build with 300+ downloads…<p>The biggest community PRs were:<p>- huge 2x speed boosts due to various CPU/IO optimizations - Kobo/Remarkable support<p>Enjoy using KCC and let me know if you have any questions!

Show HN: Clippy – 90s UI for local LLMs

Show HN: VectorVFS, your filesystem as a vector database

Show HN: Real-time AI Voice Chat at ~500ms Latency

Show HN: My AI Native Resume

I've been deeply involved in working with AI agents and large language models (LLMs) for a while now. During a recent job search, I found myself repeatedly explaining my skills and experiences to various assistants. Around the same time, I was creating content for my website to help hiring teams understand my capabilities better and make informed decisions.<p>MCP had started to gain momentum and I saw a way to reduce my toil. So I built an MCP server that can effectively communicate my qualifications as a job candidate. This server acts as an AI-powered resume, providing an understanding of my professional background and a set of tools, prompts and resources to help explore my skills and experiences.<p>The code is open source, so you can create your own AI-driven resume server. Check it out here: <a href="https://github.com/jhgaylor/node-candidate-mcp-server">https://github.com/jhgaylor/node-candidate-mcp-server</a>.<p>During my job search I paired my mcp server with others such as notion, hirebase, and gmail to build a leads database, write cover letters, and track my job search.

Show HN: My AI Native Resume

I've been deeply involved in working with AI agents and large language models (LLMs) for a while now. During a recent job search, I found myself repeatedly explaining my skills and experiences to various assistants. Around the same time, I was creating content for my website to help hiring teams understand my capabilities better and make informed decisions.<p>MCP had started to gain momentum and I saw a way to reduce my toil. So I built an MCP server that can effectively communicate my qualifications as a job candidate. This server acts as an AI-powered resume, providing an understanding of my professional background and a set of tools, prompts and resources to help explore my skills and experiences.<p>The code is open source, so you can create your own AI-driven resume server. Check it out here: <a href="https://github.com/jhgaylor/node-candidate-mcp-server">https://github.com/jhgaylor/node-candidate-mcp-server</a>.<p>During my job search I paired my mcp server with others such as notion, hirebase, and gmail to build a leads database, write cover letters, and track my job search.

Show HN: I taught AI to commentate Pong in real time

< 1 2 3 4 5 6 7 ... 141 142 143 >