Monday, 25 August 2025

Sunday, 24 August 2025

Show HN: Timep – A next-gen profiler and flamegraph-generator for bash code https://bit.ly/4mtIzpx

Show HN: Timep – A next-gen profiler and flamegraph-generator for bash code Note: this is an update to [this]( https://bit.ly/4eLA2eA ) "Show HN" post. timep is a state-of-the-art [debug-]trap-based bash profiler that is efficient and extremely accurate. Unlike other profilers, timep records: 1. per-command wall-clock time 2. per-command CPU time, and 3. the hierarchy of parent function calls /subshells for each command the wall-clock + CPU time combination allows you to determine if a particular command is CPU-bound or IO-bound, and the hierarchical logging gives you a map of how the code actually executed. The standout feature of timep is that it will take these records and automatically generate a bash-native flamegraph (that shows bash commands, not syscalls). ------------------------------------------------ USAGE timep is extremely easy to use - just source the `timep.bash` file from the repo and add "timep" in front of whatever you want to profile. for example: . /path/to/timep.bash timep ./some_script echo "stdin" | timep some_function ZERO changes need to be made to the code being profiled! ------------------------------------------------ EXAMPLES [test code that will be profiled]( https://bit.ly/4fVSf9Z... ) [output profile for that test code]( https://bit.ly/3HFEWhe... ) [flamegraph for that test code]( https://bit.ly/4mtIAd5... ) [flamegraph from a "real world" test of "forkrun", a parallelization engine written in bash]( https://bit.ly/47IXiZ8... ) In the "forkrun test", 13 different checksums were computed for ~670k small files on a ramdisk using 28 parallel workers. this was repeated twice. In total, this test ran around 67,000 individual bash commands. [This is its `perf stat` (without timep)]( https://bit.ly/4fYaJH2... ). ------------------------------------------------ EFFICIENCY AND ACCURACY The forkrun test (see "examples" section above) was basically as demanding of a workload as one can have in bash. it fully utilized 24.5 cores on a 14c/28t i9-7940x CPU, racking up >840 seconds of CPU time in ~34.5 seconds of wall-clock time. When profiling this group of 67,000 commands with timep: 1. the time it took for the code to run with the debug-trap instrumentation was ~38 seconds, an increase of just slightly over 10%. CPU time had a similiar increase. 2. the time profile was ready at +2 minutes (1 minute + 15 seconds after the profiling run finished) 3. the flamegraphs were ready at +5 minutes (4 minute + 15 seconds after the profiling run finished) Note that timep records both "start" and "stop" timestamps for every command, and the debug trap instrumentation runs between one commands "stop" timestamp and the next commands "start" timestamp, meaning the error in the profiles timings is far less than the 10% overhead. Comparing the total (sys+user) CPU time that perf stat gave (without using timep) and the CPU time timep gives (from summing together the CPU time of all 67,000-ish commands), the difference is virtually always less than 0.5%, and often less than 0.2%. Ive seen as low as 0.04%, which is 1/3 of a second on a run that took ~850 seconds of CPU time. ------------------------------------------------ MAJOR CHANGES SINCE THE LAST "SHOW HN" POST 1. CPU time is now recorded too (instead of just wall-clock time). This is done via a loadable builtin that calls `getrusage` and (if available) `clock_gettime` to efficiently and accurate determine the CPU time of the process and all its descendants. 2. the .so file required to use the loadable builtin mentioned in #1 is built directly into the script has an embedded compressed base64 sequence. I also developed the bash-native compression scheme that it uses. The .so files for x86_64, aarch64, ppc64le and i686 are all included. Im hoping to add arm7 soon as well. the flamegraph generator perl script is also embedded, making the script 100% fully self-contained. NOTE: these embedded base64 strings include both sha256 and md5 checksums of the resulting .so file that are verified on extraction. 3. the flamegraph generation has been completely overhauled. The flamegraphs now a) are colored based on runtime (hot colors = longer runtime), b) desaturate colors for commands where cpu time << wall-clock time (e.g., blocking reads, sleep, wait, ...), and c) use a runtime-weighted CDF color mapping that ensures, regardless of the distribution of the underlying data, that the resulting flamegraph has a roughly equal amount of each color in the colorspace (where "equal" means "the same number of pixels are showing each color"). timep also combines multiple flamegraphs (that show wallclock time vs cpu time and that us the full vs folded set of traces) by vertically stacking them into a single SVG image, giving "dual stack" and "quad stack" flamegraphs. 4. the post-processing workflow has been basically completely re-written, making it more robust, easier to understand/maintain, and much faster. The "forkrun" test linked above (that ran 67,000 commands) previously took ~20 minutes. With the new version, you can get a profile in 2 minutes or a profile + flamegraph in 5 minutes - a 4x to 10x speedup! https://github.com/jkool702/timep August 25, 2025 at 06:17AM

Show HN: Decentralized Bitcoin Incentives via QR Codes https://bit.ly/4g0UwAQ

Show HN: Decentralized Bitcoin Incentives via QR Codes DT7-QR Rewards System – (Open Source Proposal) https://bit.ly/4oSya8m August 25, 2025 at 02:52AM

Show HN: FilterQL – A tiny query language for filtering structured data https://bit.ly/4n3qzCt

Show HN: FilterQL – A tiny query language for filtering structured data Hey all, I just released v2.0.0 of FilterQL, a query language and TypeScript library. This version adds support for Operations, which allow you to transform the data after filtering. If you think this would be useful in a project you're working on, give it a try and let me know what you think! https://bit.ly/4lKOPrV August 24, 2025 at 07:55PM

Saturday, 23 August 2025

Show HN: LoadGQL – a CLI for load-testing GraphQL endpoints https://bit.ly/4mwFNQD

Show HN: LoadGQL – a CLI for load-testing GraphQL endpoints Hi HN I’ve been working with GraphQL for a while and always felt the tooling around load testing was lacking. Most tools either don’t support GraphQL natively, or they require heavy setup/config. So I built *LoadGQL* — a single-binary CLI (written in Go) that lets you quickly stress-test a GraphQL endpoint. *What it does today (v1.0.0):* - Run queries against any GraphQL endpoint (no schema parsing required) - Reports median & p95 latency, throughput (RPS), and error rate - Supports concurrency, duration, and custom headers - Minimal and terminal-first by design *Roadmap:* p50/p99 latency, output formats (JSON/CSV), multiple query files. Landing page: [ https://bit.ly/3Vds2Kq ]( https://bit.ly/3Vds2Kq ) I’d love feedback from the HN community: - What metrics matter most to you for GraphQL performance? - Any sharp edges you’d expect in a GraphQL load tester? Thanks for checking it out! https://bit.ly/3Vds2Kq August 24, 2025 at 02:30AM

Show HN: I built aibanner.co to stop spending hours on marketing banners https://bit.ly/3Veyzo2

Show HN: I built aibanner.co to stop spending hours on marketing banners https://bit.ly/3VeyzEy August 24, 2025 at 01:27AM

Friday, 22 August 2025

Show HN: HypeVortex: Combining Crypto and AI in the stupidest way possible https://bit.ly/4mP75kE

Show HN: HypeVortex: Combining Crypto and AI in the stupidest way possible I work at a so called "hyperscaler" in billing and invoicing and learned that LLM use is metered and billed in "tokens". I had never really used LLMs at the time. Now that I do (including to make this site, with heavy oversight), this is obvious because they all tell you how many tokens some query is using. This reminded me of "Token Mania" of 2020-2021 so I decided to combine the two concepts in an absolutely useless way - enter the HypeVortex. I made a token on Polygon (contract here: https://bit.ly/4mP75Ba... ). This token CANNOT be exchanged, it can only go from me to users and back to me. It's worthless. You login with email (sorry), and get a code emailed to you (again, sorry). Then a wallet is made for you, you claim HypeVortex tokens and spend them on AI. Your email is stored as a hash, I don't know what it is and I can't see what anyone does. All in a geocities style page. With midi. I have no profit motive here, it's entirely silly fun. For those of you born early 90s and before, I hope you have some nostalgic fun with it. sign the guestbook! it actually works! https://bit.ly/4mZSB1z August 23, 2025 at 02:51AM

Show HN: JavaScript-free (X)HTML Includes https://bit.ly/47F6sWE

Show HN: Lumo – a tiny fluffy virtual pet you can play with in the browser https://bit.ly/45LvqRs

Show HN: Lumo – a tiny fluffy virtual pet you can play with in the browser This is Lumo, a tiny fluffy virtual pet that lives in your browser. You can feed it, tickle it, or just say hi — it reacts naturally, more like a living toy than a game character. Play here: https://bit.ly/45Hhb03 ## Why I made this I wanted to experiment with combining AI-generated assets (image-to-video via Google Flow) and a lightweight state machine in JavaScript to simulate natural pet-like behaviors. Instead of giving direct commands, you just interact — and Lumo reacts. ## How it works - Assets were generated with image-to-video (idle, happy, annoyed, etc.). To make the animations feel more natural, I used the Frames-to-Video mode — for example, I set both the start and end frames to the idle state, so transitions between different behaviors look smoother. - A JS state machine switches animations and reactions. For example, the default state is the idle animation. If you touch Lumo once, it becomes curious and shows the corresponding behavior (animation). If you touch it again, it turns happy. - Everything runs client-side in the browser. ## What’s next This is just a small experiment right now. I’d love to hear feedback: - What feels fun or missing in the interaction? - What other “pet-like” behaviors could make it more alive? - Anyone else here experimenting with AI video assets for interactive projects? Thanks for checking it out https://bit.ly/3UFNcRi August 22, 2025 at 04:09AM

Thursday, 21 August 2025

Show HN: GPT-5 vs. Claude 4 Sonnet on 200 Requests Benchmark https://bit.ly/4mv8GMZ

Show HN: GPT-5 vs. Claude 4 Sonnet on 200 Requests Benchmark We Released an independent evaluation of GPT-5 vs Claude 4 Sonnet across 200 diverse prompts. Key insights: GPT-5 excels in reasoning and code; Claude 4 Sonnet is faster and slightly more precise on factual tasks. https://bit.ly/477Mh3x August 22, 2025 at 03:17AM

Show HN: Changefly ID + Anonymized Identity and Age Verification https://bit.ly/4fMji7H

Show HN: Changefly ID + Anonymized Identity and Age Verification Hey HN! I’m Lukas Dickie the founder of Changefly and I’m truly excited to share with you our latest release of Changefly ID with Anonymized Identity & Age Verification. By putting privacy first and using a novel approach to account protection, Changefly ID offers a path to a safer, more secure, and less-intrusive internet for everyone: - Changefly ID for anonymous authentication + ANONYMIZED identity & age verification for services that are required to verify minimum age - Zero-knowledge proofs, secure multi-party computation, temporary unique identifiers - Protects against bot attacks, bot scraping, identity theft, phishing, credential stuffing, online tracking, and other evolving threats Changefly ID + Anonymized Identity & Age Verification is like showing a bartender a “Yes, I’m over 21” hologram badge instead of handing them your driver’s license with your name, address, and birthdate. They get what they need—but none of what they shouldn’t have. We’re just getting started and I’d love to hear what you think, what you’d like to see next, and any feedback you have. https://bit.ly/45MifQm https://bit.ly/477Gpav August 21, 2025 at 08:22PM

Show HN: SIMD-Optimized Bloom Filters in Mojo for Large-Scale Systems https://bit.ly/3UBHC2i

Show HN: SIMD-Optimized Bloom Filters in Mojo for Large-Scale Systems https://bit.ly/3V05e0R August 21, 2025 at 11:56PM

Wednesday, 20 August 2025

Show HN: I replaced vector databases with Git for AI memory (PoC) https://bit.ly/472kvFu

Show HN: I replaced vector databases with Git for AI memory (PoC) Hey HN! I built a proof-of-concept for AI memory using Git instead of vector databases. The insight: Git already solved versioned document management. Why are we building complex vector stores when we could just use markdown files with Git's built-in diff/blame/history? How it works: Memories stored as markdown files in a Git repo Each conversation = one commit git diff shows how understanding evolves over time BM25 for search (no embeddings needed) LLMs generate search queries from conversation context Example: Ask "how has my project evolved?" and it uses git diff to show actual changes in understanding, not just similarity scores. This is very much a PoC - rough edges everywhere, not production ready. But it's been working surprisingly well for personal use. The entire index for a year of conversations fits in ~100MB RAM with sub-second retrieval. The cool part: You can git checkout to any point in time and see exactly what the AI knew then. Perfect reproducibility, human-readable storage, and you can manually edit memories if needed. GitHub: https://bit.ly/4mQ1k6e Stack: Python, GitPython, rank-bm25, OpenRouter for LLM orchestration. MIT licensed. Would love feedback on the approach. Is this crazy or clever? What am I missing that will bite me later? https://bit.ly/4mQ1k6e August 21, 2025 at 07:20AM

Show HN: Resignation Letter:I built a website can generate resignation letter https://bit.ly/47GTtUn

Show HN: Resignation Letter:I built a website can generate resignation letter https://bit.ly/3V9nq7Y August 21, 2025 at 05:57AM

Show HN: Infinite Tetris Grid https://bit.ly/4mVHAyh

Show HN: Infinite Tetris Grid You can scroll left and right forever If you press the ∞ button, you can scroll up forever https://bit.ly/4mLXpHK August 21, 2025 at 03:07AM

Show HN: MCP Server for PostgreSQL Monitoring/Operations (MCP-PostgreSQL-Ops) https://bit.ly/3JqRutl

Tuesday, 19 August 2025

Show HN: Hanaco Weather – A poetic weather SNS from the OS Yamato project https://bit.ly/45BX4R2

Show HN: Hanaco Weather – A poetic weather SNS from the OS Yamato project hanaco Weather is a minimalist social network where users post short, emotional weather thoughts and connect with others experiencing the same weather. No likes or followers (for now) — just gentle presence. Built entirely by a solo engineer, including the custom operating system it runs on: OS Yamato. What is OS Yamato? OS Yamato is a poetic, ephemerality-first operating system designed to let digital memories bloom and fade, like flowers in the wind. Features include: Diaries that bloom like seasonal flowers — and wither if forgotten Photos and videos that quietly disappear unless viewed again Chat with ambient seasonal effects and no pressure A soft, nature-inspired calendar with reusable schedule templates Wind Messages — time-delayed letters that arrive months later A 3D globe to see fleeting connections blossom around the world Each app within OS Yamato reflects a different way of embracing impermanence in the digital world. Learn more about the concept and philosophy: [YouTube – Write a diary, and a flower will bloom]( https://youtu.be/JrqwU_N5WBA?si=kZQAadNdBGipk6gz ) Try Hanaco Weather now: https://bit.ly/3JlLqCt #ShowHN #HanacoWeather #OSYamato #solodev #minimalism #digitalpoetry #webapp #ephemeral https://bit.ly/4mn7RWe August 20, 2025 at 05:04AM

Show HN: PineBill – make invoices in the browser (free, no ads, no account) https://bit.ly/47575so

Show HN: PineBill – make invoices in the browser (free, no ads, no account) Hello everyone, I was tired of bloated invoicing apps, paywalls, and forced signups, so I built PineBill. It runs entirely in your browser: fill in products and customer details on the left, see a live preview on the right, then export/download a PDF. No ads, no tracking, no account. I first shared it on Reddit and got a bunch of thoughtful feedback; it’s now at ~3k monthly active users. I’d love your critiques, bug reports, and feature ideas. Reddit post: https://bit.ly/45DgepC... https://bit.ly/41dstb4 August 20, 2025 at 03:15AM

Show HN: Network-filter – domains-based whitelist for Docker containers https://bit.ly/475IPX0

Show HN: Network-filter – domains-based whitelist for Docker containers Built this because LLM tools with MCP servers (OpenCode, Goose, Claude code, etc.) have too much network access. It uses network_mode: 'service:x' to force containers through iptables rules that drop everything except whitelisted domains. No proxy - operates at the network namespace level so bypasses aren't possible. https://bit.ly/3Uy4Q9x August 20, 2025 at 01:27AM

Show HN: Rucat – Cat for Prompt Engineers https://bit.ly/41JZWdm

Show HN: Rucat – Cat for Prompt Engineers Aloha HN - I'm redbeard, ex-CoreOS homey, RISC-V guy, and general free software wingnut. Like many of us, I've increasingly found myself using AI for my work. One of the challenges for me is that I prefer to stay on the command line and I'm often working on remote machines over SSH. This often means moving off of the keyboard to use the mouse or a complex chording of characters to capture output from the buffer. Capturing a single file isn't too challenging on a localhost (`cat | wl-copy` /`cat | pbcopy`, etc) but this is still really focused on single files. If you're capturing multiple files, the content (of course) gets catenated together. "There's got to be a better way!" After realizing the many terminals support ANSI control code OSC 52 and my preferred terminal, Kitty, supports OSC 5522 I put together "rucat", a cat inspired tool for capturing multiple files with additional semantic data. Rucat excels at capturing multiple files quickly and without worrying about serialization loss. It's been written in Rust to intentionally avoid a number of memory safety and string parsing issues as well as providing a path to cross platform support. The tool is currently available in binary and source form in the repository. Feedback is welcomed! https://bit.ly/4mlkEZj August 20, 2025 at 12:41AM