I’ve always despised iTunes and because of that I began to use Clementine several years ago, after trying out lots of unsatisfying music player alternatives on OS X. At the end of the musical year, it’s time to draw some conclusions, like what’s the top 10 songs and albums of the year. Fortunately, Clementine stores all information about your music collection in an SQLite database and hence it is possible to answer these questions with some SQL.
I’ve written a small set of tools to (semi-)automatically collect and analyze data from online discussions on Facebook groups and pages. It is available on github. It can be used to collect posts and comments (including their hierarchical structure and some metadata) from public groups and pages automatically. For closed groups, manually saving the HTML output and parsing it with a provided Python script is necessary.
After collecting the data, statistical analyses can be performed on it. For now, identifying and counting nouns as described in a previous blog post is implemented.
Extracting nouns in their baseform (lemmata) from German texts can be easily done using Python and the Pattern library, especially its pattern.de module. However, using the pattern.de library alone often leads to unsatisfying results, because the baseform is often not correctly determined. The results can be enhanced using libleipzig which queries the Wortschatz Uni Leipzig database.
After years of self-signed certificates, I finally have valid, trusted SSL certificates for my domains thanks to Let’s Encrypt. Although still in beta, having the certificats issued worked flawlessly using the
letsencrypt command line tool and the short instructions from the official documentation.
Now it’s no problem to access HTTP, CalDAV, email or other services on my server without being bugged by “invalid certificate” warnings or, in case of many mobile OS, needing to install a self-signed certificate manually on the client device.
@ZwoSchlagzeilen is a Twitter-Bot that mixes recent headlines of leading German newspapers and posts one of them each hour. Sometimes it produces funny results. It is basically the German variant for the American archetype @TwoHeadlines.
The source code is a Python 2 script named “zweischlagzeilen” and can be examined in the github repository.
My library for GPGPU on mobile and embedded systems, ogles_gpgpu, received a little update: Unfortunately, I was unaware that the LGPL apparently conflicts with the App Store (or, the other way around), so I chose to switch to the Apache 2 license for this project. Now it’s no problem to use this library in applications that will be released via App Store. Furthermore, I created an XCode static library project (see my previous post) for ogles_gpgpu, so that you can integrate it into your iOS project more easily. Along with a small bug fix, all changes have been pushed to the GitHub repository.
Building static libraries in XCode for reuse in other projects is supposed to be quite easy and straight-forward. However, if you’re planning to build a larger library (of C or C++ code for example) with lots of submodules contained in a directory structure, you will soon get problems with XCode – especially with the header file output of your library. But with some tricks it is still possible to get XCode to export your original header directory structure. It requires some manual work, though, and you might wonder how on earth this simple matter could be so complicated in XCode.
I have just finished the first stable release of my library for portable GPGPU on mobile and embedded systems. Because it uses OpenGL ES 2.0 for GPU-powered processing, it is called ogles_gpgpu. Until now, it supports iOS and Android systems, so embedded systems such as the Raspberry Pi have not yet been tested with it, but this is something I plan for the future.