π οΈ Hacker News Tools
Showing 661–680 of 1474 tools from Hacker News
Last Updated
January 18, 2026 at 12:00 PM
Show HN: Halloy β the modern IRC client I hope will outlive me
Hacker News (score: 141)[Other] Show HN: Halloy β the modern IRC client I hope will outlive me I started working on Halloy back in 2022, with the goal of giving something back to the community Iβve been a part of for the past two decades. I wanted to create a modern, multi-platform IRC client written in Rust.<p>Three years later, Iβve made new friends who have become core contributors, and there are now over 200 people idling in our #halloy channel on Libera.<p>My hope is that this client will outlive me and that IRC will live on.
Show HN: Wispbit - Linter for AI coding agents
Hacker News (score: 21)[Code Quality] Show HN: Wispbit - Linter for AI coding agents Hey HN! Ilya and Nikita here. We're building wispbit (<a href="https://wispbit.com" rel="nofollow">https://wispbit.com</a>) - a tool that helps keep codebase standards alive.<p>With the help of AI coding tools, engineers are writing more code than ever. Code output has increased, but the tooling to manage this hasn't improved. Background agents still write bad code, and your IDE still writes slop without the right context.<p>So we built wispbit. It works by scanning your codebase for patterns you already use, and coming up with rules. Rules are kept up to date as standards change, and you can edit rules any time.<p>You can enforce these rules during code review, and because we have this rules system, you can run a CLI locally to review using these rules. You can think of it as a portable rules file that you can bring anywhere.<p>We put a lot of work into making a system that produces good rules and avoids slop. For repository crawling, we have an agent that dispatches subagents, similar to Anthropic's research agent. These subagents will go through and look for common patterns within modules and directories, and report back to the main agent, which synthesizes the results. We also do a historical scan on your pull request comments, determine which ones were addressed, filter out comments that wouldn't make a good rule, and use that to create or update rules.<p>Our early users are seeing 80%+ resolution rates, meaning that 80% of comments that wispbit makes are resolved.<p>Long-term, we see ourselves being a validation layer for AI-written code. With tools like Devin and Cursor, we find ourselves having to re-prompt the same solution many times. We still don't know the long-term implications on AI-assisted codebases, so we want to get in front of that as soon as possible.<p>We've opened up signups for free to HN folks at <a href="https://wispbit.com" rel="nofollow">https://wispbit.com</a>. We're also around to chat and answer questions!
Show HN: An open source access logs analytics script to block bot attacks
Hacker News (score: 16)[Other] Show HN: An open source access logs analytics script to block bot attacks This is a small PoC Python project for web server access logs analyzing to classify and dynamically block bad bots, such as L7 (application-level) DDoS bots, web scrappers and so on.<p>We'll be happy to gather initial feedback on usability and features, especialy from people having good or bad experience wit bots.<p>*Requirements*<p>The analyzer relies on 3 Tempesta FW specific features which you still can get with other HTTP servers or accelerators:<p>1. JA5 client fingerprinting (<a href="https://tempesta-tech.com/knowledge-base/Traffic-Filtering-by-Fingerprints/" rel="nofollow">https://tempesta-tech.com/knowledge-base/Traffic-Filtering-b...</a>). This is a HTTP and TLS layers fingerprinting, similar to JA4 (<a href="https://blog.foxio.io/ja4%2B-network-fingerprinting" rel="nofollow">https://blog.foxio.io/ja4%2B-network-fingerprinting</a>) and JA3 fingerprints. The last is also available in Envoy (<a href="https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/listener/tls_inspector/v3/tls_inspector.proto.html" rel="nofollow">https://www.envoyproxy.io/docs/envoy/latest/api-v3/extension...</a>) or Nginx module (<a href="https://github.com/fooinha/nginx-ssl-ja3" rel="nofollow">https://github.com/fooinha/nginx-ssl-ja3</a>), so check the documentation for your web server<p>2. Access logs are directly written to Clickhouse analytics database, which can cunsume large data batches and quickly run analytic queries. For other web proxies beside Tempesta FW, you typically need to build a custom pipeline to load access logs into Clickhouse. Such pipeliens aren't so rare though.<p>3. Abbility to block web clients by IP or JA5 hashes. IP blocking is probably available in any HTTP proxy.<p>*How does it work*<p>This is a daemon, which<p>1. Learns normal traffic profiles: means and standard deviations for client requests per second, error responses, bytes per second and so on. Also it remembers client IPs and fingerprints.<p>2. If it sees a spike in z-score (<a href="https://en.wikipedia.org/wiki/Standard_score" rel="nofollow">https://en.wikipedia.org/wiki/Standard_score</a>) for traffic characteristics or can be triggered manually. Next, it goes in data model search mode<p>3. For example, the first model could be top 100 JA5 HTTP hashes, which produce the most error responses per second (typical for password crackers). Or it could be top 1000 IP addresses generating the most requests per second (L7 DDoS). Next, this model is going to be verified<p>4. The daemon repeats the query, but for some time, long enough history, in the past to see if in the past we saw a hige fraction of clients in both the query results. If yes, then the model is bad and we got to previous step to try another one. If not, then we (likely) has found the representative query.<p>5. Transfer the IP addresses or JA5 hashes from the query results into the web proxy blocking configuration and reload the proxy configuration (on-the-fly).
Optimizing writes to OLAP using buffers (ClickHouse, Redpanda, MooseStack)
Hacker News (score: 19)[Other] Optimizing writes to OLAP using buffers (ClickHouse, Redpanda, MooseStack)
SmolBSD β build your own minimal BSD system
Hacker News (score: 88)[Other] SmolBSD β build your own minimal BSD system
Show HN: Metorial (YC F25) β Vercel for MCP
Show HN (score: 42)[API/SDK] Show HN: Metorial (YC F25) β Vercel for MCP Hey HN! We're Wen and Tobias, and we're building Metorial (<a href="https://metorial.com">https://metorial.com</a>), an integration platform that connects AI agents to external tools and data using MCP.<p>The Problem: While MCP works great locally (e.g., Cursor or Claude Desktop), server-side deployments are painful. Running MCP servers means managing Docker configs, per-user OAuth flows, scaling concurrent sessions, and building observability from scratch. This infrastructure work turns simple integrations into weeks of setup.<p>Metorial handles all of this automatically. We maintain an open catalog of ~600 MCP servers (GitHub, Slack, Google Drive, Salesforce, databases, etc.) that you can deploy in three clicks. You can also bring your own MCP server or fork existing ones.<p>For OAuth, just provide your client ID and secret and we handle the entire flow, including token refresh. Each user then gets an isolated MCP server instance configured with their own OAuth credentials automatically.<p>What makes us different is that our serverless runtime hibernates idle MCP servers and resumes them with sub-second cold starts while preserving the state and connection. Our custom MCP engine is capable of managing thousands of concurrent connections, giving you a scalable service with per-user isolation. Other alternatives either run shared servers (security issues) or provision separate VMs per user (expensive and slow to scale).<p>Our Python and TypeScript SDKs let you connect LLMs to MCP tools in a single function call, abstracting away the protocol complexity. But if you want to dig deep, you can just use standard MCP and our REST API (<a href="https://metorial.com/api">https://metorial.com/api</a>) to connect to our platform.<p>You can self-host (<a href="https://github.com/metorial/metorial" rel="nofollow">https://github.com/metorial/metorial</a>) or use the managed version at <a href="https://metorial.com">https://metorial.com</a>.<p>So far, we see enterprise teams use Metorial to have a central integration hub for tools like Salesforce, while startups use it to cut weeks of infra work on their side when building AI agents with integrations.<p>Demo video: <a href="https://www.youtube.com/watch?v=07StSRNmJZ8" rel="nofollow">https://www.youtube.com/watch?v=07StSRNmJZ8</a><p>Our Repos: Metorial: <a href="https://github.com/metorial/metorial" rel="nofollow">https://github.com/metorial/metorial</a>, MCP Containers: <a href="https://github.com/metorial/mcp-containers" rel="nofollow">https://github.com/metorial/mcp-containers</a><p>SDKs: Node/TypeScript: <a href="https://github.com/metorial/metorial-node" rel="nofollow">https://github.com/metorial/metorial-node</a>, Python: <a href="https://github.com/metorial/metorial-python" rel="nofollow">https://github.com/metorial/metorial-python</a><p>We'd love to hear feedback, especially if you've dealt with deploying MCP at scale!
Show HN: Daily install trends of AI coding extensions in VS Code
Show HN (score: 17)[Other] Show HN: Daily install trends of AI coding extensions in VS Code For the past 4 years, I've been tracking the install counts of AI coding extensions in the Visual Studio Code marketplace (GitHub Copilot, Claude Code, OpenAI Codex, etc.)<p>Today, I built an interactive dashboard that lets you see daily install counts for any of them over time.<p>The chart shows GitHub Copilot by default, and you can overlay or swap in any of the other 20+ tools to compare. You can also see important dates in each tool's history (pricing changes, major releases, etc.) and how daily installs changed around those dates.<p>Important caveats:<p>1) This only tracks VS Code extension installs, not CLI usage or other IDEs like JetBrains.<p>2) Cursor isn't included since it's a standalone editor (VS Code fork), not a marketplace extension. I added a second chart showing Cursor discussion forum activity as a proxy for its growth.<p>Obviously not apples to apples, but felt I needed to measure Cursor's growth somehow.<p>3) This tracks daily installs per day, NOT total installs. Otherwise the charts would be boring and always go to the top and right.<p>4) The dashboard was coded using an AI coding assistant too. I used regular Claude :)
Show HN: docker/model-runner β an open-source tool for local LLMs
Show HN (score: 16)[Other] Show HN: docker/model-runner β an open-source tool for local LLMs Hey Hacker News,<p>We're the maintainers of docker/model-runner and wanted to share some major updates we're excited about.<p>Link: <a href="https://github.com/docker/model-runner" rel="nofollow">https://github.com/docker/model-runner</a><p>We are rebooting the community:<p><a href="https://www.docker.com/blog/rebooting-model-runner-community/" rel="nofollow">https://www.docker.com/blog/rebooting-model-runner-community...</a><p>At its core, model-runner is a simple, backend-agnostic tool for downloading and running local large language models. Think of it as a consistent interface to interact with different model backends. One of our main backends is llama.cpp, and we make it a point to contribute any improvements we make back upstream to their project. It also allows people to transport models via OCI registries like Docker Hub. Docker Hub hosts our curated local AI model collection, packaged as OCI Artifacts and ready to run. You can easily download, share, and upload models on Docker Hub, making it a central hub for both containerized applications and the next wave of generative AI.<p>We've been working hard on a few things recently:<p>- Vulkan and AMD Support: We've just merged support for Vulkan, which opens up local inference to a much wider range of GPUs, especially from AMD.<p>- Contributor Experience: We refactored the project into a monorepo. The main goal was to make the architecture clearer and dramatically lower the barrier for new contributors to get involved and understand the codebase.<p>- It's Fully Open Source: We know that a project from Docker might raise questions about its openness. To be clear, this is a 100% open-source, Apache 2.0 licensed project. We want to build a community around it and welcome all contributions, from documentation fixes to new model backends.<p>- DGX Spark day-0 support, we've got it!<p>Our goal is to grow the community. We'll be here all day to answer any questions you have. We'd love for you to check it out, give us a star if you like it, and let us know what you think.<p>Thanks!
ADS-B Exposed
Hacker News (score: 288)[Other] ADS-B Exposed <a href="https://github.com/ClickHouse/adsb.exposed/" rel="nofollow">https://github.com/ClickHouse/adsb.exposed/</a><p><i>Show HN: ADS-B visualizer</i> - <a href="https://news.ycombinator.com/item?id=39990346">https://news.ycombinator.com/item?id=39990346</a> - April 2024 (76 comments)
Show HN: FFTN, faster than FFTW in 700 lines of C
Show HN (score: 5)[Other] Show HN: FFTN, faster than FFTW in 700 lines of C I am playing around with using arrays of arbitrary dimension as framework for designing FFT implementations, as opposed to the more classical approach of tensor products and butterflies (too complicated in my opinion).<p>It turns out, that with a modern compiler, you do not need much complexity to make a really fast implementation. This implementation is for powers of 2, and optimized for arrays that do not fit in cache. I do think it would be better to use a higher-level language to implement other cases (e.g. n = 2^a * 3^b * 5^c, multiple small FFTs, higher-dimensional), so I am currently working on getting the SaC-compiler to generate this code.
Show HN: I made a calculator that works over disjoint sets of intervals
Show HN (score: 5)[Other] Show HN: I made a calculator that works over disjoint sets of intervals I've been studying interval arithmetic for the past few weeks and it's a really interesting field because while there is a ton of super interesting research published over the past decades, it has never really gotten the recognition that it deserves, IMO.<p>One reason for this is that standard interval arithmetic has really poor handling of division by intervals containing zero. If you compute 1 / [-1, 2] in regular interval arithmetic, you get either [-β, +β], or you have to say that the operation is undefined. Both solutions are virtually useless. The real answer of course is [-β, -1] U [0.5, +β]: i.e. a union of two disjoint intervals.<p>This is useful because you can confidently exclude a non empty set of the real numbers ([-1, 0.5]) from the set of possible values that you can get by dividing 1 by a number between -1 and 2.<p>But this definition of interval division yields a value that is not an interval. This is a problem if you want to define a closed arithmetic system, where you can build and evaluate arbitrary expression over interval values.<p>(This behavior extends to any non continuous function like tan() for example, which is implemented in my project - not without difficulties!)<p>Well the obvious solution is to define your arithmetic over disjoint unions of intervals. This is the subject of a 2017 paper called "Interval Unions" by by Schichl, H., Domes, F., Montanher, T. and Kofler, K..<p>This open-source project I made implements interval union arithmetic in TypeScript in the form of a simple interactive calculator, so you can try it out for yourself! The underlying TypeScript library is dependency free and implements interval union arithmetic over IEEE 754 double precision floats (JS native number type) with outward rounding. This guarantees accuracy of interval results in the presence of rounding issue inherent to floating point.
Show HN: Local Browser AI
Show HN (score: 7)[Other] Show HN: Local Browser AI Using the new Prompt API to build a free open source privacy-first chat extension that runs on Chrome or Edge on Linux, Mac, Windows and ChromeOS
Show HN: Run PyTorch locally with a remote GPU backend
Show HN (score: 5)[Other] Show HN: Run PyTorch locally with a remote GPU backend I integrated a remote GPU execution backend into PyTorch through the same system that custom hardware accelerators get integrated into PyTorch. You can create a remote machine and obtain its CUDA device whenever you want to create or move tensors onto the remote GPU.<p><pre><code> machine = mycelya_torch.RemoteMachine("modal", "A100") cuda_device = machine.device("cuda") x = torch.randn(1000, 1000, device=cuda_device) y = torch.randn(1000, 1000).to(cuda_device) </code></pre> I made it reasonably performant by having most operations dispatch asynchronously whenever possible. For cases where slow performance is unavoidable such as uploading many GB of weights onto the GPU, I added a decorator that can be applied to functions to turn it into a remotely executed function. For the most part, the function should behave the same with or without the decorator; the main difference is whether the function code is executed locally or remotely.<p><pre><code> import mycelya_torch from transformers import AutoModelForCausalLM, AutoTokenizer @mycelya_torch.remote def load_model(model_name: str): tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype="auto", device_map="auto" ) return model, tokenizer </code></pre> You can only use it with Modal as the cloud provider right now, and it's free to use with their free monthly credits. I appreciate any feedback and bug reports :)
[Other] Show HN: Hyprvoice β Voice-Powered Typing for Wayland/Hyprland (No X11 Hacks) I built Hyprvoice, a small tool that lets you type with your voice on Wayland β no X11, no kludgy bridges. Press a key, talk, and your words appear wherever your cursor is.<p>Itβs written in Go, uses PipeWire for audio, and talks directly to the compositor. The workflow is simple:<p>press key β start recording<p>press again β stop and inject text<p>Notifications show recording/transcribing states, and it works with multiple backends β currently OpenAI Whisper, with whisper.cpp (local/offline) in progress.<p>Everything runs through a lightweight daemon with IPC over a unix socket. Text injection uses wl-clipboard + wtype with clipboard restore fallback.<p>Install (Arch/AUR):<p>yay -S hyprvoice-bin systemctl --user enable --now hyprvoice.service<p>Then add something like this to Hyprland:<p>bind = SUPER, R, exec, hyprvoice toggle<p>Repo: <a href="https://github.com/leonardotrapani/hyprvoice" rel="nofollow">https://github.com/leonardotrapani/hyprvoice</a><p>Itβs beta but fully usable. Iβd love feedback, especially from people running Wayland full-time or maintaining compositors.
Show HN: AI toy I worked on is in stores
Hacker News (score: 125)[Other] Show HN: AI toy I worked on is in stores Alt link: <a href="https://mrchristmas.com/products/santas-magical-telephone" rel="nofollow">https://mrchristmas.com/products/santas-magical-telephone</a><p>Video demo: <a href="https://www.youtube.com/watch?v=0z7QJxZWFQg" rel="nofollow">https://www.youtube.com/watch?v=0z7QJxZWFQg</a><p>The first time I talked with AI santa and it responded with a joke I was HOOKED. The fun/nonsense doesn't click until you try it yourself. What's even more exciting is you can build it yourself:<p>libpeer: <a href="https://github.com/sepfy/libpeer" rel="nofollow">https://github.com/sepfy/libpeer</a><p>pion: <a href="https://github.com/pion/webrtc" rel="nofollow">https://github.com/pion/webrtc</a><p>Then go do all your fun logic in your Pion server. Connect to any Voice AI provider, or roll your own via Open Source. Anything is possible.<p>If you have questions or hit any roadblocks I would love to help you. I have lots of hardware snippets on my GitHub: <a href="https://github.com/sean-der" rel="nofollow">https://github.com/sean-der</a>.
Show HN: Vello's high-performance 2D GPU engine to .NET
Show HN (score: 5)[Other] Show HN: Vello's high-performance 2D GPU engine to .NET VelloSharp v0.5.0-alpha.1 is now available, delivering Velloβs high-performance 2D GPU engine to .NET atop the wgpu 3D backend. Integrates cleanly with Avalonia, WPF, and WinForms to modernize rendering pipelines without disruptive rewrites.
A Guide for WireGuard VPN Setup with Pi-Hole Adblock and Unbound DNS
Hacker News (score: 15)[Other] A Guide for WireGuard VPN Setup with Pi-Hole Adblock and Unbound DNS
[Other] Show HN: Rebuilt Bible search app to run 100% client-side with Transformers.js I rebuilt Biblos, my semantic Bible search app, to run entirely in your browser. No more server costs. The main challenge was fitting an accurate text embedding model into browsers. Last year's version cost $20 monthly to host. The new version runs free on Vercel and searches 31k Bible verses without sending data to any server.<p>I pre-compute embeddings for all 31,000 Bible verses offline using BGE-large-en-v1.5. Each verse becomes a 1024-dimensional vector stored as JSON, compressed into ZIP files by book. When you visit the site, your browser downloads Transformers.js and the BGE model.<p>The model generates an embedding for your query, then finds similar verses using cosine similarity against the cached embeddings. Everything happens in your browser.<p>The app is designed to search Bible verses by semantic meaning, not just keywords. There's a separate tab to read daily passages with church fathers commentary from 15+ sources, based on a read the bible in a year plan.<p>Free to use, no sign-in features or anything like that. Try it out biblos.app. I'd appreciate feedback on the search experience, especially on mobile devices! Happy to discuss the technical details or help anyone building similar browser-based ML applications.
Tangled, a Git collaboration platform built on atproto
Hacker News (score: 94)[Other] Tangled, a Git collaboration platform built on atproto
Show HN: Modeling the Human Body in Rust So I Can Cmd+Click Through It
Show HN (score: 40)[Other] Show HN: Modeling the Human Body in Rust So I Can Cmd+Click Through It I started this trying to understand two things: why my Asian friends turn red after drinking, and why several friends all seemed to have migraine clusters.<p>I was reading medical papers and textbooks, but kept getting lost jumping between topics. I thought: what if I could just Cmd+Click through this like code? What if "ALDH2 gene" was actually clickable, and took me to the variant, the phenotype, the population frequencies?<p>So I started modeling human biology in Rust with my Ralph agent (Claude in a loop, ty ghuntley). Turns out the type system is perfect for this. Every biological entity is strongly-typed with relationships enforced at compile time.<p>After 1 day of agent coding: - 277 Rust files, ~95k lines of code - 1,561 tests passing - 13 complete organ systems - Genetics with ancestry-specific variants - Clinical pathology models<p>Try it:<p>git clone <a href="https://github.com/lantos1618/open_human_ontology" rel="nofollow">https://github.com/lantos1618/open_human_ontology</a> cd open_human_ontology cargo run --example ide_navigation_demo<p>Then open `examples/ide_navigation_demo.rs` and Cmd+Click through:<p>Understanding Asian flush:<p>AsianGeneticVariantsCatalog::get_metabolic_variants()<p>// Click through to:<p>// β ALDH2 gene on chromosome 12q24.12<p>// β rs671 variant (Glu504Lys)<p>// β 40% frequency in Japanese population<p>// β Alcohol flush reaction<p>// β 10x esophageal cancer risk with alcohol<p>// β Acetaldehyde metabolism pathway<p>Understanding migraines: Migraine { subtype: WithAura, triggers: [Stress, LackOfSleep, HormonalChanges], genetic_variants: ["rs2075968", "rs1835740"], ... }<p>// Click through to:<p>// β 17 migraine trigger types<p>// β 12 aura symptom types<p>// β Genetic risk factors<p>// β Why clusters happen (HormonalChanges β Menstruation)<p>Now I can actually <i>navigate</i> the connections instead of flipping through PDFs. Heart β CoronaryArtery β Plaque. VisualCortex β 200M neurons β NeuralConnection pathways. It's like Wikipedia but type-checked and with jump-to-definition.<p>This isn't production medical software - it's a learning tool. But it's way more useful than textbooks for understanding how biological systems connect.<p>The agent keeps expanding it. Sometimes it OOMs but that's part of the fun.<p>Tech: Rust, nalgebra, serde, rayon, proptest<p>I am not a dr or medical professional this is for my education you can commit to it if you want to or review and open some PR's if you find wrong information or want to add references.