Thursday, September 29, 2005

boringness, redux

wade, i suppose i wasn't clear enough. well, maybe i was:

there are still many improvements to be made, of course. and there's still some very cool and challenging development being done, and yet to be done, in the linux kernel. there are still people waiting for some specific piece of hardware to be supported better, or at all. there are still features that aren't all the way there yet. but generally speaking, the linux kernel has matured and isn't something everyone runs out and compiles as soon as it's available like they used to.


it used to be that pretty much everyone was in the same boat you are in right now and had to go out and build the kernel by hand and pray to the penguin that it would work out right this time. but these days, for the vast majority of people, it tends to just work. so instead of it working for the minority, it now doesn't work for the minority. this is good progress.

i was speaking not so much about specific hardware coverage, but to the completeness of the framework technologies (from smp and firewalling to usb and pcmcia) and how the kernel devs themselves see the work "calming down", which is of course different than "slowing down" or being "finished".

most people are ok with last year's kernel. and even more people have exactly zero need to compile the kernel from source. IMO, we're not there yet with the desktop. we need to be (and are) moving towards that goal.

forming bedrock

today is the day before i head out for the ohio linux fest so i'm rebuilding kde from svn (distributed builds via icecream rocks), going over my presentation, cleaning up the house and tidying up miscellaneous loose ends that can't wait until monday.

and whilst doing so, my thoughts cast back to yesterday and conversations i had with two friends about the stabilization of software. in particular, we talked about the linux kernel and kde.

linus recently said that all the interesting stuff was going to happen on the desktop in the years to come and that the kernel was pretty boring these days. i remember how, not so many years ago, whenever a new minor kernel revision would come out it would appear on the front page of slashdot and everyone would run out and grab it to compile the latest and greatest on their system. this is still how it works these days with open source desktops, but those days of "kernel wow-dom" are mostly over. why?

well, back when i bought my pII-400 (which now sits next to me, currently unused and unplugged save for occasional bouts of testing) i couldn't use the usb ports on it. i had to grab the latest kernel, patch it then build it. and sometimes it worked. for my pII-300 laptop i had to patch the kernel for proper pcmcia support. and still not everything worked. every kernel brought incremental improvements that i needed. everything from smp support to firewalling to hardware drivers was in flux and improving at an exciting pace, where "exciting" meant something else might actually start working properly with this release! people would discuss kernel releases on linux web sites and at lug meetings with baited breath!

well, those days are mostly gone. i'm writing this on a laptop that is running a vendor-supplied 2.6.8 based kernel. 2.6.8 was release over a year ago and i didn't even build this one. yet when i slapped in a wireless pcmcia card it just worked. the kernel supported it and everything went off without a hitch. there's nothing this kernel doesn't do that i need it to.

there are still many improvements to be made, of course. and there's still some very cool and challenging development being done, and yet to be done, in the linux kernel. there are still people waiting for some specific piece of hardware to be supported better, or at all. there are still features that aren't all the way there yet. but generally speaking, the linux kernel has matured and isn't something everyone runs out and compiles as soon as it's available like they used to.

one of my friends suggested perhaps this is because there are less sophisticated linux users these days, but upon consideration it became evident that many of the advanced linux users we know who used to compile their kernel because they basically had to don't anymore because, well... they don't have to and have better things to do with their time.

now think about kde.

many people feel the requirement to stay at the leading edge of kde releases so that they get the latest in support for things like instant messaging, groupware and web site support. long standing bugs and structural issues are ironed out and new classes of features such as gui response to hotplug'd devices appear in each release. this is like the kernel back when so many people still hand compiled it with each release.

i look towards kde4 and see us making changes analogous to the scalability improvements the linux kernel went through post-2.4 in the sense that they are major, but also required for serious industry adoption. perhaps in a few "dot" releases after the first kde4 release, the desktop framework will become "boring" like the kernel is now and we can turn even more of our guns further up the stack towards applications.

in support of this, kde3 saw the start of this change in momentum as fewer changes were made to the kde technology base and more effort went into applications. now we're revisting many of our basic building blocks (and keeping many of them too =) and filling in holes in the walls that we couldn't get to previously without some renovations.

in 2 years time will we find ourselves saying in interviews, "oh, the desktop environment isn't all that interesting anymore. all the interesting stuff is happening in the applications."

Wednesday, September 28, 2005

kde in asia

i saw another report on the "asian linux" group today on a website. seems that the default desktop is kde, which is great.

