<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.2c" -->
<rss version="2.0">
    <channel>
        <title>Svens Blog - Amarok</title>
        <description>Things that matter... at least for me ;-) - Amarok</description>
        <link>http://krohlas.de/blog/?tid=9</link>
        <lastBuildDate>Mon, 08 Feb 2010 14:18:27 +0100</lastBuildDate>
        <generator>FeedCreator 1.7.2c</generator>
        <language>de-DE</language>
        <copyright>Copyright 2010, Sven Krohlas</copyright>
        <managingEditor>sven@asbest-online.de</managingEditor>
        <webMaster>sven@asbest-online.de</webMaster>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
        <item>
            <title>FOSDEM 2010, part two</title>
            <link>http://krohlas.de/blog/?eid=338</link>
            <description>So, FOSDEM is over now and I finally have the time to have a look back.&lt;br/&gt;
As I &lt;a href=&quot;http://krohlas.de/blog/?eid=337&quot;&gt;already said&lt;/a&gt; I was there one day earlier, so I could do something else but promoting Amarok for one day: visiting the European Parliament. The EP was located about 30 minutes by foot from the hotel. I can really recommend not always using the metro or tram lines: with that you only see some spots of the city but are never able to connect them. Walking from one point to another really helps to get some orientation, so afterwards you are able to find your ways quite easily.&lt;br/&gt;
Anyway, I arrived at the EP a few minutes before 10 AM, to meet with Erik Josefsson, member of the EP for the Green party, at one of the (afaik) two accreditation centers. Some minutes later, after passing those airport like security checks, not Erik but Christian Engström showed up. As you might know he is the first Pirate ever in the EP after the election result of more than 7% in Sweden. So in his office we talked about the current state of netpolitics in Sweden, Germany and the EU. Things like data retention (very interesting for Sweden atm, as they were just successfully sued by the EU for not making that into national law), ACTA, or the SWIFT treaty with the US (that the EP will very likely reject no matter what Hillary Clinton says). So in general: all those things that are about to attack the base of our security: freedom. Also some election campain ideas were exchanged in our discussion.&lt;br/&gt;
Anyway, he still had to do some paperwork so he suggested to bring me into a &quot;hearing&quot; of the &quot;Digital Rights Group&quot;. Well, I didn't seem to remember the name, but the agenda was very interesting: all kinds of netpolitics. So i agreed to go there, of course. Which would really not have been possible for me alone at all, as all the hallways in those buildings seem to look exactly the same. You can get lost there sooo easily.&lt;br/&gt;
On arrival Christian showed me Erik, who was sitting on the conference table of the meeting room. Also Amelia Andersdotter was there, the second Pirate in the EP (since the signing of the Lissabon treaty Sweden has two more seats) and afaik the youngest ever. As all visitor seats were taken I just sat down on the floor and listened to what they have to say. The discussion was really inspiring, it was about data retention at that moment. The people on the conference table, which I thought were members of the EP, were asing somebody from the European Commission (I knew the face but not the name...) many very, very critical questions. One thing hat came up to me during that: does something like &quot;anonymized data&quot; actually exist at all? I'm gonna write about the problems I see there later in another post.&lt;br/&gt;
I was surprised: the Council&amp;nbsp;&amp;nbsp;and Commission have not yet arrived in the Lissabon treaty times and still don't accept the EPs new powers, or at least they try to ignore it all the time. So i expected critical questions. But not THAT critical. After some time I got even more confused: one person with the same kind of name tag as me, so appearently another visitor, was allowed to ask a question directly to the representative of the Commission. So clearly I had the wrong impression of where I was.&lt;br/&gt;
Well, during lunch break Erik explained to me that this was a meeting of all kinds of netpolitics organizations. In fact this was part of a two days conference, for the first time ever those groups hat the chance to meet directly inside the EP buildings. So before FOSDEM I accidently took part in another conference. ;-)&lt;br/&gt;
The afternoon was very interesting then: as there was a free seat directly at the conference table I could go, from the introduction I learned that there were people from netzpolitik.org, La Quadrature Du Net, AK Zensur, Pirate International and others. Someone even came up to me saying: &quot;Hey, I know you, you are with the German Pirates.&quot;. Completely right, but I'm only a normal member there, We both had no ideas where he could have seen me.&lt;br/&gt;
In the afternoon we made a list of current and upcoming topics that will influence digital rights massively. I will put then into a separate blog entry, as the list is not that short and I suppose not everyone reading the Amarok-Feed of my blog is deeply into politics.&lt;br/&gt;
So to come to an end to that political stuff: it was a very, very interesting day, thanks to Christian, Amelia and Erik for making that possible.&lt;br/&gt;
The FOSDEM beer event then took place again at the Delerium Café in the center of the city. New beers I tried this time: cactus and coconut. Well, if you are into those lemon bricks that can be put into the toilet to make it smell better cactus is the beer for you! It smells exactly this way and tastes... as you would expect it to taste! Everyone on the table agreed. But: it makes a good start for funny conversations. Coconut on the other hand is fine: smells and tastes like coconut, is kind of sweet and gets served in a bowl looking like half a coconut. Very nice. :)&lt;br/&gt;
FOSDEM itself (wasn't this blog entry planned to be about FOSDEM?) was really good as well: many visitors as always, many people were interested in Amarok and our shirts at the booth. My talk filled the dev room completely, so the &quot;closed&quot; signs had to be put on the doors to stop people from entering. This morning I saw a mail on the list saying:
&lt;blockquote&gt;
Sven really kicked ass holding one of the most entertaining and informative talks
&lt;/blockquote&gt;
Thanks a lot!&lt;br/&gt;
I really like to keep my talks open for discussion, and that worked perfectly this time. So check the mailing list for the resulting ideas.</description>
            <pubDate>Mon, 08 Feb 2010 12:12:41 +0100</pubDate>
        </item>
        <item>
            <title>Arrived in Brussels</title>
            <link>http://krohlas.de/blog/?eid=337</link>
            <description>Ok, just to let everyone know: I arrived in Brussels, where I will give a talk about Amarok on Saturday at FOSDEM. At 17:30, iirc.&lt;br/&gt;
&lt;br/&gt;
The flight was quite interesting (well, I don't fly that much, generally I try to avoid it due to the environmental issues): there were just eleven passengers on board. And it was so short that I had to empty my free drink fast as they announced the landing procedure.&lt;br/&gt;
&lt;br/&gt;
Also quite funny: meeting people at the airport and seeing them a few minutes later again near the Grande Place. You're spying on me, aren't you? ;-)&lt;br/&gt;
&lt;br/&gt;
I guess for the first time in my life someone tried to rob me. You know, you're standing there, looking at the map, then this guy shows up, saying something you don't understand (that's the moment paranoia level goes up to the max), starts swiping your jacket (check: no other strangers in the range of two meters), he tries to make you understand that some liquid was on the jacked (ok, now everything is clear as water...), wants you to take it off (let's play a little game...), tries to hold it in his hands (you know that I know your plans, there's nothing of any value in it and your friends five meters away won't get closer because I already spotted them...), and then walks away (Ha! Giving up already?). Fun. :-) So remember: keep anything of value in places that cannot be reached in a matter of seconds.&lt;br/&gt;
&lt;br/&gt;
The hotel was relatively easy to find but I have to confess it's totally not my style. First they required me to fill out a form. A form asking for name (so far, so good), birth date (it gets interesting), home address, profession (you see where it goes?), nationality, identity card or passport number (!!!), the authority that delivered that passport, date of arrival, number on your motor-vehicles plate, other family members: wife (including maiden name!), number of children (what the hell do you want to do to my non existent children?), date of departure and something I didn't get, I suppose the current date.&lt;br/&gt;
&lt;br/&gt;
If I had a wife and would check in together with her that information would be enough to open a bank account in her name in Germany! Why the hell do they ask all those questions? The guy at the reception said the law required it. &quot;Controlle des voyageurs dans les hotels et maisons d'herbergement&quot; is the title of the form and according to him also the name of the law. Can anybody verify this? I'm quite sure that can't be legal from a human rights point of view. Never ever!&lt;br/&gt;
&lt;br/&gt;
Of course I tried to cheat a bit: I gave them both my nationalities, but in the German short form. And I didn't try to give them a good handwriting of the number of my Swedish passport. If you know my handwriting you know what that means. This should be good enough to confuse automated systems that work on this data.&lt;br/&gt;
&lt;br/&gt;
Oh, and I took a blank one of those forms with me. Really, there something has to be done. Any Belgian pirates reading this? I am not too paranoid on this, am I?&lt;br/&gt;
&lt;br/&gt;
If I don't show up tomorrow then they brought me to Guantanamo. ;-) After asking those critical questions I paid cash, for which I earned a surprised look. Hey, I only want to live my life without being monitored, but if I do I'm automatically being looked at suspiciously.&lt;br/&gt;
&lt;br/&gt;
Internet costs 2.50 euros per 30 minutes, a day is 10 euros. Oh, and the clock starts ticking the moment you log in. Logging out seems not to be implemented yet. Funny people. The room for the night I'm early is also more expensive than I thought, 129 euros. Well, I'm sure they pay a developer to implement a fair accounting system for their wireless. They do, they do, they do! *putting fingers in my ears* Lalalalala... So if you can read this it's very likely I used their wireless for a lot of money (Update: I have and they combined my freshly received account data with my room number... hello European data retention regulations!). According to Wireshark no one else logged in in the last three hours. ;-(&lt;br/&gt;
&lt;br/&gt;
Apart from that Brussels hasn't changed much. I found some waffles in a supermarket (maybe I should get some beer there tomorrow to bring it home) and a nice Italian restaurant with cheap prices. At least for Brussels, in Karlsruhe 10 Euros for a lasagne would still be quite expensive. But it was very good and I had a chance to practise my rusty French a bit. Oh, and the Celtica club (more like a Irish bar with live music and DJ) someone recommended to me is also just around the corner. same for the Delerium Café, where the beer event will take place.&lt;br/&gt;
&lt;br/&gt;
Plan for tomorrow: visiting the European Parliament together with some Swedish members from the Pirate and Green parties. And later today I'm gonna try out that bath tub, I haven't had a warm bath since I moved out of my parents flat years ago. So that has to be used then. :)</description>
            <pubDate>Thu, 04 Feb 2010 19:23:07 +0100</pubDate>
        </item>
        <item>
            <title>Free Music Charts script for Amarok 2.2</title>
            <link>http://krohlas.de/blog/?eid=336</link>
            <description>Just a few days ago (yeah, might already be old news for some people out there) I released version 1.3.2 of the &lt;a href=&quot;http://kde-apps.org/content/show.php/Free+Music+Charts?content=91484&quot;&gt;Free Music Charts integration for Amarok&lt;/a&gt;. This one is required to work properly with Amarok 2.2.&lt;br/&gt;
