Svens Blog

Things that really matter... least for me ;-)
April 2014
< Mar   May >

[Entry Index]

Recent Entries
Andere Blogs
RSS 2.0 Feed

Valid CSS!
Valid XHTML 1.0!
Valid RSS!

No software patents!
Campaign for a Non-Browser Specific WWW
darkerradio - DIE Alternative im Netz - Tune In, Turn On, Burn Out
Some rights reserved
Play Ogg!
Wednesday, 19. August 2009
  FrOSCon 2009
19. August 2009, 02:58PM
Posted By Sven Krohlas
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: Visit us at FrOSCon, 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!
[Permalink]   [Comments (1)]   [Add Comment]   [Trackback]   [Google]   (62 Words)
Monday, 17. August 2009
  GSoC Status Update August/3 (final one)
17. August 2009, 10:08PM
Posted By Sven Krohlas
In this last week new test classes were added to the framework, namely tests for: 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.

So in the end we have a fast test framework with currently 18 test classes. Adding more tests is not hard, a guide to using and writing Amarok unit tests has just been added our wiki. Tell me if anything is unclear there.
[Permalink]   [Add Comment]   [Trackback]   [Google]   (139 Words)
Saturday, 15. August 2009
15. August 2009, 09:11PM
Posted By Sven Krohlas
Pirate moved in!
[Permalink]   [Add Comment]   [Trackback]   [Google]   (3 Words)
Monday, 10. August 2009
  GSoC Status Update August/2
10. August 2009, 05:27PM
Posted By Sven Krohlas
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): 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.
[Permalink]   [Add Comment]   [Trackback]   [Google]   (81 Words)
Monday, 3. August 2009
  GSoC Status Update August/1
3. August 2009, 11:01PM
Posted By Sven Krohlas
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 "manipulated" 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.

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.

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.

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.
[Permalink]   [Add Comment]   [Trackback]   [Google]   (289 Words)
Friday, 31. July 2009
  Die Piratenpartei braucht eure Unterstützung!
31. July 2009, 11:16AM
Posted By Sven Krohlas
Auch die Piratenpartei in Baden-Württemberg ist auf Kurs. Wir haben ehrenamtliche Wahlkämpfer, die bereit sind, in vielen Orten Wahlkampfaktionen und Plakatierungen durchzuführen. Im Vergleich zu anderen Parteien sind unsere finanziellen Mittel jedoch äußerst begrenzt. Um die benötigten finanziellen Mittel zu verdeutlichen: ein Wahlkampfplakat kostet je nach Bestellmenge 1,50 bis 2 Euro. Selbst in kleineren Gemeinden bringen die großen Parteien 20 bis 40 davon an und unser Bundesland hat 1101 Gemeinden.
Ich bin mal vorbildlich voran gegangen und habe 50 Euro überwiesen. Jeder Euro hilft! Und derzeit wird Dank der Parteienfinazierung jede Spende de facto vom Staat verdoppelt. :)

Mehr unter:
[Permalink]   [Add Comment]   [Trackback]   [Google]   (101 Words)
Monday, 27. July 2009
  GSoC Status Update July/3
27. July 2009, 10:45PM
Posted By Sven Krohlas
So, the new C++ based unit testing framwork is now working. A simple
amarok --test
will run all available tests. Logs can then be found in
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.

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!

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. :)

The current code with detailled commit messages can now be found on Gitorious:

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. ;-)
[Permalink]   [Add Comment]   [Trackback]   [Google]   (222 Words)
Tuesday, 21. July 2009
  GSoC Status Update July/2
21. July 2009, 01:21PM
Posted By Sven Krohlas
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.

This approach is quite fast currently (here two test classes are being run):
amarok:             BEGIN: static void App::runUnitTests()
amarok:             END__: static void App::runUnitTests() - Took 0.00038s
But... I also miss any output currently. when looking at the docs about QCOMPARE they shocked me a bit: "Note: This macro can only be used in a test function that is invoked by the test framework.". Well, so I might need to write some utility functions/macros for that approach. I'm still investigating this problem atm.
[Permalink]   [Add Comment]   [Trackback]   [Google]   (209 Words)
Monday, 13. July 2009
  GSoC Status update July/1
