Friday, November 30, 2007

a good read

liquidat's latest blog entry is, imho, a great read. he nailed a good number of the reasons behind many of, often very difficult, decisions people made on the road to kde 4.0.

i will quote one thing from it:

[Plasma] was quite a bold decision, and a lesson to learn: while Plasma makes great improvements every day, it was and probably still is one of the most criticized features of KDE 4. There are still some bits missing until it is ready for release.


i'm totally cool with that. the article was fair and balanced, but most importantly based on thoughtful reason. that is all anyone can hope for. thanks for the article, liquidat =)

ScriptEngine plugins; explaining rc1

frederikh reminded me on irc about something i forgot to mention in both my blog entry and the screencast on ScriptEngine: because they are plugins, we can have more than one plugin per language. so we could have javascript ScriptEngines that use KJS, QtScript, SpiderMonkey or whatever all on the same system and decide which one is preferred by setting their priorties so KService returns one or the other. this means that over time should better solutions become available, or even just different ones, we can easily trade about the ScriptEngines without disturbing any of the code, either in plasma itself or the scripted widgets.

also, i agree with troy and others that rc1 was not really a candidate for release. there is, however, very good reason why the decision to brand it rc1 was still the best option available. i'll be explaining this on the next linux action show, so if you're interested, tune in to hear my thoughts on the matter. even if you aren't, the linux action guys are worth tuning in to on their own merits. they even manage to make me laugh, which is pretty good for a linux geek show ;)

troy did mention that he feels we were better off with a release dude, as there was less hesitation that way. i empathize with this position, however, i think the counter points to keep in mind are:


  • having one release dude means a single point of failure

  • as kde grows, it's an ever growing weight for just one person to carry. i think that in the very near future, it'll get to the point that it will be beyond fair and realsitic to expect it of just one person. some might suggest we already passed that point.

  • a team allows representation from several areas of kde, not just the "center" consisting of core libs developers but also from all of our app teams

  • it gives us more hands to do the more ambitious things we desire, like good coordination with the public communications team



the annoyance with switching to a team is that we've never done it before, and first times usually tend to not be the most graceful or satisfying. but if we need to move to a team, it's better to do it sooner than later so we can get the clumsiness out of the way and start developing the methods we will need now. waiting until we hit that wall where one release dude is simply not able to do it all would be even more messy.

i guess it's kind of like the switch to cmake: holy crap did that suck in the process, but holy crap am i ever glad that we did that now. short term pain for long term gain.

way to improve the release team process are certainly welcome. i know of at least one frustrated extragear app guy that we'll hopefully have in a better place with the next rc.

game on, indeed

Ruurd, i'm going to take your issues one by one and address them.

but first let me address why your penultimate post pissed me off so much: you failed to explain one bit about what your problem was. it's not like i didn't put out a little warning flag just the other day about this. if you haven't noticed by now, i'm done putting up with it.

this last entry of yours, however: actually useful. thank you for that. apparently i had to kick you in the teeth to get it out of you. i don't like doing that, and i'm sure you didn't like it either. so in future, try being productive from the start. it's a much happier path.

so, your issue is that "things are different" and therefore "we need a migration plan". this is, in my opinion, what we call "stating the bleeding obvious". this conversation was had and done over a year ago, in fact. you apparently didn't catch it, fair enough, but dude: i'm not stupid. just posting that question in your blog would've been so much easier, no?

in particular, you want a migration plan for kicker, kmenu and kdesktop. well, kicker's not a real problem: we have panels (and yes, a configuration ui is coming so even users can figure out that it has the features you expect), we have launchers, systray, clocks, pagers, etc. if your concern is the default layout, i don't know how many times i've said this but: the layout in svn is not the final one.

we will not be supporting transfering kicker's configuration files, however. why? i don't have the time to start with, but more importantly the configuration systems are pretty wildly different. we could probably map the most well-known applets between the two systems (e.g. system tray, task bar, etc) with a fair amount of work, but it would be rudimentary at best. this is a one time pain, much like with the intro of kicker itself in 2.0.

next, the traditional kmenu; seriously: it's a horrible horrible design. that's a statement backed up by a lot of testing and user feedback, but i understand why those used to it would like something similar. it was on my TODO list in the "if at all even remotely possible for 4.0" section to provide exactly something like that. you'll even find threads on panel-devel and bugs.kde.org discussing this very issue. the b.k.o one is particularly easy to find. i have two directories on my devel system here, one containing the start of a menu oriented display of the data models in kickoff, another which is a straight port of the kicker kmenu code.


however, in line with my recently adopted "i don't reward negative behaviour" position, due to the completely out of line missives i've received on this issue, capped by yours, it is now officially off my table. so if you want a "traditional" menu, then you make one. when someone asks why i'm waiting for someone else to show up with the code, i'll be sure to point them your way. i'll be more than happy to see it in workspace/plasma/applets as soon as it does show up, of course.

we can live just fine without a traditional kmenu, so i don't see it as crippling anything; and there is absolutely nothing stopping someone else from stepping up and doing the work in my stead. the point is, however, with community comes responsibility, and if have to help us all figure that out, so be it. i am not your rag doll, and i do not respond to tantrums. nobody needs it, nobody wants it and personally i am through tolerating such community destroying behaviour.

now, the desktop. that one's easy because all it requires is listing files in a folder and putting an icon for each on the desktop with an option to hide them away. the old desktop was so amazingly featureless that it's actually nice when one goes on to do something else ;) we already have launchers (the layout is broken today in svn due to all the layout mucking and fixings we've been doing over the last 2 weeks, but i'll be fixing that shortly) so the next step is adding code to the desktop containment to watch the contents of the desktop folder. that's what ... 50 lines of code? at most? let's say i'm constantly interrupted, run into a bug somewhere in the stack or am just slow and lazy that day, it's half a day's work. putting icon postioning (align to grid, etc) would be the rest of the day.

btw, due to the new design, i can actually now with great accuracy and without nasty hacks tell exactly what the viewable space on the desktop is and avoid the hair tearing annoyances of icons that slip beneath panels or refuse to appear beneath them when the user puts them there on purpose. this is one of the fine details to the new system that i understand virtually nobody will appreciate, nor do i expect them to. i just expect them, or rather you, to give me some basic credit here and figure that maybe, just maybe, there's reason for my madness. and i'll take a "why are you doing this apparently crazy thing?" question over a "you're doing a stupid crazy thing." statement any day.

as for the rest of the desktop stuff (minicli, screensavers, etc), that was ported and improved months ago. in fact it was some of the first user visible work we did on the path to replacing kdesktop/kicker. fast user switching needs some love, still. the sysguard stuff is faster and better now, though as another added perk (mostly thanks to Tapsell).

