Planet Amarok
GSoC info session in Karlsruhe
Since Google Summer of Code is coming up again very soon Sven, Phil and I will be doing a short info session at the University of Karlsruhe on Thursday at 4pm in room HS -101 in building 50.34 (Infobau). We’ll be giving a short intro to GSoC and tell a bit about how GSoC works in KDE and Debian and of course answer lots of questions. If you’re planning to apply this year you should definitely show up
Please drop me a short email if you want to attend at lydia at kde org.
If you’re not in Karlsruhe or anywhere near there are info sessions in other cities around the world listed in the GSoC calendar.
Podcasts in Amarok 2.3
Here is a direct link to the video, in case the embedding did not work:
Video: Podcasts in Amarok 2.3
Enjoy
Kraut Sourcing
The Amarok team is about to release Amarok 2.3 fairly soon (our release schedule is tight), perhaps in about three weeks from now. What I am asking our community (especially artists) for: Creating a new splash screen for this release
This is how the current splash (kindly made by Lee Olson) for Amarok 2.2.x looks like:

As Amarok 2.3 is the start of a new major series, we would love to have a new splash screen. Any takers?
The winner will be chosen by the Amarok team, and the reward is:
1 Amarok t-shirt, a mention in the "Thanks To" dialog of Amarok, and... hmm, a beer at our next meeting. Does this sound ok?
PS:
"Kraut Sourcing" is pretty much what just happened here: A German asking for Crowd Sourcing.
Update: Please note that the license must be Creative Commons, cc-by-sa
Showing some love for rockstars
Right on time for for Valentine’s Day we’re releasing the beta version of Amarok 2.3. Check out the release notes and enjoy.
Oh and in case you should have missed this fantastic FSFE campaign:

Amarok 2.3 - First Look
Again, please remember that this is a beta release, and some things are not fully finished (e.g. the toolbar).
Enjoy:
Video: Amarok 2.3 First Look
A Tale of Two Qt Mobile UI Toolkits
In the now three years two years since Nokia [announced the] purchase of Qt I have been impressed to the extent that Nokia is taking advantage of their new Qt technology. It's basically turning into their development development SDK for all their smart phones. This is more or less what the press releases said at the time. But I'm sure eBay sent out a bunch of nice press releases about how helpful their 3 billion dollar Skype purchase was going to be for them... and look what that got them. However in the case of Qt those press releases (as I remember them) turned out to more or less be spot on.
As anyone with a N810 can tell you, you can't just stick a desktop UI on to a small device. It needs to be thumb-friendly.
One solution is QML. It's a declarative language, which opens up some interesting possibilities. However it currently isn't a toolkit, but only has primitive shapes. It's not really clear what the longterm plans for QML are. With its tight integration with QtScript its already pretty ideal for making simple applications or for something like a plasmoid. So it's not one of the "two Qt UI toolkits", as currently its use-cases are quite different.
At the Maemo conference in October, Nokia released the Maemo 6 UI Framework to Gitorious. This is a full-on QGV-based UI toolkit, with buttons, dialogs, lists, etc, everything you'd expect in a UI toolkit.
And now this month the "Orbit Team" has released a new QGV based UI toolkit on Gitorious called UI Extensions for Mobile. It's also a full-on UI toolkit with all the widgets you'd expect. It's target is Symbian^4 according to the Gitorious description. Someone already wrote a little demo since the included code doesn't really have anything to show it.
It's kind of funny to see both of these competing technologies listed one after the other on http://qt.gitorious.org/. Such interesting times we live in. :)
Show your Love on Valentine’s Day :)
I usually boycott this marketing day of the flower business, since it is exactly that, a very well orchestrated campaign of the flower producers to guarantee their income in the bad season between Christmas and Mother’s Day, but this year the FSFE has launched a lovely campaign which I fully subscribe to.
Show your love of Free Software by different means:
- donate to your favorite Free Software project
- hug/kiss your favorite Free Software developer (don’t forget to ask permission first
) - buy your favorite Free Software developer a drink/food/flowers (and make the inventors of the Valentine’s Day happy)
- express your happiness about Free Software by sending congratulations to your favorite Free Software project team
One more thing...
I haven't used it yet (waiting for package), but let me tell you: This is an amazing product. We at KDE are happy to present you something the world has never seen before. A product so unbelievably terrific, you will love it! It's simply huge, and amazing. And great to use. Please, without further ado and silliness (we don't need more Stevenotes in this world):
Go check it out

One more thing...
I've switched jobs. I used to work for Gibson Guitar Corporation for a while (which was great, but all good things come to an end), and now I'm working with these friendly chaps:

FOSDEM 2010, part two
As I already said 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.
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.
Anyway, he still had to do some paperwork so he suggested to bring me into a "hearing" of the "Digital Rights Group". 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.
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 "anonymized data" actually exist at all? I'm gonna write about the problems I see there later in another post.
I was surprised: the Council 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.
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. ;-)
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: "Hey, I know you, you are with the German Pirates.". Completely right, but I'm only a normal member there, We both had no ideas where he could have seen me.
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.
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.
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. :)
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 "closed" signs had to be put on the doors to stop people from entering. This morning I saw a mail on the list saying: Sven really kicked ass holding one of the most entertaining and informative talks Thanks a lot!
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.
A Git Workflow
It's been a while since I blogged last. I blame microblogging. So just to introduce myself again, I'm Ian Monroe and I'm an Amarok developer. I live in Iowa, USA. For about a year and a quarter I've been working for Collabora. I believe the rate of hired Qt developers has been growing exponentially at Collabora year-to-year since 07, so it won't be long until we all work for them. ;)
You'll find tons of sample Git workflows in Git docs all over the Internet. We've been using Git in Amarok since July and I've been using it everyday at my work since January so now I have my own Git workflow to add. It assumes you know the basics of Git already and that the project you work on is actively developed by others at the same time.
But first a note on why my commands are longer...
Keep it Explicit
One thing that much of the documentation for Git does is make things 'simple' by using various command shorthands. From helping fellow Amarok devs get used to Git and just from my own experience I've decided that in the longterm using commands that combine several tasks or use default options are confusing. Most of us type at about 50 words per minute causally, there's really no reason to skimp.
An example of this is to use git push origin master:master instead of git push. That tells you exactly where your commit is headed: to the default remote named origin. The master:master says you are pushing from the local branch master to the remote branch named master. I like being explicit with branch names since getting mixed up which one you have checked out is a mistake I've made before.
Importantly it keeps you in control and aware of what you're doing.
A Workflow
So you notice it's time to go make dinner, instead of just leaving the code uncommitted I say its a good idea to go ahead and do a git commit -a before you leave. Writing the commit log is helpful for when you sit back down later. Remember you can always git commit --amend and add to your last commit before pushing.
Okay so next morning, back to hacking. Time to update. It is important to often update to avoid conflicts.git remote updateThis command refreshes all the remote branches. It doesn't touch your checkout. Both 'pull' and 'rebase' let you interact with remote branches directly, but I like to break it up. So now bring in the latest changes to your checkout:git rebase origin/masterThis is mostly why I like to leave all changes committed before I leave, because then the rebase works without you having to remember to git stash or commit when you're updating in the morning before having had any tea.
The advantage of rebase over doing a merge/pull is that it changes the commits you haven't pushed yet by making them patches on top of the latest code. It gives those commits a 'new base.' It's actually how Subversion works all the time, if that makes it easier to understand. This leads to easier to understand linear history, in the unlikely event everyone else in your project also uses rebase.
Okay now you've done more hacking and are ready to push. Repeat the above steps to make sure your code is still up-to-date. If you try to push when its not, Git will notoriously tell you that you are trying to do a non-fast-forward. It sounds scary, but 90% of the time it means you just need to update.git status
git commit -a #or git commit -a --amend if you want to add to a current commit
git remote update
git rebase origin/master
#maybe double check it still compiles after updating
git push origin master:master
Obviously there are other ways to use Git, but this is mine. I hope it has been helpful.
Amarok on Windows - Getting there :)
Anyway, I wanted to share this with you, but please keep in mind: This is a preview of the next Amarok version. Some things (like the new toolbar) are not yet fully finished, so please don't complain about that.
looking for awesome GSoC ideas
It’s that time of the year again when we need to start thinking about awesome ideas for GSoC. I just prepared a page on the community wiki to collect them. The list needs to be finished by March 8th. Got a great idea for a nice project a student could be working on for the summer? Add it! If you are unsure or have any questions ping me or the team of the app you have an idea for.
Let’s make some noise in Karlsruhe!
Right now there are 22 release parties all around the world on the wiki and of course there will be one in southern Germany as well. Previously we always did them in Stuttgart but it’s time all those Stuttgart people get to see Karlsruhe ![]()
So if you are in or around Karlsruhe on the 13th around 20:00 then feel free to join us for our release party at Vogelbräu. Please put your name on the wiki page or let me know by email by Monday latest if you are coming so we know how many people are coming.
If you are not anywhere near Karlsruhe check out the other release parties or organize one on your own
(special thanks to Lemma for taking care of the venue)
Arrived in Brussels
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.
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? ;-)
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.
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.
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. "Controlle des voyageurs dans les hotels et maisons d'herbergement" 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!
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.
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?
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.
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. ;-(
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.
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. :)
Micro-Options Reloaded - The Paradox of Choice

