ChaniBlog











{September 2, 2009}   tokamak continued

so it’s wednesday now, and tokamak continues to be awesome. all of the gsoc students that came here, and all but one of plasma’s gsoc students overall, have merged their code into trunk. we have remote widgets, a new applet browser, and more… then there’s netbook stuff, and web stuff, and we’ve been talking about the future of virtual desktops and the ZUI, and playing with the Mystery Device (whisky + wine -> making plasma look like gnome), and… I’ve already forgotten a lot of things, I’m sure :)

personally, I’ve been working on a bunch of little things: getting folderview to play nice with my mouse plugins, trying to make activity removal work better, chasing obscure bugs that popped up in the middle of that, making little fixes here and there (plasmoidviewer can be run with just a containment now, no applet – I got sick of having a clock in the way of my testing)… yesterday I returned to my javascript plasmoid, and I’ve got half a blog post about that, but right now my mind keeps wandering off to Overview ideas, which we’ll be discussing again tomorrow.

Randa is a really beautiful place, too. even when it rains. :) on monday we went out for a walk and ended up building a dam (exercise! team building! oh my!). Then we watched it get washed away by water released from a *real* dam somewhere upstream. :) the weirdest thing I’ve seen so far, though, is a moth that’s been hanging around the flowers outside, behaving just like a tiny hummingbird. I thought it *was* a hummingbird, but it has antennae. Davide was trying to get photos of it, but I’m not sure whether any turned out well… darn thing never stopped moving. it was fearless, though, buzzing around our heads.

anyways, time for another walk. adventure awaits! and then more hacking when we return…



{August 30, 2009}   tokamak 3

so, thursday morning I got on a plane again and headed off to switzerland. I met ivan in frankfurt airport, and friday afternoon we arrived at tokamak safe and sound. :) it’s so nice when travel goes so smoothly.

I spent a good portion of the train ride staring out the window… switzerland is quite beautiful. mountains, ravines, waterfalls… the place we’re staying at is in a little valley, tall snow-capped mountains on either side. there’s a little pond behind the house, with frogs, and flowers all over the place. At night, it’s so dark you can see the milky way. :)

we had no trouble finding the house, because there was a giant stuffed konqui sitting outside. :) most of the gang was already there hacking and getting their internet fix.

Saturday morning(ish), tokamak officially began. We had introductions (at least four newbies here!), presentations, and a bit of planning. We’ve got a *lot* of cool stuff going into plasma for 4.4 :)

Saturday evening was our social event… we went out to the nearest town and had lots of fun, then came back and stared at the stars for a while… some of the guys attempted to make bread, too (we’ve been making our own bread here). it doesn’t work so well while drunk. ;)

Now it’s sunday morning. Despite being up very late, I still woke up early this morning, and went for a little walk. The mountains are so high that I couldn’t see the sun until about 9:30, so it was a little chilly. :) but still breathtaking. the scenery here is truly inspiring.

anyways, we’re doing our last few presentations now, and after that we’ll have the rest of the week to hack together. :) :) this is gonna be awesome.



{August 17, 2009}   gsoc wrapup

Well, today is the official end of gsoc. Conveniently it’s also the day I merged my code into svn. I’m still working on some behind-the-scenes cleanup, but it feels good to have the code actually in trunk. :) And now other people get to test it out easily, yay!

I haven’t written any particularly interesting code this week; just doing code review with Aaron, getting it ready to go into svn. And now it’s in. :) Other than that I’ve been enjoying the parties and sunshine. And thunderstorms… vancouver’s got the seasons on shuffle right now ;)

Another summer, another project complete… :) A plugin API, a config UI, and six plugins. yay!

so, if you’re running trunk, go play with it! :) the config page is in the Desktop Settings dialog.



{August 8, 2009}   gsoc week 11: two new plugins

This week I created two plugins: a window list and an application list.

The window list, well, shows a list of windows. :) I added config so you can show only the current desktop’s, or show them in submenus if you tend to have a lot of windows. (although perhaps that should happen automagically?)
Since there was already a tasks engine for getting info on windows, it was pretty easy to write the plugin. :) I just had to add a feature and fix a couple of bugs, and the engine did nearly all the work. :)

For the application list… well, it turns out that none of the people writing launchers had actually written a nice generic app engine. :P So I wrote it. that actually wasn’t much work either; I based it on the tasks engine, and it gives info on all apps, with a service to launch them. No favourites or recent docs – but feel free to add that to the engine when gsoc ends (that’s in one week! eep!) :)

