{October 27, 2010}   opensuse plasmoid workshop

okay, I promised I’d blog about this… me and Will did a plasmoid workshop on saturday. :)
There are no slides, because the whole thing was an interactive sort of tutorial, using this suse live image. In order to show off the qml bindings, we needed the latest kde stuff from trunk. The live-image gives us that, and a guaranteed working development environment in general. :) It also has the cool feature that it will write back to the usb stick, so you can shut it down without losing your work.

There were two example projects we worked through, one for javascript and one for qml. They’re both my old victorycalendar example, but with a bit of polish. :) The qml one doesn’t go all the way yet – just as far as I’ve figured out so far. :) We have lots more qml examples, though – iirc they’re hiding in the mobile shell in playground. And of course there are more javascript examples too. :)

To get my javascript example, run this command:
git clone git://
and, of course, change the js to qml to get the qml one. :)

I used git repos for my examples so that I could easily break them up into simple steps, and have everyone go through them in order. The idea is that you git checkout step01, and then each of the steps in turn (this was broken during the workshop but is fixed now). The git log has comments on each step, although not as much as in my blog. :) Also, if you make changes, you can either commit them or git stash when you want to jump to the next step. Later, I may add some side-branches with other fun features… I might also rewrite history, though, if I find a better way of doing something. If git refuses to pull someday, that’ll be why. :)

To test the plasmoids all you have to do is run plasmoidviewer in the folder containing metadata.desktop (or run it with the path to that folder). If you want to install it so that you can try it in plasma-desktop or other shells, use plasmapkg (there’s documentation, plasmapkg –help). To make it into a .plasmoid package that you can send to others, just zip it up. :)

Oh, and although most of the resources you’ll want are mentioned in the git log, I missed a couple:
The Plasmoid Package Specification
The Plasma JavaScript API

Have fun! :)

{October 25, 2010}   opensuse conference

so… hmm. I have lots of things to say, but the words just aren’t coming.
this happens sometimes.

basicallly, the opensuse conference was awesome. I think their community has a lot in common with kde – although it’s younger, and still finding its feet. :)

{October 18, 2010}   more conferences

so devdays is over – but already I’m preparing to travel again.

Next week – oh wait, it’s already next week – Wednesday is the opensuse conference, where me and wstephenson will be doing a workshop on plasmoids. I’m gonna show off notmart’s shiny new qml bindings there, so you don’t want to miss that. :)

In November is the meego conference, in dublin. That should be quite interesting, after seeing all the activity at devdays. And, right after the conference ends, a group of us are heading to berlin (oh wait I live there ;) for a kde-mobile sprint. :) It’ll be nice to have the comfort of my own bed at a kde sprint.

Thankfully that’s all I have planned for this year. :) I’m going to be quite busy enough as it is. :P

{October 16, 2010}   qt devdays 2010

whew! normally I blog during a conference, but DevDays was just too exhausting. :) (well, that and there wasn’t much net access..)

So, along with the Ovi sprint, Nokia was nice enough to give us free passes to dev days. :) The first day was the training. I’d picked the QML option (aka Qt Quick, or QDeclarative, or various other names…), and so had about half the attendees. I’m glad I did; it was a really good way to get started with qml, and I’ll need it for plasma – now even more than I had expected. ;)

That evening there were drinks and snacks and socializing – unfortunately we had to leave mid-party for the long trek back to the hostel. :/ The taxi in the morning had not been cheap, so we were taking transit. After some wandering around looking for buses, we ended up walking to the train station, and from there it took around an hour to reach the hostel. ick. And we had to do the same long journey in the morning.

Luckily, Aron and Knut were nice enough to sponsor taxis for us the second night, so we could properly enjoy the troll dinner. :) Despite not winning an n8, I had a lot of fun, and a lot of interesting conversations there. Oh yes, and before dinner there were talks too. ;) Actually, I didn’t get to see many talks that day, because I had both of my qt exams to do – the c++ and the ‘advanced UI’ ones. We won’t know the results for a while, but I did get a t-shirt for having passed the essentials exam last year. I just wish they had girls’ sizes, because that t-shirt (like every single other t-shirt I got at devdays) is more likely to be used as a nightgown. :P

On day 3, I got to see more of the talks. I can’t remember what was when, but there was plenty of interesting stuff… unfortunately I was so tired I dozed off in one. oops. :) And there were booths to visit too – wow, qt and meego have quite the ecosystem already – and networking networking networking. ;) By the time the conference was over we were all exhausted… we tried to meet up at a restaurant, but after several rounds of confusion, half of us ended up at one and half of us ended up somewhere else (and, btw, the restaurant we were at on saturday is *not* called paulaner. the real name was in fine print above that, but I’ve forgotten it). Plans to go out and party were abandoned, as we all just wanted to go to bed. :)