so to recap:


  • kicker: pretty well done, needs some config ui and the ability to (auto)hide panels

  • kmenu: you and your party of sad screwed that one for now; someone else can provide that code (which i'll be happy to see put into workspace/plasma/applets, of course)

  • desktop: an absolutely trivial bit of work is left



i hope, with the exception of the kmenu thing which i don't expect you to be happy about, that the rest of this puts you at ease, at least somewhat. see how easy that was, and could've been from the start?

so, let me thank you again for eventually providing the reasons you were hot and bothered so that i could address them.

Thursday, November 29, 2007

ScriptEngine: plasma's tower of babel

today i sat down and got ScriptEngine working. this was a class that sat in libplasma for several months, but nobody had actually made sure it worked. i did that today. there were a few fixes needed in Applet and ScriptEngine, but it actually works. works very well, actually.

as a test case, and since we'd promised javascript support anyways since the beginning, i took Richard Moore's applet that hooks QtScript into Plasma::Applet and turned it into a ScriptEngine. turns out that was beyond trivial to do. btw, Richard: you rock man. *hugs* so now plasma is indeed truly javascript enabled. we probably will need to extend the bindings a bit here and there as people start pushing and prodding at the possibilities, but that's pretty trivial to do thanks to QtScript's design.

in essence what this means is that plasma can support any number of languages, all at runtime with plugins and that you can easily share your creations with others. plasma itself knows nothing about the languages themselves; in fact the whole support for this stuff outside of the ScriptEngine class (itself small at 148 lines) is about two dozen lines of code. the javascript engine itself is about 2500 lines, almost all of which are bindings; the actual plasma plugin is 313 lines long. all those numbers include both headers and source files. and yes, you can use data engines, svgs, etc from scripts (that's the whole point, after all).

the easy sharing bit comes from the platform neutral nature of scripts and that we package these puppies up into little archives: one widget, one file in any language doing anything you can dream up.

so ... ever wondered what you could do with 4 lines of javascript? wonder no more, for that picture up there is 4 lines of javascript. being beside myself with joy, i just had to make a screencast showing the script engine in action, an explanation of how it all works, proof of the system tray being well behaved these days and ending with cheesy outro music.

konqi gets tab undo!

so one of those things that i've often wished konqi had has made it into svn thanks to Eduardo Robles Elvira (and dfaure for reviewing and helping with the patches along the way, of course). what is it speak of?

tab undo!

yep, close a tab, hit ctrl-z (or select undo from the menu if you're a slowmouser ;) and voila, it's back. since i tend to be a little tab close crazy at times, this is going to be an absolute godsend. it doesn't save form contents on web pages, but then there's the little dialog box to prevent that from happening; it does seem to do a great job of return to the right url though, be it a web, local file or other url. yay! =)

thanks Eduardo and David! konq is one of my favourite apps so it's great to see more hands in there improving things...

p.s. i also noticed that Eduardo made some change to konqi's profile handling. has someone caught the kde development bug? ;)

p.p.s. this make me all tingly inside

Wednesday, November 28, 2007

complaint lists

i hate complaint lists. they annoy the hell out of me. i love solution lists, though. they are in some sense very similar: they both highlight what's wrong. so what's the difference? one states what's often the bleeding obvious without actually creating progress; a solution list usually adds the benefits of having actionable items, which turns the whole exercise into something interesting and positive.

maybe it's just me. if it isn't, please consider taking your laundry lists of complaints and creating lists of solutions instead if you want me to consider them without getting annoyed. not that you probably care about me getting annoyed, i'm just easier to deal with when i'm not ;-P

mazzy

i met a girl the other day who loves mazzy star and similar, loves talking about and listening to music, who seems pretty caring and who smiles easily. been a while since i ran into someone quite like that. i tend not to spend enough time in the sorts of places that variety of our species can be found. i suppose that's one of the trade-offs i've made on the path to who i am, what i do and where i live.

Tuesday, November 27, 2007

you can't do that on television

(this is something i'd been pecking away at ... i figure i may as well eventually just post it. *shrug* it's long though. sorry. maybe this is why i shouldn't do multi-day blogs about philosophical issues ;)

When i was growing up there was this television show called "you can't do that on television". With a brilliant name like that, how could you go wrong? it's ironic and rebellious all at once. It was also the best part of the show, which was aimed at young people and featured all sorts of staged hilarity featuring well manicured kids.

The name has always stuck with me as it is indicative of how much of our lives we spend considering what we can and can not do and then doing or not doing based on that. There's good argument for having these do's and do not's; most people agree that having some basic law and, hopefully due to that law, order.

The problem comes when we hold ourselves rigidly held within those lines at all times. Several things seem to come of that:

We stop ourselves from taking risks that would otherwise lead to great events and successes. It is often said that young people accomplish such amazing things simply because they don't know that they can't do it. Of course, their older and wiser peers know full well you can't ... until some young whipper snapper comes along and does it. This is why in creative projects people must be free and able to do things they don't know they can't do as much as they are encouraged to do the things we know they can; which is similar to saying that creative endeavors should be guided but not tightly controlled by the older and wiser.

(Life, by the way, is a creative project.)

While giving a presentation on kde this year something stumbled out of my mouth ...

(Most of my presentations are written as a loose outline; i fill in the words as i present; as a teenager i used to compete in the extemporaneous speaking category at speech festivals: great fun. Due to this method of speaking things will from time to time just stumble out unexpectedly even to me... keeps it interesting for everyone, i think ;)

Anyways ... i said that kde, and indeed all good free software projects, enable people to dream things into being. We don't say, "we don't have the research budget for that" or "that's too risky of a project to undertake in that department, so forbid anyone from working on it" or "your manager thinks you're nuts". (If you know of a free software project that does that, they have issues.) We don't have any of that sort of oversight; we do have oversight but it's more of the guiding-and-negotiating and selecting-from-the-results rather than the ten commandments and pink-slips-on-friday sort. We don't try and predict and plan everything that will happen, instead we build systems that will result in the creation of the sorts of things we want; less five year plan and more guided opportunism.

Linus Torvalds recently said in an interview that no closed, proprietary model can keep up with this way of working. I would (surprise!) agree.

There are also other problems with rigidness, namely that it invokes the double whammy of sensationalism worship and charlatinism if left unchecked.

When nobody can loosen their collars then every little blip event that is ludicrous gets attention and everyone lines up to get play the role of aghast by-stander. So it is that people buy magazines full of stories of people in movies and musical careers, or just plain rich, that are completely inconsequential. Do i really need to see picturse of so-and-so running down a beach with who-is-that and a picture of that guy falling down while dancing in a tropical club because he was partying too hard after breaking up with ... *deep breath* you get the picture. The answer is: no, it's useless inanity.

The charlatans show up around the same time to prey on people's self-imposed inability to think outside the box. The lines are already written for them: a smart persons says this, a leader says that and a person you trust looks like that guy over there.

So there is a balance between order through law (both of the governmental and the societal sort) and hardiness of creative allowance. When that balance is transgressed in either direction we don't do as well as we could as a group of beings trying to get along together. I live in a place and time where we have too much rigidness of rule and the effects are all around me and my fellow community members to see.

When people can wander through life with eyes wide open and boundaries of the possibilities less clear cut, then with the most simple of reasons to start doing great things will come of their lives. When someone writes something sensationalistic few will care because we no longer jones for the shock and the brawl: we are the shock, we are surprise, we are the dreams we want; instead such muck raking becomes the juvenile exercise it really is. It's also harder to take advantage of a group of thinking individuals than a herd of just-abide-by-the-rules people, so those who take advantage of such a group tend to have a harder time of it.

We do need some rules, though, right? Of course, the question is whether the rules are imposed as external guides or whether they are based within our own selves and emerge outwards; whether the rules are everything or simply the contract of support between us while we do everything else we do. More than anything, such mechanics require a certain level of respect and trust. (Which is probably why we don't tend to see these kinds of dynamics in large random collections of people, such as nations.) It also requires the creation of a sort of immune system that rejects too much imposed rigidness as well as those who would take advantage of respect and trust. Perhaps counter-intuitively, such a group often needs to be much stronger and hardier, even hard nosed at times, than one hemmed in neatly by the impassive and immovable tyranny of rules.

I've been reading some of the stuff that's been going on inside the free software community lately, both the exciting and the disappointing, and the interesting and the concerning. I've been reflecting on how kde itself works and how it doesn't work. how KDE e.V. manages and doesn't (on that one: release times are really hard on the e.V. since we're also the people doing the releases; I have very little time these days for e.V. issues, though that will change in January).

Here are my thoughts, which i share only to share. What anyone does with them is not up to me =) personally these are things i want to make a greater part of my daily walk ...

We must spend less time gawking at the ill informed sensationalist's scratch pad and more time listening to the people doing the actual and interesting work; even if they are amazingly quiet at times they can be still be heard rustling through the internet. =)

We need to learn how not to rise to unnecessary controversy because more often than not its simply people purposefully creating unnecessary controversy to achieve what they want, be it attention from the crowd or a decision that would otherwise not be reached with happy faces and cool heads in play.

We also need to be able to identify the necessary controversy and get behind it. I loved how one guy blogging about ASUS needing to comply better with the GPL ended up causing an effect in such short order; it was a necessary controversy, and one in which the other player fell in line with because it was the right thing to do. Amazing how often that happens when we engage through reason and passion rather than direct by cold law alone.

We should continue to embrace .. no .. we should embrace even more every wonderful person who dares to actually make something. They are worth 1000 people who talk, even those who talk really, really well. It only takes one person to write a book about how great the pyramids of Egypt are, but it took a nation to build them. (ok, and a huge number of slaves, so maybe that's not the greatest of examples, but I trust you get my meaning ;)

Celebrate those we need, not those we need few of, because it is those many who give us everything we have. As a bonus: they are also us, and, well, it feels good to be celebrated. more people deserve to be celebrated than get the opportunity to be.

Confronting things with healthy skepticism is fine, but allowing skepticism to be eroded through the weathering effects of change-for-the-better when it occurs is wisdom. Also, be tougher when someone pushes expecting us to fall back simply because they push or throw a tantrum. The challenge, of course, is knowing when to do which. This is the point of guidance and discussion, as opposed to full on chaos.

Remember to tell more jokes. Smile more often. Enjoy the smiles of others. Walk more. Bikeshed less.

When it comes to bodies such as KDE e.V., they must be enablers of all of this, not something that reigns over and controls. If it begins to alter the mood of the project or adjust the direction of the project through mandate and methodology, it should rethought. Instead, our legal foundations must be just that: foundations for the project. A foundation is constructed to the needs of the building that will be placed upon it; yet it is the building that those who use it and rely on it will actually see and appreciate. No one wants a foundation, they want a house or an office. The foundation is a necessity only.

I'm warmed by some of the things we have accomplished in the e.V. and some of the things that we are so near to accomplishing.

I'm happy that kde 4.0 is nearing release, as difficult a process as it seems right now. In 2 years it will be an experience to remember, reflect on and learn from, but hardly the moment of critical importance it is to us all right now.

(I remember telling my sister in the car coming back from Seattle after a particularly bad, bad day where everything that could go wrong did (twice), "In five years we'll look back at this an laugh." I had no idea how we'd manage that, because nothing about the day was funny; yet years later we did indeed laugh about that day. Mostly because of how absurd it all was.)

This is not to say that 4.0 is unimportant; it's immense. It's just not the end of the world, the project, life or poorly written television shows. I regret the latter only.

I'm impressed by the efforts going on to get licensing in order in the KDE codebase with the GPLv3 such an issue these days.

I wish it was easier to achieve the changes i can almost taste, be they in the KDE e.V., the kde codebase, the kde community or Trolltech's community interface ... all of which have so much growing yet to do. But i know it takes a nation to build these things and enough time, blood, sweat and tears put in alongside the joy, beer, laughter and hacking. We're part way there, and the shape of the thing is already amazing. We are leaving a mark on the world that will stay on the landscape for centuries with this free culture and free technology thing.

I was raised with the mantra "you can't do that in life" in front of me every day. Fortunately I had afternoon television shows that taught me that such phrases are not true, they are comedy.

Sunday, November 25, 2007

winter festivals

today was the winter festival at the p-man's school. they have two such big festivals open to the public each year, one in november and one in may, which are a combination community builder and fund raiser. they have food and activities and what not. the parents help run the events and donate food items and what not. last night p. and i made two loaves worth of sandwhiches (one loaf was my vegan blt recipe minus the toasted bread and sauteed mushroms, both of which require the sandwich to be eaten immediately after being made; the other loaf was veggie cold cuts with dijon mustard and various bits of veg goddness) to take and i spent 2.5 hours in the cafe window.

p. had a great time making candles, exploring the kids-only store, going into the "magic cookie house", listening to the live music and wandering around the artisan's tables. i ended up purchasing a hand-made medieval style cloak that was really rather nice (she has to make it custom so will be here in a couple of weeks) ... i plan on starting a trend towards cloaks and away from winter jackets here in calgary. i mean, really, jackets are so last year ;)

p.'s mom also came for a couple of hours. it was a bit sad in one sense as it'll be the last time in a while we get to do something like that as a family as she's moving out to vancouver next week. p. will be living with me full time from that point forward until the end of the school year. p. and i are probably doing christmas in florida with his mom's family which will be nice, though his mom won't be there from what i understand.

so .. some adjustments ahead for me with less time to do things i enjoy but which are more difficult to do when being a full-time rather than only a half-time parent. which is why i wasn't around much online since thursday, actually.

though today i did commit changes to plasma that fix a number of applet sizing issues, changed how containments and applets are saved and restored using kconfig's nifty new sub-groups support (the code is now so much cleaner in there and as an extra bonus it's now trivial to share corona layouts ... something that was beyond painful with kicker) and reviewed a handful of patches for kde stuff.

Friday, November 23, 2007

by popular decree, i am no longer tom green

the new look is getting new appraisals. twice tonight people came up and asked about billy talent. at first i didn't get it, until one of them explained that i look like billy talent (in case you're wondering: i don't). this did not stop one guy from insisting repeatedly that i was billy talent. he was, needless to say, very drunk.

equally bizarre was the person who insisted i was "donovan" the fellow she traveled across australia with. in case you're wondering, i've never travelled in australia using the name donovan.

billy or donavan, regardless, i am, by popular decree, no longer tom green. and that, on top of a great night dancing, is enough to celebrate in and of itself. ;)

Wednesday, November 21, 2007

snow and sinuses

it snowed last night and it's finally getting wintery cold here. in time with that i woke up with my sinuses plugged and my head less than normal feeling. i hate weather changes, especially the wintery ones. i'm so not getting anything productive done today =(

Tuesday, November 20, 2007

techbase hits 2 million+

this one completely snuck up on me: techbase has now served up over 2.1 million page views.

we hit one million in july after going live sometime around january. techbase had already been around for a bit longer than that, originally as the low-profile "devnew" project, but until it went live at the beginning of the year the page numbers never topped 25k if i remember correctly.

so with a very slow start due to nobody knowing about it during its setting up (wiki, art, etc), porting developer.kde.org and seeding with new info phases it 'exploded' and hit one million page views in 7 months. it's repeated that accomplishment in less than 4 months.

thee are also 834 registered users, which is up 177% since mid-july. seeing as nobody has to register to read or even edit, that's not bad either.

so all in all, it's doing well for such a highly technical resource; it's not the sort of thing that gets linked to with any regularity from slashdot or digg, after all ;)

the popular pages, other than the front page of course, are mostly in the "getting started" area, showing how vital this kind of resource is to people getting involved with KDE. after "getting started", it's mostly kde4 scheduling related stuff and development tutorials.

we probably need to do a better job of publicizing the tutorials, i think (maybe highlight one in each "quickies" story on the dot? maybe in the commit digest? hm..) but i was pleasantly surprised by the uptick in traffic.

how long before we hit the next million?

you can see the numbers for yourself on the wiki stats page

layouts in plasma

string is awesome. you can do so many things with it: tie up presents, wrap it around your finger to help your memory, exercise the cats ... what can't string do?

unfortunately longer pieces of string have this really bad habit of getting themselves all wrapped up into a messy tangly ball if you don't watch them closely. as a scary insight into my personality: when i find such a piece of string around the house i often put it on my desk and work on it in quiet moments until it's all untangled. i love untangling string; tactile, puzzle like wonderful string balls.

ok, so what does that have to do with anything? well, the layouting code in libplasma is string-like. in theory you can do a lot with it. in reality it was a tangly ball of code. it needed to be gently unknotted so it could be used to tie up presents and entertain felines again. i finally got around to looking into it and after not even a whole day's work it's already a lot nicer in there. it's not perfect, but the class hierarchy makes a bit more sense, sub-layouts work and fewer widgets get screwed up.

the twitter plasmoid, for instance, had been routinely abused by the tangled layouts code. it went from a cute looking plasmoid back in the day to a confused jumble of images and text. i felt really rather bad about it, especially for Andre Duffeck whose work had been stomped on by changes in libplasma that were in theory for the better.

well, after a series of fixes, with Alexis at my side helping to port applets left and right where breakages were caused, i fired up plasma and saw to my pleasure that the panel was finally laying itself out properly. so then i took a deep breath and put twitter back on my desktop. and lo:



it's back to the way it was! =) a little more whitespace (Andre: maybe some margins?) and we'd be golden (well, aside from the rendering error in the lineedit you can see there). speaking of margins: plasma's layouts support different sized margins on each side of the layout which is pretty nice. the panel uses this to position the contents within the svg background. neat.

next up to go through all the applets and find ones that are trying to manage their own geometry rather than let libplasma do it. then make the applet handle respect minimum size hints. then use the working layout goodness in the panel and add handles there. then make panels drag resizable. pop on some config dialog goodness that is starting to appear in svn (did i mention we now have basic slideshow background support thanks to jpwhiting?). then release. then dance. then pass out and sleep for a week.

Monday, November 19, 2007

love is ... what i got.

aside from going out for dinner with friends one evening, i just stayed home and hacked on plasma pretty much all weekend. we're getting things together right under the wire here and so as reward i decided to do a little screencast for this week's commit digest. here's a little teaser image:



what all is going on there? lots of coolness, that's what. what cheesy outro music did i pick this time? something canadian.

you'll just have to wait for the commit digest for more specifics than that. or install kde4 today and find out first hand. granted, you don't get cheesy outro music selected by your truly that way, but you can't have everything. =)

Saturday, November 17, 2007

krush day saturday



yep, that time again: another saturday, another krush day where we get together on irc.freenode.net in #kde4-krush to test and fix outstanding issues in svn.

for this krush day i'll be concentrating on layout issues in plasma along with Alexi, but i will be in #kde4-krush as well. i'm also going to try to keep people focussed on big issues that will really impact the impending release in a major way rather than nitpicky little things which are fun to find (because it's fast and easy?) but which are not as important compared to really running things through their paces.

see you saturday =)

Thursday, November 15, 2007

oxygenation

poked at plasma today among other things, including a new info page layout based on art by Lee Olsen with some direction from Nuno ... there are still a number of rendering issues left as you can see here:

updated: new screenshot with fewer layout and colour issues; you can also see the link hover effect =)



the original art is all svg, unfortunately QSvgRenderer doesn't render it properly. i need to file some task tracker issues against it. once those things are fixed, i'll look into replacing the current handful of pngs + html with a proper class that takes a QPainter and draws it right out of the svg. then we'll get much nicer textures and what not which are all in the source svg but which don't translate out into bitmap format well, such as full height arcs (they need to be stretched to the right size; fine for vectors, not for bitmaps)

anyways, you can see from the above how it is coming along. needs a bit more colour and contrast in the header, i think; again, something that isn't an issue with the svg since it has nice arcs and swoops subtly snuggled into the background ... what to do with the bitmap version is beyond me, but that's why we have people like Nuno and Lee around to tell my sorry ass what to do. ;)

