매일의 Show HN

Upvote0

2026년 6월 6일의 Show HN

24 개
46

Resonate – Low-latency, high-resolution spectral analysis #

alexandrefrancois.org faviconalexandrefrancois.org
28 댓글6:09 PMHN에서 보기
Last April I shared about my Resonate project here (https://news.ycombinator.com/item?id=43694157)

A lot has happened since: the work I presented in much more detail at last June's International Computer Music Conference (ICMC) got best paper award. I also gave a talk at the Audio Developer Conference in Bristol last November, the video is on YouTube).

This year's work, which I recently presented at this year's ICMC, starts with known techniques from the phase vocoder literature to build self-tuning filter banks that extract very efficiently the frequency components that are actually present in the input signal. Overview on the project website, more details in the papers, including applications to super-resolution spectrograms and re-synthesis experiments.

As many people have pointed out, none of the techniques I have used are new (some of them even have different names across different fields), but I haven't seen them applied together in this way, and to me the results are incredibly satisfying and sometimes look magical. See for example this demo: https://youtu.be/LasdoIJJkw8

Of course the best way to experience in person is through the free demo app: https://alexandrefrancois.org/Oscillators

Looking forward to feedback from the community!

37

ABC Classic 100 Rankings visualised #

classic100.gotski.workers.dev faviconclassic100.gotski.workers.dev
19 댓글1:32 AMHN에서 보기
This weekend is the ABC Classic FM countdown, which prompted me to dust off an old un-published data visualisation of rankings from previous years.

I've considered adding a search function, but I also kind of like that it requires a bit of exploration in the current form.

Some of the code is a bit clunky and I wouldn't mind refactoring it. I'm also not sure about browser compatibility - I've only got access to a couple of devices to test it on.

14

Ironwall, a safety-first native programming language and compiler #

7 댓글11:21 PMHN에서 보기
Hi HN,

I have been working on a new programming language and compiler.

Website: https://ironwall-lang.dev

GitHub: https://github.com/3WyUFvDOdCbBw7gOZHwcfgKF/ironwall

Why a new language is still needed: https://ironwall-lang.dev/en/motivation

The compiler is written in TypeScript at the moment, and work on a self-hosting compiler written in Ironwall is ongoing.

I would be interested in feedback.

Thank you.

7

Documenting an Obscure Japanese Wii Game – and-Kensaku #

github.com favicongithub.com
1 댓글12:48 AMHN에서 보기
I have been using Claude for the past couple of days this week to document and modify the TR2 game file format for an obscure Japanese-exclusive Wii game called And-Kensaku, or 安藤ケンサク. And-Kensaku is a game related to Googling. There are a few game modes, but the most famous one asks you a question and gives you two answer options, and you win if you choose the most popular Google search. I have been able to do the following: 1. disable signature checks on the files, and 2. allow edits to the Phrases.tr2 file, making it possible to modify the content of the aforementioned game mode. I wanted to go on this little adventure because reverse-engineering file formats is an extremely difficult (at least for me) and time-consuming task, and I wondered how well Claude would do at it. Right now, not everything about this game is documented, but I would like to fully document it and maybe release an English patch.
7

Dap-mux – Connect your editor and REPL to the same debug session #

1 댓글9:13 PMHN에서 보기
I have been coding over four decades, in many languages, on many projects (including Firefox, Final Cut Pro, the Newton, and Fullwrite Professional if you can remember that far back; all these using my "dead-name").

I wrote something small and simple to scratch an itch. It's the UNIX philosophy: small "one-trick ponies", each *really* good at their one trick, then the user can hook them together to solve actual problems. I'm a CLI guy, and for almost everything, I already have this. But not for debugging. The itch I scratched was the connector that enables this philosophy for debugging. That thing is dap-mux. A DAP multiplexer turning a one-to-one protocol into a cooperating session of as many tools as you need to get it done!

How it started: Helix and Python for me (and sometimes IPython), with the rest of my team using PyCharm (which I have long loved!). My team's problem is that they want the PyCharm debugger, and so must be satisfied with the JetBrains editor. *My* problem was I could use a full-blown debugger *or* I could have IPython *or* I could have Helix (or sometimes an unsatisfying combination of Helix and the debugger). That was my "itch".

DAP (Debug Adapter Protocol) is the tantalizing answer, except it isn't. DAP is what editors (that don't want to write their own debuggers) are starting to adopt. The problem with DAP is it's one-to-one. One editor connects to one debugger. Done. Not a solution to my problem. And then suddenly, it *was* the solution. I realized that a DAP multiplexer would let you connect any DAP-aware editor to any debugger for any language, and simultaneously to a REPL, another session of your editor (or a different editor)! With the side benefit that now, like screen or tmux, since each process is its own thing: sessions are durable. Just restart whatever crashed and you're back where you were!

