New blog

This blog is now deprecated, see http://thieta.wordpress.com for new updates.



I am on my train back to Gothenburg from Malmö where I spent the weekend with the cool XMMS2 people. I think everything went very smooth and it was very very productive. We got a lot of things done and a lot of code merged. I will outline some of the highlights in this post, as I am certain that other participants also will do in their blogs.

First of all, 0.7 DrNo was released. This was the first thing we did, even before the Con started. It was way overdue, it actually was almost a year since we did the 0.6 DrMattDestruction release. There are a lot of reasons for this very delayed release. I think most of the people in the team are starting to feel the effects of their "real life". Some have become fathers, others has been busy with work, school and other activities that has to take precedence. But as always, when we get together and get to it, we get a lot of work done. I think I am not the only one to feel a bit energized and have a lot of ideas that would be cool to realize, let's see how long that lasts this time :-)

The most discussed topic on the Saturday was GenIPC. What is GenIPC you might ask yourself? Well if you have been around and tried to write any XMMS2 bindings at any point you know that it involves a lot of manual labour for wrapping all the functions the server implements. GenIPC is the answer to that. Our plan is to have the IPC definition in a XML file, which then can be used to generate the code for each binding. One of the benefits of this is that it will be easier to add new functions to all bindings, the other great benefit is that it will be easier to implement native bindings for all languages, since you only need to write the serialization and the code generator and the rest will be taken care of for you. Tilman have done some great work with GenIPC and the server side of it was merged directly after the DrNo request. On Saturday Tilman, Anders and Henrik discussed a lot of improvements for GenIPC in order to allow for function overloading and default arguments. This work is now well under way and I hope to see it in the master branch pretty soon, since I want to convert native Qt4 bindings to GenIPC and also finish my Objective-C bindings.

Next big project that Seb and Daniel looked at was S4. S4 is our homegrown database backend that is supposed to replace the SQLite backend we have now. The rational behind this is that we horribly misuse the SQL part of SQLite and forces our datamodel it. This leads to bad performance, lot of code overhead and so on. S4 solves this by introducing a datamodel that fits our use case a lot better. Preliminary tests shows that S4 is a lot faster when you have a lot of entries in the database, in fact the only time it's slower is when you do advanced queries that uses regex matching and that's slow almost everywhere :-) This will probably be reworked so that we don't use regex, but rather globbing as we had with SQLite. I hope to see S4 merged soon.

We did have some talk about workflow and how to improve the visibility of the topic branches and we have started to try out Gitorious, I hope that everyone will be satisfied with it. I think that workflow discussions warrants it's own blog posts so I will try to write it up later in the week. In the meantime you can checkout our Gitorious team page. And if you want to get in on the action, just tell me or Anders.

Next big step which also warrants it own blog post will be about our information reorganization, redesign of wiki and move to xmms2.org instead of xmms2.xmms.se. Stay tuned.

Oh, and thanks to everyone that came out, I had a great time organizing it and I am more than willing to do it again. I also want to make sure to thank Purple Scout AB for hosting us, if you attended and liked it, drop a line to twitter or on your blog to thank Purple Scout as well.


Mobilblogg for the iPhone.

For a long time I haven't been able to develop anything constructive. It's been a severe code block that has been lasting for years. That's why it so fun to now announce some of my recent projects!

I decided to really learn Objective-C back in November. At work a customer requested a iPhone application and I was the only one that knew anything about Objective-C, so I was asked to join in a customer meeting telling them that I really knew Objective-C and iPhone development. So instead of lying my ass off I sat down and tried to get some coding done.

Eventually the customer didn't want to pay for the application so the project was never started, but I really learned Objective-C. And it resulted in my first iPhone application! It's a dedicated client to the MobilBlogg community. Together with Henrik Öhman of MobilBlogg (who did the API) an application to browse, upload and comment on photos was created. The application is submitted to Apple, who knows when it's going to be accepted :-)

The application is Open Sourced under the GPL license and you can check out the sources here.

The application could never had been made without other brilliant open source code: Three20 and JSon Framework. If you want example of using these frameworks, checkout my code.

To view screenshots and photos uploaded with the application head over to my mobilblogg!


Good discussions about copyright control

Over at The Digitalist blog there is a very good discussion about eBook DRM. Cory is excellent as usual but the highlight must be Clay Shirky's quote:

You say “I’m a strong believer in the rights of creative artists to control the distribution of their copyrighted content.” Sure, why not? And while we’re at it, we can be strong believers in breathing under water, or living to 130. Those ideas are similar to the idea of controlling distribution, in that there are a whole bunch of people who think they would be really really great. They’re all similar in another way too. Can you guess what it is?


EuroPython 2009 - What happened?

Last week I attended EuroPython 2009 in Birmingham, both as a speaker and as an attendee. This post won't reflect on my talks (one was not good, one was actually very good, I might do more posting about that later) but rather something interesting that I observed during the conference this year.