Wednesday, November 14, 2007

chinny chin chin

slept in today, then got up and did dishes and tidied the house up a bit. got to work on krunner issues, fixing some regressions that crept in recently. panels are coming along, though i spent most of yesterday working on kickoff issues. Wade pointed out vertical alignment issues and there's been lots of discussion on presentation issues. right now it looks like this on my machine:



the tab bar at the bottom need some love still. i also begin to envy Apple's position in being able to pick the screens for the machines people view their stuff on: the menu looks way nicer on my desktop's flatscreen than it does on my laptop. *sigh*

i've promised to get panel moving, resizing and background painting finished by the end of the week along with a way for users to add additional panels (plasma actually already supports multiple panels now, but there's no way for you to enjoy that feature right now ;). i've also promised to have a new summary and screen cast for the next commit digest. the week after that will be taskbar and systray love festing, and then it will be just bug fixing. there are some remaining issues with the new handles that need to be worked out, but that'll come.

i'm also well aware that the panel layout is completely screwed up right now, but that's because of bug fixes needed for applets and what not; the layouting code was so broken in so many ways, but after a weekend of bashing on it things are slightly better. now i need to write a PanelLayout to handle panel items properly as well as provide mouse over handles for the handels in the PanelContainment.

had a hair appt today. the stylist told me i need to get rid of the goatee. i protested lightly saying that i look like a child without it and he said, "well, looking 15 isn't a bad thing." ok, fair enough. since he usually knows what he's talking about in these tings, i'm going to try life sans facial hair for a while. we'll see how that goes.

