{July 28, 2008}   soc week 9

whew! what a busy week. I feel like I got a lot done.

I fixed a bunch of little bugs – appletbrowser goes away when plasma is locked, plasma always starts locked, and plasma always gets activated properly when it starts up.

I made stuff behave more sensibly – the toolbox only opens when it can actually be used, and the timeout for making plasma go idle isn’t hardcoded o 20s any more.

I added some features, too – there’s an action in the toolbox to quit the screensaver (asking for a password if you haven’t recently entered it), trying to click plasma stuff when the unlock dialog is up will dismiss the dialog and let you start interacting with plasma, and there’s a ‘Setup…’ button in the screensaver kcm that runs lockprocess in a convenient setup-mode with plasma immediately unlocked and ready for configuring.

oh, and I took some time to go work on libplasma instead of my soc project: I fixed that bug with adding activities – but then discovered 4.1 is about to be *released* – I thought it was just about to be tagged. doh. so, I’m not sure if that bugfix will be in 4.1.0 or 4.1.1 :/ I really should pay more attention to our release schedules.

anyways, now the only major soc features missing are containment swapping and appletbrowser security. :) the former shouldn’t be too hard. the latter got tied up with other plasma improvements…

I still have a bunch of small irritating things to work on, though. bad code, small bugs and usability issues, etc… it looks like I’ll have enough to keep me busy for another week. :)

{July 21, 2008}   what is KDE?

whenever people ask me that question, I have trouble answering. what is KDE? it’s not just a desktop environment any more, not by a long shot. it’s a whole universe of software projects (one of which is a desktop environment). it’s the libraries that we use to make that software, that helps make a KDE program really *feel* like a KDE program. it’s the community around that software, people we work with and care about.

I love kde’s approach to software. it was the beauty of the underlying design that drew me in… I want to use, and make, software that works for me instead of against me. software that integrates and works together, so that the whole is greater than the sum of its parts. software that shares code, shares standard behaviours, etc. software that’ll remember things for me – I don’t have to know the whole name of a program if I can type the first few letters or the category, kontact will remind me of appointments, rsibreak tries to make me rest once in a while… I can use my memory for more important things while the computer takes care of those details for me. :) this is where things like nepomuk and solid will really shine, as applications begin to take advantage of them… things will Just Work, powerful things will just happen naturally, and we won’t have to spend as much time fighting with our computers instead of working on them… and then new, easier, more natural ways of using the computer will open up, as we put these tools to use and build more flexible software, software that works the way *we* want…

with kdelibs, the pillars of kde4, and qt, writing software gets easier and easier. need audio? phonon can handle it for you. need to deal with hardware? let solid handle the details while you focus on whatever your app is *really* trying to do. when you use kio, your program can read and write files locally, over ssh, over ftp, or pretty much any other protocol. kparts let you suck in big chunks of functionality from other kde software. and the more kde features you take advantage of, the more integrated the software is, the easier it is for people used to other kde apps to learn it and use it and feel at home. :) and of course there’s all the benefits of using qt – such a well-documented, coherent toolkit, where so many things just make *sense* and so many little headaches are taken care of for you.

most important, though, is the community. people from around the world, working together to make our computers a better place (am I too corny yet?), make awesome software, and have fun doing it… people who are friendly and intelligent, respectful and considerate (at least, most of them, most of the time). I want to be part of a community that treats people with respect, that welcomes anyone who is willing to act responsibly and be considerate of others, where people support each other and work together and work out disagreements without saying hurtful things. I love being around so many people who share those ideals, who believe in KDE, that we can make software that has quality, that will be useful and lasting and will make people’s computers at least a little less stressful… :)

developers, translators, writers, artists, bugsquad, usability folks, everyone who has been working to improve KDE and being a positive part of this community: thank you for making KDE (however you define it) awesome. :) I love working on KDE software, and I love working in the KDE community.

and now, I steal borrow a couple of my favourite images from Wade Olson:

{July 21, 2008}   soc week 8

well, what did I do this week? it’s been such a long week.

on monday I fixed some little bugs, and made configuration only possible while widgets are unlocked. tuesday and wednesday I was out camping… or rather, cycling 80km to the campground, sleeping, then cycling to the nearest bus. ;)

after I recovered from that, I spent a few days fighting with git. git-svn is a fragile little baby and I did something it didn’t like, so everything got all confused. :( but eventually I managed to create a new master-branch without any weird double commits, and get things working again.

yesterday, I made transparency options for plasma-overlay. you can set the opacity both for when plasma is active (meaning you moved the mouse or typed recently, and the screen’s locked) and for when it’s idle. however, the performance isn’t great, so if your system isn’t very powerful you might want to stick to 0 or 100% opacity.


I also realised something… developing in a public git repo isn’t all that helpful if nobody’s actually looking at it. I’ve had hardly any code review :/ that’s not a good thing. hopefully now that it’s in svn people will start pointing out the weird bits in the code; I’ve also hacked post-review-plasma so that I can put my code on reviewboard again. :)

{July 13, 2008}   soc week 7: it’s aliiiive!

I’m posting a bit early this week, because I’m feeling impatient. :)
I don’t actually have that security stuff implemented – planned out, but not implemented. but I have an excuse, I’m waiting for aaron ;) so in the meantime I… well, I procrastinated a lot, relaxed a little, and then eventually skipped ahead to next week’s goal – adding an option in the screensaver config to turn this thing on and off.