asia is going to be an explosive area of growth for open source. we would be smart to work with emerging groups there to ensure the desktop meets their needs. looking at the translation stats for kde, we are doing fairly well with some asian languages such as chinese but are not doing so great when it comes to japanese, thai, hindi, etc. it would be nice to see these numbers all at 100%. (that's why the call me a dreamer)

regional groups should also be started in these areas to support our developers. this is why i'm so excited about osdw possibly visiting india next year.

and speaking of osdw, it used to state on the website that any funds raised that weren't used up by the osdw event would be donated to KDE e.V. well, there are no additional funds this time around, but if there were it's become very clear to me that those funds should be reinvested into future osdw events to support the global phenom it is becoming.

i'm working some more on 3.5 (and even the occasional 3.4!) bugs today. boring, boring work and often very unrewarding in the sense that one can easily spend the day hunting down half a dozen bugs. oh well. i'm having lunch with t., so at least i have that to look forward to. =)

Tuesday, September 27, 2005

noon on a tuesday

it's noon and 3 hours into my working day i'm finally through my email, business correspondence and administrative responsibilities for the day. in some ways i feel like i'm back 6 years ago working at a start up company due to the new focus, energy and time that i'm putting into my kde involvement right now. i think i'll start a few hours of hacking now.

in osdw news, i received an email from the linux asia coordinators saying they would like to explore hosting an osdw event in february '06 as part of their event in new delhi. i'm already personally committed to being in los angeles for scale the day after linux asia so i won't be able to attend myself. but i'm excited about the possibility of assembling an osdw event there anyways.

if the linux asia osdw event does occur, then there will be osdw events on four continents in just the first few months of 2006! i never expected it to take off like this. in fact, i assumed that even trying to do it in my own "back yard" (north america) would be a difficult, uphill battle all the way with little immediate reward. i think this says a lot about the growing global interest in the open source desktop.

nova scotia sea goddesses

i got a postcard today from an occasional nova scotian sea goddess; my favourite quote was from the section detailing interesting sights:

coming out of the local pub after a few pints we saw a cab driver who was supposed to ferry home some impaired patrons drinking beer in his car


eastern canadians put us western variety to shame when it comes to embibements.

the ohio linux fest is just 5 days away. they have somewhere around 1300 people registered to attend. should be a rippin' show. we're in booth #5 which is halfway down the row that is against the wall of the exhibition room, so be sure to come visit.

we've got a couple of local people coming out to help with the booth and generally hang out, including a superkaramba dev and an amarok dude. be sure to come and harass them. er, i mean chat with them ;)

i recently counted and within the next month i am giving a total of 7 topically different presentations for various audiences. zoinks. to date i have completed to my satisfaction exactly zero sets of slides for them. double zoinks.

Monday, September 26, 2005

i heart massachusetts

massachusetts is my favourite state in the usa right now. why? the september '05 meeting on open formats. the audio file is terrific and certainly worth listening to.

this government has taken a stand for open data formats, from word processing documents to web sites, for the purpose of protecting sovereignty and all that implies. those forming these decisions are doing so with the involvement of industry and the public and are deeply informed when it comes to the matters before them. and in doing so, they are ensuring the future accessibility of public information as well as the right for all to participate in the process of creating these things within their state. bravo.

as someone who roots for democracy, these are the sorts of actions that fill my heart with hope and belief.

it was also very encouraging and enlightening to hear people from ibm and harvard noted that this is not an issue limited to massachusetts. they described a global phenomenon with countries around the world having these exact same discussions with similar results emerging in each of them.

it seems we're entering a period of time in which the impact and gravity of information as it relates to human and sovereign rights is being appreciated to the extent that it can shape policy. =)

Saturday, September 24, 2005

lonely code poet no more

it gets a bit lonely coding on one's own. starting next week i'll have an old friend coming over to work on his projects at my house. a local benefactor who is selling kubuntu-based server solutions into the local SME market (rather successfully, and in part due to KDE) brought 7 feet of desk space and attendant "work space" equipment (networking, lcd monitors, kvms, etc) needed to make this work.

so now i'll another human being who is a pleasure to be around in my space. it will be nice to have seomone besides the laser printer to have design discussions with.

and if you are a programmer or some other form of contributor working on open source stuff in calgary and would like to come hang out and hack on $WHATEVER some day(s) drop me a line. it's not the biggest place in the world, but i've got wireless, desks and beer in the fridge.

Thursday, September 22, 2005

anatomy of a nasty bug

i came across an interesting a month or two ago: if you run with desktop icons turned off in kde (which i do because i have zero use for them) you may discover that sooner or later the left, middle and right click menus on the desktop cease to work at some point. i couldn't figure out what the cause was (though later i was to find a bug report on this)

and then a few days ago coolo mentioned on irc that a fellow from iceland had complained about this to SUSE. so i decided that 3.5 could not go out with this bug in it. i mean, if it was affecting both a canadian and an icelander ... well! (no, i have no idea what that actually means)

