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

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