got new strings for the guitar on the weekend as well. it sounds much better now. i also got a rather brightly pink capo, to the expressed disbelief of the (evidently fairly macho ;) guitar store workers. i asked for the capo and the guy behind the counter joked, "want the pink one?" and laughed. so i said, "sure, why not." he said, "really?" with disbelief rampant in his voice. he looked at the package and said, "it does say that proceeds from the pink ones go to cancer research.." indeed, it had the pink ribbon on the package, so i observed, "how can you say no to cancer?" the other worker at the counter turns at this point and says, "you're actually getting the pink one?" haaha... yes, i was. i am man enough for a pink capo. ;)

Monday, November 12, 2007

a sun day

the sun was out in full glory today, bordering on 'warm' even. particularly for a mid-november day.

as i promised to him, i took p. to the science center. we played with the displays and then watched an imax film on dinosaurs. he loved it. afterwards we ate sandwiches for lunch and he went to his mom's place.

i headed off to a recording studio here in town with a friend to sit in the booth while his girlfriend recorded lyric tracks for her new cd. 90 minutes and about 3 minutes of audio laid down later we had to jet off to another event. watching someone go through the creative process was just great, though. (not to mention the speakers in the booth were crazy good ;) it always amazes me how perfect the sound is that the mic pics up ... every nuance and breath. i can never get enough of being around creation.

