{April 29, 2008}   plasma and the screensaver

so, this summer I’m gonna be putting plasma widgets on the screensaver. oh god, what have I got myself into?!

it’s gonna be pretty awesome… it just might take a few rather ugly hacks to get past X weirdness.

let’s start by quoting the scenarios from my soc proposal:

Amy wants to take her laptop to her lectures to play nethack — uh, I mean, take notes. She gets to class, unhibernates her laptop – then discovers she forgot to pause her music. Her laptop has no hardware volume control and the screen is locked, but since she always has a volume control on her screensaver, she reaches the mute button before anyone gets too annoyed.

Amy leaves to find a bathroom, and while she’s gone Bob leans over to see what’s on her computer. The screen is locked, so he can’t do any damage, but he leaves a rude message on the Notes widget anyways. Amy comes back and rolls her eyes at Bob’s bad spelling.

It’s the weekend, and Amy is having a party. She has all her music on her computer, and wants her friends to be able to pick songs, but doesn’t want Bob putting up nasty images like he did on Cory’s computer. She loads up the ‘party’ widgets she saved before, with a music widget and a few other toys, then leaves the screen locked.

Amy and her friends decide to go out for dinner. A few minutes after they leave, Amy’s roommate Dan comes home to find the music still blaring. He hits the stop button on the music widget, then logs into his own account and starts playing his own music.

so, what we’re going to have is basically a three-layer screensaver: layer 1 is the actual screensaver – the pretty animation. layer 2 is plasma – the widgets. layer 3 is the lock process – the bit that quietly makes sure the screen stays locked, offers a dialog to unlock it, and does some other invisible tie-things-together stuff. layer 2 is the only new bit here, of course.

naturally, there are some security concerns about putting something interactive on a locked screen. since something like this will never be 100% foolproof, it’ll be opt-in, and I’ll be making it as secure as it can reasonably be. plasma, like screensavers, will run in a separate process in case it crashes. plasma will be locked and unconfigurable unless the user enters their password to go into edit-mode. widgets will be tweaked to be aware of security restrictions and reduce their functionality when on the screensaver, then put on a whitelist, so users can only add safe plasmoids from the gui.

all this security infrastructure should end up helping plasma in general, and kiosk mode: when I’m done there should be a nice simple way for plasmoids to check what sort of features they should offer, and stay out of trouble. of course, bugs will happen – but that’s always a risk in any software.

unfortunately, the security also makes my life more difficult: running plasma out-of-process means *pain* in terms of both display and input. display was going to be a pain anyways – it might end up requiring composite to show the screensaver at the same time as plasma – but input, eeew. just to complicate it even more, that “this session is locked” dialog will probably stick around, because it has some fancy plugin ability that I don’t think I’ll have time to investigate.

so… lots of work to do, and I’ll probably run into all sorts of evil X things I never wanted to know. but when it’s done I’ll finally have that volume control on my screensaver! ;) and clocks, and notes, and maybe a photo, and, and… somuchstuff! :)

{April 22, 2008}   soc

oh, hey, it seems my soc proposal was accepted.

I’ve been a bit preoccupied lately, so I wasn’t jumping up and down when I found out. actually, I was dashing out the door at the time, to get waaay across town for a chiropractor appointment. now that I’m living in vancouver proper I really need to switch to seeing people that don’t work back in coquitlam. it’s quite silly.

I’m sure I’ll be enthusiastic about soc again soon… it’s just.. right now all I can think of is the huge amount of plasma stuff I wanna get done before soc begins, and all the evil X11 stuff I have to investigate to see how bad the painful parts of my project are going to be, and so on… it’s a good thing I don’t have any errands to deal with tomorrow. I can just sit at the computer and stay there until I start getting code written again.

maybe later I’ll blog about my proposal, too. I never did get around to doing that, did I? it’s gonna be pretty awesome when it’s done :D I just fear the pain I’ll be going through to make it work…

{April 20, 2008}   weather

while aaron dealt with snow in calgary, vancouver decided to just take a quick hop through every season in one evening. friday (I think it was friday?) afternoon, everything was bright and sunny – so sunny that pete went down to the lake to watch birds and enjoy the weather. but around 6 or 7, there was a bright flash of lightning… we looked up from our laptops as a huge thunderclap shook the house. outside, there was hail falling. o.0 supposedly pete heard one more thunderclap, but I didn’t notice any. just that one.