so tried everything i could think of to trigger the bug and eventually managed to do it: i ran something using the "run command" dialog and ... poof, no menus! but just what in the heck did the "run command" dialog have to do with desktop menus? good question. so i threw a bunch of debug input into the appropriate areas (desktop.cc, krootwm.cc, etc) of the code to see when and where the mouse button events were arriving. and mysteriously enough, once the "run command" dialog was shown they events just disappeared. holy bermuda triangle, batman!

so i read over the code in minicli.cpp (the "run command" dialog code) and nothing looked amiss. so i starting brute forcing it: remove code, compile kdesktop, dcopquit kdesktop && kdesktop, click (read debug), run command dialog, click. not the fastest process in the world. and when the last bit of code had been removed from minicli.cpp the problem persisted, and my blood temperature dropped.

well, i actually hadn't removed all the code from minicli.cc, it was still creating the gui which was created by qt designer. how... odd. so i tried just not showing the dialog; no improvement. then i tried not creating the gui. success!

so something in the autogenerated code was causing the problem? i read through it. nothing seemed amiss (familiar feeling). on a lark i decided to remove the kde widgets and replace them with their qt counterparts one by one in case it was a bug in kdelibs. and lo! when i removed the last kpushbutton the bug went away.

and so off into libkdeui in kdelibs went i to examine kpushbutton. i could sense the desktop icon code in krootwm.cc receding far into the distance by this point. and you know what? nothing looked amiss in the kpushbutton code. so i started removing code again, and eventually tracked it down to this one line:

QToolTip::add( this, d->item.toolTip() );


you have no idea how many times i had restarted kdesktop by this point, so i wasn't about to give up now and so pointed my text editor at the qt tooltip code. i'd fixed a memory leak bug in here a couple years back so was at least familiar with this particular area of qt. and then i saw it: creating a tooltip creates a tooltip manager and the tooltip manager installs an event filter that processes every event passed through the application. but nothing (wait for it!) looked amiss in the event filter!

so just what was going on? well, kdesktop filters events on the root x11 window and filtering on the qapplication itself, even when done apparently right, messes this up.

it was at this point i backed off, having at least tracked the bug down, and simply replaced the kpushbuttons with qpushbuttons (resulting in 4x the original LOC in the process). so, 3.5 will not have this bug, but then again ... i won't get those 2 days back either.

(though in the name of honesty, i did get lots of other stuff done on those two days as well. including welcome t. back home from her vacation =)

Tuesday, September 20, 2005

osdw mailing lists; listening to users

all around good guy and sys admin david solbach set up some mailing lists on the osdw server so we can better coordinate. this includes a general osdw announcement mailing list where we will be announcing upcoming events and other bits of status that may be of interest to those wanting to keep up with what happens with osdw.

i listened to the linux user show this evening as a new podcast of theirs showed up in my akregator. kelly penguin girl and jon put on another entertaining show and while many we kde hackers may not learn anything new about kde from it, it is very interesting to hear kde from the perspective of new and enthusiastic users. they are certainly fans of kde and linux, even kelly who is primarily a mac user these days, and it's interesting to hear what is and isn't obvious in usage.

and speaking of obvious in usage, god damn does outlook suck. i configured outlook 2003 to connect to a kolab server today and while the konsec connector made setting up groupware fairly painless ... it was still insanely complex compared to what i'm used to with kontact which just provides a nice one-step wizard. and then when setting up another outlook client to just do regular ol' imap+smtp i discovered that not only does outlook not do SMTP TLS (hey microsoft, 1998 called and it wants its software back) but when you switch it to use SSL ... it leaves the port at 25 and you have to change it yourself. usability, anyone?

i swear that you have to be a bloody sys admin to configure outlook. there is no way i can see a user getting through that stuff. and i also know that there is no way we could get away with shipping such crappy software without users being all over us and the press giving us bad reviews. and yet millions use it for business every day. huh?

kde-pim hackers: my love for your work was renewed today. microsoft pim coders: please go find yourselves a new profession. seriously.

Sunday, September 18, 2005

apps on ms windows; osdw expands; solitude

we are heading towards kde on win32 (and OS X, and...) with kde4. as i've noted before there are strategic issues we need to be aware of, in my opinion. i think we have a great opportunity to welcome in developers who are currently windows-only with this move, but we will need to manage things with wisdom.

fortunately we have other apps that have gone before us in challenging microsoft on their own turf with open source offerings in recent times, for instance firefox. i think we should look at the path it's taken and is taking and learn from both the positives and the negatives. already people are positioning ie7 as a "firefox killer". well, i don't think it'll kill firefox but it may certainly beat it back. or maybe it won't. no matter which way it goes, it will be something we ought to keep our eye on as we move forward.

