About Me

Intro – Born and raised in northern Germany I moved to the beautiful south as soon as school was out. There in the “Tuscany of Germany” Freiburg I did my diploma in Computer Science. During that time I created K3b – the KDE CD/DVD burning application – and saw it become the de-facto standard for optical media in Linux. After receiving my diploma in 2006 Mandriva brought me into the European research project Nepomuk to establish an open-source community connection.

IT Skills – I have more than 12 years of experience in C/C++, with a focus on QT and KDE development (Nokia Certified Qt Specialist). Semantic Web/Desktop technologies such as RDF and SPARQL are my day-to-day tools. I am experienced in Java, Python, HTML, and XML and know my way around database systems such as Virtuoso, Oracle, or MySQL. I have a deep knowledge of Linux systems.

Personal Skills – Working in a team comes natural to me as I managed different developers in the open-source projects I maintain. In Google’s Summer of Code 2009, 2010, and 2011 I successfully mentored a total of seven students. I gained experience in user support through the K3b and Nepomuk projects. In 2009 I organized two Nepomuk workshops in Freiburg with participants from all over Europe. I am very enthusiastic about my work and am able to comprehend new technologies very quickly.

Personal – In my spare time I like to do sports like rock climbing and jogging. I am passionate about cinema and my 2 daughters.
Contact – Sebastian Trüg – trueg@kde.org – trueg@jabber.org -View Sebastian Trüg's profile on LinkedIn

Recent Posts

Nepomuk Tasks: KActivityManager Crash

After a little silence during which I was occupied with Eastern and OpenLink related work I bring you news about the second Nepomuk task: the KActivityManager crash.

Ivan Cukic already “fixed” the bug by simply not using Nepomuk but an SQLite backend (at least that is how I understood it, correct me if I am wrong). However, I wanted to fix the root of the original problem.

Soprano provides the communication channel between Nepomuk and its clients. It is based on a very simple custom protocol going through a local socket. So far QLocalSocket, ie. Qt’s implementation was used. The problem with QLocalSocket is that it is a QObject. Thus, it cannot live in two threads at the same time. The hacky solution was to maintain one socket per thread. Sadly that resulted in complicated maintenance code which was impossible to get right. Hence crashes like #269573 or #283451 (basically any crash involving The Soprano::ClientConnection) were never fixed.

A few days ago I finally gave up and decided to get rid of QLocalSocket and replace it with my own implementation. The only problem is that in order to keep Windows compatibility I had to keep the old implementation around by adding quite a lot of #ifdefs.

And now I could use some testers for a Soprano client library that does only create a single connection to the server instead of one per thread. I already pushed the new code into Soprano’s git master. So all you need to do is run KDE on top of that.

Oh, and while at it I finally fixed the problem with re-connecting of clients. So now a restart of Nepomuk will no longer leave the clients with dangling connections, unable to perform queries. That fix, however, is in kdelibs.

Well, the day was long, I am tired, and this blog post feels a little boring. So before in addition to that it gets too long I will stop.

  1. Nepomuk Tasks: Let The Virtuoso Inferencing Begin 8 Replies
  2. Akonadi, Nepomuk, and A Lot Of CPU 8 Replies
  3. Nepomuk Tasks – Sponsor a Bug or Feature 58 Replies
  4. Keeping Your GitHub Fork Up-To-Date 1 Reply
  5. Virtuoso Open-Source Moved to GitHub 5 Replies
  6. You do not need to know RDF or FOAF to use WebID 2 Replies
  7. WebID – A Guide For The Clueless 7 Replies
  8. Nepomuk Gives Back Your CPU Cycles… 27 Replies
  9. Something Like Goodbye 19 Replies