after dinner, I looked outside again to see humongous fluffy bunnies snowflakes falling, and sticking. they continued all night – early in the morning I saw nearly an inch of snow on the ground.
the rest of saturday morning was beautifully sunny again, and pretty soon, all the snow had vanished, as if it had never happened. pete was out feeding the ducks again in the afternoon. I just wish I’d remembered that there was a camera I could have taken pictures with. >.<

{April 18, 2008}   back in canada

I was kinda sad to leave italy, but happy to be going home. The world is just so full of awesome, I wish I could be everywhere at once. ;)

In some senses it’s still a small world, though. While I was waiting for the train to the airport, I was wandering around outside, looking at the few stalls that were open… I saw some hats for sale, and when I went up to look at them the chinese shopkeeper came out and started jabbering at me in italian… I couldn’t understand what he was saying, so I tried chinese, and we ended up chatting for a few minutes. :) it turns out he’s actually from hangzhou! (the city I was studying in.) there were some more people speaking mandarin on the train too, and iirc I’d had a short chat with a chinese guy on the flight from amsterdam to italy, but I wasn’t really feeling talkative then.

the flight back home was… tiring. I did at least get a small amount of sleep this time. I’ve noticed a few things about airlines: the ‘vegetarian’ meal option seems to be fully vegan (meaning I missed out on cake, but got more fruit), and yet snacks aren’t taken into consideration at all – I got cheese and meat sandwiches on the flight from italy to amsterdam. also, metal cutlery is returning… although security measures continue to get more and more crazy and annoying. I think I like KLM as an airline; their meals can be a little weird, but they get the little things right – headphones always works, the toilets have paper towel, etc.

one thing I noticed as the plane was taking off was that milan looks a lot… greener than vancouver. there seemed to be bright green fields everywhere. very pretty. :) another thing I miss about europe is the wildflowers – instead of just having boring grass everywhere, I saw pretty flowers that would probably be treated as weeds out here. yellow dandilions, white daisies, blue and purple flowers I forget the names of, and some others I don’t know at all.

now that I’m back, it seems my body is getting revenge for all the fun I had and sleep I missed. I’ve got a really annoying cough&cold that’s half-killed my voice. :P but I also have pete taking care of me and cooking me dinner n’stuff, so it’s not so bad. :) I think I’ll just curl up in bed and read books for a while – I’ll have to blog about the interesting stuff I’m reading. :)

{April 15, 2008}   post-tokamak

wow. it’s over already. hard to believe.

on monday I got through the last of the things I needed to discuss, which was good. api review continued, and was quite amusing at times. I was feeling quite tired, and sick of pizza… sadly I didn’t get much programming done. just one of those days; my mind wouldn’t quite seem to focus, I had to get started on things that weren’t easy to start… eventually I wandered off to a quiet room to better understand keyboard shortcuts, and then aaron and I wrote a bit of code – him more than me, though. I did finally get started on stuff, but by then it was late, and everyone was going to bed, and I’d run out of coke, so I stopped for the night.

tuesday morning, pretty much everyone was gone – my flight is on wednesday, so I slept in. me and windowsuninstall and ruphy were hanging out at the house being tired, but then ruphy’s parents showed up and we had to clean stuff :P I’m not quite sure where the day went, but it went fairly quickly. with the sprint over, I was exhausted and cranky and really just wanted to be in bed. and now I am in bed, yay. :)

I understand why they’re called sprints now. it was fucking exhausting. it was still awesome, though. :) I’m really glad I finally got to meet the people I’ve been working with, n’stuff. it’s a shame we all live so far apart… clearly someone needs to make a teleportation plasmoid ;)
I’m gonna go collapse now.

{April 13, 2008}   tokamak day 3-ish

italy is awesome. :) nice food, beer, wine… I was even talked into drinking some coffee, which I normally hate… and of course, I’m surrounded by intelligent programmers all day long :)
last night we took a break from hacking and went out to have a fancy dinner and see a bit of the city. :) there are such amazing old buildings in europe. they really don’t make things like they used to.
today I finally beat a bug I’d been fighting for most of yesterday (iirc – the lack of sleep makes my memory quite unreliable), got that ‘add activity’ thing done, watched api review, and got keyboard shortcuts planned out. yays! I feel productive. :) I wasn’t feeling so productive yesterday when I was beating my head against the wall with that darn bug…