now that it’s actually possible to disable it (and it’s off by default), I figure it’s okay to let people try it out. trunk conveniently unfroze, so I cleaned up a couple of bugs and committed everything to svn (mmm, git flood). have fun! :)

however, I warn you: soc is still not over. there are still some gaping holes in my project. don’t expect it to actually make sense or anything until after akademy. it will eat your babies ;)

{July 8, 2008}   gratuitous screenshot

well, I spent yesterday lazing around on the beach reading about design patterns, so I guess I have to get work done today.
I need to audit a bunch of widgets for security, or at least group them vaguely based on how I expect the audit to turn out (some aren’t even worth doing, either because they’re trivial or they have no business being on a locked screen at all). we have a *lot* of plasmoids now :P and I’m only looking at the ones I know of. this isn’t the most exciting thing in the world, so I’m looking for any excuse to procrastinate ;)

someone on irc was bugging me about the lack of screenshots in my blog. :) so I thought, why not show another screenshot of my screensaver?

{July 7, 2008}   soc week 6: caught up

huzzah! I managed to get caught up this past week, despite RL being busy. password checking is there… the config button is still there when locked, but I decided it made more sense to fix that *after* general security stuff is in place, so instead I made the dialogs hide when plasma is locked, and made it lock whenever plasma’s hidden or the timeout is reached. that way a locked screen becomes a fully-locked screen again if you’re called away :)

now that plasma essentially works, I need to focus on security. oh joy. widgets need to *not* let the user do whatever they please when they’re on the screensaver. so, I have to design some system for letting the widgets know they should be locked down (hopefully something a little better than just-lock-everything so that it can be useful outside of my project) and then get some widgets to follow it.

oh, and)

{July 3, 2008}   where does the time go?

yesterday I talked about community stuff, washed dishes, bought food, got a little distracted by blogs, recompiled all of kde on my desktop, fixed a few little bugs in my project, puzzled over a weird crash, caught up on email, made dinner with pete, and did some other stuff I’ve forgotten.

today I discussed plans for my august vacation, did the weeding, washed dishes, had breakfast, started laundry, went to the chiropractor, then bought cleaning supplies and a curtain rod for the house, spent a while on the phone with fido ’cause they were overcharging me again, tidied up a little, did more dishes, threw out some bad food, made myself a sandwich, recompiled all of kde on my laptop, and it’s 5:30 now so pretty soon I’ll have to start on dinner again.

I’m supposed to be getting code done… but I still need to clean the bathroom, clean the fridge, finish the laundry, try and fix the broken drawer in the kitchen, buy more plane tickets for my vacation, and maybe at some point exercise or practice guitar. :/ there just aren’t enough hours in a day, and my head feels like it’s going to pop off even though I have all this stuff written down. :P

{July 1, 2008}   sharing exposure

when a project has one person who is significantly more visible than other contributors, speaking often and well, trying to make things happen by communicating outside the project, blogging on important issues, speaking at conferences… a funny thing happens. people seem to assume that person IS the project. they take his opinions as that of the project as a whole, believe that he somehow controls the project (a crazy notion when the project is as big and open as KDE), and some even seem to blame him personally for anything they dislike.

this isn’t good. not for the project, not for the individual. we should discourage people from treating anyone this way. we should try and keep anyone from falling into this position again. we don’t want celebrities.

after the recent drama, I imagine many contributors might want to hide away and make very very sure that they never get this kind of publicity. however, I think that would be bad. I think the problem isn’t exposure per se; it’s the relative levels of exposure for different contributors. when one person gets far more exposure than others, we run into trouble – so what we should try to do is have *lots* of people getting more exposure, such that no individual finds themselves out there alone. :)

we were discussing this on irc, and joked about creating an imaginary person to be the “king” of KDE, and have different people blog for it. then we realised that we’ve already got a place for news that isn’t from one single human being: the dot. apparently the dot editors would really like more articles. :) I think it’d be a good thing for the community if more people were to submit stories to the dot. they’d have to be a little more polished than a blog entry, but we have editors to help with that. the submission form looks a little, uhm, old – but hopefully kyle’s planned software updates will address that eventually. :)

Perhaps you’ve already written a good blog entry that could be transformed into a dot story easily (there was a nice folderview blog recently, maybe something like that should be on the dot). perhaps you’ve got something to say that’d interest the KDE community as a whole. don’t be shy, submit something! :) I’m going to try my hand at it soon… once I get caught up on soc. :P

{July 1, 2008}   soc week… 5?

ok, so week 5 ended a day or two ago. I normally blog monday nights, but I was coding right up to bedtime.

anyways… I was not lucky. the input issues turned out to be a royal pain in the ass. however, with help from some other devs (especially fredrikh) and a favourable alignment of the stars (seriously, I have no idea what fixed the qaction issue) – I’ve almost got it licked. :) I’m just playing with getting the keyboard input to go to the config dialogs now. [iiinteresting. the basic config is fine, but the font selector breaks the second time it’s shown. hmmmm.]

once those last little issues are worked out (assuming they don’t turn into big monsters), I can get this code merged in, then start on security stuff. if I can get password checking working quickly and make those config dialogs hide themselves when plasma’s locked/hidden, maybe I can kill a bug or two as well before the week ends. :)

et cetera