and speaking (two paragraphs ago, anyways) about windows developers, osdw is another plot of mine to hopefully address that issue in some small way. october's event is approaching (so reg soon if you haven't and want to attend!), but already other osdw events are filling up the pipeline. we'll be at linux conf australia and probably in the netherlands in march. other locations are in the works as well. of course, north american osdw events are still my main focus (others are helping arrange and organize the international osdw events) with phillie being the next up.

things are growing on that end so much that i've been driven to start up mailing lists for those organizing, sponsoring and speaking at them. heck, we even have a kpresenter template now thanks to danny allen; neat! i've also taken to lurking on #osdw on freenode if you want to chat me up about osdw. i think eventually i'll have to find someone who is actually good at organizing these sorts of things to help out or even succeed me =)

sometimes i look at the crazy things i try to do and wonder, "aaron, are you completely out of your mind?" probably am. but at least there's lots of great people around me who either help me stay on track or make me look less insane by comparison.

one of those people more recently in my life has been t. i dropped her off at the airport today where she caught a flight out to nova scotia for ~4 days for some much deserve r&r. i'll miss her. i'll also have more time to hack. upside to every downside, they say.

speaking of which i got a wireless router as a gift today from t. i hope to get to playing with it today. i also happen to have a wireless card for the laptop that i brought back from malaga. someone lent it to me one of the days there and then i forgot to give it back. but i forget who. gah! if it was you, please email me your postal address so i can mail it back asap. thanks =)

Saturday, September 17, 2005

cd player for kde4

ok, enough about bug systems and other controversial stuff ;) today i was thinking about kscd. it has a number of bugs in it and i'm theoretically the maintainer of it, at least the UI bits. the CDDB stuff is libkcddb, workman is ostensibly someone else's baby ...

there are some real issues with kscd today: it's got some options that i'm not even sure are really required, the lcd display isn't layout based ... do we even need or want an lcd type display? hummm...

sadly, i really don't have time to give a kde cd player the love it needs going into kde4. in my dreams someone would either say:

a) "let's just make this other kde app also responsible for playing CDs" much like other platforms have rolled cd playing into their "basic media player"

or

b) "here's a kick ass (e.g. small, performant, beautiful works everywhere) cd player app for kde4"

anyone? =)

Thursday, September 15, 2005

opportunities abound

just read this news article about how an ottawa company sent out their recruiters dressed up as penguins to try and find 20 new linux developers. sounds strange and even kind of silly? it is. but, as the title of that news piece says: "Linux talent scarce as penguins' teeth".

wow. the opportunities are out there and growing. i keep hearing of more of them all the time, and now it's even hitting the mainstream press in canada.

i think this bodes well for events like open source desktop workshops as well as the entire open source development ecosystem in general.

more on trust based bug systems

Christian, you pose the issue that if we assign trust based on historical performance and skill set of the reporters that we will overlook bug reports by others.

and then you say that we need to find triagers, because that's the only solution. well, good freakin' luck. to state it bluntly: i hope you can find a large chunk of money that someone is willing spend not on new development, not on marketing, not on visual appearance and not even on fixing bugs but on reading, verifying and categorizing bugs in kde. let me pause for a moment while i laugh my ass off.

professional bug triage efforts do not come from the "volunteer" part of the community. we've pretty much proven that much. we're good at fixing bugs, we're good at finding bugs ... we suck at categorizing and organizing them.

continue to scream at the wind all you want, this is what we know based on repeated trials. so as to avoid the foolishness of ignoring data and repeating mistakes, i'm suggesting we need to improve the software we use to work with bug reports and change the processes by which we gather bugs. tom alber's thoughts on this are therefore, imho, much more useful.

now, if in your project it's mostly random users that bring the bugs in, then the software ought to let you note that. hell, you could simply read that "low trust level" list of bugs first. so rather than standing in your way, my suggested change actually makes it easier for you to find the demographic you are looking for too!

when it comes to kicker, kscd, kjots, etc... i can tell you it's exactly the opposite as kprinter, however.

and i'd like to see a lot more triaging happen within the OS vendors (most of whom are linux distributions) and have their bug reports float to the top since they are likely better researched, the result of user feedback, and often contain patches.

think about it.

Wednesday, September 14, 2005

buttons, bugs and babies

Rainer: i'm glad that it's not just me who like that button order. and it's pretty obvious why after a while: close is always on the right, good stuff on the left. look at dialogs, tab bar widgets (konqueror, konsole, irc apps, etc, etc) and .. windows. this just makes the window decos consistent with the way we do everything else with a minimum of re-org, allows restore and close to take advantage of fitt's law when maximized or otherwise screen-edged and makes it that much harder to accidently hit the close button.

i do have a spacer between minimize and the help button though, to help improve grouping a bit for clutzes like me ;)



it took me about a day to get used to it when i switched to this a couple months ago and now i can't go back =)

