ChaniBlog











{December 17, 2009}   ‘Cause Life is Sweet

So a week ago, I got my green belt in modern arnis. Through hard work, practice and persistence I earned this honour. This semester has been one of learning, of growth. Of awakening.
I took on a group project, and although it was in many ways not quite what I’d hoped for, it turned out all right. I found myself joining another project, and that one was more fun – and stressful at times. :) I started the semester with a workload I knew I could handle, piled on more things until I was feeling overloaded, scaled back to what I could manage – and then loaded on more again and found a way to pull it all off. I’ve discovered things I’m quite good at, and some I’m really not. I’ve made mistakes, and hopefully learned from most of them ;)
I feel as if a whole new world has been opening up before my eyes. It’s scary and tough, but I feel like I finally have the strength and desire to face it and show that world what I can do. :)

I was a lot calmer for my green belt test than I had been for my yellow a year ago. It’s hard to believe it’s been only one year. Four other students had their yellowbelt test the class before, so on the day of our test (me, G and L) it was a sea of yellow – just one white belt there. :) Quite a change from most semesters I’ve been there – being on-campus there’s a lot of churn. L has left for another university already, actually. Anyways, the test went all right, and next semester we’ll probably get started on the blue belt requirements. Plus working on the weak areas of our green belt stuff, of course. It’s a really great experience being part of that class… martial arts with a good teacher teaches you so much more than just self-defense and exercise. :)

As for the robocup project… I have mixed feelings about that.
Most of my initial fears turned out to be groundless, but motivation was a real problem. I found out I kinda suck at research – but that was soon irrelevant because the base code never did what it seemed to do. We ended up spending most of our time trying to understand and fix it, which wasn’t much fun. I’m still not sure whether starting from scratch would’ve actually been faster…

Everyone in the program was a good student (however the teachers measure “good”) so there were no serious issues with group dynamics, but it still wasn’t perfect. One group member dropped out just after the initial code sprint, and that combined with the infeasibility of building AI on top of a buggy base threw a lot of confusion in. I have a feeling the experience was much closer to that of a real job – we were all competent with at least *some* experience, but our motivation went down steadily, the project goals got revised considerably, nothing was as it seemed on the surface, and all the code we had available was strange and underdocumented (what few comments there were were just as likely to be german as english). The project wasn’t a disaster, but it wasn’t a clear success either. :/

Then there’s the maemo project. I ran into my friend’s teacher at Qt Dev Days, and he convinced me to help with their project – I got to borrow an n900, how could I resist? ;) So I spent some time building the UI for that project with my friend, and we got to show it off at a nokia event at the end of the semester. I got some good experience from that, too – communication was difficult at times, and we were having trouble understanding what each other’s requirements were (some other guys were writing a c library that our c++ code would use) but we got it sorted out in the end – or didn’t, as it turned out, but the misunderstanding simply made integration easier anyways. :)

At some point in… er.. november? The git migration team started having weekly meetings, too. ohhh, meetings. We had bikeshedding galore… confusion everywhere… I’m pretty sure I contrubuted to the confusion even when I was trying to reduce it. :P It’s been an… interesting… experience, and I gained a new appreciation for the term “cat herding.” ;) We’ll get there in the end, but we’ll be sure to argue over every single bikeshed along the way (and several we passed ages ago). :)

So many other things have happened this semester – some good, some bad; some big, some small. I certainly can’t write about all of them, nor should I. It’s been fun, it’s been painful, it’s been everything in between. I’ve made new friends and met lots of interesting new people. (There’s someone I’m forgetting to call again, isn’t there?) I seem to have lost a friend, too, which really sucks. The semester is over; my exams are done. It feels more like a beginning than an ending, though.

My reason for being in school right now isn’t really the classes – it’s learning how to deal with people. Learning about computers and math and stuff isn’t that hard, I can figure it out on my own if need be, but people are *hard.* Communication is hard. :P I think I’ve actually made some progress, though. Yay :) There’s so many things I still don’t get, and it seems the more I learn the more there is to learn, but still. Progress. :)