&lt;br/&gt;
The FMC are a monthly internet radio charts show where only open music is allowed to take part. You can chose five songs from usually five newcomers and the best 15 tracks of last month to vote for. All songs can be downloaded and redistributed freely. You can get the script from the Amarok Script Manager (try the &quot;Get more scripts&quot; button) or from kde-apps.org.</description>
            <pubDate>Fri, 09 Oct 2009 07:46:39 +0100</pubDate>
        </item>
        <item>
            <title>A-Team at OpenExpo, Wintertur, Switzerland</title>
            <link>http://krohlas.de/blog/?eid=335</link>
            <description>As usualy: if you want to see the latest developments in git master and talk to the developers of your favorite media player: join us at &lt;a href=&quot;http://www.openexpo.ch/openexpo-2009-winterthur/&quot;&gt;OpenExpo in Winterthur&lt;/a&gt;, Switzerland. Oh, and of course we have Amarok shirts with us. :)</description>
            <pubDate>Tue, 22 Sep 2009 15:11:17 +0100</pubDate>
        </item>
        <item>
            <title>FrOSCon 2009</title>
            <link>http://krohlas.de/blog/?eid=334</link>
            <description>If you want to meet some developers of your favorite music player in real life, shake hands with Mike and have a look at all the wonderful changes in git master for Amarok 2.2: &lt;a href=&quot;http://froscon.org/&quot;&gt;Visit us at FrOSCon&lt;/a&gt;, this weekend in Sankt Augustin, Germany (near Cologne/Bonn). We will be at booth 45 together with KDE, Kubuntu and Qt Software. See you there!</description>
            <pubDate>Wed, 19 Aug 2009 10:58:37 +0100</pubDate>
        </item>
        <item>
            <title>GSoC Status Update August/3 (final one)</title>
            <link>http://krohlas.de/blog/?eid=333</link>
            <description>In this last week new test classes were added to the framework, namely tests for:
&lt;ul&gt;
&lt;li&gt;Meta::M3UPlaylist&lt;/li&gt;
&lt;li&gt;Meta::XSPFPlaylist&lt;/li&gt;
&lt;li&gt;PlaylistFileProvider&lt;/li&gt;
&lt;li&gt;SqlUserPlaylistProvider&lt;/li&gt;
&lt;li&gt;TimecodeTrackProvider&lt;/li&gt;
&lt;/ul&gt;

Also the tests for DirectoryLoader finally work. The solution was to leave the usual design of tests behind in this case and start testing with QTest::qExec() not in the constructor but in a special slot that gets connected to the loaders finished() signal. So this is now a good template for tests that test actions taking part in other threads. Also some more test data has been added and older tests have been polished a bit.&lt;br/&gt;
&lt;br/&gt;
So in the end we have a fast test framework with currently 18 test classes. Adding more tests is not hard, a &lt;a href=&quot;http://amarok.kde.org/wiki/Unit_Testing&quot;&gt;guide to using and writing Amarok unit tests&lt;/a&gt; has just been added our wiki. Tell me if anything is unclear there.</description>
            <pubDate>Mon, 17 Aug 2009 18:08:52 +0100</pubDate>
        </item>
        <item>
            <title>GSoC Status Update August/2</title>
            <link>http://krohlas.de/blog/?eid=331</link>
            <description>This status update might be a bit boring as basically all there is to say: we have lots of new tests. Namely the following classes are new to the testsuite (most of them pass successfully):
