libu8ident
Navidrome Music Server
libu8ident | Navidrome Music Server | |
---|---|---|
9 | 302 | |
17 | 10,180 | |
- | 5.2% | |
1.8 | 9.5 | |
11 months ago | 1 day ago | |
C | Go | |
Apache License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
libu8ident
- Roaring bitmaps are compressed bitmaps, can be 100x faster
-
International domain names: where does HTTPS://meßagefactory.ca lead you?
In programming languages it's much worse. Identifiers can either be unidentifiable, and if so everybody has a different opinion what "identifiable" means. Even the standard on identifiers, UTF-39, is buggy and has too many interpretations, leading to a complete disaster. https://github.com/rurban/libu8ident/blob/master/doc/c11.md
In punycode domain names it's quite simple still.
With other names, it's even worse. No-one cares. Linkers do not, username and filesystem drivers do not. The Apple HFS+ did care a bit one day, until someone in the higher ranks decided that no-one needs unicode security anymore and switched the new APFS to unsafe again.
-
Using Unicode in a compiler
No, it's definitely not safe to use unrestricted Unicode in a compiler. See https://github.com/rurban/libu8ident/ for identifier rules, and http://www.unicode.org/reports/tr55/ for much worse problems.
- Ask HN: What interesting problems are you working on? ( 2022 Edition)
- Unicode Utilities: Confusables
-
How can you be fooled by the U+202E trick?
That's why unicode published the security guidelines and mechanisms to avoid such attacks. In 2004 already.
The problem is that nobody cared. Browsers invented punycode instead of following tr39, email ditto. But ok, at least something. Java did it, cperl did, rust did it.
Everybody else is vulnerable. Esp. most other programming languages, filesystems and login systems. https://github.com/rurban/libu8ident/blob/master/doc/c11.md
- Prevent Trojan Source attacks with GCC 12
-
Unicode Normalization Forms: When ö = ö
I'm maintaining such a library.
coreutils, diff, grep, patch, sed and friends all cannot find Unicode strings, they have no string support. They can only mimic filesystems, finding binary garbage. Strings are so rthi g different than pure ASCII or BINARY garbage. Strings have an encoding and are Unicode.
Filesystems are even worse because they need to treat filenames as identifiers, but do not. Nobody cares about TR31, TR39, TR36 and so on.
Here is an overview of the sad state of Unicode unsafeties in programming languages: https://github.com/rurban/libu8ident/blob/master/c11.md
- Why does Windows 10 run faster than Fedora?
Navidrome Music Server
- How the greatest MP3 player undid itself (2017)
-
When you use a Walkman the memories come back: the people in love with old tech
My primary way to play music is from my self-hosted navidrome[1] server with my collection of albums I've mostly purchased from bandcamp. I can stream it to many different devices at home or on the go.
But sitting next to my bed is a Walkman (actually a $10 Jensen version) with a few of my favorite cassettes in the nightstand drawer. Granted, I listen to raw black metal, so the format fits the music well, but I really enjoy just popping in a cassette and hitting play. When I "metaltate", I listen to full albums and do not want to ever be interrupted or have skipping audio due to bluetooth or anything else. It is a really simple and great experience.
Would I ever take my walkman with me or want to carry around a bunch of tapes on a trip? Of course not! But it does have a time and place that is valuable.
When friends come over, we use either vinyl or my custom built RFID cards. There is more of a ceremony to digging through a physical stack of albums and being forced to listen to the album front to back.
[1] https://www.navidrome.org/
- Navidrome: Self-Hostable Music Server
-
Ask HN: Managing MP3s on Mac/iOS Without Streaming Services
Basically, you run a server on your Mac that scans your music collection and "broadcasts" it to the network (LAN or WAN) via either the venerable UPnP/DLNA[1] family of technologies or the newish Subsonic API[2]. Of course, there are others, like DAAP or AURA, etc..
From there, you need to point a compatible player to said server to play your music on any supported device.
If you want to listen to your music on the go, pairing a Subsonic-compatible server on your Mac and a Subsonic-compatible app on your iPhone is probably the way to go. On the server side, I have only used the original Subsonic[3], which was good, but Navidrome[4] seems to be OK. But be aware that the whole "scene" is super messy and fragmented, with the usual abandoned forks of open source alternatives of everything.
Note that this means opening your local network, which comes with its own complexity.
This r/selfhosted thread[5] should give you an idea.
My use case is slightly different. I only care about streaming to my Denon CEOL mini system, which only supports UPnP/DLNA, so my current setup is:
- All my music is stored on a 2011 Mac Mini,
- I use Kazoo Server[6] (not perfect but reliable) to stream it to my audio system,
- which I control via the HEOS app provided by Denon.
Whatever stack you choose, make sure your files are tagged correctly and consistently.
[1] https://en.wikipedia.org/wiki/DLNA
[2] http://www.subsonic.org/pages/api.jsp
[3] http://www.subsonic.org/pages/index.jsp
[4] https://www.navidrome.org/
[5] https://old.reddit.com/r/selfhosted/comments/pz9dpb/lets_mak...
[6] https://docs.linn.co.uk/wiki/index.php/Kazoo_Server_setup_Ma...
-
Navidrome 0.50.1 Bug Fix Release
[Scanner] Fix Windows scanner (#2633). Thanks @caiocotts
-
Navidrome 0.50.0 just released!
EDIT: This version has a bug when running on Windows that breaks your database! I deleted the Windows binary from the download page and will publish a fix very soon. For details see: https://github.com/navidrome/navidrome/issues/2630
-
.NET 8 Standalone 50% Smaller On Linux
Jellyfin is great for movies & shows. As an anecdote, it's not so good for music if you're a collector. I personally use Navidrome for that[0].
Anyway, Sonarr[1] makes use of .NET, too. Very reliable software, in my experience.
[0]: https://github.com/navidrome/navidrome
- Navidrome: Open-Source Software to enjoy your music collection from anywhere
-
How to fix ND playlist after changing folder structure?
I am running ND via the docker container (deluan/navidrome:latest which is 0.49.3 (8b93962f) at the time of this writing) and interact with ND using the web interface.
- Building a digital music collection in 2023
What are some alternatives?
Confusables - Simple library for matching a string to another string that is same but has letters that only *look* the same as original string
Airsonic - :satellite: :cloud: :notes:Airsonic, a Free and Open Source community driven media server (fork of Subsonic and Libresonic)
featurebase - A crazy fast analytical database, built on bitmaps. Perfect for ML applications. Learn more at: http://docs.featurebase.com/. Start a Docker instance: https://hub.docker.com/r/featurebasedb/featurebase
Jellyfin - The Free Software Media System
libredwg - Official mirror of libredwg. With CI hooks and nightly releases. PR's ok
airsonic-advanced
safeclib - safec libc extension with all C11 Annex K functions
Ampache - A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device.
nbperf - Improved NetBSD's Perfect Hash Generation Tool v3
koel - 🐦 A personal music streaming server that works.
reals - A lightweight python3 library for arithmetic with real numbers.
gonic - music streaming server / free-software subsonic server API implementation