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 […]

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 […]

AJAX, jQuery & how to bypass the same-origin policy

AJAX und Cross-DomainToday’s post is intended to give a brief introduction to the topic of AJAX with jQuery, as well as to cover the topic of cross domain (policy) and to show how you can use small tricks to send AJAX requests across multiple domains. Before we start, however, we will give you a quick introduction to the topic. If you are already familiar with the topic and are only interested in the AJAX cross-domain workaround, you can safely skip the first part of the article.
What is AJAX and how does it work in jQuery?
AJAX is an abbreviation and stands for “Asynchronous JavaScript And XML”. Contrary to the opinion of some people on the Internet, it is not a programming language, but rather a pattern, i.e. a way of programming something. By means of AJAX web content can […]

Steganography with PHP – Hide files in images

Steganographie mit PHPIn this article we want to deal with the topic of steganography and implement a small example in PHP. Because PHP is not “only” used to create web pages or to implement forms, as any experienced PHP programmer of larger web agencies will surely confirm.
Besides functions for text processing, PHP also provides methods for image processing as well as for manipulation on bit and byte level. And these are the ones we want to use today. But before we start coding, we will have a short introduction to the topic of steganography.
Steganography is not shorthand
As the title already announced, today’s topic is steganography, the art of hiding information or knowledge in a carrier medium. Wikipedia defines steganography as follows:
Steganography (/ˌstɛɡəˈnɒɡrəfi/) is the practice of concealing a message within another message or a physical object. In computing/electronic […]

Basics: Secure password hashing with salts

Passwörter in Plaintext speichernAnyone who develops software and especially if he/she does so in the web environment, has certainly already written one or the other login system or at least had points of contact in this area. Besides the logic of a secure login or user management system, the secure storage of passwords is one of the most important points during implementation.
Even if the actual login code is 100 percent error-free and secure (which should never be assumed in practice), security vulnerabilities in the server software can still lead to intrusions or hacks. There is always a variable that is out of one’s control and thus websites are hacked, compromised and complete databases with usernames and passwords are read every day.
In order to protect users in the best possible way in the […]