frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: Musefs – organize and tag music without touching the original files

https://github.com/Sohex/musefs
1•sohex•1h ago
musefs is a virtual filesystem for organizing and tagging your music without altering or duplicating the backing audio files. It scans your library to build up a SQLite db with all the original tags and embedded art and makes note of exactly where in the file the actual audio is. That db becomes the source of truth for the FUSE filesystem. At playback it generates new metadata for the files on the fly from the tags in the db and splices it onto the original backing audio.

I have a music collection that's grown rather large over the years and I've always had to choose between the lesser of three evils. I could either preserve the original files as they are, actually correct all the messy tags and organize them nicely, or keep the former and make a copy for the latter. Keeping both has worked, but now that my library is over 1TB the storage cost is definitely noticable. So, inspired by a long since defunct project called beetsfs; I built this, musefs.

Right now it supports MP3, FLAC, M4A/M4B, and Ogg (Opus, Vorbis, and FLAC, did you know you can put FLAC in Ogg? I didn't until I started working on this project). Implementing MP3 and FLAC were both straightforward, I'd call them the mobs. Making M4A the mini-boss, because it's a lot more loosey-goosey with how it's structured. Which leaves Ogg as the Final Boss. Ogg is a lovely container format, however, it was absolutely not designed for this. The way art has to be handled is unique to it, but more importantly each file is composed of individually checksummed pages. Now a key focus for me throughout development has been performance, so reading each page in full to rechecksum it was a non-starter. I'm honestly delighted by the solution I came to instead, it's by far the most technically interesting part of this project.

Let me give you the short version. Every Ogg page has a header and a payload. The header includes a page number and the aforementioned checksum. Since we're dynamically generating the preceding metadata every subsequent page (including the actual audio pages) needs to be renumbered. Which breaks the checksum. But! Due to the particular nature of CRC-32 implementation that Ogg uses, with a bit of math the actual payload drops right out of the equation. Then by applying some matrix algebra it's possible to compute the new CRC for the whole page with just the bytes of the header. I think that's really neat. For all the details you can look in docs/OGG.md in the repo.

In terms of support, right now it's 64-bit only on AMD64 and AARCH64, with first-class support for Linux and FreeBSD. macOS is theoretically supported, but I don't have the hardware to actually test that on, so caveat emptor. Caveat downloador? It's MIT licensed, so. At any rate, I decided that if I put off posting about it any longer I'd just keep polishing it forever, so I cut v1.0.0 and here we are. I've given it some pretty deep performance improvement passes and it's tested thoroughly, unit tests, prop tests, mutation testing, interop testing, we've got it all. It also comes with in tree plugins for beets, Picard, and Lidarr, as well as the common python package backing them if you want to build a plugin for something else. There are glibc and musl packages and containers available for both supported architectures too along with a sample systemd user service file for running it directly on a host.

It's near the start of the README but I'll reiterate it here as well for the sake of transparency. I built this using AI, Opus wrote specs and plans, MiMo v2.5 implemented them (along with some other models along the way). I put a lot of effort into making this not slop though and I think it paid off.

I'd love to hear any feedback that anyone has, especially if you run it against a large library!

What makes a language flourish? (2021)

https://www.5jt.com/what-makes-a-language-flourish
1•tosh•1m ago•0 comments

Yale Grammatical Diversity Project

https://ygdp.yale.edu/
1•naberhausj•1m ago•0 comments

Anthropic Fable just deleted a .git folder of mine, what's next?

1•ocimbote•2m ago•1 comments

SkillSpector

https://github.com/NVIDIA/SkillSpector
1•taubek•6m ago•0 comments

Zero Install: The future of FOSS Python static application security testing

https://nocomplexity.substack.com/p/zero-install-the-future-of-foss-python
1•runningmike•7m ago•0 comments

A Go tunneling engine with anti-DPI plugin chains

https://github.com/hbahadorzadeh/stunning
1•hbahadorzadeh•9m ago•0 comments

Doomsday Simulator: Fable physically realistic WebGPU planetary collision SIM

https://doomsdaysimulator.com
1•bc1000003•13m ago•1 comments

Techno-libertarians are flocking to the Caribbean

https://www.economist.com/the-americas/2026/06/11/techno-libertarians-are-flocking-to-the-caribbean
2•andsoitis•13m ago•0 comments

I created an AI agent that finds investors that and does reachouts to investors

1•west_subject•14m ago•0 comments

The Swiss would be foolish to cap their population at 10M

https://www.economist.com/leaders/2026/06/12/the-swiss-would-be-foolish-to-cap-their-population-a...
2•andsoitis•14m ago•0 comments

Show HN: Atlas – local-first memory that re-evaluates beliefs when facts change

https://github.com/RichSchefren/atlas
1•RichSchefren•14m ago•0 comments

ACM warns vibe coding skips core engineering practices

https://thenewstack.io/acm-vibe-coding-ai-agent/
1•Hypathia•14m ago•0 comments

The value of SpaceX rockets on its stock-market debut

https://www.economist.com/business/2026/06/12/the-value-of-spacex-rockets-on-its-stock-market-debut
2•andsoitis•15m ago•0 comments

MX Linux 25.2 provides possible refuge from AI as well as systemd

https://www.theregister.com/software/2026/06/12/mx-linux-252-arrives-with-switchable-init-and-pi-...
1•Bender•16m ago•1 comments

Microsoft mostly repaired flaw Surface hardware devices bricked single packet

https://www.theregister.com/security/2026/06/12/microsoft-has-mostly-repaired-flaw-in-surface-har...
1•Bender•17m ago•1 comments

PeopleSoft 0-day affecting organizations steals gigabytes of data

https://arstechnica.com/security/2026/06/peoplesoft-0-day-affecting-hundreds-of-organizations-ste...
1•Bender•18m ago•0 comments

An Interview with Intel's Kira Boyko: Xeon 6's Product Director

https://chipsandcheese.com/p/an-interview-with-intels-kira-boyko
1•rbanffy•19m ago•0 comments

I reviewed Wordle in 2026

https://dles.gg/reviews/wordle
1•trizoza•19m ago•0 comments

DigitalOcean Ending Student Credit Promotion

2•thepotatodude•20m ago•0 comments

Loopers, Robovacs and the Death of the /Prompt

https://medium.com/@vektormemory/loopers-robovacs-and-the-death-of-the-prompt-404946da77f8
1•vektormemory•24m ago•0 comments

I assume I'm below average

https://sive.rs/below-average
2•vikrum•25m ago•0 comments

Show HN: RedgeDB – Redis-compatible storage with a sharper edge (OpenSource)

https://redgedb.com
1•SamuelRecio•26m ago•0 comments

Show HN: Vibecoded local Azure emulator inspired by LocalStack and localgcp

https://github.com/link-society/localaz
1•linkdd•27m ago•0 comments

Berry

https://tasmota.github.io/docs/Berry/
2•tosh•28m ago•0 comments

Show HN: Rust Implementation of Symphony

https://github.com/anantjain-xyz/symphony-rust
1•anant90•31m ago•0 comments

How Clipboards Work

https://cynical.me/blog/how-clipboards-work
2•king_zee•32m ago•0 comments

What was the Amiga community's actual reaction to Doom?

https://old.reddit.com/r/amiga/comments/1u3zi5s/what_was_the_amiga_communitys_actual_reaction_to/
3•doener•34m ago•0 comments

Show HN: Montmark – A lightweight, fast pure-Python Markdown parser

https://github.com/desgeeko/montmark
1•desgeeko•34m ago•0 comments

DN42 is a large dynamic VPN

https://wiki.dn42.us/Home
1•latchkey•38m ago•0 comments

Five AIs Predict the World Cup

https://blog.omgmog.net/AIWC26/
1•omgmog•41m ago•0 comments