In the end, the main impression devdays gave me was its sheer *size*. Apparently there were almost a thousand people registered. I’m not sure how many were around at any one time, but tuesday’s dinner was *huge*. Think Hogwarts dining hall. ;) A lot of people are interested in qt, and meego, and qml – and they should be. There’s some pretty cool stuff on the horizon…

{October 10, 2010}   ovi sprint!

It’s day 2 of the ovi sprint – and I haven’t blogged yet! oops :)
The sprint is going well. I arrived friday afternoon, and only a few other people were at the office; mostly we hacked on our own things, and discussed plans for the weekend. We found a great restaurant that night called Paulaner, and then stumbled back to the hostel to sleeeeeep. ;) Despite not having jetlag (just a 6 hour train ride for me), I was just as exhausted as the others. :)

Saturday we were all assembled at the office. much discussion was had about ovi myths (it’s not just an app store!), what we needed and hoped to do at the sprint, what we needed from ovi and what we could do for them… food was good, research was done, lists were written… and luckily I was *not* one of the ones who got stuck waiting ages for a 2am train. :P

now it’s sunday morning. We’re back at the office, and added to some lists – but the internet’s down, so I can’t really research anything. At least it gives me time to blog ;)

The funny thing about this sprint is, it’s not a code sprint. we’re not here to hack; we’re here to discuss. We’re figuring out how ovi and kde can benefit from working together – and so far it’s going very well :) we have quite a long list of things KDE can do to help ovi, and only three things they need to do to enable us to help them. :) I just realised, though, that the benefits to kde aren’t in our lists, since our focus is on convincing Ovi – kde people already understand the benefits of collaboration. :)

Now we’re going to break out into groups, and add details to our list items :) we need to properly explain how things are useful, why we need them, what sort of API requirements we have, etc…

As for me… I’ve been bouncing around trying to cat-herd and looking into things that might benefit plasma and anything else that looks useful to kde in general – and learning lots. :) I’ve checked out the QtMobility API (sadly it didn’t contain what we were hoping for) and bought myself an ovi publisher account (only 1 euro now, but DO read the fine print, they expect you to provide customer support n’stuff) and got plasma-mobile compiled (with –no-desktop you can run it in a window on your laptop), and I’m asking lots and lots of questions… :)

It seems like most of the benefits to plasma are indirect. if ovi can use the OCS API, it could be added to all ghns clients immediately. To get plasmoids *into* that store, we first need the kdemobile dependencies packaged. Any integration with other services, like pim, would go through either akonadi (if available) or whatever api the pim guys use for their access. :)

So, it seems my goal here is to ensure everyone else achieves *their* goals. :) …which is probably going to mean writing. oy. ;)

But now the internet is back! so I can go bother people online and ask *them* lots of questions ;)

{October 4, 2010}   Activities fun [with screencast]

So… I wanted to spend this weekend offline. I did. I even logged out of irc.

But somehow I found myself hacking until 2 or 3am sunday night, instead. :)
I think it was worth it. ;)

The last few weekends I’ve been hacking on activity-related things, here and there. Fixing bugs, implementing things behind the scenes – last night I finally reached a point where the pieces began to come together. Today, I finally had something I could demo.

So without further ado, the demo:

(if the above doesn’t work, watch it on

I mentioned in there that it’s not done; we still need the activitymanager kded stuff to co-ordinate it (which ivan is working on :) and then plasma’s activity UI needs to use that API so that I can stop sending dbus commands. ;) It also needs a lot of code to handle edge cases, like properly restoring apps that are on >1 activity. The good news is, restoring the right activity associations for each window turns out to be way easier than expected. yay! :)

Oh, and there’s the taskbar integration to be done, too, and a million other little things… :) but we still have a month before feature freeze. 4.6 is gonna be awesome. :)

And now for something completely different: Berlin! it continues to be awesome too. :) I’ve got a book of Enid Blyton’s children’s stories in german, and I’ve been reading them with pete’s help; it’s a lot more fun to read ’cause the sentences are short and simple and the stories remind me of my childhood. :) I’ve also discovered that Dominion is a pretty cool game, and I can now speak german when I’m drunk. ;)

Living in another country has some funny effects. When we went to the mall today, I suddenly felt calm and happy to be there. I guess the atmosphere of blatant consumerism reminded me of Vancouver. ;) It’s weird how little things that aren’t really all that nice become happy reminders of your home country…

I still haven’t found HP sauce, though. :P Or black beans; they have every other kind of bean, but not my favourite! *sigh* On the other hand, I had no problems getting ripe avocados, and I’m still drooling over all the wonderful yoghurty things that I couldn’t get in Canada. :) And the cheese, and the cheap pizza, and the cheap beer, and, and…

et cetera