13. July 2009, 07:56PM
Posted By Sven Krohlas
So, at the GCDS we discussed the problems I encountered and also the future of my GSoC project. We finally came to the conclusion that QtScript is not the best tool to get unit testing into Amarok. Of course being able to send a user a test script would be nice, but as outlined previously: making all the needed APIs available to scripts is anything but trivial.

So we came up with this: Basically this meant that I needed to remove my current work, but that's still better than wasting an endless amounth of time trying to bend tools into shape to use them for something they weren't meant to be used.

I started on this new approach at the GCDS, but there is not yet much to be seen. A "Run Unit Tests" help menu entry in Amarok debug builds, the start of a GUI to run selected/all tests. But I'm quite confident that now we will have much faster progress than before.
[Permalink]   [Add Comment]   [Trackback]   [Google]   (201 Words)
  Gran Canaria Desktop Summit
13. July 2009, 07:26PM
Posted By Sven Krohlas
So, people are asking me about the days in GC, and I'm getting tired of it. Time to blog. Hopefully I don't forget anything important. :)

So, first of all: no, it was no holiday, The day I arrived was the official beginning of the conference and it ended just the night before I left. Which of course doesn't mean we weren't allowed to have some fun.

So, the journey begun on July 3rd, Stuttgart airport. My first flight ever, before that all conferences could be reached by car or train. Well, that's the benefit of living in central Europe, I guess. It was pretty cool to meet Fregl and other KDE people at the airport in Germany and just a few hours later again over 3000 kilometers away in Gran Canaria (they were on a different plane). Anyway, the flight itself was boring. The only moments it really felt like flying were those right before touch down next to the military aircrafts on the island. The others made it in time to catch the Bus to the Santa Catalina bus station in Las Palmas de Gran Canaria, I was a few minutes too late for that. The problem is: the busses go there hourly. But there are also some (from the same bus line 60) that go to San Telmo. As the bus driver explained (his English wasn't very good), that it's just a 20 minutes foot walk to Santa Catalina I decided to go there instead of waiting. Well, the bus driver was wrong: it took me 40 minutes to my hotel, which was located in between those two stations. Well, so at least I have seen some more parts of the city...

I guess we had one of the cheapest hotel on the island, the official travel agency simply wasn't able to manage the trip for a lot of conference participants. Anyway, for sleeping and taking a shower even the cheapest hotel should be good enough. But not for having a reception that is actually able to open the door. I was waiting for about 20 minutes, ringing the door bell again and again, when it finally opened. Some other guest was leaving. So I got inside. Of course due to my delay I missed Sebr, my room mate. The reception was empty, but the window into the reception room could be opened easily. That's what you get when inviting hackers into your hotel and don't offer them the expected service. ;-) I simply left my luggage there and left again to check out the conference location, which should just be 20 minutes or so away by foot. We heard that number before? Yeah, history repeats itself...

I had a printout of the OSM map of the area with me, but as I didn't realize that parts of the highways on it were located inside a tunnel and I had the wrong maps on my Garmin GPS device (Spain... but WITHOUT the Canary Islands... *damn*). I of course managed to walk at least 5 kilometers more than needed. And so i learned: 1) nearly no one speaks English at that place and 2) "Complicada!", when asking a native taxi driver for the way. In the end, just a few meters away from the Alfredo Kraus Auditorium I heard a voice shouting "SVEEEEEN" loudly across the square. Mamarok and Markey found me. :) The conference registration was already closed, the Canonical-sponsored welcome party nearby (here the OSM data was helpful again) and so everything worked out fine for the first day. All the free beer had been drank and they serve a Cuba Libre by giving you a half full (empty?) rum filled glass together with a small bottle of cole. No lemon. And more cola than is needed to fill up the glass. Strange. Very strange.