So now I’m going to take a few days to myself to actually relax (or more likely: spend half a day relaxing and then get sucked into kde things again). I’ve got plenty of things I’d like to do over the holidays, but if I start talking about them they’ll start to feel like obligations, so I think I’ll just let it be, and see what I find myself drawn to. :)



{December 15, 2009}   KDE and git

Between all the bikeshedding and confusion, there is actually work getting done on our git migration. ;) The list of tasks is slowly progressing – we have keywords like CCMAIL and BUG: working now, thanks to morice. :) yay!

Konversation has been chomping at the bit, and now they’ve jumped over to git too – with two projects hopefully we’ll flush out any issues amarok may have missed, and they’re enthusiastic about getting the git tasks done too. :)

Still, there’s a lot of work to be done. Some of the blockers listed on that page don’t have enough people working on them – one doesn’t have anyone at all. If you’ve got some time over the winter break, come help us! :) We have meetings in #kde-git every wednesday at 10am PST, which is 18:00 UTC.

If you can help out with documentation, tomorrow is a really good time to join us. After tomorrow’s meeting I’ll be returning to the techbase git tutorials and whipping that page into shape – hopefully not all by myself. :) It’s got a bunch of general outlines to be filled in, and in some cases links to content that just needs to be copied and reworded a bit (amarok’s got their own nice git tutorial that I’d like to see used for something more generic), so whether you’re a git master or a newbie there’s still ways you can help. :)



{December 3, 2009}   stress

It seems tensions are high lately. I’m seeing several people (including myself) who seem to not be their normal friendly selves. :( Stress sucks.

KDE is a great community, so it’s easier to notice when things aren’t completely perfect. I’m not good at these social things though, so… how can we make it better?

A few ideas:
-if you’re stressed out, save that email as a draft and read it again in the morning.
-think twice before speaking on irc, too. (I’ve been kinda grouchy there lately… sorry guys.)
-remember that the person you’re talking to might be stressed out too, and think about how their feelings might be affecting how they interpret what you say.
-slow down. haste leads to mistakes which leads to taking more time than if you’d gone slower. :P
-remind yourself and others of all the awesome things that are going well :)
-if you’re *not* crazy busy, see if you can reduce someone’s workload – I hear CampKDE needs volunteers :)

…easier said than done for a lot of those, of course; I’m trying to remind myself of them and keep my head as deadlines rush in…

also: *hugs!!* :) KDE is awesome, you guys rock, and I’m really looking forward to seeing everyone (or as many as can make it) again at CampKDE.



{December 1, 2009}   the curse of feature freeze

So, we’re in feature freeze again. Well, we have been for a week, but it’s been a busy week. :) The end of the semester is near, projects are coming together (or being hastily duct-taped together), and signs of chistmas are popping up despite the weather’s usual refusal to co-operate (it’s gonna be a *wet* christmas).

Anyways, I did manage to put aside some time for plasma just before that freeze; I redid the mouse plugins UI Yet Again. :) It still has a lot of the same elements, but put together differently, and the layout is a lot cleaner now. I have a few tweaks still to do, but they’re small enough to count as bugfixes. ;) I was very tempted to try and hack together another feature or two at the last minute, but decided against it; I’d rather do things properly over a full cycle than push something in quickly that might turn out to be a bad idea. They were both experimental ideas, not ones I could be sure people would like.

Now we’re in freeze, so after all my projects and exams are done I’ll be looking at my (scary long) list of bugs that bug me personally. I’ll also be working on git documentation (learnt something new yesterday: merge –no-ff is better than merge –squash for git-svn users, so long as you remember to amend the commit message), and researching stuff for crazy activity ideas. :)

However, there’s a little corner of my mind that’s been wishing it could work on plasmoids instead of homework all darn semester. The closer we got to feature freeze, the more I thought about new-widget ideas. Sadly I don’t know if I’ll find time for them even after the freeze is over. So, I’d like to share my ideas, and hopefully someone with a bit more spare time will pick up one of them and turn it into reality. :)