&lt;ul&gt;
&lt;li&gt;ExpressionParser&lt;/li&gt;
&lt;li&gt;QStringx&lt;/li&gt;
&lt;li&gt;MetaFile::Track&lt;/li&gt;
&lt;li&gt;MetaCue::CueFileItem&lt;/li&gt;
&lt;li&gt;MetaCue::Track&lt;/li&gt;
&lt;li&gt;Meta::MultiTrack&lt;/li&gt;
&lt;li&gt;Meta::Track&lt;/li&gt;
&lt;li&gt;Meta::PLSPlaylist&lt;/li&gt;
&lt;/ul&gt;

Also some bugs were found and some of them even fixed along the way. Still I have no clue how to correctly test DirectoryLoader. Next are the other Playlist-classes in the Meta namespace for M3U and XSPF files.</description>
            <pubDate>Mon, 10 Aug 2009 13:27:53 +0100</pubDate>
        </item>
        <item>
            <title>GSoC Status Update August/1</title>
            <link>http://krohlas.de/blog/?eid=330</link>
            <description>We now have complete test coverage for everything in Amarok.h, that is still being used, I cleaned up and removed non-used functions. And: all the tests now run successfully. Interesting were the fixes for Amarok::cleanPath(): this method tries to remove accents of all kinds from a string. Internally this was done using a lot of QString::replace(). But: catching all accented characters this way is a pita and the test failed, of course. The answer were some Unicode tricks: in some normalized storage forms the accents and the &quot;manipulated&quot; character are stored seperately. So after normalizing the string it is just a matter of removing all possible accents from it. QString::replace() is then only needed for special cases. The better I know Unicode the more I like it.&lt;br/&gt;