afterwards i went for a short walk, came home, ate dinner, finished watching "Perfume" which is an amazing movie in my opinion and now i'm working on some light patches before turning in for an early night.

some sundays are just great. =)

Sunday, November 11, 2007

another day, another krush

so krush day was rather successful. the irc channel was quite busy and a good number of issues were fixed. in plasma, we managed to fix issues with various button like widgets as well as some deep problems with layouts. the number of things crossed out on the krush day list has gotten pretty impressive =)

thanks to everyone who came out to test, debug and patch kde 4.0 code ... and see you all again next saturday =)

Friday, November 09, 2007

krush



tomorrow is krush day, all day long! join us in #kde4-krush on irc.freenode.net! help us fix bugs, improve performance and tidy up features! hang out and have some fun with us! discover the secret to using more exclamation marks!

(going for the daily blog entry hat trick ... he shoots, he scores!)

plasma progress for the day

i'm working on replacing KUriFilter usage in krunner as that was the major source of slowness that remained. jpwhiting committed changes yesterday to return to the event loop between individual runners during matching to improve responsiveness, and Ryan Bitanga popped up on the panel-devel mailing list to let us now that he has successfully multi-threaded runners and is now working out the remaining bugs ... so we may have a rather snappy little krunner for 4.0.

next on my hit list today is making panels paint their backgrounds properly. this will work very much the way the applet background painting works so shouldn't be too tricky.

one more small step for the workspace, one giant leap for.. well, ok, no giant leaps. =)

more good news

i've been running a full on kde4 session on my desktop for a while now. i'm using amarok2 to play my music even. the interface is still very unfinished in the new amarok as they are still in early days development wise, but already the shape of things coming can be seen and i have to say i'm pretty excited about it.

kwin composite is getting better and better, and the window management plugins rock, but it is still a bit too slow for me to deal with. at the recent rate of improvement, though, i hope that will be a different story in the near future =)

for everything else, i'm using kde3 apps with no problems whatsoever. they start up and run fast and well and ... it's all very unexciting. which is good news: this means that for apps not ready for 4.0 we can continue to use the kde3 versions.

oxygen is coming together very nicely these days, too. Girish @ TT fixed a stylesheet related bug that was plaguing lineedits, and the patch is already in qt-copy .. they look much better now. =) i'm not a fan of the red colour used for keyboard focus, but boy are things coming together day by day ... e.g. the tabs in konsole are looking whole again.

still bugs and performance issues around, but i'm very comfortable now in the kde4 session. this is great news given how close we are to a release =)

switching gears now:

Microsoft's bribery attempt in Nigeria has been headed off ... for now at least. that means 17,000 more KDE systems (with how many users per system, i wonder?) via Mandriva. and if Nigeria can keep Microsoft's money slut paws off of things, it looks like that will expand to 100k units with time.

another interesting point from that same article: two out of the three operating system Intel has certified on the classmate PC default to KDE. the third OS? Windows XP.

to Microsoft: our market share will continue to grow. your money and lack of ethics can't stop that. so maybe it's time you stop fighting and start cooperating? i know many of your more technical people think exactly that ... it's time to get your upper management on the new meds. as the saying goes, "to cross the river, do not fight the river".

plasma update: xrandr, multiple panels

plasma now responds to changes in screen resolution. i added support for this yesterday but i wasn't getting the proper signals from QDesktopWidget in response to xrandr changes. apparently you really don't want more than one QDesktopWidget instantiated (even briefly!) if you need to listen to these events; instead always use QApplication::desktop() to get a pointer to the application global QDesktopWidget.

with that oddness fixed and behind me, a little testing fixed some issues in my code and now panels and desktops rearrange themselves quite neatly. yay!

it works pretty differently than kicker did: Corona listens for screen resize events. it then goes through all the Containments on the scene which are associated with a given screen and re-assigns them to the same screen causing an adjustment in their geometry.

meanwhile, plasma-the-application resizes the desktop widget and views. when the Containment adjust themselves, it results in a signal being emitted which is caught by the desktop and panel views which then adjust the area of the Corona they are viewing to match.

