From Bookstats to LibrisLog: How to Migrate Your Reading Statistics

Bookstats will not continue operating in the near future. The app announcement cited serious health problems affecting the person who keeps the project running. No fixed shutdown date or export deadline was given, and nobody knows what will happen to the server data after a shutdown. If your library still lives in Bookstats, I would export it now rather than wait.
The question of alternatives also came up in the Reddit thread about the Bookstats shutdown and the Bookcrossing thread about alternatives. I personally pointed to LibrisLog because it can import Bookstats export files and is designed for people who want to keep control of their own library data. The source code is openly available on GitHub. That reply is what led to this migration guide.
I am the developer of LibrisLog, and I ran the migration myself using my own Bookstats export. It contained 178 book rows. The workflow is pleasantly […]

LibrisLog 1.9.0: Smarter Import Search, Public Profiles and More

LibrisLog 1.9.0 is a substantial feature release rather than a tiny maintenance bump. Released on September 15, 2026, it focuses on import search, shareable profiles and the small points of friction that tend to turn a book tracker into a spreadsheet with feelings.
Edition groups and an import basket
Search results from different providers that describe the same book are now grouped into expandable edition groups. LibrisLog matches editions by ISBN or, when no ISBN is available, by title and authors. That makes it much easier to compare variants and pick the right one without losing results in a long, repetitive list.
The selected edition is highlighted, and a new import basket lets you collect results before importing them. The basket can be reviewed, individual entries can be removed, and everything can be imported in one go. Reading status, possession status and medium are kept with each entry, while duplicate additions are prevented.

When the App You Love Dies, Build Your Own — Introducing LibrisLog

I was a happy Dante user. For those who don’t know it, Dante was a solid Android book tracker. Scan a barcode, look up metadata, track your reading progress. Simple, effective, and most importantly: it worked. Until it didn’t.
Adding books by title or barcode? The search API the app relied on had stopped responding, so neither ISBN lookups nor name searches worked anymore. Backups? Gone too. Dante had gone quiet: No updates in a long time, and the features that depended on external services had stopped working. I get it, though. Focus shifts. I’ve been there myself. I recently handed one of my own projects over to a new maintainer because I couldn’t keep up anymore. But understanding why doesn’t make it any less frustrating when it’s your bookshelf that’s stuck.
And that’s where the real pain started. Getting my own data out of Dante was a nightmare. There was no export function anymore. […]

Personal note: Passing the Torch on the Open-Source Project QRCoder

Anyone who has searched this blog in recent years for solutions to generate QR codes in .NET will inevitably have come across my project, QRCoder. I launched the library in October 2013, not primarily because I lacked other tools at the time, but as a personal programming challenge: My goal was to implement the official DIN/ISO standard for QR codes natively in C# from scratch myself. To understand the algorithms, to learn something new.
Over the years, this experiment has grown into a very successful open-source project that has now been downloaded millions of times via NuGet and is used in numerous commercial and private projects worldwide.
After 12 years, I decided in September 2025 to hand over the active maintenance and administrative management of the project. In this brief post, I would like to explain the background behind this decision and introduce the new maintainer.
The Reasons for the Transition
Maintaining […]

Speed up the Alexa app on Android – no more sluggishness

You know how it is: you open the Alexa app on your Android smartphone, click through the menus—and every “click” feels like it’s in slow motion. Whether you’re controlling smart home devices or looking for a simple setting, instead of a quick response, using the app becomes a test of patience.
I had exactly this problem. And the solution is as simple as it is curious.

The culprit: Contacts permission

In most cases, the cause of performance issues is not your smartphone or your internet connection, but rather an app permission. More specifically: access to your contacts.
In my case, the app apparently tried to scan through my 1,000+ contacts every time I changed pages. On a second smartphone with fewer contacts, it worked much faster. The fact is, as long as the permission was active, the app became a test of patience.

The solution: revoke […]

en.code-bude.net
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.