{March 29, 2010}   an intel rant

oy. again I’m regretting buying a laptop full of intel hardware.

since I replaced the wifi card I’m not getting any kernel panics… and I gave up on compositing long ago… no, today it’s *sound* that’s let me down.

see, I have this lovely HD TV that my dad left. it’s got lots of different ports on it. no computer audio input… but it does have hdmi, and I noticed the PS3 was sending audio over that hdmi cable just fine.

so I plugged my laptop into the hdmi, and the video Just Worked – two separate screens, and plasma even sent one of my containments over to the tv screen. :) it’s the first time I’ve seen that on my own computer – I’m used to plugging in a projector and seeing a copy of my laptop screen.

anyways, I played around with this dual-monitor setup for a minute, then went to play the show I was planning to watch. and the sound came out my crappy, horrible, useless laptop speakers. I played with phonon, I played with kmix… nothing could get that sound to go to the tv.

a few days later I went and googled the issue. and tried some things. and googled some more. what I found is that the problem was solved for my laptop in 2008 – but only for nvidia and ati hardware. not for intel. I kept googling, but that appears to be the end of the story. two years later, nothing has changed. with intel hardware, when the laptop thinks it’s sending sound to hdmi, it’s just getting dropped into the bit bucket. :P

I even thought to try it in another distro… I got the new plasma-netbook reference thing, which is based on opensuse. with *that* I had no wifi or sound at *all*, and the multi-monitor support was all kinds of buggy (although compositing seemed to work fairly well). sigh. intel simply does not do audio over hdmi in linux.

goddamnit intel. it’s 2010. how hard can it be to do something all your competitors did two years ago?

update: some guy in #intel-gfx has it working on a different dell laptop in ubuntu and fedora. still doesn’t work on my laptop with a kubuntu livecd. guh. so i guess they’ve implemented it for some hardware but not all.

{March 24, 2010}   standing out in the crowd

Today is Ada Lovelace Day – celebrating the very first programmer, who also happened to be a woman. Appropriate, then, that last night while I was surfing the interwebs I stumbled on a blog called Infotropism – specifically one post, standing out in the crowd. It’s nearly a year old, but it was a good read nonetheless – and things don’t seem to have changed much in that year, anyways.

It seems like an interesting blog in general – a post on community management caught my eye. I wonder if KDE has written down any of our communal wisdom on managing our own community… it’s something I’ve always meant to look into when I’m less busy (as if that will ever happen ;)

{March 18, 2010}   gsoc!

I had a realization yesterday. I was on my way home, after class, and it suddenly hit me: it’s 5:30pm. And the sun is still shining.
Winter is over. :)

So now it’s spring, and soon it will be summer, and you know what that means – summer of code! :)
Actually this blog post comes a bit late – If you’re a developer, you should have already put your project ideas up on the wiki, and if you’re a student you should already be talking to developers and reading those wiki pages to find a project that interests you. Still, it’s not too late to start – today google announced the list of accepted organizations. This didn’t really affect KDE – it’s a pretty safe bet that google will accept us – but for students who aren’t sure where to start, there’s now a nice list. :) Of course, I still say KDE’s the best community to work with ;)

So if you’re a student, and you haven’t figured out what you’re doing this summer, get moving! :) GSoC is one of the best possible ways to spend a summer. :)

oh, and lydia has put together a cool flowchart to show all the important deadlines. :)

{March 7, 2010}   Activities and Context, again

So I promised I’d write about all the activity/context stuff we discussed at tokamak, didn’t I?
I was hoping to have something to show first, some pretty screenshots – but that’s going to take a little longer, it seems. In the meantime, I guess words will have to do.

So… where shall I start? Well, let’s go over the pieces involved. The most visible part of Context will probably be the workspace UI – plasma and kwin. Plasma will, of course, have the UI for managing Activities. Kwin (KWin?) will filter out the windows that shouldn’t be shown, and allow you to manually associate windows with activities (after all, in the beginning few applications will be context-aware).

In plasma we’re starting simple, with something that’s sort of a much prettier Activity Bar, sharing some UI code with the widget explorer (which means I’ll probably clean up some widget explorer code while I’m in there, too). From there I can add features and make it something that actually allows management of the activities, based on the mockups one of our designers drew at tokamak. (uhm, anyone got photos of that?)

There’ll probably be a behaviour change too: when there are multiple screens, they’ll still have one containment each but they’ll be treated as one “activity”, switching together and being closed and opened together. That means we’ll have to provide a sensible way of dealing with ‘orphan’ containments when a screen’s disconnected, though.. aw fuck, I completely forgot to bring that up at tokamak. grr.

