Blog

Goodbye Spotify, Hello Navidrome


After years of paying for Spotify Premium, I finally pulled the plug and migrated to a self-hosted setup. The streaming service that once felt revolutionary now feels bloated, expensive, and increasingly filled with AI-generated slop.

Why Leave Spotify?

The reasons piled up over time:

  • AI Music Flooding the Platform: Searching for anything now returns a mix of legitimate artists and algorithmically generated filler. It's getting harder to discover actual human-made music.
  • Price Increases: Every year it gets more expensive. At some point you have to ask what you're actually paying for.
  • Features I Don't Use: Audiobooks, podcasts, video content. Spotify keeps adding things I have zero interest in while the core music experience stagnates.

I own a decent collection of music purchased over the years. Mashups for running, albums from artists I actually want to support, tracks you simply can't find on streaming platforms. Having all of that scattered between YouTube, local files, and Spotify never made sense.

The Self-Hosted Stack

After some research, I settled on:

  • Navidrome: A lightweight, self-hosted music server that implements the Subsonic API. It's designed specifically for music, unlike more general media servers.
  • Symfonium: An Android app that connects to Subsonic-compatible servers. It's a paid app, but the customization options are extensive. You can configure it to look and feel surprisingly close to Spotify. Also can be used for local storage, several other media servers (Yes also Jellyfin) or cloud storage providers. But the customization is quiet powerful!

I did consider Jellyfin since I already use it for video. But for music specifically, Navidrome felt like the better choice. It's focused, actively developed, and the Subsonic standard means broad client compatibility. And their webplayer makes it look like Spotify in the browser too!

The Reality of 3TB+ Libraries

One thing to note: Navidrome uses SQLite by default, and with a library pushing over 3TB, performance can get sluggish. Scanning, searching, and updating metadata takes time. The developer is working on PostgreSQL support which should help significantly for larger collections. For now, it's manageable but not instant. I did use Docker to host it myself and had to fiddle around some parameters when to do some automatic scanning. But it should work out of the box as intended and honestly after I was done wasn't sure if I am that I did create much performance boost after all.

Symfonium Configuration

