ChaniBlog











{July 4, 2009}   las palmas!

whee :) I’m in las palmas now, at GCDS, and continuing that great tradition of wandering the intarwebs while presentations are being presentated ;)

madrid was nice, but very very hot. I went to toledo on thursday and did the tourist thing… and forgot to bring my camera, of course. but the importnat thing is I remembred to bring a *lot* of water. :)

friday I was off to the airport yet again… I ran into one of the other gsoc students there, which was nice :) so we spent the flight hacking and talking about our projects n’stuff. our hotels were far apart, though. I got off the bus at st catalina park, walked down to the beach and quickly found brisamar canteras. my room has two beds, a couch (that someone is going to have to sleep on for the week), and a little tiny kitchen. sadly the wifi is only in the lobby. :(

eventually I wandered down the beach to register. the conference building was quite easy to find, and we got free towels :) but I found out there won’t be any free food or catering or anything. we have to fend for ourselves, three times a day. I’d not actually eaten anything but a slice of quiche that day, so I was very hungry… I found some other gcds people at a bar, but their menu was divided into meat and fish, and a lot of places were closed (dinnertime seems to start at 8:30pm in spain). I didn’t feel like walking around reading menus, so I went to carrefour and bought bread, cheese, pasta n’stuff. thank god I have a kitchen in my room; having looked at a few more menus later that evening, I realised I’m probably going to be using it a lot. :P I’m not sure why they bothered asking us about dietary restrictions… they haven’t *done* anything with the information.

anyways, there were far more people at my hotel when I got back there. yay :) it’s great to see familiar faces. after hanging out with people for a while I went and cooked myself dinner… the kitchen is missing a few things, though. there’s no bowls, dish soap or sponge, and the only knife is a bread knife… but I managed :) I’ve probably put on a bit of weight from all the yummy cheese in berlin anyways so I can survive with less for a few days ;)

[edit: I eventually found the wiki page of restaurants, which lists some veggie options. and tonight went out for dinner in a group with some other vegetarians. yay food :) and ice cream :) ]

after dinner I headed out to the party. lots more people there. I’ll probably be overwhelmed by the number of people by tomorrow. but for now it’s still fun. I got a kubuntu nightgown (the only shirt size was L :P ) and free beer, and more beer… I think it was 1am when I left, and then one of my roommates showed up as I was getting ready for bed. so getting up this morning was hard :P

the weather here is nice; the wind makes it a lot cooler than madrid and oslo. :) and of course there’s a beach! yay beach.

the sugar guy is talking about kids solving their own problems right now; writing a dictionary when they discovered that sugar didn’t have one for their language. that’s an important thing, empowering people to solve their own problems. reminds me of something I was thinking last night…

travelling on my own is a wonderful feeling. I don’t mean just hopping on a plane, meeting people on the other side for a conference, then going back to the airport with them and going home. I mean actually being out on my own, having to find my own way from place to place – meeting people, but not doing everything with them, not being dependent on them to get around or know where to go. when I did my little trip around china last year I was even more free, staying in hostels – shanghai was the first city I was in where I really didn’t know a single person.

it’s stressful at times, but that independence gives me a feeling of strength. if something’s broken I get it fixed; if the food sucks I find other food. I solve my own problems. :)

…although solving the food problem will get old pretty fast, so I’ll be happy to go home in a week and have someone else take care of that for a bit. ;) and as nice as it is to get lots of hugs from all my friends… well… yeah. it’s nice to be here; it’ll be nice to be home, too. :)



{June 30, 2009}   berlin and oslo

so I spent a week in berlin, and had lots of fun, and was far too tired to blog about it :) and now I’m in oslo, still having fun.

I arrived in berlin on sunday, uploaded my blog post, and collapsed on maelcum’s bed. :) in the evening I woke up, we set up a bed for me, and went out to the music festival with one of his roommates… so of course it started raining soon after we got there. :) it was a nice evening, though. we hid from the rain for a while, then went to a club, where there was dancing… but we arrived at something like 10 or 11pm, and apparently the party doesn’t really get started until 1am in berlin :P I was having too much fun dancing so by midnight I was quite literally falling asleep.. eventually we got home and I slept until 4pm :P