That’s it for plugins from me… at least for now. I’m going to spend next week fixing up and polishing things, then gsoc will be over, and I have a few other things I’d like to do before school starts.

There are two plugins I’d originally planned to do that aren’t in here: a zoom plugin, which is on hold while we reinvent the whole ZUI thing, and a quicklaunch plugin, which I would have done this week if I’d had a kmenu plugin to build on already (that was the week I had to send the laptop away). Making a quicklaunch plugin could be done by just adding config to the app list plugin so that the user can pick just some apps or menus to show; not too much work, so if someone’s interested, come see me when I’ve got this code in trunk. :)



{July 30, 2009}   gsoc week 10

whee! thursday evening and I’m done for the week. I made the desktop menu configurable, so that most standard plasma actions could be chosen. this means that I can check off the zoom actions, and have my preferred way of zooming back again. :)

tomorrow I’ll do some cleanup of various little things – need to get the API in better shape so it can go into trunk. after that I’m going to have a busy weekend (parties, fireworks and chores) and probably won’t be online much (yet somehow I always end up in irc despite saying that ;)

[update: I got *all* my cleanup tasks done on friday! yay! now the code's up on reviewboard.]



well, the laptop thing took up half my week, so I decided I wasn’t going to get that kmenu plugin done. I’m just going to skip it; either I can implement it after gsoc, or someone else can.

instead, I spent a bit of time on scripty – making it possible for amarok’s translations to stay in extragear while amarok itself moves to git. the code still needs to be tested, but yay, amarok should have translations again soon. :)

I also turned the paste feature into a plugin today; it still behaves the same by default, but you can turn it off the same way you turn off any plugin. :) I cleaned up the code a bit while I was at it.

it’s hard to believe there’s only three more weeks of gsoc. wow.



I cleaned up the plugin config thing from last week – it’s not pretty but it works. I also, implemented all the API review stuff. the only thing I’m unhappy about is having one function that takes a QEvent – the problem is that it has to be as generic as possible because I can’t add more virtual functions later, but this results in the same boring code being copy&pasted into every plugin to check which kind of event it is and send it to an event-specific function. :/

anyways, I got away from all that today and had some fun writing new plugins. :) there’s one to switch activities that’s implemented almost the same as switching desktops. it’s so much easier to use actvities now… although it highlights the inconvenience of setting the same plugin on every activity…
I ran across a few bugs related to containment types, too – hopefully we can get fixes for that into 4.3.

I also started on a zoom plugin, but got annoyed when I found out Containment’s zoom functions were actually Q_PRIVATE_SLOTs, which means I can’t use them… and all the zoom stuff is implemented in DesktopView anyways, and I’m not sure how I’m going to find out the current zoom level… I mean, I’m sure I could hack something in, but it feels icky. so I’m probably going to sleep on it, and finish that plugin in the morning.

ahhh, it feels nice to be back on schedule. :) hard to believe there’s only a few weeks left, though.



{July 13, 2009}   gsoc week 7

so I did get that rightclick stuff compiling the day I last blogged, and included a bit of code for the panel’s rightclick. :) yay.

later in akademy I spent an afternoon hacking on plugin-specific config, and got some API review. on the way back to vancouver I set aside the half-implemented API review and went back to making the plugin config thing work. airplanes are a good place for getting myself to write code I’d rather avoid; so few distractions. :) of course, git is a must for that. it’d suck to manage all that stuff without local commits.

I now have a configurable title for the menu from my test plugin, yay. :) there are still several bugs in the code, so I need to do some cleanup, but being able to actually use it and see things happen makes me happy. :)

wow, akademy’s over. I miss you guys already.



{July 12, 2009}   …and home to vancouver

the last two days in las palmas were fairly relaxing for me. :) after all the writing friday I went to riddell’s place, where there was food and people. a beer bottle was dropped, and then I was wondering why my food had crunchy bits… yes, it was glass in my food. but I don’t think I swallowed any. :) there were some interesting discussins about what people liked/disliked about the conference that night. saturday morning… urgh. construction work on saturday mornings should be illegal. :P eventually I gave up on sleep… I got out to the beach, and actually went swimming finally. :) I also discovered that my legs are refusing to be any colour but white, even without sunscreen. got a very mild burn on my stomach, though.

I wandered between hotels for the afternoon, trying to organize taxi stuff and find out what was happening in general. I got some german movies in exchange for some music :) but realized that there’s someone I was supposed to trade music with, and we never got around to it, and I don’t even remember his name…

