🛠️ Hacker News Tools
Showing 461–480 of 1470 tools from Hacker News
Last Updated
January 17, 2026 at 08:00 PM
Show HN: Gerbil – an open source desktop app for running LLMs locally
Show HN (score: 34)[Other] Show HN: Gerbil – an open source desktop app for running LLMs locally Gerbil is an open source app that I've been working on for the last couple of months. The development now is largely done and I'm unlikely to add anymore major features. Instead I'm focusing on any bug fixes, small QoL features and dependency upgrades.<p>Under the hood it runs llama.cpp (via koboldcpp) backends and allows easy integration with the popular modern frontends like Open WebUI, SillyTavern, ComfyUI, StableUI (built-in) and KoboldAI Lite (built-in).<p>Why did I create this? I wanted an all-in-one solution for simple text and image-gen local LLMs. I got fed up with needing to manage multiple tools for the various LLM backends and frontends. In addition, as a Linux Wayland user I needed something that would work and look great on my system.
Xqerl – Erlang XQuery 3.1 Processor
Hacker News (score: 26)[Other] Xqerl – Erlang XQuery 3.1 Processor
Show HN: Tracking AI Code with Git AI
Show HN (score: 6)[Other] Show HN: Tracking AI Code with Git AI Git AI is a side project I created to track AI-generated code in our repos from development, through PRs, and into production. It does not just count lines, it keeps track of them as your code evolves, gets refactored and the git history gets rewritten.<p>Think 'git blame' but for AI code. There's a lot about how it works in the post, but wanted to share how it's been impacting me + my team:<p>- I find I review AI code very differently than human code. Being able to see the prompts my colleagues used, what the AI wrote, and where they stepped in to override has been extraordinarily helpful. This is still very manual today, but hope to build more UI around it soon.<p>- “Why is this here?” — more than once I’ve giving my coding agent access to the past prompts that generated code I’m looking at, which lets the Agent know what my colleague was thinking when they made the change. Engineers talk to AI all day now…their prompts are sort of like a log of thoughts :)<p>- I pay a lot of attention to the lines generated for every 1 accepted ratio. If it gets up over 4 or 5 it means I’m well outside the AI’s distribution or prompting poorly — either way, it’s a good cause for reflection and I’ve learned a lot about collaborating with LLMs.<p>This has been really fun to build, especially because some amazing contributors who were working on similar projects came together and directed their efforts towards Git AI shine. We hope you like it.
Run Nix Based Environments in Kubernetes
Hacker News (score: 32)[DevOps] Run Nix Based Environments in Kubernetes
Show HN: DroidDock – A sleek macOS app for browsing Android device files via ADB
Hacker News (score: 29)[Other] Show HN: DroidDock – A sleek macOS app for browsing Android device files via ADB Hi HN,<p>I’m Rajiv, a software engineer turned Math teacher living in the mountains, where I like to slow down life while still building useful software.<p>I recently built DroidDock, a lightweight and modern macOS desktop app that lets you browse and manage files on your Android device via ADB. After 12 years in software development, I wanted a free, clean, and efficient tool because existing solutions were either paid, clunky, or bloated.<p>Features include multiple view modes, thumbnail previews for images/videos, intuitive file search, file upload/download, and keyboard shortcuts. The backend uses Rust and Tauri for performance.<p>You can download the latest .dmg from the landing page here: <a href="https://rajivm1991.github.io/DroidDock/" rel="nofollow">https://rajivm1991.github.io/DroidDock/</a> Source code is available on GitHub: <a href="https://github.com/rajivm1991/DroidDock" rel="nofollow">https://github.com/rajivm1991/DroidDock</a><p>I’d appreciate your feedback on usability, missing features, or bugs. Thanks for checking it out!<p>— Rajiv
Show HN: Trilogy Studio, open-source browser-based SQL editor and visualizer
Hacker News (score: 10)[IDE/Editor] Show HN: Trilogy Studio, open-source browser-based SQL editor and visualizer SQL-first analytic IDE; similar to Redash/Metabase. Aims to solve reuse/composability at the code layer with modified syntax, Trilogy, that includes a semantic layer directly in the SQL-like language.<p>Status: experiment; feedback and contributions welcome!<p>Built to solve 3 problems I have with SQL as my primary iterative analysis language:<p>1. Adjusting queries/analysis takes a lot of boilerplate. Solve with queries that operate on the semantic layer, not tables. Also eliminates the need for CTEs.<p>2. Sources of truth change all the time. I hate updating reports to reference new tables. Also solved by the semantic layer, since data bindings can be updated without changing dashboards or queries.<p>3. Getting from SQL to visuals is too much work in many tools; make it as streamlined as possible. Surprise - solve with the semantic layer; add in more expressive typing to get better defaults;also use it to wire up automatic drilldowns/cross filtering.<p>Supports: bigquery, duckdb, snowflake.<p>Links [1] <a href="https://trilogydata.dev/" rel="nofollow">https://trilogydata.dev/</a> (language info)<p>Git links: [Frontend] <a href="https://github.com/trilogy-data/trilogy-studio-core" rel="nofollow">https://github.com/trilogy-data/trilogy-studio-core</a> [Language] <a href="https://github.com/trilogy-data/pytrilogy" rel="nofollow">https://github.com/trilogy-data/pytrilogy</a><p>Previously: <a href="https://news.ycombinator.com/item?id=44106070">https://news.ycombinator.com/item?id=44106070</a> (significant UX/feature reworks since) <a href="https://news.ycombinator.com/item?id=42231325">https://news.ycombinator.com/item?id=42231325</a>
Show HN: Valid8r, Functional validation for Python CLIs using Maybe monads
Show HN (score: 5)[Other] Show HN: Valid8r, Functional validation for Python CLIs using Maybe monads I built Valid8r because I got tired of writing the same input validation code for every CLI tool. You know the pattern: parse a string, check if it's valid, print an error if not, ask again. Repeat for every argument.<p>The library uses Maybe monads (Success/Failure instead of exceptions) so you can chain parsers and validators:<p><pre><code> # Try it: pip install valid8r from valid8r.core import parsers, validators # Parse and validate in one pipeline result = ( parsers.parse_int(user_input) .bind(validators.minimum(1)) .bind(validators.maximum(65535)) ) match result: case Success(port): print(f"Using port {port}") case Failure(error): print(f"Invalid: {error}") </code></pre> I built integrations for argparse, Click, and Typer so you can drop valid8r parsers directly into your existing CLIs without refactoring everything.<p>The interesting technical bit: it's 4-300x faster than Pydantic for simple parsing (ints, emails, UUIDs) because it doesn't build schemas or do runtime type checking. It just parses strings and returns Maybe[T]. For complex nested validation, Pydantic is still better. I benchmarked both and documented where each one wins.<p>I'm not trying to replace Pydantic. If you're building a FastAPI service, use Pydantic. But if you're building CLI tools or parsing network configs, Maybe monads compose really nicely and keep your code functional.<p>The docs are at <a href="https://valid8r.readthedocs.io/" rel="nofollow">https://valid8r.readthedocs.io/</a> and the benchmarks are in the repo. It's MIT licensed.<p>Would love feedback on the API design. Is the Maybe monad pattern too weird for Python, or does it make validation code cleaner?<p>---<p>Here are a few more examples showing different syntax options for the same port validation:<p><pre><code> from valid8r.core import parsers, validators # Option 1: Combine validators with & operator validator = validators.minimum(1) & validators.maximum(65535) result = parsers.parse_int(user_input).bind(validator) # Option 2: Use parse_int_with_validation (built-in) result = parsers.parse_int_with_validation( user_input, validators.minimum(1) & validators.maximum(65535) ) # Option 3: Interactive prompting (keeps asking until valid) from valid8r.prompt import ask port = ask( "Enter port number (1-65535): ", parser=lambda s: parsers.parse_int(s).bind( validators.minimum(1) & validators.maximum(65535) ) ) # port is guaranteed valid here, no match needed # Option 4: Create a reusable parser function def parse_port(text): return parsers.parse_int(text).bind( validators.minimum(1) & validators.maximum(65535) ) result = parse_port(user_input) </code></pre> The & operator is probably the cleanest for combining validators. And the interactive prompt is nice because you don't need to match Success/Failure, it just keeps looping until the user gives you valid input.
Building a CI/CD Pipeline Runner from Scratch in Python
Hacker News (score: 22)[Other] Building a CI/CD Pipeline Runner from Scratch in Python
Show HN: TidesDB – Fast, transactional storage optimized for flash and RAM
Show HN (score: 5)[Database] Show HN: TidesDB – Fast, transactional storage optimized for flash and RAM
Show HN: Pipeflow-PHP – Automate anything with pipelines even non-devs can edit
Hacker News (score: 10)[Other] Show HN: Pipeflow-PHP – Automate anything with pipelines even non-devs can edit Hello everyone,<p>I’ve been building [Pipeflow-php](<a href="https://github.com/marcosiino/pipeflow-php" rel="nofollow">https://github.com/marcosiino/pipeflow-php</a>), a PHP pipeline engine to automate anything — from content generation to backend and business logic workflows — using core modular stages and custom implemented stages (that can do anything), with the key power of using an easy to reason and read XML to define the pipeline logic, which every actor in a company, even non developers, can understand, maintain and edit.<p>It’s a *headless engine*: no UI is included, but it's designed to be easily wired into any backend interface (e.g. WordPress admin, CMS dashboard, custom panels), so *even non-developers can edit or configure the logic*.<p>It surely needs improvements, more core stages to be implemented and more features, but i'm already using it on two websites i've developed.<p>In future I plan to port it in other languages too.<p>Feedback (and even contributions) are appreciated :)<p>---<p>Why I built it<p>I run a site which every day, via a cron job:<p>- automatically generates and publish coloring pages using complex logics and with the support of the generative AI,<p>- picks categories and prompts based on logic defined in a pipeline,<p>- creates and publishes WordPress posts automatically, every day, without any human intervention.<p>All the logic is defined in an XML pipeline that's editable via wordpress admin panel (using a wordpress plugin I've developed, which also adds some wordpress related custom stages to Pipeflow). A non-dev (like a content manager) can adjust this automatic content generation logic, for example by improving it, or by changing the themes/categories during holidays — without touching PHP.<p>---<p>What Pipeflow does<p>- Define pipelines in *fluent PHP* or *simple, easy understandable XML (even by non developers), directly from your web app admin pages*<p>- Use control-flow stages like `If`, `ForEach`, `For`<p>- Execute pipelines manually, via cron, or on any backend trigger which adapts to your business logic<p>- Build your own UI or editor on top (from a simple text editor to a node based editor which outputs a compatible XML-based configuration to feed to pipeflow)<p>- Reuse modular “stages” (core and custom ones) across different pipelines
Visualize FastAPI endpoints with FastAPI-Voyager
Hacker News (score: 37)[Other] Visualize FastAPI endpoints with FastAPI-Voyager
Show HN: Serve 100 Large AI models on a single GPU with low impact to TTFT
Show HN (score: 5)[Other] Show HN: Serve 100 Large AI models on a single GPU with low impact to TTFT I wanted to build an inference provider for proprietary AI models, but I did not have a huge GPU farm. I started experimenting with Serverless AI inference, but found out that coldstarts were huge. I went deep into the research and put together an engine that loads large models from SSD to VRAM up to ten times faster than alternatives. It works with vLLM, and transformers, and more coming soon.<p>With this project you can hot-swap entire large models (32B) on demand.<p>Its great for:<p>Serverless AI Inference<p>Robotics<p>On Prem deployments<p>Local Agents<p>And Its open source.<p>Let me know if anyone wants to contribute :)
[Other] Show HN: OtterLang – Pythonic scripting language that compiles to native code Hey HN! I’ve been building OtterLang, a small experimental scripting language designed to feel like Python but compile down to native binaries through LLVM.<p>The goal isn’t to reinvent Python or Rust, but to find a middle ground between them:<p>Python-like readability and syntax Rust-level performance and type safety Fast builds and transparent Rust FFI (you can directly import Rust crates without writing bindings)<p>OtterLang is still early and very experimental. the compiler, runtime, and FFI bridge are being rewritten frequently.<p>Please star the repo, and contribute to help this project.
Debugging BeagleBoard USB boot with a sniffer: fixing omap_loader on modern PCs
Hacker News (score: 39)[Other] Debugging BeagleBoard USB boot with a sniffer: fixing omap_loader on modern PCs
Show HN: I built a website to visualize company financial data
Show HN (score: 5)[Other] Show HN: I built a website to visualize company financial data Hi HN, I built a website myfinsight.com that aims to make complicated company financials easy to understand.<p>The problem: The go-to place for financial data such as revenue, sales, net income is Yahoo finance. However, their data is usually wrong and very limited. The numbers are hard to digest to get insight quickly. There are also numerous websites that provide much better data for a very expensive monthly fee.<p>Solution: a website that provides free diagrams and charts that visualize important financial data, such as income growth rate by date, revenue breakdown etc. It is free because the financial data process is highly automated without manual input and correction.<p>I used to send the finance infographics to friends and family. I found it easier just to make a website and they can grab the data from it.<p>Next steps: there is a long tail of companies that don’t file their reports correctly. I am trying to make it more accurate somehow, and maybe add live stock prices to the website. I am also looking for feedback! Please play around with it and let me know if something is wrong.
Marko – A declarative, HTML‑based language that makes building web apps fun
Hacker News (score: 40)[Other] Marko – A declarative, HTML‑based language that makes building web apps fun
Show HN: Easily reduce GitHub Actions costs with Ubuntu-slim migration
Show HN (score: 5)[CLI Tool] Show HN: Easily reduce GitHub Actions costs with Ubuntu-slim migration Hi, HN!<p>I've been running GitHub Actions workflows for a while, and when GitHub announced ubuntu-slim runners as a cheaper alternative to ubuntu-latest, I wanted to migrate. (Blog: <a href="https://github.blog/changelog/2025-10-28-1-vcpu-linux-runner-now-available-in-github-actions-in-public-preview/" rel="nofollow">https://github.blog/changelog/2025-10-28-1-vcpu-linux-runner...</a>)<p>But manually checking which workflows can safely migrate is tedious—you need to check for Docker usage, services, containers, execution times, and missing commands.<p>So I built gh-slimify, a GitHub CLI extension that automates this. It scans your workflows, detects migration candidates, checks for incompatible patterns, identifies missing commands, and can safely update workflows with one command.<p>Try it: gh extension install fchimpan/gh-slimify gh slimfy # Scan workflows gh slimfy fix # Update safe jobs only<p>Open source (MIT). I'd love feedback on how to improve it or what edge cases I might have missed.
Show HN: I built an HTTP client that perfectly mimics Chrome 142
Show HN (score: 7)[Other] Show HN: I built an HTTP client that perfectly mimics Chrome 142 BoringSSL and nghttp2. Matches JA3N, JA4, and JA4_R fingerprints. Supports HTTP/2, async/await, and works with Cloudflare-protected sites. Not trying to compete with curl_cffi - just a learning project that turned into something functional.
Immutable Software Deploys Using ZFS Jails on FreeBSD
Hacker News (score: 57)[Other] Immutable Software Deploys Using ZFS Jails on FreeBSD
Valdi – A cross-platform UI framework
Hacker News (score: 313)[Other] Valdi – A cross-platform UI framework