I skipped the drinking monday, just had a nice dinner and went back to bed… then tuesday it was time to meet the linuxtag guys and move to the apartments they had for us. kde, amarok and kubuntu people were all sharing three apartments. I think every bed was full, three to a room. I thought I had blogged at least *something* about linuxtag, but it seems I haven’t… when we were setting up the booth we found one of the signs said “K Desktop Environment” instead of KDE. we tried to think of something to do about this, and eventually I discovered that the letters were actually stickers… :) so I started peeling them off, and we made it say KDE.

and then we had a big pile of sticky letters, so we tried to think of fun things to write with them. :) we were tempted to take the spare k and put it on the ubuntu sign, but people might not have liked that, so in the end someone (frank?) stuck it on his folder and we had “the K files”.

that night we looked for a place to eat near the apartments, and ended up splitting into two groups… I found what I thought was a sushi place, but it turned out to also serve thai and vietnamese. my green tea came with a teabag and sugar. :P still, the food wasn’t *bad*, just not very japanese :) after dinner much drinking happened, and I learnt to count past 9 in german.

tuesday morning I woke up early, found a nice bakery for breakfast, wandered around until the grocery store opened so I could buy soap… and then linuxtag started. ohh boy. so many people! so much stuff! the week is a bit of a blur… I was wandering around and chatting with people and chatting with more people… I signed an FLA, and talked with someone who wants his software to integrate properly with KDE (and ended up helping him make the web client work better in khtml)… by wednesday I was getting kinda overwhelmed by all the people, and started spending more time on my laptop… I made it to a few talks, but only kde/qt ones. :) matthias’ talk on QML made me really really wish it was something I could use right now. will’s talk on what sucks about kde was.. uncomfortable but fairly accurate. I’m not sure why he was talking about it at linuxtag instead of akademy, though; it was really aimed towards the bunch of kde devs in the front rows, not the random users in the back.

the lunch at linuxtag varied just enough to never be boring (omg the strawberries in berlin are sooo good), and most of the dinners were delicious… :)
tuesday night we went to a nice restaurant in Kreuzberg where they had something like indian food… it was yummy… and then we went back to the apartment and drank more. :) it was someone’s birthday. and there was nice vodka. we discovered that the drunker I am, the higher I can count in german ;)
wednesday night was the social event and the qt dinner, unfortunately at the same time. by the end of the dinner (which was.. not very good compared to most dinners that week) I just needed some time alone, so I skipped the social event. it sounds like I didn’t miss much.
thursday I was in Kreuzberg again, and had a delicious.. something.. with dumplings and mushrooms and a yummy creamy sauce… and then we had ice cream. :) I also was at the kdab office that night, where they have a foosball table. :) oh, and t-shirts.
friday… I just plain don’t remember. or perhaps I mixed up thursday and friday.

saturday I went to the ubuntu bbq at c-base, had a mushroom and a piece of cheese, then decided I wanted a full meal. so I met up with sebas and nightrose and some others, and discovered Christopher Street Day. there was cheap chinese food, and beer, and more beer, and dancing, and beer, and pizza, and marge simpson… :) I would’ve liked to stay longer, but was getting very tired by midnight, so me and fredrik headed back to the apartment. it was a good thing he came along, because i fell asleep on the train several times… but then we discovered that the key was with monika, back at c-base. :/ so an hour later (the trains were against her) she showed up, and it was 3am and I finally got into bed and started to defrost :P

sunday the weather was lovely – of course it was, we were leaving. I didn’t really want to leave berlin, it’s an awesome city. :) perhaps almost as awesome as vancouver ;)

anyways, I arrived in oslo, in the middle of a heat wave. I stepped off the plane and it quite literally felt like stepping into a sauna. I’m glad the airport had air conitioning, because the baggage was delayed a bit. after that I found my way to alexandra’s place.