&lt;br/&gt;
Apart from that CaseConverter is now also equipped with tests. DirectoryLoader caused headaches: it has only void methods, but manipulates the playlist, so there it could be verified if it worked correctly. But as it's running async in a seperate thread I failed to sync the test framework with the availibility of the results: how to wait for a signal to appear? Directly calling the test slot using a signal/slot connection will not work.&lt;br/&gt;
&lt;br/&gt;
Also another small but ugly bug showed up: sometimes parts of Amarok debug output show up in the testlogs. I still have no idea at all why.&lt;br/&gt;
&lt;br/&gt;
So quite soon we are going to merge the current work into Amarok git master. Making sure that the test framework doesn't affect release builds (install test files, link to testlib) is the next step, but that should hopefully be trivial. Afterwards more test classes are on the agenda and hopefully an idea how to make TestDirectoryLoader behave as it should.</description>
            <pubDate>Mon, 03 Aug 2009 19:01:54 +0100</pubDate>
        </item>
        <item>
            <title>GSoC Status Update July/3</title>
            <link>http://krohlas.de/blog/?eid=328</link>
            <description>So, the new C++ based unit testing framwork is now working. A simple
&lt;blockquote&gt;
amarok --test
&lt;/blockquote&gt;

will run all available tests. Logs can then be found in
&lt;blockquote&gt;
~/.kde4/share/apps/amarok/testdata/&amp;lt;datetime&amp;gt;/
&lt;/blockquote&gt;
or whatever directory this corresponds in your distribution. Currently there are tests for SmartPointerList (which already existed and just were adopted to the new system), parts of PlaylistManager and several funtions in Amarok.h.&lt;br/&gt;
&lt;br/&gt;
The tests in Amarok.h also already found a few bugs, especially in Amarok::vfatPath() (at this point I could fill pages with rants about how evil VFAT and the Windows API are...). It was really nice to see progress in the tests when trying to get the function to work as expected. The tests caught regressions quite well. I was able to perfectly see for which data it crashed or delivered wrong results when working on the code and introducing an error. Automated testing definitely can save a lot of time!&lt;br/&gt;
&lt;br/&gt;
The tests for Amarok::cleanPath() also still fail partly. Oh, and if someone could run all the tests, especially the ones for Amarok::vfatPath() under Windows it would really be great, too. :)&lt;br/&gt;
&lt;br/&gt;
The current code with detailled commit messages can now be found on Gitorious: &lt;a href=&quot;http://gitorious.org/~krohlas/amarok/krohlass-clone&quot;&gt;http://gitorious.org/~krohlas/amarok/krohlass-clone&lt;/a&gt;.&lt;br/&gt;
&lt;br/&gt;
Next on my agenda are the remaining tests in Amarok.h and working on getting those for Amarok::cleanPath() to run successfully, but not by changing the tests. ;-)</description>
            <pubDate>Mon, 27 Jul 2009 18:45:30 +0100</pubDate>
        </item>
        <item>
            <title>GSoC Status Update July/2</title>
            <link>http://krohlas.de/blog/?eid=327</link>
            <description>This week I was thinking about the idea that came up after the last status report: why a gui if mainly developers will run the tests? So I checked out the ways Qt offers to make each test class a standalone executable (using the QTEST_MAIN macro). This is quite nice but has a massive drawback: compiling and linking to more complicated classes with a lot of dependencies to other parts of Amarok and generated files becomes a pita (I tried that with PlaylistManager). Those problems vanish when integrating all tests into Amarok itself. So on my branch we have now a new parameter --test for Amarok, intended to run all available unit tests. The constructor of a test class now simply calls the init-, test- and cleanup-methods.&lt;br/&gt;
&lt;br/&gt;
This approach is quite fast currently (here two test classes are being run):
&lt;blockquote&gt;
amarok:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BEGIN: static void App::runUnitTests()&lt;br/&gt;
amarok:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; END__: static void App::runUnitTests() - Took 0.00038s
&lt;/blockquote&gt;

But... I also miss any output currently. when looking at the docs about QCOMPARE they shocked me a bit: &quot;Note: This macro can only be used in a test function that is invoked by the test framework.&quot;. Well, so I might need to write some utility functions/macros for that approach. I'm still investigating this problem atm.</description>
            <pubDate>Tue, 21 Jul 2009 09:21:10 +0100</pubDate>
        </item>
    </channel>
</rss>
