{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.

et cetera