the result is a silky smooth change without any particularly visible jerks or pauses. at least here =) i'd appreciate testing by the xinerama crowd as well as those with various x.org setups to ensure that it's as smooth on your machines as it is on mine. baseline to compare against would be kicker and kdesktop in kde3. the goal: smoother.

zooming also works a bit better now due to some attention paid by jpwhiting; kevin ottens nearly has the hover-handles which provide generic access to movement, configuration, resize and rotate of applets working perfectly; Bertjan continues to improve the Package classes with his unit testing rampage ... and of course the various plasmoids continue to improve.

we've turned up a few more bugs in QGraphicsView over the last couple of days, mostly ones that impact performance. Andreas is on the case, so we should see resolution of those at least for 4.4 if not even sooner (depends on how tricky some of the fixes end up being and what his work load is like; not all bugs are equal after all =).

i've also got multiple panels working nearly perfectly; the last bit is to do geometry conflict resolution. right now new panels realize when they are in conflict with an existing panel, but i haven't written a way to resolve those conflicts. i needed the xrandr stuff working first to make sure that the geometry conflict resolver works properly during screen res changes.

this also gets me to the point where i can work on the PanelLayout which will resolve outstanding issues with the layout, movement and addition of items on panels.

i started the morning by seeing how long it would take to implement a basic on screen keyboard as a plasmoid. turns out the answer is "just over 9 minutes". thanks go out to digilander and mrosewarne for hooking me up with some svg's to use. the only downside is that to make it work requires a patch to QSvgRenderer so i can map clicks to elements in the svg. which means i can't check it in. well, yet. =) the plasmoid is -very- basic; for instance, it doesn't allow switching svg's for different layouts (though it could, with xkbcomp and xkbprint perhaps autogenerate those on the fly at runtime even!), it doesn't keep state for modifier keys (who needs capital letters anyways? ;), etc ... but it draws and you can click. yay!

once the QSvgRenderer thing is sorted out (i need to clean some things up in the patch and then send it on to the TT engineers) i'll check it into playground in hopes someone will pick it up and run with it. if not, it makes for a fun something-to-do-when-i'm-not-quite-awake-yet.

finally, the other day i mentioned something about speeding up KIconLoader::loadIcon(). after some hunting through it again with Hamish Rodda, due to kdevelop4 still hitting a nastily slow path, he spotted a code branch where the icon wasn't getting cached properly resulting in a very slow path being taken each and every time on the way to the now-faster caching path. after his commit the treeview painting time went from 2.5s to 0.1s. just shows how slow some of those paths in KIconLoader, KIconTheme, etc are and how important the caching is (thanks Rivo!!). in kde3 we cached in KIcon, but this new solution is even better as it is both not specific to icons and allows caching benefits between runs (even of different applications). yee-haw.

i also wrote a poem, got p. off to school and picked him up again, got a bit of a chat in with Zack in the morning (hacking on QSvgRenderer was a great excuse for that ;) who it turns out has a new (and rockin' if i may say so) hair do and also managed to eat lunch. not a bad day.

now it's time to make dinner and read some Tintin with p.

Thursday, November 08, 2007

how many desktop linux users? ;)

Citigroup predicts that [Asustek] will sell at least 3 million Eee PCs next year but could easily tally 6 million. By comparison, Apple has sold 4.3 million laptops in the last four quarters.

if the analysts at Citigroup are right, and the majority of the Eee PCs sold continue to run the pre-installed linux/icewm/kde/firefox/OOo combo ... that's a heck of a lot of new users of kde software coming next year.

3-6 million of them.

only question left: who's sending the invite to Jonney Shih's team to our 4.0 release event in January?

on the road to lunch

on the road to lunch
and the road back combined,
i read 102 pages from the book of longing.

it was a footnote
compared to the volumes
writ on your face
in between,
over food.

you left while i was paying the bill.
i watched you leave, headed for normal.

-----------

(epilogue:

the book of longing was published last year, written by leonard cohen, and i actually did read 102 pages of it on the walk there and back; his poems run fast, striking everything in their path. normal is a town in illinois, and she is actually going there. her face was full of endless words during lunch.

it's interesting how reality, when recited, reveals the other meanings contained within everything we live. the moment rhymes with its homonyms.)

keyboard.svg

dear lazyweb,

anyone know where i can get an svg of a keyboard where the object id's are the letters on the keys?

i looked at onboard (their svg is .. interesting, though it does have the object id's i was hoping for), gok uses custom xml files (pfft) and "on screen keyboard svg" gives none of the instant lovin' i've come to demand of online search engines.

so, my two minute attention span for finding things on the internet having been spent, i decided to ask all of you. one of you must have a url, right? =)

hugs and kisses, aseigo.

Wednesday, November 07, 2007

common memes

reading an article on adobe's musings on their photoshop user interface, i read this quote by product manager John Nack:

"We must make Photoshop dramatically more configurable," Nack said. "Presenting the same user experience to a photographer as we do to a radiologist, as to a Web designer, as to a prepress guy, is kind of absurd...With the power of customizability, we can present solutions via task-oriented workspaces"


"We're already making the code modular so that people aren't running what they don't need," Nack said. "Now we need to follow up at the user experience level, so that people don't have to wade through anything not geared towards the task at hand."


interesting, because that's one of the goals with plasma for the desktop. some work was done last night to get the zooming working a bit more the way we want it to, and that'll be an integral part of this approach. though that is probably not directly applicable to photoshop type apps, the idea of zoom-n-pan for tool discovery might not be a completely bad idea to experiment with.

Nack also noted that this won't result in a faster application when measured in clock-cycles, but that the improvements will come when measuring user interaction and perception. when one has to choose between the two, making the user move faster is more important than making the software move faster. that is because the point of software used by people (versus software that cranks through computations or transactions) is to benefit the person using it. making the computer work harder so the user doesn't have to is really the entire point. i feel we kind of lost track of that idea over the last 20 or so years of client computing.

to head off the obvious comments here: this isn't an excuse to ignore performance, but it is a guideline for when to sacrifice performance. at the same time, there are many techniques that can be applied to software designs of this sort that keep them reasonably performant, especially when the design allows software to be easily targeted towards specific use cases (meaning less baggage carried along the way and distancing expensive assumptions away from the core).

a day spent fixing annoyances

didn't really get much done with panels today. instead i started fixing some of the annoyances i've been living with in kde4 sessions for a while. using it as my primary session now is certainly a good motivator for fixing those things.

if you're finding you can't use global keyboard shortcuts in your kde4 session (such as for kwin, krunner, etc) then kded4 probably isn't running. you can start it manually (and then restart kwin, krunner, etc, etc), but the real fix, at least for me, was to dig through .xsession-errors looking for kded error messages (thanks for the tip dfaure =) and lo! there was a kded module with bad symbols. in my case it was kded_kwrited.so. remove or rebuild the offending module(s) and things should be back to good. this problem shouldn't persist as the libraries have settled in now.

i'm close to as productive in the kde4 environment as i was in the kde3 environment now. a few more things to iron out and it'll be full speed ahead. kde3 apps run nicely in it too, so i'm not giving up much due to app availability or lack thereof in key areas, though i find myself using mostly kde4 apps now. good signs all told.

i was fascinated by the number of comments on my last blog. it's interesting to see how many do actually get the idea that there are not only legal instruments but social interactions at play in creating community. the few that can't seem to grok that (or that my real bone of contention was with Nathan's piece of libel, not so much even the original action), well ... can't say that i'm surprised. it's a hard mental fence to jump over from "live the rules that define my existence" to "live the life that's possible". it was, in any case, enjoyable to watch how people internalized the issues.

today while working on the applet browser window, i turned on some debug and was floored to see this: "Applet::knownApplets constraint was 'not exist [X-KDE-ParentApp]' which got us 54 matches" ... woah. 54 applets?! half a dozen or so are examples, another 10-15 are probably throw aways (experiments, learning exercises, etc), but that still leaves a heck of a lot more than i expected to be there right now. zoinks.

which explains all the work i had last night when i changed the name of a signal in DataEngine, i suppose ;) oh, and apologies to Sebastian Sauer for forgetting that the signal was used in the superkaramba glue code and so not updating it =(

i also decided today that i'm going to get a EeePC for P. he's all excited about it. when i told him it came with kde on it he said with a gasp, "so you don't have to put it on it after you get it!" ah yes, the beauty of preinstalls. the small size and inexpensive nature of it despite being an otherwise full laptop make it just about perfect for his needs. now to find one ... they sold out in Canada within a day or two of being released. =/ anyone from Asus with an in on the Eee PC a KDE fan? ;)

i figure that in a few year's time these little gadgets will be more powerful than the laptop i'm using now. which means i need a new laptop, obviously ;)