“Show Wallpaper” icon
We have a lot of stunningly beautiful wallpaper available from GHNS. every semester when I’m setting up activities for my courses, I pick new wallpaper for them. I can see *most* of it if I use Show Dashboard or Show Desktop, but those useful widgets are always covering a bit. it’d be nice to have a button that would bring up *just* the wallpaper, fullscreen, and let me stare at its prettiness for a while. ;)
The button would pop up a fullscreen window (probably similar to DashboardView in behaviour) and ask the current activity’s Wallpaper plugin to render on it. In theory it should already have the image cached at that size for drawing on the actual containment, so it shouldn’t be all that expensive, right? Wallpaper plugins are already designed to draw on whatever they’re told to draw on (see the code for previewing them in BackgroundDialog). The only thing I’m unsure of is how well they’d do at drawing on *both* the containment and the popup, and what performance would be like for non-static wallpapers.

Widget Bank
A plasmoid that, when a widget is dropped on it, would store a copy of that widget’s config (and perhaps a little screenshot of it, if possible). Then you could drag it back out to make lots of copies of that widget.
I’m not sure whether this can be implemented, actually: when widgets are dragged on the canvas we move them directly, so there’s no d&d event to respond to. which reminds me, dragging between containments needs a lot of bugfixing :/ it’s a tricky issue in general.

Tasks plasmoid: “other desktops” entry
This is something that came up on plasma-devel, I think it may have been aaron’s idea… it could be useful to have a group in the taskbar that shows windows for all the other desktops, so that a taskbar showing only tasks for this desktop doesn’t completely ‘lose’ the others. It’s something to try out – maybe people will like it, maybe not.

dolphin/filedialog activity-related places
ok, this one isn’t a widget: but since nepomuk has activity stuff in it now, I think it’d be nice to automatically have a Place in dolphin that shows all the documents tagged with my current activity. Alternatively, a “show only for this activity” option, like the “show only in this application” one.



{November 28, 2009}   The Future of Activities

Since last Akademy, several plasma people have been thinking about activities, and virtual desktops, and What It All Really Means. We had some good discussions at akademy, and at tokamak, and online too. KWin and Nepomuk people were involved as well, although I wish that KWin guy (..mgraesslin? sorry, I suck at names) had been able to stay at tokamak longer. :)

We’ve emerged with a new vision of what activities are all about, and I’d like to share that vision so that I don’t get blank stares when I mention how much I wish I had activities already. ;)

Where We’re Going

See, what we have right now, that we call activities… they’re not what I think of as activities any more. They’re just desktop containments, groups of plasmoids. They can have a name, but nothing makes use of that yet. What I think of as an “activity” is the entirety of what I’m working on at the moment – be it a kde-related project or a university course or just reading lots of comics. :) This activity includes several windows from several applications. It includes files needed for the project. It includes a set of plasmoids, like the one I put my list of math questions on and the calculator plasmoid to go with it. At times it includes only *part* of an application: show me school email folders when I’m doing schoolwork, hide the KDE lists so that I’m less tempted to procrastinate. ;) Some activities have lots of associated windows, and since I can’t carry around a spare monitor with my laptop, I’ll use virtual desktops to have more “space” to lay out my windows for that activity.

When I’m working on one activity, I don’t want to be distracted by other activites. Everything related to the other activities is out of my way, sitting on *those* activities only. If my hardware isn’t up to leaving all my activities running at the same time, or if I just want to pack one away because I won’t be needing it for a while, I can do so, and everything that’s no longer needed will be closed. When I want that activity again I can load it up and return right where I left off.

If I open a document tagged for a certain activity, it’ll be associated with that activity by default; if there’s no obvious association then the new window will be available on all activities until I choose to associate it. Windows can be associated with any number of activities, so I can have anki associated with both of the courses I use it for and still not be bothered by it when I’m hacking on plasma.