EuroPython have always been a very nerdy conference, no surprise there, so it struck me as very odd that several talks and seminars this year didn't include that much technology at all! They talked about politics and freedom.

First out was Cory Doctorows keynote "The Copyright Wars" which I unfortunately missed, but Reinout van Rees have a excellent summary here. Hopefully the audio recording of that keynote will posted soon. It does bring up a very important point about the future of open source software in a world controlled by paranoid content makers.

During the lightning talks (which was hugely entertaining at whole) two talks had the topic of politics.

First out was Holger Krekel who talked about the internet and how the information about us could be used for mass surveillance and the need to do something about it. He touched on the very recent problems we have seen in Iran, how the state has been filtering the access to the internet. Holger went on and suggested that there are two ways to attack the problem.

The first involves political activism ("We know it works, because we stopped the software patents"), he mentioned the Pirate Party (which makes me very happy) and that he considered joining it (Holger: You are very very welcome!). We need to start talking to the politicians and convince them that internet needs to be free!

The second option for people that have a more technical approach to things (almost everyone at the conference!) is the need for new technologies that can't be filtered as easy as a centralized system for passing messages. Holger encouraged people to develop other ways to distribute information and getting around filtering equipment. My colleague and me was very inspired by this and started to scribble some notes on how a system like that would look like. I might blog about this later.

All in all I really liked Holgers lightning talk, it was very inspirational and well delivered, thank you.

The second lightning speaker that had politics as a topic was Jacob Hallen. Jacob strikes me as a very soft spoken and timid man (I actually talked to him right before his speech), which is why his talk really surprised me. He delivered a very passionate (improvised?) speech about how big content are using methods that are really scary and he drew a direct parallel to "men in high boots, abducting people in the middle of the night". Thanks Jacob, it was inspiring!

For me it was very inspiring to hear this types of talks and speeches in a area so technology heavy (nerdy?), because this means that we are many that cares. Now we need to transform that care into action!


Not really a secret

I have already voted for Piratpartiet in the Swedish EU elections. For people who know me that can hardly come as a surprise. I just wanted to briefly talk about why I went with PP instead of MP (that I usually vote for), when they actually have the same opinions about integrity and the future of Internet. I think it can be summed up in: I wanted to make a statement. There you have it. I want people in "power" to understand that it's not OK to ignore these questions (internet, freedom, integrity), it's not OK to push through new laws (FRA, IPRED) without consequences.

I might be naive, thinking that voting for PP is a "consequence" for the sitting parties. At least it seems like most politicians seems to understand that they have to tackle this question these days, that's a start.

Let's keep internet FREE, as in speech.


Apple: Be more transparent!

Apple is a very secrative organization, they value their secrecy because it builds up a hype around the products. I love Apple products, I am what most people call a Apple fan-boy. But I think recent events regarding the App Store aproval process must be addressed in a negative fashion.

I love the fact that Apple have created great development tools for the iPhone and they have done so for free. This have given the iPhone eco-system a great boost and in less than a year they have succeeded in creating a development community that it’s competitors haven’t succeeded with yet.

I really believe that the App Store is a big reason for the success, all applications gathered and easy to browse / search. But the App Store is also the big sign of weakness in the iPhone eco-system. As you might already know, Apple is the gatekeeper for everything going into the App Store to make sure that “malicious” and “offensive” applications stay far away from the iPhone. While this makes sense (you don’t want viruses spreading via the App Store) in some ways the big problem is actually that Apple have so far refused to share any details on the approval process.

This creates big problems, not only because it’s hard for developers to know if their application will ultimately be accepted or not, but also because currently it seems like the process is very random, some of them have gotten a lot of attention. The latest application that have gotten the metaphorical cold hand was Nine Inch Nail own application. The application was actually first accepted (and put on the “featured” page in App Store), when NIN then submitted a minor update it was rejected because of “objectionable content”.

Probably this occurred because different people reviewed the first submission and the update. This really makes the flaw in the process really apparent, the developer can never trust the Apple approval process. If this continues I wouldn’t be surprised if small indie developers think twice before they start develop iPhone applications and that would really be a shame, because it will in the long run kill the community.

I think that Apple have to be more transparent, really post the guidelines that are used for the approval process or even better, small developers should be able to “test drive” their idea and get a pre-aproval. That would make it easier for the small developer to justify the investment they need to do to create a iPhone application.

Maybe another solution would be to “do a Maemo”. Maemo have a staging area called the “garage” where third party developers can upload basically anything they want, users needs to manually install them. This would allow Apple to review applications for the App Store, but applications that are deemed “offensive” can still be installed on willing users iPhones.

Please Apple, don’t destroy a good thing you have going on here, a free SDK was a great idea, the App Store was a super idea as well but your approval process can throw it all overboard. Be transparent, let the developers in on the secrets in this case.