btw, cool konqueror feature of the day: in an upload field on a web form, put in a URL ... say to a picture on another website ... and submit it. due to kde's rather terrific kio layer, it'll download the image from the url you put in and then upload that to the webserver. loverly.

christian: i agree 100% that we need to do better with bug reports with patches. i am sceptical that we can convince people to be better at this, though, simply because historically that hasn't worked. this isn't me giving people (including myself) permission to not care ;) but rather that i think we need to address the problem in a new and creative way. if we raise the value of the bug system for developers, maybe we'll see it perform better. one way to raise the value is to decrease the noise. i'm sure there are many other ways as well.

has anyone else noticed the alarming rate of new babies coming out of troltech's offices? congrats to both lars and lorn (and their families).

i ain't afraid of no ghost!

tonight's my appearance on the linux link tech show live at 20:30 eastern standard time (east coast of north american; well, except for newfoundland who are yet half an hour ahead of the rest of the coast). should be fun.

a bit earlier in the day i'm having a conf call with some of our project members in europe to discuss svg, animation and kde4. huzzah.

i have to finish my slides for trolltech developer days this week so i can get them in for review. i'll be at both the san fran and munich events, so hopefully i'll get to see some of the german kde hackers while i'm there.

and, if things work out, i'll get back to work on the applet loader for plasma. oingo boingo!

Tuesday, September 13, 2005

skype

i finally gave in and installed skype today. people keep asking to do this-or-that over skype with me. i've noted that i've stayed away from it because it's non-Free and i had no pressing need for it. well, the need just went over the top of "pressing" today and so now i'm skyped. amazingly easy to set up and works very well under linux. so, kudos to skype for that.

now we just need to convince them to offer a KDE-ified version for KDE4 once our libs are ready for that....

kde and bug reports

not all bug reports are created equal.


exhibit a
an artist's impression of what a nocturnal triager might look like
some come from users that are best described as "innocent". some come from people who think they know what they are doing but don't. and of course, many come from people who do know what they are doing.

because of this the relative value of bug reports varies pretty wildly. often more information is needed from the reporter to bring a report up to par. sifting and sorting is usually a job for the bug triage person, but they are rare (and often odd, see exhibit 'a' for an example of what one might look like).

now, we have a few great triagers in the project (thiago, binner and maksim all spring to mind) but they also tend to be busy with things like writing source code. so what do we do? well, we could try and find some more bug triage type people, but my hopes for that are limited based on historical trends.

moreover, as you can see from the chart below (click for a larger version) we're fighting against a rising tide that's almost as scary as exhibit a (the black line is fixed bugs, all other lines are open bugs in various states):


exhibit b
graph showing one of problems of success: the ever growing bug report database


this continuous creep, even in the face of the impressive black line of fixes, is a problem of success. we have more applications (which means more code) and more capabilities in our libraries (which also means more code) and more users than ever before. more code and more users equals more bug reports. now, we want more applications that cover the set of things people need and we certainly want more users but the resulting inexorable flood of bugs is something we could do with out.

so that's the problem. or, if you're more positive minded, the challenge. how can we answer? i started by saying that not all bug reports are created equal. i think we ought to start taking that into consideration.

if a report comes from a packager who is responsible for building and grooming kde for a distribution, for instance, that report is statistically going to have more weight for me than if it came from a random end user. this is simply because those packagers tend to have more knowledge and time to commit to the problem.

likewise, if a bug report comes from a kde developer, it will statistically have greater meaning to me. if a bug report comes from a well known bug reporter who has done a great job in the past with such reports, it tends to carry more weight for me.

given that most kicker bugs get reported repeatedly, i wouldn't miss that much if i kept my eye primarily on well known bug reporters such as those listed in the previous two paragraphs. i could dip into the "general" pool of bugs whenever i had caught up with those "trusted" reports or when i was looking for something less challenging or just different. note that things were pretty different a few years ago when we had both fewer users and a smaller code base, but today such a system would make me far more productive when combing through bug reports.

so i put it out there for discussion: should we have a stratified bug database system, where some people have a greater level of priority than others so that while everyone should still be able to report bugs, not everyone demands my attention equally? is bugzilla capable of this?

it's also slightly frustrating that there are OS vendors who package and ship kde, even as their default desktop, don't have a means to upstream bugs that are truly kde bugs and not just the result of their customizations. but that (distributed bug databases with push-button up and down streaming) is another story altogether .......

qt 3.3.5 uic problem fix; patches

many of those who have upgraded to qt 3.3.5 have noticed that uic no longer produces proper code all the time now that it listens to <includehint> in the .ui files. good news is that trolltech is aware of this and working on a fix. bad news is that they haven't released a patch yet since it was only recently reported. good news is that i have.