oslo has been pretty nice so far, too. :) I just wish it wasn’t so *hot*. it hasn’t been too hard to find veggie food, the light at night hasn’t caused trouble… the qt office is quite nice. there’s a wii and a foosball table and scooters and food and, of course, qt-ies! ;) I met a bunch of them yesterday, then sat in thomas’ office and hacked until he dragged me out to see a bit of the city… and he’ll probably have to do that again soon or I’ll be hacking all day ;) I managed to have some good/useful conversations this morning, but that didn’t leave time for hacking, and then the internet distracted me for a while…

oh, and I took a few photos in oslo, after being reminded that I had a camera. :)

tomorrow I’ll be off to madrid. :) and then friday, akademy! :) I’m really looking forward to that. I just wish there were more hours in the day – hacking and chatting and seeing these cities and drinking and sleeping just don’t all fit into the time I’ve got…



{June 29, 2009}   gsoc week 5

so for last week I was in berlin for linuxtag… I’ll blog more about that later. now I’m in oslo, where it is unreasonably hot.

at linuxtag I spent a few mornings hacking on my gsoc project, and a couple of afternoons finding random people to test it on. :) after two model-view attempts the previous week, I decided to take the “fuck model-view” approach this time. it’s highly unlikely that there will ever be more than a dozen of these kind of plugins, so I don’t need scalability, just something small and simple. I made a widget that shows one plugin, and stuck a bunch of them in a scrollarea. :)

it could still use some tweaking, but I think this is a much more intuitive layout. it could be a bit more obvious what to do after clicking the input button, though…

anyways, now that this is committed, and it’s in good enough shape to live with for a while, I’ll be moving on to the contextmenu plugin i think. either that or I’ll make that “configure” button work. right now I’m just going to sleeeeeep.



{June 25, 2009}   a safer screensaver for 4.3

well, I just flipped the switch. I made my security code filter out all plasmoids that don’t declare themselves to be safe. this means that in 4.3, the screensaver will (in theory) only have safe applets available.

I’ve gone through all the applets in kdebase and kdeplasma-addons while they were frozen, making them conform to the security stuff I have so far. a few will adapt their features to not do unsafe things when they’re on the screensaver, and most of the rest were either already safe or should never be there. there are a handful of tricky ones that I haven’t dealt with yet, so a few more *might* appear in 4.3 if I have time, but I decided that possibly missing a few plasmoids is better than having a ton of inappropriate ones available.
I won’t touch playground, because it’s not feature-frozen. no sense in adding security statements that could be wrong 5 minutes later if someone decides to commit a new feature.

for the plasmoids outside of kdebase and kdeplasma-addons, the authors will have to add the security stuff to their .desktop files if they want them on the screensaver. *please* be careful and truthful when doing this, because we don’t yet have the code to disable features that plasmoids claim to not use. I haven’t written a nice how-to about it yet, but there is the design document in svn.

of course, if you as a user decide you know what you’re doing and you really really want an unsafe widget on your screensaver, you can edit your config files to add it. but if you do that you’re on your own ;)

p.s. berlin is zooper cool! ;)



{June 21, 2009}   berlin! also, gsoc week 4

[very tired.. this may or may not make any actual sense... and I'm too tired to insert screenshots]

I may not travel quite as much as aaron, but airports are starting to feel far too familiar ;) i’m on the last leg of my flight right now, between frankfurt and berlin. I have a whole three seats to myself :D frankfurt airport was, as usual, full of long badly-managed lines, but i got to skip one of them because my flight was already boarding. Calgary airport now requires some silly registration process for their free wifi – but hey, that’s still better than nonfree wifi. :) And vancouver airport i don’t even notice any more. It’s just… There. Same old thing. But with a few more olympics logos each time :P