Monday, November 05, 2007

open and responsible

(yes, another entry today, yeesh!)

Nathan Willis complains about people complaining when other people take their work they are releasing under open licenses and runs off with it. in particular, the oxygen icons.

here's what Nathan skips over: open doesn't mean "no respect". open doesn't mean "no responsibility". when someone releases something openly, we have a huge amount of thanks to pay those people. when they make a simple request, such as, "wait until we're done, please" it begs a person to stop and say, "ok, i'll wait".

of course you don't have to. everyone is free to be as uncooperative and anti-social as they wish. and that's what this comes down to: anti-social behaviour.

this was not about "closing the process", as Nathan claimed: oxygen is developed in the open, in an open repository, under open licenses and people from all over contribute. that's hardly closing anything.

in particular, note that David never complained about the illegality of this theme pack. in fact, he cheered the idea of the icons and ideas from oxygen spreading. in a word, Nathan completely misrepresented what David said. i don't like it when people do that to my friends, and neither should you.

moreover, what David did say was that the theme package is not representative of Oxygen: it's a mish mash of icons and other accidents, and that this is exactly why they are asking for people to hold off on releasing packages around it.

it's no different than a software project asking linux distros not to package their software for default installation because it's still alpha quality. yes, distros can do that, and yes the project has the right to feel slighted for the bad reputation it may gain them.

if we want our efforts, all of our efforts, to succeed ... once in a while we have to respect the judgment calls of others in our community when it comes to their own creations.

Nathan: to you, i'm sorely disappointed in your point of view. i respect your right to have one, i just wish it was a bit more humane and informed.

why betas, brother?

so in (very quick) response to my blog on shooting for the stars and hitting the moon, "Scorp1us" wrote:

, but I am concerned that these "Beta" releases are really alphas. I would figure that once the platform has stabilized, and "KDE4.0" "platform" is done, there is still a large amount of work putting together a complete "KDE4.0" "desktop". The difference between the "platform" and the "desktop" (in my mind) is that the platform is now ready for 4.0 desktop applications to be written in. When those applications are complete, then the "KDE 4.0" desktop can actually launch to the users.

Or are we just hoping that Koffice 2.0, plasma, and other Kore eKsperiences will be done at the same time and integrate seamlessly?


i figured i'd answer it more prominently with another blog entry because i hear this often enough and feel that it really does miss a number of fundamental issues.

before i get into it, though, with regards to "assume they'll integrate seamlessly" there are no assumptions being made at all. as we develop the software we're all keeping an eye to harmony and consistency.

so .. first off is the issue of how open source development works. open source development strives towards complete products, but it does not make every release a complete product. in fact, it can't. because if it just holds on and holds on waiting for some mythical completeness ... you get e17. if you release "early, often" you get dot-0 releases like the linux kernel (which usually suck in various splendorous ways), but you get the momentum needed through extended testing and 3rd party development to push towards a completed product.

what i'm saying is that we can't hold on to kde 4.0 until everything is "done", as Scorp1us talks about. to do so would extend the release cycle beyonds its already silly length and eventually bring the project to a grinding halt. releases are necessary to keep momentum, to keep discipline (esp amongst lib development) and to increase both testing and 3rd party development.

our proprietary competition hold on for years and do extensive beta testing and what not and then release a "finished" product (which, btw, usually also sucks horribly in its first incarnations *anyways*). most people don't get to see the stage we're going through right now with 4.0, because in a proprietary world that'd be what goes out on the pilot programs.

but i also take grand exception to the idea that "Kore eKsperience" (hehe) applications are not there yet. dolphin, okular, gwenview, konsole, kdegames, kdeedu .. shall i continue? they are all massive improvements over their kde3 incarnations and work rather well and stable right now. those efforts deserve both our recognition and support.

so i feel that looking at koffice 2.0 not being out with 4.0 (which is silly: they have 'always' had their own release cycle) or that plasma is so new, or that kwin is still making its way towards the composite holyland, etc, and gauging everything by that is to discount all the work the people have put into the other apps.

there is a metric ton of really great applications in svn today, which is another reason to get the releases flowing.

yes, 4.1 will be even more interesting that 4.0. that wasn't a hard thing to predict. how long have i been saying that 4.0 is a lot like 2.0 in that regard? many of the new usability guidelines will probably take multiple releases to become pervasive and we're bound to see improvements across the board (features, stability, performance). but here's the salient point:

without 4.0, and soon, 4.1 will not only be longer off ... it may well be put into jeopardy.

this is not to say that 4.0 is a compromise or a rush, but that 4.0 is exactly what it needs to be and what it can be. none of us have rose coloured glasses on; in fact, if you want to hear the harshest and most realistic criticisms of where the codebase is right now ask a real kde developer. they'll tell you =) that awareness is helping make things come together, but it shouldn't hold us back from releasing. it's been long enough, it's now time to get back on the release train and start making regular stops.