so before filing more bug reports or complaining to our fine hackers on irc or the mailing lists, try out that patch. you'll need to touch all the ui files that were previously processed by uic or do a make clean first. up to you. i value my time and so did the former ;)

i discovered this problem while discussing build issues in 3.5 that the arch linux packagers were having. at one point i asked what patches they apply to kde and that resulted in one of them noting that from their perspective kde isn't very friendly to submitted patches. i asked him to elaborate and he did. here are two examples of bugs with patches that they've been waiting on for some time: BR#97776 and BR#105748. the latter is a build system issue, so i have a healthy fear of it ;)

now, why do bugs languish like this? obvious answer: we don't have enough manpower to cover the triaging needs. now, if there was someone sorting out such bug reports and marking which patches look sane and passing those reports on to the maintainers of said code, we've farther ahead. but that's not going to happen for practical reasons.

right now maintainership is a cloudy issue in places like kdelibs. we're fixing that with kde4's new library structure and attached commitments such as, "every class in kde components will have an active maintainer". now that we have made that commitment, we simply have to follow through on it. and it's not an unreasonable commitment: we can meet it easily. we had 200+ people at aKademy 2005, the majority of whom are active developers. of those people, more and more of them are finding ways to get paid to work on kde during the day. wonderful.

this doesn't address the bug triage manpower issue, though. i'll discuss possible answers for that in my next blog entry later today.

Monday, September 12, 2005

recharging batteries

one of the things i do to keep my head on square is to step out now and again for an evening of dance and drink. last night i did just that and ended up at a little bar a few blocks from where i live.

on the way there, a white van slowed down and this woman jumped out and came across the street and started talking to me. said something about having just come from the northeast (calgary is divided into quadrants) and that she had been hanging out with ken. at first i wasn't sure if she was actually talking to me because she was sort of following one step behind but as i looked around ... there was nobody else on the sidewalk. so i stopped, and with a puzzled look on my face, said, "i think you may have me confused with someone else." a wash of disrecognition spread across her face and she stammered, "uh, yeah, i think so..." my ghost twin strikes again.

at the bar the band was just setting up. they played acoustic guitars through all their sets and covered all sorts of favourites recent and past. there was a movie crew there that had just wrapped up a movie called september dawn about some mormons that enlisted the help of a group of natives to jointly slaughter a wagon train of settlers in utah in the 1800s. it was interesting to meet and talk with some of the cast and crew as they drank the night away at their wrap up party.

i ended up dancing with several of the people who were there, including this one woman who had no concept of letting the guy lead. so i eventually just gave up trying and let her lead, which she seemed pretty happy about. i went to leave at around 01:00 but this one woman insisted i stay and play some pool first. i begrudged her a game and she asked for my email address as she has friends in the software industry that she figured would be quite interested in talking to me about open source. i'm not holding my breath though; "oh, i have a friend who you should talk to. how can i get a hold of you?" never seems to result in anyone of interest ever contacting me. ;)

on the way home i came upon a group of homeless people. they were panhandling for money, and i recognized one of the fellows as a regular in the area. he's a very nice person who is originally from the dominican republic; i've noticed he is always polite and friendly, even when those around him aren't. some of the others in the group were new in town and looking for work, complete with work boots and other such gear tethered to their rucksacks. so i went, bought a bag of sandwiches and brought it back to them. they were quite appreciative and surprised.

i was originally going to get the sandwiches from a fast food place that is open late in the area, but they wouldn't serve me at the drive through (the only thing that remains open at that time) without a car. when i suggested that they break out of their corporate slave mentality and apply a bit of reasonable consideration and initiative to serve a customer who would like to purchase a good number of meals, they seemed to be even less happy to take my order. wonder why. =P

in all i probably spent 4 or 5 hours doing nothing but letting my hair hair down. certainly helps me get through days like today where i've done nothing but administrative duties, prepare presentations for upcoming shows, deal with promo issues and the like.

Thursday, September 08, 2005

why is there less and less live media?

first it was breasts popping out at the superbowl, and now in the wake of the disastrous katrina a famous person actually dared to speak their mind during a fund raising telethon instead of reading the "blah blah blah" on the teleprompter.

and we can't have people speaking their mind without the safety of an 8 second delay, now can we? ;)

so that's what 5:30 looks like

got up today at 5:30 and had breakfast with t. this allowed me to get in an hour or so of work before the p-man woke up at 8:00. after getting him ready for and dropping him off at school at 9:00, i came back to deal with various marketing questions such as how to get OSDW some more press. then i had a scheduled phone interview with certification magazine about the open source desktop. it went rather well; the woman doing the research and writing the article said several times that she was grateful to have found someone who could communicate clearly what open source was, what kde is and why it all matters.

i'm also getting used to answering the "what is your job title and what company do you work for?" question despite my non-standard circumstances. "i am a full-time kde core developer whose efforts within the project are sponsored by trolltech." i even remembered to spell out "Qt" (capital queue, lower case tee) this time. the monkey can be taught!