There were hard parts: sequencing, late joiners, state management. Different end-points working on different actions in different sequences but with the same message ids. I solved these problems something like how NAT works. Instead of translating network addresses, though, I'm translating the sequence numbers of each client into something global and ordered, then correctly routing replies back to the end-point awaiting them, while mapping the sequence numbers for those replies back into the space of that end-point. Knowing the current state of the debugger, and replaying that as a message sequence to late joiners lets you start/connect the clients in any order. I chose Python: asyncio fits the I/O-router pattern perfectly, and it lets the IPython extension run in-process rather than over IPC.

There are problems not yet solved: for instance, I think configuration in the clients and/or the startup sequence is too complicated. But it functions! I got what I wanted!

The combination I use every day: Python + debugpy + Helix + IPython, all connected simultaneously. Step with `%n` or `%s`, evaluate expressions with `%eval`, watch Helix track the current line in real time. Rust with codelldb is the second confirmed combination — I debugged a Dijkstra implementation with Helix and a third-party DAP observer tool both connected to the same codelldb session. A community member, Sean Perry, has already built [dap-observer](https://github.com/shaleh/dap-observer), which renders the current frame's variables as a navigable terminal tree. *This* was my exact dream! Small, focused, connectable tools all playing together!

There's so much left to try: other editors, other debug adapters, Windows, other languages. None of this has been touched yet. The most helpful thing now is people testing it with their own setup and reporting what they find. It's time to play!

`uv tool install 'dap-mux[ipython]'` for Python + IPython. `uv tool install dap-mux` for headless use with any language and adapter. No need for any part of the Python ecosystem.

https://github.com/dap-mux/dap-mux

6

A beautiful and local-first PDF reader for studying dense things #

tryquincy.live favicontryquincy.live
9 댓글10:38 PMHN에서 보기
Recently, I found myself having to read the book "C++ primer" and I just couldn't do it. Maybe my attention span is too little now with Claude and Codex, maybe I'm lazy... but I just couldn't get myself to focus.

While reading, I needed something to do. I wanted to talk to the text, I wanted to leave notes, I wanted to use to use my keyboard to quickly flip through pages.

The only good available option on a Mac was "Preview" and it was ok, but definitely not there. So I built Quincy primarily for myself.

With it you can - "Talk" to the page you're reading, create a quiz about the page, and get a good summary - "Read" the page out-loud. Have your Mac read to you while you follow along. This helps with comprehension. - Copy text (to paste into an LLM), leave notes, bookmarks, etc.... - Anything else you'd want with a nice PDF reader

It's fully local. No cloud-sync (yet). All LLM calls are based on your keys. And TBH, you don't even need to use the AI features for this to be useful.

Try it out. Let me know what you guys think. This has been a quick project, so very rough around the edges. I plan on keeping it going (still haven't finished my book), and potentially open-sourcing down the line.

6

Ccgs – Collaborative Claude Code sessions, stored in Git branches #

github.com favicongithub.com
2 댓글4:04 PMHN에서 보기
My team uses Claude Code daily, and the sessions have become some of the most useful artifacts we produce. But they're trapped in ~/.claude/projects/ on whichever laptop they happened on. There's no good way to hand a colleague "the session where I untangled the migration" so they can claude --resume it and keep going from where I left off. Enter ccgs: Share Claude Code sessions through an orphan branch (@ccgs/<name>) in your existing repo's remote

- Session files carry the author's absolute paths. On pull, ccgs rewrites the working dir back to your path so resume actually works — surgically editing only the structural cwd field, not a blind find-and-replace that would happily corrupt the transcript.

- Everything goes through git plumbing (hash-object/commit-tree/update-ref) against a throwaway index. It never touches your working tree, index, or current branch, and it's fine with a dirty tree. It will not git checkout something behind your back.

To try it without installing: `npx claude-git-sessions`. This also incidentally allows you to move a directory and carry the claude code transcripts with it (just push first, then move the directory, then pull)

IMPORTANT CAVEAT: Unless you have a very good security hygiene, your Claude Code sessions are likely full of sensitive information such as environment secrets. Use with caution and avoid using on public repositories. Branches used by ccgs are prefixed by `@ccgs/` so you can easily filter them out.

This project was written by and with Claude Code. This Show HN was not.

(Reposted with URL fixed)

4

NullRead – A simple HN Android client #

nullread.0x96f.dev faviconnullread.0x96f.dev
4 댓글11:27 AMHN에서 보기
Hi everyone! I’d like to share my first Android app, a client for Hacker News. I have been a dev for 8 years but I am just starting my journey into making mobile apps. Since this is my first app, I’m sure there’s plenty of room for improvement, so I’d really appreciate any feedback, suggestions, or ideas.