today's inspirations

koffice: for their amazing productivity these last couple of years. the follow up on their berlin sprint just shows how detail oriented and committed to progress they are.

Bertjan Broeksema: for writing unit tests for libplasma, and then fixing bugs they turn up. makes me want to write more tests myself =)

oh, and if you haven't seen it yet, i think qstestlib is pretty neat.

shoot for the stars, you might hit the moon

i have this really bad (good?) habit of looking forward to the next phase of things while simultaneously looking back on what's preceded when nearing the end of a project cycle. this weekend i spent some time considering the whole plasma thing.

it occurred to me that it was pretty crazy to have suggested to restart the workspace stuff from scratch. throwing away a known codebase is rarely advisable, but in this case i still feel it was the right decision, if a really ballsy one. sometimes you need the big brass ones, though. i certainly wasn't the only one doing so, as kde4 is turning out to be rife with ideas that were just so crazy that they've ended up working. (and you thought that only worked in the movies!)

the emerging architecture in plasma is turning into something very nice imho that we can build on for years to come. whereas i constantly felt i was running into walls with kicker and kdesktop (i hacked on both in the kde3 days, maintaining kicker for a few years even), i feel only possibilities with plasma. i am not limited anymore by the framework, but by how much code i can write and debug.

the downside is that everything is new. there are bugs everywhere. there are things that still need to be rewritten. i'm regularly struggling with QGraphicsView which is also a brand new technology; it's doing rather well but we're still turning up issues in it on a regular basis. this is largely because we're pushing every possible envelope with it, while also trying to adjust our QWidget mentality to a QGrahicsItem one.

Andreas-of-QGraphicsview hasn't taken out a contract on my head yet (that i know of, anyways) so although i'm sure he's amazingly annoyed with me as the relatively constant harbinger of bugs and api complaints, he's also doing a pretty remarkable job of improving things as much as he humanly can.

that said, with any such ambitious project that aims for the stars, it first needs to reach the moon. with 4.0 we'll get pretty close to that rock, and it's very reassuring to see the "to the stars!" ideas i tucked away 2 years ago are actually going to be possible.

one thing i'd never really considered was libplasma as a library for other applications to use. we all know about amarok, but now we're looking hard at LinuxMCE, which functionality wise is probably the most impressive media center / home automation systems on linux today.

two leading members from the LinuxMCE community and i had a conference call and we're going to be seriously looking into the plausibility of rewriting the interface using plasma. we can keep all their great functionality, but bring the interface up a bit while making it painlessly integratable with other libplasma apps such as, well, plasma. all without tieing it to the kde desktop either. nice. there's still investigations to be done, but we'll be pow-wowing on this over the next couple of months. the goal is to have a road map ready and some basic concept to show at the 4.0 release event in january. the LinuxMCE people also want to GPL as much as possible (perhaps even all of the work) and we also have started talking about the possibility of a design studio.

really, a design studio is all that plasma is missing from really being a more humane flash, right? i mean, harri even has plasmoids rendering in web pages, and the stuff that frerich has been chatting at me about on irc makes that seem a bit passe ;)

an additional twist is that the LinuxMCE project could be one of the first commercial applications of plasma and as such bring additional kde focussed contract work into the ecosystem. i really didn't consider monetization of the technology when first thinking about plasma; it was really just about making something that didn't disappoint me every time i logged in.

there's no way it would have been possible without the team that's gathered around kde to provide the underlying kdelibs and work on plasma itself. the future is bright here.

i think the recent article in Linux Magazin summed it up well by concluding (roughly translated):

"The integration of programs with plasma is still in the beginning stages. The concept is recognizable, however, and its possibilities are likewise. If new programs use the KDE-4 capabilities correctly, a complete and modern Desktop might develop.


still lots to do before 4.0 though .. so .. back to the salt mines of g++ for me =)

oh, in other news i managed to speed up fetching of cached icons via KIconLoader by a factor of ~5 last night.

Friday, November 02, 2007

impending krush; pantheon

a friendly reminder: the first KDE4 Krush day where we concentrate on cleaning up bugs and annoyances in kde4 starts at 09:00 UTC Saturday Nov 3rd in #kde4-krush on irc. be there or be square! (oh yeah, baby, a classic 1980s throw down)

anyone with a kde4 install is encouraged to show up to help identify issues. be prepared to apply patches and test fixes, though as this is not a bitch fest but a patch fest. the difference is critical. ;)

anyone with kde4 coding fu is doubly encouraged to show up to help write those patches and triage the issues. artists are also encouraged to join us to work out art related issues that may crop up.

in completely unrelated news, my friend Andy threw out a new release of the pantheon cms, version 0.9.0. it has lots of new goodies and bugfixes and the march towards 1.0 can begin. i'm hoping he opts for a time based release schedule from here on out. interestingly, the release process took ~15 minutes: he tagged the tarball, installed it, brought up a new site from scratch with it (all done with cute little helper scripts so one doesn't actually do any real work), and uploaded it to the website via the admin control panel (which automatically listed the new download on the right pages, etc, thanks to the cms) and was done. neat.

krunner autocompletes

as of today krunner autocompletes. it even allows runners to add to the autocompletes. even better than that, it doesn't exhibit what i consider the most annoying behaviour of the run dialog in kde3, namely when you select an autocomplete using the enter key it doesn't close the dialog and blindly execute that item. that takes care of all kinds of bug reports and feature requests. yay!

best of all, that change was binary compatible ... demonstrating how the new api is much more future proof than what it replaced.

the default plasma panel should also try and default to the bottom-left-most screen, regardless of the screen #. so, e.g., if you screen 1 is on the left of screen 0, the panel should be set up on first log in to screen 1 not screen 0 as it was doing.

another day, a couple more show stoppers gone.

i'm still waffling on the ui for krunner, but i'm setting myself a hard deadline for tomorrow. speaking of tomorrow, i have a LinuxMCE conference call. hope to have some sharable news after that.

Thursday, November 01, 2007

trick or treat

just got back from ransaking the neighbourhood with p. we have a favourite stretch of houses in one of the more posh parts of town about 10 minutes from the house that we hit every halloween. the people tend to go all out and do up their houses really amazingly. so much fun. they also have the good treats =)

p. went as obi wan kenobi, complete with his green star wars force FX lightsaber. i also get dressed up, this year going as the "lord of blood castle", whatever that is. you can see a pic to the right; it's not of me, but it looked identical, minus the hat. the new hair went well with the outfit.

p.'s sack got to be half his own size before the night was out. good times. he'll probably only eat a couple handfulls of the stuff, though, as he's not a big junk food kid. all the more for me ;)