Now, that vision is fairly bold. It includes a lot of features that don’t exist at the moment. You will *not* see all these features in KDE 4.4, not by a long shot. However, a lot of the framework already exists. Code was recently committed to Nepomuk to represent activites there; and from there, any program can ask what activity we’re on and update itself to fit. KWin code can be written to hide windows that don’t belong. Plasma will have a new bar (a bit like the new add-widgets bar probably) for managing actvities (not until 4.5 now, I’m afraid). Saving little mini-sessions of windows along with the activity is something I’m going to investigate over christmas (hoping it won’t be too painful :).

There are still details that haven’t been filled in (like, what happens to the activity-per-desktop setting? is it possible to have a mode where activities and virtual desktops act as one?), but we have another tokamak in february, and I’m sure more good ideas will come from that. Once things actually begin to take shape, more of the pieces should fall into place, and in the end we’ll be another step closer to a workspace that enables you to get work done instead of having to be worked around. :)

How We Get There

Here’s a rough roadmap for when I expect these features to show up. It’s not set in stone, of course; we could get an awesome volunteer who goes and does half the work in a few weeks, or we could lose a key person to other commitments and not be able to get it done as fast… but I’m hoping it’ll go somewhat vaguely like this:

4.4
Plasma still has a ZUI, although the only feature not reachable from elsewhere is dragging a widget between activities. Nepomuk advertises which activity the user is on, but no applications are listening yet.

4.5
Windows can be associated with activities; those windows will only show on the activities they’re associated with. Plasma will have an activity manager instead of a ZUI. Saving and loading the plasma side of activities will work, but windows won’t go with them.

4.6
Windows will be saved and restored with the activity. Applications will start offering the ability to show data specific to the current activity. Experiments with automatically associating new windows to the right activity begin.

4.7
???

4.8
Profit! ;)

So, it’s probably going to take a while – but I think it’ll be really cool, and really useful… almost every day now I’m wishing I could organize my stuff by activity instead of having lots of windows all mixed together… even with 6 virtual desktops :P there’s just not enough flexibility in what we have now.



{November 20, 2009}   me too me too

Yep, I’m a Nokia Certified Qt Developer too.

Also, I'm going to CampKDE :)

Life’s been crazy busy for me as well these days. last time I blogged was the end of devdays, right? well, the day after I got home I had a midterm. still managed to get an above average mark despite having ignored half the material. ;) then there were assignments, and projects, and all sorts of meetings… I also seem to have got myself volunteered for my friend’s school project. they let me borrow an n900 to help out; how could I resist? ;) Then there were the people from devdays aaron mentioned, and I’m trying to do one more redesign of my mouse plugin UI before feature freeze, and there are other plasma things I’m praying I can sneak in under that deadline (let’s not jinx it by saying what they are ;) – and on top of all *that*, I’m starting something at school as well… oh yeah, and my social life finally seems to have returned to the level it was at before I went off to china. :)

Still, there are only two weeks of classes left. soon, soon I will have a break. :) a few weeks of relaxing and bugfixing (I need my plasma fix!), then back to school for what will likely be an even crazier semester. I’ll be taking four courses instead of three, one will be a Writing course (with a capital W!), there’s campkde and tokamak (assuming no conflicts with midterms), and several other things to keep me busy. I need to get back to my german practice, too; I’ve been letting that slide for most of this semester.

I think I’m pushing the limits of how much I can do without burning out. It’s fun. :)



{November 4, 2009}   Qt DevDays SF

wow. it’s been a long few days. and suddenly they’re over.

devdays was great. :) I arrived on monday for the education track – nokia needs more qt developers, so it wants schools to use qt more. :) there were several discussions about available resources, upcoming resources and how people have been using qt in schools so far. I was surprised to find one of my former teachers here from BCIT – plus jeff’s teacher from SFU, and someone from UBC too. :)

We weren’t even the only Vancouverites here – later on I was introduced to some others, plus someone from Victoria. :) it’s a small world indeed. and of course there were friendly trolls here. :) it’s always nice to see familiar faces and make new friends.

tuesday and wednesday went by in a bit of a blur. the network wasn’t giving out IPs most of the time, so we weren’t online much. There were presentations, there was yummy food, a quiz thing during tuesday’s dinner where gary and alex both won n900’s… wednesday there were more prizes, and alex won *another* one. :)