anyways, so much to do… right now I’ve gotta see if I can prevent the notes applet from re-saving its configuration after it’s supposed to be destroyed…

{April 13, 2008}   “add activity” button

whee! *finally*, after ten billion things getting in the way, I have committed the ‘add activity’ button. now everyone can zoom out and create extra desktop containments to hold lots and lots of applets. also, it’s not hardcoded to the “desktop” containment: if you’re using something else, it’ll load that type of containment for you (I’ve been using blankdesktop regularly).

of course, there are still a few bugs: the toolboxes appear in strange places when zoomed out (that should be fixed tomorrow), and sometimes you end up with some of the containments offscreen and it’s hard to get back to them… but trunk svn is a teensy bit unstable right now anyways ;)

I guess the next feature the ui needs is either the ability to add an arbitrary type of containment, or the ability to swap out containments from under the applets (something I don’t quite grok yet, so don’t ask me to explain). I’d like to go focus on some other things for now, though. maybe come back to zui features in a week or two.

{April 11, 2008}   tokamak!

so I’m in Italy now, for the plasma sprint. about a dozen plasma hackers (plus p.) all under one roof. it’s been fun so far :) as usual, I didn’t sleep much on the plane, so I’m incredibly exhausted. we reached the hotel around dinnertime last night (after some confusion with the directions), had some yummy pizza and wine, then hung out at the bar for a while. actually being able to chat with KDE developers face to face is pretty awesome. they’re a cute bunch of geeks too. ;)
by the time I actually stumbled off to bed last night it was midnight, which is part of the reason I’m so humongously exhausted. I think it was a good idea, though; I woke up around 4am for a while, but managed to fall back asleep, so I ended up sleeping through the night despite jetlag. :) yay. I was worried that I’d end up awake at night and dozing off in the day, but instead I’ve managed to be asleep at night and just a little sleep-deprived during the day. tea helps.

anyways, I guess I should go get some stuff done. the morning vanished pretty quickly with lots of general talk about what we want to work on. I got a chance to talk about screensaver stuff already… and given my current half-crazed state I should probably write it all down before it leaves my memory. I don’t think my longterm memory is functioning right now. tea doesn’t help *that* much.

{April 7, 2008}   interwebs!!1!

so I was kinda without interwebs for a while there. last week pete and his friends unexpectedly got a house that was available immediately – they were planning to move for may. since pete’s landlord was being bitchy, I helped him move last week. the good: we have a 4-bedroom house all to ourselves until his friends get around to moving in. the bad: there’s no unsecured wireless in the area.

I was thinking of asking the neighbours if they’d be willing to share, but never got around to it – and today was the day the cable guy came, so now I have interwebs again, yay. :) life’s been quite busy, so in a way it was kinda nice to not have the internet distracting me. it was incredibly inconvenient at times, though – couldn’t look up bus schedules, couldn’t research things, etc… there are so many little things we take for granted.

so, yeah, busyness. mostly of the small-but-necessary variety. buying things, moving things, fixing things, making a vague attempt at househunting without craigslist access. I’ll be staying here for april, then actually getting a place of my own in may – or at least that’s the plan. between lack of interwebs and being about to head off to italy, there hasn’t been much time to look for a place, so… we’ll see how it goes.

apparently I forgot to mention this on my blog: I’m going to italy for a few days for a plasma sprint. lots of hacking, very little tourism. it’ll be awesome. :) while we’re on the subject, I’ll also be at akademy in august.

now I need to go panic about all the stuff I need to get done online. soc research to do (I haven’t even blogged about my application!!), email to catch up on, plasma stuff I never did…

plasma was a little frustrating last week, actually. I had just started on a ui for multiple desktop containments when I had to put aside that work to write a soc application… then I’d almost cleared everything away, and just had a bit of other code to do before returning to it… then I just had a few RL chores to get out of the way… somehow every morning there was another day’s worth of things in my way, and then I was offline and just as busy. since I spent most of today busywaiting for the cable guy (I’ve read most of the last harry potter book), I doubt I’ll get to it tonight… in fact, it may have to wait until I arrive in italy. there’s just so much to do!

well, at least I’m busy doing stuff I actually want to do. :) being back in canada continues to be awesome. hopefully after I get back from italy I’ll have time to go track down the friends that haven’t dragged me out or run into me at parties. and make some new friends. and… argh, there’s so much to do!! :)

et cetera