The next day was mainly Keynote day. So a very hangover-friendly program. Richard Stallman talking about free software, Mono and the Church of Emacs. He even sang the Free Software Song as a person in the audience asked for it. A gnu has been sold of 150 euros, iirc. So basically the usual and expected talk from RMS, but still amusing. There was one free icecream and coffee sponsored by Intel each day at the autitorium. Oh, and after registering everyone received a green Qt-towel, a Google drinking bottle and a Nokia SD-card reader. Nice. The towels are very useful when trying to spot geeks on the beach. 700 people in the main hall were also way too much for the wireless network. Oh, and thanks to Casper for lending me a netebook for the conference, I would not have survived without it!

Sunday the Akademy talk sessions started, additionally to the Cross Destop ones. During lunch break I also learnd how evil the sun in GC can be. Always walk on the sidewalk where you find some shadows, always were something to protect your head. I learned the hard way and used the afternoon to think about it in the hotel. So I missed the group photo, but certainly not the social event in the evening, located at the Club Sotavento, sponsored by Nokia.

On Monday there were several interesting talks. I really think the "getting things done" one had some useful ideas in it. Also Bart and Nikolaj talked about free software business ideas, especially with Amarok in mind. The whole business track talks complemented one another, imho. The day ended with the Akademy awards ceremony, where as always last years winners announced this year's ones. Also the KDE group photo was made afterwards (yeah, didn't miss that one at least). The KDE party (sponsored by Basyskom) then took place at the Terraza El Cielo, which even some taxi drivers didn't know. "I just drive you to the place all the other taxis go." Well, the other taxis were right. Oh, and totally cheap, btw: about 4 euros across the city. That's nice, isn't it?! I guess there I discovered "tinto verano": red wine with ice cubes and zitron or lemon limonade. Nice stuff.

Tuesday was the yearly meeting of the KDE e.V., so basically a day off for non-members. Soooo many different people told me I should definitely apply for a membership, so I guess I'm gonna do it in the next few weeks. Well, anyway, some of the few non-members then met at the Playa de Las Canteras beach to get a slight sunburn (I wrote I learned something? well...) and do some hacking afterwards in a hotel lobby.

Wednesday: first day at the second conference location, the Gran Canaria university "ULPGC - Universidad de Las Palmas de Gran Canaria". Here we Amarok people located in one of their computer labs to hack and discuss a lot of different issues during the next few days. Dynamic Playlist, GSoC, certain bugs, Windows and Mac builds, etc. We decided that my Summer of Code project should use C++ unit tests instead of ones written in QtScript, for example. Details follow in a blog entry seperated from this one. And why do television reporters have to walk right in a BoF and do their recording including moderation during the time everyone around them wants to discuss things? Collabora sponsored the last official party of the event in the evening, at the Terraza Black Lounge. Spirits were included. ;-)

After going on with the discussions the next day many conference participants joined the free tourist trip to Maspalomas. The dunes were quite interesting, as you imagine the Sahara. But all the rest of the place... one large tourist trap. Horrible. Looking at the sea and knowing the ~230 kilometers away people are starving in africa, while you can eat German potato salad and drink Bavarian beer... definitely not a place to go on holidays for me.

The next two days went on with discussions and hacking, but on Saturday we decided to meet directly in Las Plasmas, not at the university, as so many people had already left the event. Details on all of those debates will show up in our Wiki soonish.

And finally the flight back was a bit more interesting. You know the legendary "if there's a doctor on board..." sentence? Well two seats next to me some woman got tachycardia, it seems. But two doctors were found, stabilized the situation and we arrived in time in Stuttgart again. You might want to check out Flickr and other sites to see pics.
[Permalink]   [Add Comment]   [Trackback]   [Google]   (1414 Words)


Previous Entries Previous 


 Next Next Entries