In one of the presentations today, the Qt4 Dance song was played… I tried to get people singing (*cough*alexis*cough*), but they’re no fun ;P

I met lots of people here; some are interested in using kde stuff on devices, some are *already* using kde stuff, some are looking for interns and/or hiring… some are just generally cool ;)

oh, and Froglogic and ICS are especially cool; thanks to them (and alex) I’m sleeping in a hotel and not on the street. ;)

Tomorrow morning I head back to the airport; back home I have homework and a midterm and people’s birthdays. seems like another world sometimes… a world where I get a lot more sleep ;)



I’m down in San Francisco this week for Qt Developer Days. It actually hasn’t started yet, though; this weekend blauzahl and des organized an informal kde sprint. Gary joined us too, and Knut was kind enough to let us use the Nokia offices. :)

I arrived saturday… afternoon. eventually. :) the flight was delayed due to fog, and delayed again; I’m lucky I didn’t have a connecting flight. There was one bonus; the flight was circling over the fog just long enough for my movie to finish. ;)

Despite the fog trouble at the airport, SF is quite warm and sunny. :) It’s weird, but nice; Vancouver’s been having normal autumn rain so I haven’t seen much sun for a while.

At the nokia offices, Knut gave us a bit of a lecture on how to organize a sprint, and greeneg talked about where KDE needs to improve for enterprise users. Then we had lunch at 4pm (yes. lunch.) and chatted. We came up with a bit of an agenda for sunday. I don’t remember much after that, just that I was on my computer and very *very* tired. :) I do remember that knut’s n900 is very very shiny.

Eventually, rather late, we pulled ourselves away from the laptops and went out for dinner. Me, blauzahl and des wanted to go out for halloween next… but we hadn’t had much luck finding somewhere to *go*… I got dressed up in my costume (but I’d left my homemade mask at home! waah :( I ended up using a cheap dollar-store mask instead) and we drove around looking for a bar… well, we did find one, but by the time that happened it was so late (probably 1am) and we were so very tired… so we changed our minds and headed home. We took the scenic route back, though, and saw plenty of fun costumes. :)

Sunday we went out to the day of the dead festival (sorry, forgot my camera *again*). After lunch we headed to the nokia office. Me and greeneg worked on techbase’s git documentation. There’s only a little new material so far, but there’s a framework sketched out. Feel free to help us fill it in. :)
After that, blauzahl went through some questions about the new activity stuff (I understand what I mean a lot better after trying to explain it to her) and asked us questions about konqueror use.

Now it’s dinnertime again. We don’t get to use the office on monday, so we’ll probably hang out at the hotel then. :)



So… I’m sitting here, thinking. when really I should be sleeping. :) There’s a lot going on in the free software world these days. I’m going to throw out a few wild predictions here about how things will be a year from now. :)

Keep in mind that these are all from my own crazy and sleep-deprived mind. Some will seem obvious, and some will turn out to be completely wrong. For entertainment purposes only, yadda yadda yadda.

First of all, pretty soon kde geeks will complain more about people assuming they have firefox and a google account than windows, IE and office.

Eventually everyone will get a google wave account, play with it, and get bored. Wave & google docs usage will rise steadily, though. That slowly rising tide will worry us, until finally someone says Enough and starts a real movement for Free services & data.

Twitter and facebook are boring now… They’ll still hang around, people will use them, but like icq, eventually most people just won’t care.

Kde will still be using svn. Every few months someone will get fed up and go do one of the tasks needed for git migration. Many developers will have switched to gitsvn for the project they contribute to most – hey, at least they’ll be used to git terminology when we’re finally ready to switch to real git.

Chromium will slowly gain ground as people tire of firefox. Tragic, really; nobody will step forward with a qwebkit-based browser to compete. Konq will still be largely ignored (even though it’s become a good browser again), arora and rekonq will stay toy projects. No marketing, no mindshare, few users. Remeber getfirefox.com? Why aren’t we doing something like that? we (theoretically) support as many websites as chrome because we’re all using webkit (or khtml). all they’ve got on us is speed, the Google brand, and the Google marketing.