aaron met me for coffee while i was passing through calgary (ok, he bought coffee and i stole some ;) and of course it was mere minutes before the laptop came out. He had some suggestions for *another* different approach to my config ui. :)
So about that ui… i spent the last week and a bit poking at it, yelling at it and hating it, inbetween preparing for my trip and other important things. I looked a while at the keyboard shortcut config code. It scared me. I started writing a model-view ui based on that and got really frustrated. Then one evening i talked to dfaure, and ended up starting over again with his model-view suggestions, which seemed more along the lines of the qt documentation. I was up past 5am wednesday night fighting with delagates and editors, and while i did eventually get something sorta-mostly-functional, it looked icky, and mysteriously stopped working when i tried to show it to aaron :P so i was getting the feeling that i was trying to shove a square peg in a round hole again.

Aaron suggested something that could do the editor widgets for me without the ugliness my code had, and he also suggested just dropping model-view and writing something simpler. I’ll look into those two options once i recover from jetlag – my alarm went off at 5:15am, my watch says 11:20pm, and in germany it’s 8:20am, so not only have i been a zombie all day, but a new day is starting without giving me a chance to sleep ;P
ah well. There were some decent movies on the long flight – transporter 3 (yay explosions), slumdog millionaire, and some bollywood movie i only got to see the first bit of. I really like the dancing in bollywood movies; someday i wanna learn to dance like that :)
I listened to a bunch of chinese pop on that flight, too… So now my brain’s full of chinese instead of german. Oops. :)
And now i’m on a train headed to maelcum’s place… I accidentally got off the bus too early (remember that scene in eurotrip where they get a ride to the wrong place?), but it was just a different train station, no worries. :) I just need to stay awake long enough to get there…

…and here I am, and here’s this post, and I think I might pass out now.



whee! I have a config dialog. it configures.
well, sorta. it still has a couple of bugs, “configure” and “about” do nothing, and you can’t turn off a plugin.

oh, and it’s ugly as sin.


don’t gouge your eyes out just yet, though ;) I promise it won’t stay like this. today I was focused on getting the insides working; tomorrow I’ll start working on appearance. last month I spent some time talking in #kde-usability, and came out with ideas on how to make a presentable UI.

it’ll probably require model-view, which I’m not really looking forward to. I’ll probably need some more help from usability people and people who have experience making a UI feel like KDE, too. but it’ll look better before it goes into trunk. :)

oh, and some good news! scripty is finally happy with my git additions. thanks a bunch to tsdgeos, chusslove, pinotree and the other translators for putting up with my constant questions and the weekend of breaking scripty. :) and remind me that I need to document some of that before I forget what it was I was going to document…



ok, so the project so far is turning out to be a bit easier than I expected :) I’m sure that’ll change when I reach the config UI :P but for now I feel like I’m getting a lot done.

monday was scripty, and tuesday I didn’t get much code time in, but I wandered back online after midnight and got my hashing stuff working. :) the button and modifiers used in the event are turned into a string that’s my unique ID for plugins, so any plugin I add will be run when the corresponding event happens.

today I made the dummy plugin show a contextmenu with an entry from the containment. that was so easy that I couldn’t resist making another plugin. :) in slightly less than two hours (including a lot of irc time) I moved the scrollwheel-changes-desktop code into a plugin, and also made that plugin show a list of desktops to switch to if it’s bound to a button instead of a wheel (yes, *a* wheel; my touchpad has two of them and I can bind each to its own plugin). :)


I’m quite pleased with how stupidly easy it was to do that. writing plugin stuff is a lot less of a headache than fighting with xorg and weird screensaver issues…

after that, I figured out where to put config stuff, and added code to properly initialize the plugins – and warn the user if the plugin needs configuring.

it’s not very pretty right now, but it’ll be easier to finish once I actually have a config dialog :) maybe I’ll start on that tomorrow, or maybe I’ll spend another day on scripty.



{May 30, 2009}   gsoc week 1

not a whole lot to report. I got the basic plugin structure written, and then I realised that it made much more sense to write a dummy plugin sooner rather than later, so I did that too. I was about to make Containment try and use it, but that’s next week’s task, so instead I wrote a bunch of notes about it and spent friday working on scripty. :)