of course it did get me thinking about about what is kde. now, i don't mean what it is to me or to any of the others involved in creating it. i think it has a number of different personal meanings to various people, and that adds depth and flavour to the project. but what is KDE to someone out ... there? (he asks waving his hands about in the air)

one thing that was brought up in malaga is that kde is not a "project". a project has a defined end. it has a single purpose. kde is so much more than just a project; it is made up of many projects, to be certain. but kde itself is an ongoing endeavour.

within kde we have a development platform, a desktop environment (which, in KDE4 parlance, is the "workspace") and a set of application stacks. we also have a culture, a community and an industry.

we also have an identity. one that evolves over time as we and kde itself does. imho, one of the goals for our emerging marketing team should be to bottle that identity and communicate it clearly to world via the web, print and word of mouth. this message needs to be shaped into a few different forms so it resonates with impact when we're talking to app developers, or when we're talking to end users, or when we're talking to institutional adopters or when we are talking to OS vendors. or ... when we're talking to a journalist who is just learning about this whole "open source" thing for the first time.

i am not an ax murderer. maybe.

so i was listening to this week's the linux link tech show while making dinner. it was playing on the laptop while i was happily putting over the stove with my earlier headache but a nasty memory, and then i hear my name. there were several canadians on, including the remarkable marcel gagne and calgary's own jon and kelly from the linux user show (dude! when are we doing a show?). and somehow my name came up and the inevitable comments about the pics from malaga and this blog and yadda yadda.

anyways.. this reminded me (because they mentioned it) that i'm on the linux link tech show next week wednesday (sept 14) at 8:30 p.m. eastern standard time, live. apparently i'll be on for 45-60 minutes. be sure to check it out. it should be interesting, if i have any say in the matter ;)

checking my calendar i apparently had put a note in there with an alarm so i would've been reminded that day even if my memory didn't work for me. huzzah for kdepim.