…And yet everyone will still have firefox installed, for those websites that just won’t work anywhere else.

Plasma-netbook will make a big splash, and contribute to KDE’s rising visibility.. Many distros will still ignore it, but one will switch its focus to kde, and then another… other areas of KDE will mature, and the benefits of our Pillars of KDE will shine through… In two years we’ll be the default on most distros. Gnome won’t know what hit them ;)

The web movement will grow. Web this, web that, web everything. And we’ll have to put up with it, because it’s going to be a while before the hype wears off and people start to get tired of the web’s disadvantages. Oh, and many people will decide to try and work around those disadvantages instead of trying to bring the web’s advantages to non-web stuff.

Silk will come out, and that’ll help. It’ll make things less stupidly painful… But in a way it’s just treating a symptom. And websites change, so stuff will break. Of course i’m sure silk will include ghns updates for stuff that’s likely to get broken… and it *will* be cool and awesome… But it’s still treating a symptom.

The upside of silk’s approach, though, is the short-term gain. Kde-workspace will become the webby desktop, the shiny cool convenient thing that’s better than living in firefox. :) And while that’s gaining us users and making people happy and helping our developers learn about what does and doesn’t work, maybe we can try and come up with something better than the web. something with the advantages of both desktop and internet without the pain of being built on top of infrastructure originally designed for serving & displaying static html pages.

Then again, maybe it’ll be like IPv6 and the new less-painful way won’t be persuasive enough to dislodge the existing stuff. *shrug* :) but I like to think that eventually we’ll retire this old web thing and build something new and clean. I just hope to god that whatever comes after web-3.0 is built with Freedom in mind before profit. We all depend on services like email or facebook to a scary degree these days… if google were to shut down my gmail account due to some misunderstanding, it would cause huge problems, and there would be no appeal. heck, KDE e.V had problems not long ago with their paypal account, iirc. These online services are their own judge and jury right now, and the more we depend on them, the more scary that gets.

Oh, and then swine flu will mutate and kill us all! …no :P people will have practicaly forgotten about it in a year. remember SARS?

someone will start going around to different applications, porting each one to use nepomuk where appropriate, so that its usage grows… but users still won’t know it’s there unless strigi tries to eat their computer (which will, of course, be blamed on nepomuk. or plasma. everything is plasma). :)

Anyways…
I seen to be too tired to follow a train of thought any more. :) Again, all of these predictions are just meant for entertainment. don’t take it too seriously. and don’t quote me. ;)



So what have I been up to lately? Mostly school.

My stats and AI courses are easy, but still take up time (I’m trying to actually do homework and study instead of just cramming ;)

The robocup project is… Well, it’s a group project. :) It’s not going too badly, though.

I’ve also got martial arts and choir in the evenings (although I think I’m going to drop choir, the schedule’s just a bit too inconvenient). And I found a go club at sfu, which always seems to end in late-night gaming… :) One of the really nice things about school is that every semester there’s a chance of making new friends. Although it is a bit odd to hang out with teenagers – I feel old now ;P

Life is fun and busy… so very busy…

I’ve still been sneaking in a bit of plasma time here and there, though- little fixes for my gsoc project n’stuff. Popup applets can be right-clicked properly. You can add & remove activites without zooming out, too.
Now with those buttons and my activity-list mouse plugin, activities are a lot more convenient:

but that’s a bit ugly. We have better plans being worked on… they are shiny… ;)

Oh, and virtual desktop are more convenient too – you can add a desktop just by right-clicking the pager now. There’ll probably be a remove button soon, but… well.. virtual desktops weren’t really designed for convenience, so it’ll probably have to be a “remove last” button.

Oops, I almost forgot. I can finally commit a bugfix I wrote at tokamak that uses a 4.6 function. whee!

Oh, and i’ll be at dev days in SF. Yay! :) That’ll be fun. And I have midterms directly before and after… Yes, i’m crazy ;)



et cetera