anyways, there was more food at brisamar that evening – everyone who’d been cooking was trying to use up hte last of their food, and I never did open my bag of pasta – and then there was pancakes at blauzahl’s place, and eventually at 2am I stumbled over to fataga and spent two hours being half-awake. at 4am it was taxi time, and we headed off to the airport… where I met up with several people I’d said goodbye to earlier that night :)

the flights went fairly smoothly, although it was hard not to worry – I had to re-check-in in madrid, which was confusing, and I had to collect my bag for customs in toronto, but I had plenty of time between flights. one sad thing, though – it used to be that veggie meals on planes were always better than the regular meals. that’s no longer the case, at least not for air canada. the meals seem to be getting steadily worse… and they don’t actually have vegetarian, just vegan, which means no chocolate :( still, for one of the meals on my long flight I managed to get the veggie option from the regular meals, yay :)

now I’m back safe and sound, yay :) vancouver’s grey, but it’s home. :) but I don’t sleep well on planes, so god am I ever tired. and it’s going to be a busy week, so I probably still won’t be online all that much.



{July 10, 2009}   looking to the future

the other day there was a group of KDE people in the hall, waiting for the buy ticket guy to return, and ade started asking us to answer questions… things like “describe kde 4.4 in one sentence”… trying to get us to think about where we’re going with KDE and what our goals were. the results were… sad. really sad. I think eventually after a while a couple of people managed to come up with something for one of the future kde releases each, but it was a real struggle.

this is something I’ve always had a lot of trouble with. I live very much in the present; the future and past don’t quite seem real, except when I’m worrying about them. :P but I care about KDE, and I understand that it’s important to know where we’re going so that we can work together better and end up with a coherent desktop instead of a jumble of useful features. I’m just not really sure *how* to approach this… it doesn’t help that I’m feeling shy and quiet now.

I was somewhat distracted thinking about this yesterday… this morning, when I left my hotel, I sat at the edge of the street and stared at the blue ocean, hoping to find inspiration there. this is what I wrote (plus a few updates from things I learnt today):

There’s so much water here. I’m not used to actually seeing a horizon; in vancouver no matter where you look there’s mountains eventually. Usually all you can see is what’s near you.

With 4.3 we release… Um.. Well, i forget. But aaron made a screencast. I’m already taking for granted everything that was done for 4.3.
For 4.4 we’ll see the social desktop begin to take shape. Sure there’s that one plasmoid in 4.3, but that’s just a teaser. We’ll have applets being shared, we’ll have a shiny new netbook experience, and another huge list of soc projects. oh, and more location-aware stuff, too (right now the weather plasmoid can guess where I am but the clock can’t. anyone looking for an easy feature to write? ;) We’ll also see some apps stabilizing – amarok, koffice, kdepim… When 4.4 is released i expect to use all of those with ease (my requirements for koffice are pretty simple, though). We’ll also have a git migration going on, hopefully. :)

So what of 4.5? Well, we won’t have an army of gsoc students; a lot of us will be in school. But if we’re on git, and the branch layout is what i hope it’ll be, then perhaps i can focus on bugfixing while the rest of kde is doing features, then start my features when they’re in feature freeze – because that’s when i’ll have *time* for features. Of course, that means any feature i write over xmas break will be in 4.5…

For plasma, i’m hoping to see a better zui in 4.5, then. some new window-management concepts in kwin, too. I’m sure the socialdesktop revolution continues. I’m betting konqueror will once again be a browser i want to use (something only kde3’s konq has accomplished so far). The web will be integrated into the desktop and apps, too.

I expect koffice will have a real end-user release by then (their 4.2 in a way). Kdepim will be using akonadi for everything. Nepomuk will start popping up all over the place.

Then 4.6 will come along next summer. Another flood of gsoc proects… The desktop will organize itself for you. Collaborative editing everywhere. Who knows, maybe even plasmoids on your phone ;) QML may be sneaking into things then too; shinier interfaces, less code.

Since we only got up to 3.5 last time, maybe 4.6 will be a good time to start thinking about kde5 too. All the new experiments in kde4 naturally leave behind some api cruft as people learn what works and what doesn’t. I’m not talking about another revolutionary mega-release like 4.0, just a break of binary compatibility in order to clean up API and make some changes that can’t be done in 4.x.

so… that’s what I’m hoping to see in the next year. social/collaborative stuff, the computer paying attention to context, small-formfactor stuff, a better web experience (and that doesn’t just mean the browser), applications becoming stable and taking advantage of the pillars of KDE. I want my computer to *help* me instead of just sitting there waiting for instructions.

what about you?



et cetera