The app deserves special mention. Out of the box it looks nothing like Spotify, but dig into the settings and you can reshape almost everything:

  • Grid layouts for albums and artists
  • Customizable now-playing screen
  • Offline sync for selected playlists
  • Downloadable options so I can sync when I am at home but am fine when going for a walk (Didn't want to allow access from the outside even if I could using my vpn)
  • Gapless playback and replay gain support

It took an evening of tweaking, but now the experience feels familiar while actually playing music I own.

Worth It?

Absolutely. The initial setup takes effort, and maintaining your own library requires more work than just hitting play on a playlist. But knowing exactly what I'm listening to, having full control over my collection, and not paying a subscription for an increasingly worse service makes it worthwhile.

Self-hosting isn't for everyone. But if you've got the music and the hardware, give Navidrome a look.


38C3 Ticket Scam: A Follow-Up


Remember that post where I mentioned being 60% sure the ticket seller wasn't a scam? Well, turns out the other 40% won.

What Happened

I got scammed. 500 Euros gone to someone selling fake 38C3 tickets on Twitter/X. The transaction seemed legitimate enough at the time. It wasn't. Classic case of wanting something badly enough that you ignore the warning signs.

This can happen to anyone. Even people who should know better.

Reporting

First thing I did was report him to the CCC directly. My hope was that they could warn others before someone else fell for the same scheme. Then I filed a report with my local police, including all the details I had: the conversations, the bank account he used, everything.

The Investigation

A few days ago I received a letter from the police. The investigation has been stopped. They couldn't identify him well enough to link him to the crime. Frustrating, but not entirely surprising.

The somewhat interesting part: the bank account I reported led somewhere. Turns out he was involved in money laundering. So while they might not get him for my 500 Euros specifically, at least there's a chance he'll face consequences for something.

The "Wife" Email

In January, I received another message. Supposedly from his wife, apologizing that things "couldn't work out." Right.

It was obviously him, reacting after the police got involved. A clumsy attempt at damage control or maybe trying to gauge if I was still paying attention. I didn't respond. There's nothing to say to someone who steals from people trying to attend a hacker conference.

Lessons

The money is gone. That stings. But if reporting him helps stop even one future scam, or if the money laundering investigation leads somewhere, then at least something came from it.

Buy tickets through official channels. If you can't get one, accept it. The FOMO isn't worth 500 Euros and months of dealing with police reports.

I didn't end up attending 38C3. But honestly, it was okay. I had been dealing with a foot issue in the months before, and by December I had finally recovered. So instead of Congress, I spent that time hiking and actually using my foot again. Sometimes things work out differently than planned.


For org!


I switched my Hugo blog from Markdown to Org Mode. Markdown is fine, but I already live in Emacs and use org for everything else (notes, todos, project planning). Having my blog posts in a different format always felt off.

Why bother?

Org does more than Markdown. Tables actually work. Footnotes exist. I can embed code blocks and run them (Babel). And since I'm already in org mode all day, I don't have to context-switch when writing a post.

How I migrated

Pretty simple:

  • Added org support in Hugo's config.toml
  • Ran pandoc on my old Markdown files to convert them
  • Fixed a few formatting quirks that didn't translate perfectly

Was it worth it?

Yes. Everything's in one format now. I write posts the same way I write notes. No more switching between markup syntaxes.


Using AI to solve all my problems


It still doesn't work.


Breaking Up with Amazon (kinda)


Have you ever stopped to consider how much of your digital content you actually own? I recently did, and what I discovered about my Kindle ebook collection led me down a path of digital liberation that I'm excited to share with you.

The Kindle Conundrum

It all started when I noticed I was buying too many ebooks on Kindle. While browsing for solutions to improve my reading experience, I stumbled upon an excellent video series about KOReader by Stefan Svartling. This versatile reader software is supported by most e-readers, including Kindle devices.

What had always annoyed me about the Kindle reading experience were those non-customizable margins. Sure, there are three options, but they still waste too much screen space. KOReader, on the other hand, gives you numerous customization options that make reading more enjoyable.

The Great Amazon Escape

Deciding that having a backup of my purchased ebooks was the sensible thing to do, I investigated how to download my Kindle library. What I discovered was nothing short of disappointing and pushed me toward getting out of the Amazon ecosystem as quickly as possible.

Amazon gives you two frustrating options:

  1. Use the download button on their website to download your ebooks one by one
  2. Get the Kindle app on your computer (only supported on Windows and macOS, Linux users are out of luck)

Even with collections in the Kindle app, you face download thresholds that prevent bulk downloading. And to add insult to injury, most of the ebooks still had DRM protection.

Tools for Digital Liberation

Fortunately, there are solutions for managing your own ebook library:

  • Calibre is excellent software for managing your ebook collection, and it has plugins available to remove DRM
  • Calibre-web offers a great web interface, which I use alongside Calibre (which I reserve for detailed database management)

For downloading your entire Kindle library, I recommend an amazing project by a Chinese developer: Kindle_download_helper.

Amazon's Latest Move

Disclaimer: On February 26, 2025, Amazon removed the download option for purchased ebooks and displayed a disclaimer stating that you only purchase a license. I'm posting this blog out of principle. Richard Stallman was right all along.

There's growing criticism about Amazon's monopolistic practices, exclusive deals, and efforts to build a protected ecosystem accessible only through Kindle devices. This makes purchased ebooks excessively expensive considering the risks:

  • Your Amazon account could be suspended, causing you to lose access to all your books
  • Books might be altered or removed without notice
  • You essentially own nothing under this policy (It's just a licence, bro)
  • Amazon will make whatever they want and push you slowly into a subscription service.

Escaping Audible Too

For Audible audiobooks, the escape route is somewhat easier. Applications like OpenAudible ($22 for a year or $70 for a lifetime) offer reasonable solutions when you want independence from your audiobook library.

For managing my audiobook collection, I use Audiobookshelf, which even supports archiving podcasts. There's also a project called Libation available as a Docker container that only needs Audible cookies to download your collection.

Final Thoughts

While I still believe in supporting creators and writers, I also believe in owning what I pay for. Breaking up with Amazon's digital ecosystem has been liberating, and I encourage you to consider how much control you want over your own digital library.