Welcome to the personal website of Tobias Schlitt. Please select a sub-site above or directly follow a blog post in one of my blogs below. On this website I unite information about my open source activity, my hobby - photography - and private stuff. You can find each of them in a dedicated section. The aggregation of my 3 different blogs below, mixes all of these sections.
This is a very unusual blog post for the open source area of my website, since it contains a recommendation for a science fiction book. The reason I've put it here instead of the private section is on the one hand, that it will definitely reach more geek - and therefor probably scifi interested - people here. On the other hand, the book I'm writing about can be found online for free in English language, but the private section is mostly kept in German.I love scifi literature and movies, as most geeks do. But the quality of works in this area varies quite a lot. Beside the style of writing, there is one crucial point, which can make the best novel be a total disaster: Authenticity.
Read more...Obwohl mein Firefox derzeit ein bisschen zickt, ist er doch weiterhin mein Lieblingsbrowser. Das liegt vor allem daran, dass sich der eigentlich recht schlanke Kern durch eine riesige Flut von Add-Ons erweitern lässt. Hier die Übersicht zu behalten ist nicht einfach, daher nutze ich die Gelegenheit während ich ein neues Profil aufsetze um Altlasten los zu werden, um mein Ensemble von Extensions vorzustellen.
Read more...Every programmer should learn a new programming language once in a while. Be it for inspiration or just for fun. After some homework in C# some years ago and quite some Java at university (again), Python was my language of choice. This is the first article in a series I plan to write about what I like in Python, what is disturbing but works out and what is really evil. In this article I give a short overview on my motivation to dig into Python and start with a first topic: The missing braces.
Read more...phpDocumentor for VIM (PDV) is a project which resulted from my efforts to create a comfortable programming environment for PHP in the VIM editor. Since the server which hosted the SVN repository is to be switched off the next days, I finally moved development over to github.In addition to that, I seized the chance to rename the project itself to VIP (VIM integration for PHP). The repository does not only contain the PDV script iself, but also a filetype plugin for PHP, some useful color schemes, a PHP skeleton file, settings for other (related?) programming languages and more.
Read more...I recently had the problem that I wanted to retrieve the smallest items from a stream of data. When talking about a stream here, I refer to a data set that I do not want to load into memory completely, since it has quite a few elements. The best way to process such data is a stream approach, where you work always on a single item at a time, iteratively, without loading the full data set.In my special case, I had a database with 140,000 records. The processing of these records could not happen in the DB, since I needed to create vectors from text and perform calculation on these. Basically, I needed to check each vectors distance to a reference vector and keep only the k closest ones.So, what is a good approach to solve such a task? I decided to implement a custom data structure based on a max heap to solve the problem. In this article, I present the solution and compare it to two different other approaches in terms of a small benchmark.
Read more...I recently had the problem that I wanted to retrieve the smallest items from a stream of data. When talking about a stream here, I refer to a data set that I do not want to load into memory completely, since it has quite a few elements. The best way to process such data is a stream approach, where you work always on a single item at a time, iteratively, without loading the full data set.In my special case, I had a database with 140,000 records. The processing of these records could not happen in the DB, since I needed to create vectors from text and perform calculation on these. Basically, I needed to check each vectors distance to a reference vector and keep only the k closest ones.So, what is a good approach to solve such a task? I decided to implement a custom data structure based on a max heap to solve the problem. In this article, I present the solution and compare it to two different other approaches in terms of a small benchmark.
Read more...Since last November I'm the happy owner of an Android smart phone. Actually, I already have my second one: After the HTC Hero, which was already amazing, I now have the Motorola Milestone (aka Droid). This blog post lists and reviews the apps that I think every Android phone should have installed.
Read more...Über die Feiertage ging ich endlich mal ein Projekt an, dass mir seid mittlerweile 8 Jahren auf der Seele brannte: Die liebe MP3-Sammlung mal anständig taggen. Denn ohne ordentliche Meta-Informationen bringt das beste Mediacenter nichts. Und ich kann sagen, durch jahrelanges, händisches einverleiben von CDs, Online-Kauf von Musik und mehr, sah meine Sammlung aus wie Kraut und Rüben. Der Tagger Picard des Musicbrainz-Projektes hat geholfen.
Read more...Yesterday the latest stable release of the eZ Components project, number 2009.2, was rolled. For this release I worked on support for OpenDocumentText (ODT) in the Document component. In this article I show you how you can import OpenDocumentText documents and convert them into any of the supported formats of the component, how to export data into ODT and how to apply styles to the generated documents. You will also see how ODT and PDF can be exported with the very same styling information to make them look almost identical.
Read more...Der Titel klingt im Deutschen schön doof, "a media center story" wäre eindeutig besser gewesen, aber das ist hier ist schließlich ein deutsches Blog. Na ja, aber warum geht's hier? Nach unserem Umzug gen Heimat habe ich mir einen lang ersehnten Wunsch erfüllt und das Wohnzimmer ziert jetzt ein chicer Mediacenter-PC, im Austausch gegen DVD-Player, CD-Player und Tape-Deck. Nach meiner Begeisterung für das Gerät und das Setup, möchte ich beides hier kurz vorstellen.
Read more...