ChaniBlog











{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.
…yay?

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!! :)



{March 18, 2008}   olpc and eee impressions

so I’ve had my XO for… over a week now. haven’t had much time to play with it, though. tonight there was a vanlug meeting specifically about the olpc, so I showed up and learnt quite a bit.

when I first got the olpc, I intentionally avoided looking anything up online. I wanted to play around on my own for a while and see how hard it was to figure things out. some things I got right away, some I still don’t get. just this evening I found out that turning the brightness all the way down puts it into black&white mode. I appear to have a “break my desktop” key (top row, second from the right) that often just does nothing… not sure what that’s about, but it isn’t on hte keyboard shortcuts page. I’ve certainly gotten over the size of the olpc; it seems big and heavy now. I swear the darn thing has *grown* :P

at the meeting there were about six other XOs, and one Eee. my most important discovery was that everyone else there had upgraded their xo: I was running old software, and most of my issues had already been fixed. :) yay. there was one XO running xfce there; the rest were all using the annoying sugar interface. (yes, it is annoying. it’s innovative and interesting, but still damn annoying. I want my right-click back!)

I was concerned about the lack of suspend/hibernate, and no apparent lid switch (when the laptop was closed I could see the screen’s light coming out the cracks) - but those seem to be fixed in the latest software. wireless strength isn’t as good as my lovely asus m5n, but nothing is as good as that laptop when it comes to wireless. I love the screen flipping, but the arrow buttons beside the screen don’t rotate with the screen, so left is down and it hurts my brain… but I expect that’s fixable, so I’ll have to report it.

the keyboard is a little… quirky. if you press keys left to right it works as expected, but right to left you have to release one key before hitting the next (sorta - it’s hard to explain without a demo in tamtamjam) so I keep typing “tset” instead of “test”. I don’t have much of an issue with the size, though - I have small hands. :) I just wish the fn key was on the right, so that I could pgup more easily… oh, but this evening someone showed me that the game buttons are actually pgup, pgdn, home and end - so maybe that won’t be so annoying after all. :) I do wish the touchpad had tapping and scrolling, though. I hope that’s something software can change. as for battery life, it seems to be a couple of hours - certainly better than this old laptop (lasts less than 45 minutes these days).

the only real concern that remained in my mind after the meeting was the durability. this thing has been advertised as being able to survive a fair amount of abuse and weather, but I see little cracks between the pieces of plastic that make up the case, and some of them kinda move a bit if I press on them. I love the rubber keyboard ’cause I won’t get crumbs or dog hair in it, but that rubber seems to have a tiny gap where it meets the rest of the case, so I think that it wouldn’t fare much better than any other laptop if a glass of juice were dropped on it. I certainly wouldn’t want my XO being caught out in the rain, or taken to the beach where sand could get in the cracks. it does at least look like it could survive being dropped on the floor - unlike the eee. :)

as for the Eee, I did get to spend a while looking at it… it was smaller and lighter than the XO. someone had installed xfce on that too (I thought it was gnome when I first saw it) because he didn’t like the xandros kde-based interface (I saw a glimpse of this interface, and it did look kinda lame). the speakers weren’t bad, the general design reminded me of my lovely m5n (I like asus design) and the feel of the keyboard was much better, even if it was doomed to collect crumbs. the guy showing it off told me that the reliability of the eee wasn’t great, though. the spacebar on the keyboard wasn’t quite straight, little things like that… and of course it’s more fragile.

so, in general the eee beat the XO at being shiny, and it has more resources for less weight, but the XO wins in terms of cool hardware. flipping the screen around is still fun, and that handle is useful given how often I walk around with a laptop balanced on my hand (hey, at least I’m not the one balancing it on my chin ;) now I just have to find the time to install kde4 on this thing so that I can actually do useful stuff with it…



et cetera