A while ago I had written an article about the dangers of "micro-options" in software. Like many articles about usability, this one was discussed somewhat controversially (which is good in a way), but overall I did get a positive reception, even from a professional usability expert.
While this article was perhaps interesting, there was no "proof in the blog pudding". Let's be honest here, anyone can claim the wildest things in blogs, which may be true, or not. I did however stumble upon an interesting connection between psychology and usability, which appears to back up my speculations. The connection is this:
The Paradox Of Choice
Have you ever been in the following situation: You're in a supermarket. You want to buy a salad dressing, and the timing is somewhat tight. Guests are waiting, the usual...
Alright, found the "salad dressing" section (which can he hard in itself, in huge supermarkets). So, not much time, let's choose something that looks yummy, and preferably not too fatty! So, what do we have here? Vinaigrette, Blue cheese dressing, Caesar dressing, Honey Dijon, Hummus, Italian dressing, Louis dressing, Ranch dressing, Russian dressing, Tahini. Hmm. Nice choice. Let's go for some Italian Dressing, I like that one. Wait, there are three different brands of dressing, each of them offering further varieties of this product. Chef's Choice, Low Carb, Lite, Very Lite, and hey: the Special Edition!
Here is someone who can explain this problem of choice much better than I could ever do. His name is Barry Schwartz, he's a professor of psychology, and he made one of the best TED talks ever (according to the founder of TED himself):
TED Video: Barry Schwartz - Paradox of Choice
I very much recommend watching this video. Few have been disappointed by it, and I suppose you might find it enlightening too. It does explain many phenomena in our modern life in a surprisingly simple way. One of them can be translated to usability: Too many choices can reduce the user's satisfaction with a software product.
I'd be happy to read comments on this article, be it positive, or negative. Discussion is important, so I think we should do that. But please, do me one favor: Watch Barry's talk before commenting. Thanks
The mailman will love you!
A lot of FLOSS mailinglists (including KDE’s) are run by a software called Mailman. Now Mailman is great and all but it isn’t exactly a dream to work with if you have to admin a mailinglist with it. And it gets worse if you have to admin more than one list with it.
Thankfully there is a great little program called listadmin that helps here. It is a command line tool that remembers the lists you moderate and their passwords and then just checks them for new emails or subscription requests you need to deal with.
This is what it looks like if there is a mail in moderation:

Of course I want to approve sebas’ email (how could I not?
) so I say “a” for approve and then “y” to submit all the changes for this list:

And done:

Not really hard, right?
The only thing that’s not so easy is figuring out the correct format for the .listadmin.ini file with the preferences for your lists. For @kde.org lists it needs to look like below. All settings (username, password,… apply to everything following it until overwritten). Adapt for your needs
Hope it helps making admining Mailman lists a little easier for you. And now I’ll go investigate the Mailman patches the great folks at Systers have written to see if they are maybe suitable for KDE.
log “~/.listadmin.log”
username lydia@kde.org
adminurl https://mail.{domain}/mailman/admindb/{list}
password ******
amarok@kde.org
password ******
amarok-devel@kde.org
amarok-promo@kde.org
password ******
community-wg@kde.org
password ******
kde-press-announce@kde.org
password ******
kde-soc-mentor@kde.org
kde-soc@kde.org
password ******
kde-core-devel@kde.org
password ******
kde-kiosk@kde.org
help needed with kde.org relaunch
We need a lot of help collecting data for the new www.kde.org that is being worked on and you can help! It is pretty easy but a lot to do. The more people help the better.
What needs to be done? Just find some simple data about KDE’s programs following a template and putting them on a wiki. We also need screenshots. The community wiki has more details. It doesn’t matter if you don’t know all the data for a certain program. Fill in as much as you know. Everything helps. If you have questions come to #kde-www on freenode or drop me an email at lydia at kde org.
Everyone who completes at least two programs gets hugs from me
It should all be done next weekend so get cracking!
This is the entry for Parley as an example:
Homepage: http://edu.kde.org/parley
ID on kde-apps.org: 66741
Page on Userbase: [empty]
ID of subforum on forum.kde.org: 21
Link to handbook: http://docs.kde.org/stable/en/kdeedu/parley/index.html
IRC channel(s): #kde-edu
Mailing lists: kde-edu@kde.org, parley-devel@kde.org
Project name on cia.vc: kde/parley
Bugzilla component: parley
Help Haiti (if you can)
I'm sure that you have heard of the terrible earthquake disaster that has happened in Haiti. Current estimations of deaths range from 100,000 to 200,000, and this number keeps rising. What we are looking at is very likely one of the worst natural disasters of the last 10 years.
I would like to encourage our users to help Haiti in this situation, if you can. One way of doing this is by sending donations to international humanitarian groups that support helping Haiti. I'm sure there are other ways, if you know some concrete examples, please add a comment.
Please do not voice your opinion if you have any bizarre theories (be it from religious motives, political fearmongering, conspiracy theories, etc) about how this disaster happened. I've heard many of them, and there is no need to hear any more. This article is only about helping, but not discussing backgrounds.
Thanks.
Disclaimer: I do not speak for the Amarok team, nor do I speak for KDE. This article is a private matter.
Rescanning Single Folders
Quite often -- or at least, "often enough" -- we get people that want to rescan a particular folder in Amarok. This is usually the result of them changing tags and wanting Amarok to pick it up. (Remember, for efficiency reasons Amarok watches the modified times of the collection directories, not the collection files, so adding or deleting (or renaming) files will trigger an incremental scan but modifying a file's contents won't.)
Previously, our advice was "touch the folder" or in the worst case "just do a full rescan." Now there's slightly better advice we can give. If you right-click on a folder in the collection setup dialog, and if the folder was already in your collection (i.e. you didn't just check it a moment ago), it will give you the option to rescan that folder.
The text above that field has also been modified slightly to indicate that this is possible. Check it out:
This is in current git master and will be in the 2.2.3 release!
let's get some smarts in there

most people who use amarok are aware of this "dynamic playlist" framework, and I hope that a good percentage of users understand what it's for. for those who don't, basically, it allows you to modify the composition of The Playlist (right hand side) based on a set of pluggable criteria. historically in amarok 2.x these criteria have been things such as "artist name == FOO" or "playcount > 5" etc. I think 2.2.0 was the first release (or was it 2.1.0?) that had a lastfm similar artists bias--that is, amarok would try to play similar songs by asking last.fm what artists were similar to the currently playing one.
now that i've pushed another option to the last.fm similar bias, and added a completely new bias, i'm getting closer to helping amarok help you play music you want. so what's new?
playing-history based bias
if you've been a meticulous user of last.fm (which is easy thanks to the seamless amarok integration) you know that last.fm knows a lot about your listening history.
every so often I sit back and realize how much my music tastes have changed over time. the music I listened to 4 years ago i rarely hear today. but is that because my tastes have really changed? or is it also because i've simply forgotten some of the more obscure bands I was listening to? well, now you can tell amarok to play you music that was in your "weekly top artists" list between any two dates in your listening history.
that's right, so when you remember that you listened to a ton of electro-punk last july but can't remember all the bands, just set up the dates and let amarok rip. a trip through history lane indeed
new track-based similarity
for those who have used the last.fm similar artists bias, you've probably noticed that on the whole it's not super accurate. that's because it just asks last.fm for similar artists---and if you happen to like an artist that covers a wide variety of genres, this can get pretty inaccurate.
anyway, last.fm recently introduced a new track similarity function---you can ask it for similar songs to any given song. this, of course, is much more accurate. it's also harder to find matches (the odds that you have the exactly correct track in your collection is lower), but that's the tradeoff you have to make.
in any case, there is now a combobox that lets you choose between artist similarity and track similarity when using the bias.
enjoy!