Anyways, it looks like I’m going to be doing most of this plasma/kwin stuff; the only part I can guarantee will be in 4.5 is the most essential features of the plasma actvity UI. Still, it’s looking like I’ll have more hacking time soon, so hopefully I’ll get a lot more done. :)

Then there’s the plumbing: all the behind-the-scenes stuff that makes things actually work. Nepomuk will store associations, since that’s what it’s good at; connecting all the related documents and contacts and things with the activity’s UID. Then there’ll be a simple little kded module that handles activity management: something that apps can easily query to know what activities there are and which one the user is in right now n’stuff. We’ll also have some convenience code in kdecore for talking to that kded module – that way kde apps don’t have to mess around with dbus to be activity-aware. Oh, and there’ll be another API for workspace, for actual management of the activities (creating/destroying them, etc).

One neat thing that we’re doing in the backend is that windows can advertise what documents they’re working on – that can be used to associate them with activites automatically, but may also lead to other interesting stuff, like kwin knowing what tabs are open in your browser…

Ivan’s doing this work – in fact he’s already done a lot of it (and blogged about it), but it’s been hiding in playground. You’re going to get that into kdereview now, right, ivan? :)

Another backend bit coming later will be session management – when you close an activity all the windows that belong only to that activity should close too (and then come back again when you open it, of course :). I *think* I can make that happen with XSMP, but I need to look into a couple of things to make sure it’s actually possible, and I still haven’t got around to that. XSMP isn’t the nicest of protocols (lubos told me some scary things about it at tokamak), but it has one huge advantage: apps are using it already.

And applications are the third piece of the puzzle. Once we have the backend in place, and workspace programs using it, we need apps to use it too. If they advertise their content, they can be associated automatically with activities. They could offer other cool features too, adapting to the current activity… I’m sure people will think of cool stuff to do with it once we’ve got a few apps to serve as examples. :)

So we have workspace stuff to let the user manage their activities, a few things in the back holding it all together, and apps adapting to the activity (and perhaps other contextual info someday).
The activities serve as a sort of anchor for your context – a way to say clearly (to both you and your computer) “I’m working on this project now” or “I’m just gonna read comics and surf the web”. The context behind that activity gives it meaning – associations with the documents you use for that project, tools you use, contacts who are involved… that sort of thing. And the apps are, usually, where the actual work gets done. :)

I’m really looking forward to the day when I can just start a new activity, drag some windows (or tabs?) over there and go work on it without getting it all tangled up with whatever I was working on earlier. :)

{March 4, 2010}   and life goes on

why is it that essays are so much easier to write after midnight? no wonder I’m still jetlagged…

I kinda got a little sidetracked this morning – after a long night of waking up regularly and having weird dreams (either suse or archlinux had to go out of business, because… *something*… had happened to a bunch of key people, and I was pretending to be a guy because bad things would happen if this evil lady who looked like my grandmother found out who I was) … well, eventually I decided it was morning and I was taking a sick day, and gave in to the lure of teh intarwebs. And found myself looking at an evil little heisenbug that’s been bothering me for a long time.

I started trying to untangle the panel code once again (plasma’s actually old enough to have some messy cobwebbed code now. huh) and fought with it, and eventually decided that the darn thing just had to be a kwin bug. since I’d spent all that time figuring out what the code actually did, I figured I might as well finish what I started, and cleaned it up a bunch. Then, near the end of that, I noticed the bug didn’t seem to be showing up any more; indeed, with over a dozen plasma restarts I still haven’t been able to trigger it. I haven’t a clue what part of the code cleanup might’ve fixed it (perhaps a combination of things). Of course, it’s still quite possible that it’s merely in hiding; I already closed and reopened the bug once before when it conveniently went away for one day after I attempted to fix it. :P

Somehow that bug took up my whole day… well, that and IRC and email… I made a few halfhearted attempts to get away from it, and I think I did do a *little* homework, but I was always drawn back in. :) By dinnertime it was working well enough that I finally convinced myself to switch to homework… and fell asleep on it. :P whoops. I’m lucky I woke up before the deadline!

…but I’m not so lucky I’m still awake. Somehow I found myself working on other homework, and it was going well so I didn’t want to stop. although now I’m just writing a blog post, so I really have no excuse. :/ bedtime!

I really must write about the activities stuff that was planned at tokamak, and I have more screencasts to do too – but right now I must sleep. and then do more homework when I wake up. the other essay is finally coming together…

et cetera