and now .. to show the pasta i cooked up just how much i love it, walrus style. (that's a lewis carol reference. a lame one.)

Wednesday, September 07, 2005

kindergarten; panel-less plasma?; unit tests; spatial filemanagers

my head is hurting right now. i haven't felt quite right since getting home from aKademy to be honest. i didn't feel quite right there, either. while the amount and type of work we got done was terrific and the people organizing everything really went the extra mile (from driving us to and from the airport to staying up until 5am one night so we could hack in the peaceful cool of night), i found the location troublesome. i know lots of others had an amazing time there, and were i to go there on vacation it would probably be a great place. but it wasn't a great location for me to get work done.

besides the heat and network issues, there was also the fact that for those of us who don't eat animals it wasn't the greatest. not to mention that if you don't speak spanish (i don't) it was considerably more difficult to get around or get much of anything done at restaurants and shops. so, great for vacationing (the old town is beautiful and i won't complain about ocean beaches ;), but maybe next year we can consider that the location should also be conducive to working.

i'm about to head out in half an hour or so here to go pick up the p-man from kindergarten, which commenced this week. it's an odd thought for me that my son is actually in school. wow. he's loving it and the school we have him enrolled at is a truly great place for him and the other kids.

today on irc we were discussing some plasma design issues and the idea of ditching the concept of panels altogether came up. what if, instead, everything was an applet and they simply interlocked together? the idea is seductive, and i'm sure it would make danalien happy too. for the default scenario it would mean that the "panel" would probably "grow" towards the middle from each side. code wise, once the interlocking was implemented, it would remove a whole host of problems associated with multiple panels. but i'll have to look at the various applets and extensions currently in use to see if this is even an option.

i had an odd problem today with unit tests in plasma where i needed the test app to process test data (a couple of .desktop files to be exact) which obviously doesn't work with srcdir!=builddir. after consulting the build gods, coolo suggested putting this in my Makefile.am:

check-local:
opwd=$PWD; cd $(srcdir) && $$opwd/testAppletInfo



and 'lo, it worked! qttestlib is pretty slick as well. glad we're moving to it for KDE4; unit tests are so important and this makes it pretty easy to do. a nice gui over top of it in kdevelop that integrates with the class explorer would kick ass. (this is where one of the kdevelop hackers chimes in with, "what, you haven't installed the unittest kdevelop plugin?" ;)

last night i was reading (again) about spatial filemanagers. my biggest question is how fine grained and to what extent does kinesthetic memory scale? it's a no-brainer to exploit that for common elements such as menubars, toolbars, etc and the items within them... but does it scale to hundreds of elements in small (say, 17") space? at what point(s) does it fall off? i tried to find some information on this online last night as well but came up empty.

i also have to say that until we have a rational spatial file open/save GUI for use within applications, a spatial filemanager looks a lot less appealing.

aaaah.. the ibuprofin (sp) is starting to kick in. just in time to wade through 15 kids who will inevitably all be running around happy and with great boisterousness to collect p.

airport oddities; abductions; hurricanes; plasma

it's been forever since i last blogged. or at least a few days. which is way off my usual pace. i blame aKademy, where i and a couple hundred other people managed to be amazingly productive to the point that i had no time or energy for blogging. well, that and i don't do well in very hot climates. anyways...

the night before i flew back home i somehow (he says with innocence in his eyes) ended up in a shooter bar where they sell a huge variety of shooters for $0.90 each. uh oh. danger will robinson, danger! i had been out partying one other night, but had been pretty well behaved (aka "busy") so i figured i'd cut loose on the eve of departure. it was all good until the absynth shots. packing bags (thanks for the hand, clee =), getting a taxi (and then convincing him to take a 1.xx euro tip instead of me lugging yet more euro change back to canada) and checking in was ... interesting, under the circumstances.

once in the airport, i was immediately set upon by this elderly woman whose husband of 30 years had left her for a young strumpet and whose sister had died of cancer. she was in malaga on vacation to sort herself out but had flown stand by and had been stuck in the airport trying to get home for the past two days. i was astounded and declared that i'd help her in any way i could and then promptly fell asleep in the chair i was sitting in. she woke me later to tell me they had given her a seat on the next plane. i promptly fell back asleep.

this is where you might be expecting me to say, "and so i missed my flight" but fortunately i have this internal alarm clock that ensures i can sleep without too much worry. i woke up with an hour to spare and boarded my flight. where i met a retired organic chemist who used to make irradiated nerve gas. where the hell do these people come from? in any case, he was very interested in open source and we had a good discussion about that.

upon landing in canada, t. picked me up at the airport and spirited me away from next two days. not that i put up anything resembling a fight, fuss or struggle. it was great to be back, and even better to see t. again. but of course this too stood in the way of blogging.

finally i got back to my email (a disturbing number of them) and started going through my notes from aKademy. i finished putting together a small presentation about the various bits and pieces of plasma that i had started on the airplane home; it's the result of me explaining what the heck i'm thinking to person after person in malaga. a useful exercise, it turns out.

and then i read the news and learned about all the things that had gone on whilst i was away. i was devastated by the news of the hurricane damage in louisiana. such an insane set of events, and one that exposed not just the physical structures of the area but also the social inequities in the region. my heart goes out to all who were touched by the storm.

all of this led to today where i spent a productive morning working out how plasma was going to load applets in a way that would stand a chance of being performant, support multiple language bindings, allow for async instantiation (allowing us to put compute or i/o intensive aspects in a dedicated thread) and provide for the concept of "plasma engines" which is just a fancy word for "libraries we provide that provide domain-specific sets of functionality for applets".

i even managed to commmit a bit of code to the new plasma home in kdebase/workspace. i've decided to move things over piece-meal, one class at a time so that it goes together with something resembling design ;) slowing me down even further is a mandate i've made that all classes in plasma libraries must have documented APIs and unit tests. though writing the unit tests for AppletInfo today allowed me to catch two subtle bugs before even testing it, so maybe it doesn't really slow one down in the long run.

Thursday, September 01, 2005

delegate, coordinate, communicate

somehow i ended up on the e.V. board this year. and by "somehow" i mean "i thought about it for a few weeks, then volunteered myself, was voted in by the membership and accepted". i've been thinking more about organizational things since all this went down ...

... kde as a project has grown beyond anyone's 1990s-era expectations. we have more and more contributors joining, more and more code in svn, more and more users, more and more industry contacts and groups, more and more .. well, more and more of just about everything.

and we're heading towards a very exciting kde4 release, one in which the open source desktop is going to grow up from the promising adolescent it is now to being the exciting yet mature adult we've all been working towards.

to support the fruits of our growth and growing vision, we need processes and organization that are built around delegation, coordination and communication. we've been working this week on exactly such things as a unified body of contributors to meet the challenges our successes are bringing.

the events which will unfold in the coming weeks are going to be exciting and, for KDE, ground breaking.

attempts on my life and well being

on average i've been going to bed at 03:00 or so and getting up at 07:00 so as to make my morning meetings. today i slept in until late morning as i didn't have any insanely scheduled meetings. well, i did, but i skipped it ;) needless to say this has been taking its toll on me.

maybe that's why i look tired, insane or just whacked in nearly every picture taken of me thus far at aKademy '05.

the upside is that i've been getting tons done here with the other kde people, though mostly it's been organizational, directional and design issues. the sorts of things that are really hard to do when you aren't face to face with each other.

it's 02:30 and i'm still in one of the hacking rooms. =)