HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
kristopolous
Mutiny
Python2021–2025
kristopolous / Mutiny

Mutiny

A music scraper, navigator, archiver, and cataloger for people looking for new sounds.

2Distinct people
10Mentions
2Explicit recommenders
53GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A music scraper, navigator, archiver, and cataloger for people looking for new sounds.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

The article might describe a common scenario, but there are plenty of outliers. I hardly listen to music I liked in my teens and early twenties. I love discovering new music.…

cyphereal used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year10 dated mentions

Observed mentions: 2021-07-14 07:26:18 UTC to 2025-04-12 22:35:34 UTC.

01232021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

10 sources
Level 4 is turing complete. There's two parts that I was talking about. Things that are not quite that and the fact that configuration can have that capability in a fairly useless context. When I'm dealing with personal things or stuff that few people use I will often make the configuration just something I eval/source. So it in theory has the same functionality as the underlying programming language, but in practice you're just supposed to use it like an INI. Here's a fairly large personal project where I use that https://github.com/kristopolous/music-explorer It actually allowed me to change the behavior on whether I'm running my program from my office or home. So invoking the full fidelity of the underlying language actually has its benefits at times.
In Levels of configuration languages
Here's a framework-free SPA I wrote about 2 years ago: https://9ol.es/pl/ as part of this project: https://github.com/kristopolous/music-explorer This is all the code: https://9ol.es/pl/scripts.js . It supports, for instance, Bluetooth controls and I use it as my car audio player literally everyday It does take longer to learn and require more intellectual rigor to do things this way but you also get 10 year solutions instead of 10-month ones and things are way easier to debug, pivot, modify, repurpose, support, All the long-term things you have to do after the act of building when people are actually using the thing. Those are now easier
In A Rant about Front-end Development
cyphereal·Apr 25, 2024Recommendation phrase
The article might describe a common scenario, but there are plenty of outliers. I hardly listen to music I liked in my teens and early twenties. I love discovering new music. Many comments here are very insightful and discuss phenomena like high music diversity, music proliferation and easy of producing music, and automated recommendations. One thing that has been occupying me is that curation is still harder than I'd like when using streaming tools like Spotify, YouTube Music, Apple Music, Tidal. Pandora had good roots with its music genome project, and have built on that. (I can't use it without a VPN since they discontinued supporting the country I mostly live in). It's probably a function of how I consume my music today - no longer desk-bound at work, but on the go, so iPhone (and Apple Watch) are primary tools. Being able to select/s
Read the rest
kip/preview/tune what I'm listening to is nowhere near as powerful as I'd like. I've written library curation tools in the past, these always expected me to spend significant dedicated time in front of a screen (e.g. a similar tool like the cool looking https://github.com/kristopolous/music-explorer, I think). This has strong parallels to how older people consumed music - either totally passive curation (radio), or very deliberate, like finding music in record stores, at a friend's place. Also replay involves selecting records/CDs in your own bookshelf. Today's ephemeral digital libraries are much lower effort, are huge and curation/selection tools are not easy enough to use, so I tend to fall back onto old favourites or recommendation engines that usually don't satisfy me. A solution might be a much more configurable curation assistant that is also super easy to use (and, in my case) very accessible on a mobile device with 0-1 clicks (because I'm busy doing other things). Music discovery tools that don't allow in-situ music playing is thus also a no-go. It wouldn't be super hard to build an interactive tool, but as always, making a super intuitive and useable UX experience is the hardest part. Most streaming tools are giant swiss-army knives for listening use-cases.
In When do we stop finding new music?
I've got a rather wonky way of doing this. https://github.com/kristopolous/music-explorer I've been building systems to find new music for 18 years or so. This latest one I've been using since early 2020. It's really for just me so sorry if the documentation is a little scattered. I'm certainly doing some minor ToS violations all over the place with this thing so I don't want it to get too popular but I'll be happy to clean up the documentation if there's interest
In When do we stop finding new music?
Might as well drop what I use for my music discovery, my fairly poorly documented hacker-friendly set of tools. For instance, you can optionally navigate, sort, skip, pause and label things through MIDI controls, command line hooks, a repl, bluetooth media keys, or even over a network. https://github.com/kristopolous/music-explorer/ This is a problem I've been working on since 2007(!) and this is approach #4, started in 2020
In Goodbye Spotify
oh i see you do have a 14 day demo ... it wasn't clear to me. that's a design issue. You need to push the lede up. "Free 2 week demo. No credit card needed. [Try it now]" "Register" is too committal ... try things like "get started" or "try it out" - more action, result and experience oriented. Lastly on the technicals, look into https://developer.mozilla.org/en-US/docs/Web/API/MediaSessio... this will allow you to navigate through things when listening over bluetooth using the media buttons. I'm sorry for the rather advanced example but here's how I use it to navigate through hierarchy with double and triple tapping: https://github.com/kristopolous/music-explorer/blob/master/w...
In I don't want streaming music, I just want to stream my music
kristopolous·Mar 11, 2023Recommendation phrase
I'm a big fan of not posix but instead modern bash and to all the complainers about dash and ash, I say "tough cookies". Bash has arithmetic, dictionaries, regex matching, nice string manipulation, co-processes, TCP pipes built in, it's pretty nice. However, bash has very low tolerance for incompetency. It's a brutal friend. It's cooking dinner with a pocket knife. You gotta actually read the docs and be sincere in your studies. I was around when supporting Solaris, HPUX, AIX, and Irix was a real concern. Those times sucked and those platforms are so minor I stopped caring about them except for enthusiast projects many years ago. (And I still actually have an hpux machine) Sometimes I'll even use zsh. It can even do floating point. Here's some example of a modern tool I have written for a subject I call "music discovery" https://github.co
Read the rest
m/kristopolous/music-explorer/tree/master/t... You'll see many languages in there but you won't see posix sh. It's slow, it's clunky, it's a pain in the ass. If you don't like my practice then I guess don't use it. I've been using/developing these particular tools nearly every day for over 3 years and it works well for me. I'm not going to say bash is awesome but it's pretty great for programming. I use zsh as my interactive shell though, it's miles ahead of bash in that department. Watching people who really know what they're doing in zsh is a total mindfuck.
In Write Posix Shell
Sure. Related. It's an art. Generally the less code, the cleaner the conceptual execution. I always strive to remove and reduce conceptually deceits Here's some code I wrote earlier, probably a good example https://github.com/kristopolous/music-explorer/blob/master/w... It's self contained, not very big, not trying to be fancy, as direct as possible. It's worth noting a few things: Some things are repeated when there's no reasonable way to refactor it in a way that simplify things. No framework. No view/model/controller/provider/orm separation. It's not doing much and it does it fine Stuff is composed but intentionally not abstracted Here's a frontend https://github.com/kristopolous/music-explorer/blob/master/w... Again, no react or angular or other framework. Just direct modern code. As far as what it looks like, it's a music player fron
Read the rest
tend to some sprawling project Example https://9ol.es/pl/
In DRY is an over-rated programming principle?
I've been working on a music discovery platform for, well, really 14 years but my latest rewrite I started about 18 months ago now. It's not approachable yet, but based on the response here that may change. It is primarily label based. By using discogs, essentially imdb for music, it uses some Foaf and affinity "distances". Here's an example flow, let's say you find an artist you like, say Cygnus (https://www.discogs.com/artist/1932807-Cygnus-5). We pull down the releases and get the labels. Then go to the labels which have links to things like Bandcamp, SoundCloud, or various other sites. The tool then catalogs the releases and adds them essentially to an unlabeled dataset. (I've been updating dead links on discogs for a while to make this thing with better btw ;p ) Then there's another tool that goes through to "label" things by you lis
Read the rest
tening to them. Essentially it's designed to do a single pass. There's a REPL and it interfaces with mpv using their JSON and Lua interface. Then you rate each release and the adjacent information, such as the people working on it (on its discogs catalog page) becomes another vector for possible traversal. It's not a constant scraper, it'd go on forever. Essentially it's manually run and there's a tweakable threshold. For instance. Say you highly rate multiple releases that share a producer, artist, and label. Well, by golly, if there's a few other releases in that grouping you'll probably like that too. I mean, duh, obvious, right? A lot of this approach came from the world of italo disco where the real names often got obscured behind short lived projects and labels which required a bit of digging to find the related content. Take Aldo Martinelli for instance. Here's his fb banner which is the best catalog of his work I know (https://scontent-lax3-1.xx.fbcdn.net/v/t31.18172-8/fr/cp0/e1...). Same person doing all of that. For instance, "topo & roby" and "moon ray comanchero" are essentially the same people, but getting from one to the other or uncovering the relationships, that's the challenge this infrastructure tries to solve. This stuff gets unusually complicated with specific regards to italo disco. See the profile of radiorama for instance (https://www.discogs.com/artist/73973-Radiorama) or groups like The Flirts, Fun Fun or Den Harrow, where models were the faces, singers were the vocals, different song writers and musicians would come and go, they were all huge tangles. This method completely ignores popularity or what others are listening to and falls back on the networks of the people making the content. For me at least, it's produced great results. But it's built exclusively for me at this time. I don't even have most of the traversal code posted The code is over here https://github.com/kristopolous/music-explorer I'd be happy to make it more accessible but I'm multiple standard deviations from the mean when it comes to how I approach music so I've got no idea whether there's a large interest here If you want to see what results look like, now this is exclusively catered to my tastes, I have a pretty basic hack to listen to things on the go over here http://9ol.es/pl/ I guess the focus here is to see the label/artist diversity even if the style of music isn't your thing. --- As far as listening while you work, the tool is instrumentable. For me I can press a quasimode key (say the windows key) along with some other key and do things like pause/play, label the release, track/release navigation, get info, open the webpage that it was on, etc. These are hooked at the window manager level. This way there's as little task switching as possible and I can stay in whatever application I'm doing.
In Yet another background music for developer, if you missed working at cafe
I'm on the other end. I use a cheap midi device to do volume control via knobs and a slider. I've been trying to explore other modalities: https://youtu.be/rdlAZfH9Uhk I've been working with this idea for a while. Here's a year ago https://youtu.be/0Ot0j4R36b8 Sorry for the ramble below I'm kinda obsessed about this: The basic theory is the current bottleneck for computing is input devices not being versatile and expressive enough. The computer is waiting for us these days. How can someone do interface "chunking" (https://en.m.wikipedia.org/wiki/Chunking_(psychology)) if they have something other than buttons at their disposal. Are their new UI paradigms to exploit? The interfacing is thru python and is part of a larger music exploration project I've got terribly documented. That's kinda the "first application" just like office productiv
Read the rest
ity was the first application of WIMP. It makes the goal of intuitively navigating multidimensional problems through geospatial and tactile interfacing less abstract. The actual script is here https://github.com/kristopolous/music-explorer/blob/master/t... I was exploring everything from browser tab controls to instrumenting software debuggers to window management with this thing so it's kinda a mess. There's a lot of code scattered in my various projects on this topic The biggest UI fumble is the value repetition and tactility is great until the context of the control changes and then you get a discontinuous jump. The "obvious" workaround of using relative values has the random walk problem. You need a disengagement mode to reset it from wandering off to one of the edges. That's a flow disrupting cognitive shift (https://en.m.wikipedia.org/wiki/Cognitive_shifting) I tried using 2 cheap arduino joy controllers (example https://satkit.com/image/cache/catalog/products/arduino-joys...) and allocate one joy for mode and the other one for value (inspired from orbitouch https://c1.neweggimages.com/ProductImage/A446_13123722022688...) it works fine with logarithmic relative values. (Going to value 0 and max are common) Also both these models are about giving the thumbs more jobs then just a single key, an idea I stole from Maltron (http://www.micwil.com/images/gallery/maltron_keyboards_dual_...). Sliding a control right next to a conventional keyboard base should be doable on the cheap and help get towards the goal. The joys were a better solution for this but then I'd have to "sell" something which I'm trying to avoid. My earlier method involved a USB foot pedal which acted as a quasimode for control (example: https://www.geeky-gadgets.com/wp-content/uploads/2010/01/usb... ... it can be assigned to something like "Hyper" in Xorg parlance, see here https://github.com/kristopolous/tools/blob/master/bin/footpa...) and then my lua scriptable window manager captured the key strokes and delegated things accordingly (example: https://github.com/kristopolous/crappy-notion/blob/master/mo...). It's still just "buttons" at the end though and this whole project is about integrating sliders knobs and joys to general computing. I just hope to get everything done satisfactorily with the midi, I don't have to manufacture anything and it's a far easier technical investment for casual people and the device in the video is only $40. I don't want to "own" anything here. I want people to liberally iterate and innovate as much as possible. I'm certainly not the smartest person in the room.
In The worst volume control UI in the world (2017)

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.