I think scripty’s ready for some testing now – but that code is rather scary and I’m sure to have made a silly mistake somewhere (other than the one tsdgeos caught), so I’m gonna see if I can test it locally before letting the real scripty run it.

except, it’s saturday and it’s a beautiful day, so first I’m gonna go to the beach :)



well, summer of code officially starts today. :)

I have my git repo. I won’t be starting code today, though. it’s a saturday, and I skipped going to the beach to work on scripty, and I’m going out this evening for once.

the last couple of weeks have been busy. I did do some stuff for summer of code – I got help from #kde-usability in designing a non-scary config UI, and sorted out some other little things. most of the time, though, I was busy with other KDE stuff, and real life.

I’ve been slowly chipping away at the security stuff – now that feature freeze has hit, I can check applets’ behaviour without worrying that it’ll change the next day. once I’ve checked all the applets in kdebase and kdeplasma-addons, I’ll set plasma-overlay (the plasma that runs on the screensaver) to only show applets that are safe. I guess I’ll also have to put something up on techbase about how to make an applet safe; there’s some stuff in plasma’s design/ folder right now.

the other thing I’ve been working on – or staring at – is scripty. well, not just scripty, really; I’m interested in all the translation scripts that use svn commands, because they won’t work so well if a project moves to git ;) the code is only partly documented, it’s a mix of c++, bash, perl and python, and it’s kinda scary. but it’s fun. :) I’ve been spending a lot of time looking at it and asking questions, trying to learn how it works and how it can be made to support git modules as well as svn modules without anything breaking. I don’t have plans to move the translation stuff itself out of svn – one thing at a time – I just want it to be possible for parts of kde to switch to git and still get translations.

last weekend I was out on a sailboat relaxing, and when I came back mattr had picked up the scripty thing. he did a straight port to git (ie, replace all svn commands with git ones) then handed the project back to me – he’s got lots of bugzilla work to do. I finally started writing some code for scripty last night.

I’m a bit frustrated with it today, though. I found some svn externals, and they’re a problem because obviously they can only refer to *svn* repositories, and the best solution there can be right now is to have a script that updates stuff that can be run instead of svn up… but one translator has told me that’s not acceptable. so, well, I might have wasted the last couple of weeks :(

anyways, I guess I should focus on my gsoc project now. plasma mouse stuff… finally we won’t have to have hardcoded contextmenus in all the containments. :) this week I’ll just be getting a skeleton made up based on the wallpaper plugins…



last week I set up my git-svn repos for gsoc, and at first all seemed well. but a few days later, svn decided it wasn’t going to update until it had reclaimed the folders I had converted to git. :P silly svn.

see, I have kdelibs and kdebase checked out from svn, but kdelibs/plasma and kdebase/workspace/plasma are git repositories now. svn didn’t like this. I talked to a guy in #svn who insisted this couldn’t be done and I should give the folder back to svn. I wasn’t going to give up so easily, so I talked things over in #kde-devel… there was this –set-depth and –depth thing in svn update, but the documentation was brief and confusing, so that day I settled on having a separate plasma-git folder and editing cmakelists to compile that instead of plasma.

I wasn’t quite happy with this duplication, though, and something in the back of my mind kept coming back to this depth thing… yesterday I had an idea for how I might be able to use it, and today I googled for more information on the flag, and found it, and tested it, and it *does* behave the way I want. :) in fact it’s slightly easier than I expected.

so here’s how you turn kdelibs/plasma into a git repo without breaking svn for the rest of kdelibs:

cd kdelibs;
mv plasma plasma-svn; #do check for uncommitted data before deleting it
svn up --depth=empty plasma;

now svn will ignore plasma (and plasma-svn unless you explicitly update that). if you don’t have a gitsvn repo yet you can create it in there (git svn clone, if you use a revision # it must be one that touched that part of svn). if you’ve already got a git repo started, you can move it in like so:

mv plasma/.svn plasma-git/;
rmdir plasma;
mv plasma-git plasma

and from then on, you’ll have a hybrid repository. svn up will happily ignore plasma, so remember to git svn rebase it after you svn up. :)



et cetera