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. […]
Today’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.
In 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.
Anyone 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.