Monday, September 24, 2007

Getting into KDE Hacking

A couple of blog entries back a reader left this comment:

About kde hacking though, I'm in the first year of a computer science program that I don't think is going to touch on anything kde related, Where should I start if I wanted to get into kde hacking? Pick up the qt 4 manual, or something else?


I figured I'd answer that question in a blog entry as it is probably one a lot of people have. So here's the short story:


  1. Qt4 comes with a set of tutorials. They are excellent, and walk one through all the basics.

  2. Techbase has a great set of Tutorials that provide great follow up to that

  3. Techbase's Getting Started will provide you with instructions needed to get a KDE4 env up, running and in a state ready for hacking, hacking, hacking!

  4. KDE's API documentation is a great reference once you've started working on KDE

  5. bugs.kde.org lists a lot of open issues if you are looking for small tasks to start with

  6. KDE is a meta project made up of lots of smaller projects, such as KDE Edu, KDE Games, KOffice, Dolphin, Okular, Solid, Phonon, CoreLibs, Plasma, SystemSettings, etc, etc, etc... find something in KDE that fills you with the urge to hack and get in touch with that project. Most of them have mailing lists and irc channels; if you can't find them you can just ask on the general KDE forums such as kde-devel@kde.org or #kde-devel



So... that's the short story. Hope that helps =)

back home

I arrived back home last night after a few catches: we couldn't disembark in Calgary for over half an hour because the gate was broken; my bag is still somewhere in London due to the flight from Madrid not being well timed with the flight in London; etc... oh well. I'm home. T. picked me up at the airport and we grabbed some South Indian on the way home (airplane food sucks).

Now after sleeping in until mid-day to catch up with sleep (I went straight from a club to the airport on Sunday) and re-adjusting to the time zone (seven hours change), I'm working on catching up with two days of email and svn up'ing the devel machine at home, etc. P. has come over this afternoon which is nice, too.

Tenerife was awesome, hope to get back there someday soon, but for now it's back to Calgary and Work Central.

Robert Knight has done a port of the KickOff menu so we have something to work with there in the short term for plasma; the other items on the plate are possibly changing the signature for DataEngine::updated slightly and fixing panels (including multiple panels again).

Saturday, September 22, 2007

tenerife day 3

Yesterday, after getting about 5 hours of sleep, I led a four hour hands-on workshop that introduced 15 or so local university students to KDE hacking. As an nice consequence, at least one of the attendees has started looking at KDE code to start contributing. Getting KDE in front of students is so important and a great way to expand our reach. There has also been a good amount of political work that has gone on during this conference.

Today I took the day off with Allan-of-Plone, his wife and two of the most excellent local fellows who drove us up to the volcanic mountain in the center of the island and then to the southern coast where we at a wonderful lunch on a restaurant patio. The weather was beautiful, the landscapes were breathtaking and we even got to see schools of large fish swimming in the ocean.

I have many photos, which I'll upload in an album later.

We are going to a concert tonight and then it's back to the hotel for me as my flight leaves at 07:45. I should arrive at home some 19 hours later. I have a few things nearly ready to commit to plasma, so I'll probably take advantage of some of that "sitting and not doing much else" time to complete those patches.

It will be nice to be back home, but I'm already thinking of the next time I can come back to the Canaries. They are beautiful Islands and my stay here has been both too brief and very enjoyable.

Thursday, September 20, 2007

tenerife day 1

After 18 hours of travel, I was not impressed to find out that whilst I had made it my bag was slower and still in Madrid. As far as I know it still is. I'm hoping that when I get back to the hotel this evening that I have new clothes to wear. Would be nice.

That little speedbump aside, it's been a great visit thus far. Met up with a couple of KDE hackers, Jonathan Riddel and Richard Dale, as well a bunch of truly awesome local individuals. Here's a couple of pictures from last night's dinner (at 23:00 =) right after getting to the hotel last night:



... and as you can see, I was wicked tired by the time it was all done last night:



We (the dozen or of us that were at the dinner) did manage to have some rousing conversations about the islands here, Free software, KDE and the issue of lack of vision (and what that means) in the Free software desktop world. I'm learning that people simply do not understand what having a common vision means (it's often confused with unrelated ideas like "picking one project" or "identical implementation approaches" or "centralization"). Once the concept is properly understood, I find people agree quite strongly with the idea, so maybe that's the issue.

Some of the guys really liked my analogy of pushing a big ball. I'll have to use that in a public discussion at some point.

Today some of us went and met with a group of local entrepreneurs and local officials to take a tour of the local Kubuntu-based distribution used in educational environments on the islands:



They are doing some really cool things, but also need some additional things.

I also talked today with a fellow who had wanted to work on adding language selection to KDM (and seems to have ideas for other such things with KDM) but had been waiting for a rather lengthy and undirected discussion on bugs.kde.org to get sorted out so he knew exactly how to implement it ("should it show the languages in English, or translated into their native languages?" .. "should it show all available languages, or just certain configured ones?). I suggested he look at the discussion as an advisory thread but to just implement what he wanted, starting with the basic and obvious feature and go from there, but certainly not to let an unending discussion impede him. That, apparently, was all the permission he was looking for.

Interesting how so often the barriers to participation are not technical.

I'm due to give my first presentation of the conference in a couple hours here. Meantime I've been compiling, doing email and started a bit of hacking. I had to set up an ssh tunnel to get my email, though, as they are blocking pretty much everything except http and ssh here. Meh. "They haven't build a firewall strict enough to hold me yet!" is what I say ;)

p.s. I've been using capitals in my blog entries for a couple weeks now. Besides a few of my friends asking if everything was alright given my sudden finding of the shift key ;) none of the complainers have said a damn thing. You ungrateful *$#!s. ;)

Tuesday, September 18, 2007

tenerife, desktop viable?, qtopia

I'm leaving for Tenerife in the Canary Islands this evening where I'll be presenting on KDE4, teaching KDE development and meeting with some of the local movers and shakers. Why the Canaries? We have some 35k desktops in education there serving 250-300k people. They use Free software desktops day in, day out and have for some time now. This is not a particularly isolated success, but it's a very nice one and I'm looking forward to seeing it all first hand.

This is, incidentally, why I find all the punditry about how the Free software desktop is failing or is a failure to be the work of ignorance. Not only is the Free software desktop and KDE in particular doing better than ever before in the real world terms that matter such as market growth, which speaks to the lack of knowledge out there on the growth that is happening, but to rail against this very real trend because a single kernel developer quits or because of any number of other reasons shows ignorance of the open source methodologies (people come and go all the time, sometimes not pleasantly) or about how basic market economics work.

In more positive thoughts, Linux Journal has a cover story on the Green Phone and QTopia which has has the last few bits that already weren't GPL'd released under the GPL today. In the same magazine I'm also mentioned (hooray! =) as well as LinuxMCE. Nice ...

I finally got a chance recently to look at Johan Thelin's book Foundations of Qt Development. It's really nice to see how many Qt4 books there are out there right now, and Johan's is a really good addition to the library. It's thorough and clear; great work Johan! =)

A friend of mine is working on a KDE4 book aimed at first-time KDE/Linux users so we should have some nice more "traditional" documentation sometime after 4.0 comes out. Neat.

Anyways, I still have a number of things to do before I can head out in a few hours so I should get off the keyboard here. I haven't had a chance to get the screencast together that I wanted. Apologies. Latest will be after I get back, or the 24th.

Sunday, September 16, 2007

Plasma backgrounds

Whenever the topics of background wallpapers for plasma comes up, 99% of the time first question is: can they be animated? Animated backgrounds would be cool, but the consistency with which people ask that is pretty impressive. So before I continue on let me just get that question out of the way:

Yes, background wallpapers can be animated.


Whew! Now on to what I've been doing with backgrounds since yesterday ... When I sat down with Zack a while back and wrote down all the things that would be needed from backgrounds, it started to become apparent that I would simply be rewriting the Applet class: plugins, config pages, mimetype associations (so different background file formats can be supported by different plugins) ...

I also had another problem to solve: what to use to group applets for zooming, multi-screen, sharing the Corona between the desktop and panels, etc. When Zack said, "The backgrounds should be QGraphicsItems ..." it became natural / obvious to make the connection between the backgrounds and the need for a grouping class.

So I've been working on a class called Containment. (Get it? Plasma containment? oo-hoo-hoo!) It's just an applet registered with the Plasma/Containment ServiceType, but also provides for grouping. Containment now hosts the FormFactor and other constraints, so there can be multiple constraints sets in one Corona which is needed to share the Corona between multiple visualizations (e.g. panels or whatever). Essentially, Containments are full-screened (or full-panel) applets that always sit behind the other applets.

The really neat thing about this approach (at least to me) is that backgrounds can be interactive. In fact, any applet could be used as a background (not that you'd want to, of course ). Yes, it also means they can be animated (or drawn using OpenGL or...). As a bonus, people writing backgrounds don't have to learn Yet Another API or plugin system, which is also a bonus. You could even write backgrounds in JavaScript or whatever other languages we get ScriptEngines for (Python, Ruby..). Neat-o.

It'll be interesting to see what kinds of background plugins people come up with. Zack said he wanted to do one, so maybe we'll get some posh out of that.

Anyways, I'll put a screencast together showing this stuff in action which might help make things clearer in case the above was too obtuse. ;) And yes, I know, it's just backgrounds (well, and grouping and what not) and I'm all excited about it. But .. but .. animated wallpapers! ;)

Saturday, September 15, 2007

this isn't about free software. or is it?

Henry Ford's famous dictum that the public could have any color automboile it wished as long as the color was black has since given way to its philosophical opposite: "We have to to stop marketing makeable products and learn to make marketable products."

At last, however, the dangers of too much reliance on this philosophy are becoming apparent. As two Canadian researchers have put it, "Inventors, scientists, engineers, and academics, in the normal pursuit of scientific knowledge gave the world in recent times the laser, xerography, instant photography, and the transistor. In contrast, worshippers of the marketing concept have bestowed upon mankind such products as new-fangled potato chips, feminine hygiene deodorant, and the pet rock..."

[...]

Deferring to a market-driven strategy without paying attention to its limitations is, quite possibly, opting for customer satisfaction and lower risk in the short run at the expense of superior products in the future.


This is from an essay by Robert Hayes and William Abernathy on the decline of American competitiveness published in 1980. It's still getting (re-)published in print today. Today it can be really hard to get people's minds around the idea of marketing makeable products.

Switching gears (ahaha, oh the puns never stop!), did you know that in 1970 Toyota had a 2% market share in the U.S. car and light truck market and only managed to edge it up to 3% by 1980, 8% in 1990 and 9% in 2000. It took over 30 years of persistence to hit double digits in that market. They are now the world leader in automobile manufacturing with a larger market capitalization than GM, Ford and DaimlerChrysler ... combined.

There is a Japanese word for this approach: jojo. Slowly, gradually and steadily. They combine it with ostentatious vision (to develop dream cars that honestly sound god damn amazing but completely unrealistic to me =) and a commitment to the "basics" like quality, defining a culture and continuous improvement (kaizen) paired with revolutionary change (kakushin). Toyota's success, it seems, has been realized through a relentless commitment to broad system thinking over the long haul.

What does this have to do with KDE? Everything. Reading about Toyota's history, current challenges and philosophy gave me goose bumps more than once as there are so many parallels in the challenges they faced and continue to face and where we are as a project. I have to say that I like how they are going about things as an organization (without getting into the larger issues surrounding globalization) and think there is much for us to learn there.

Ok, I'm done rambling for today (but it's such a beautiful day outside!) and am off to implement a proper background system for plasma ...

Dell-sapointment

Warning: What follows is one of my trademark rants. Skip this entry if those give you stomach aches, nose bleeds or an unsatisfiable desire to mercilessly shoot toilet plungers at insane bunny rabbits. (Man, I love that game =)

Persistent Blockers



Some of the blockers for mainstream Linux desktop usage are lack of legal codecs, hardware integration and certain types of basic functionality like software suspend not working reliably. This is not news, of course, but rather the typical gripes people have had for years. Even as much of the Free software has reached the point of being true-blue entries in the top echelons of functionality and quality, some of these issues continue to nag at us unanswered.

These are things that the KDE community itself can't really fix, at least not by simply writing KDE-based software. I always figured, and said as much whenever the topic came up, that eventually Linux would be shipped by system integrators who would invest in an "OEM" version of a Linux-based OS. They would take (or so I thought anyways) a distribution that already exists and has commercial support behind it and do much as they do with Windows and gussy it up for their combined hardware/software offering. At this point in the product chain consumers are forking out hard currency for product (the computer) and there is some profit margin in there, helped along by the lack of a Windows license (hopefully, anyways =). This money could be used to purchase the needed bits, such as codecs and fonts. By adding just a little bit of "final primping" Linux would finally be a complete product. Instead people want a system with a lower price point and the cool feeling that comes from seeing Linux being an option on a system integrator's website.

So when Dell announced that they were going to be shipping Linux laptops and the Canonical marketing powerhouse started cranking out the stories about it, I figured this could be the start of this development. Unfortunately, someone (Canonical?) forgot to tell Dell (or they just didn't listen?) that more than simply slapping Ubuntu on a laptop was needed. The result has been that reviews from the likes of the Wall Street Journal are starting to appear and they have not been particularly flattering, even going so far as to warn people away from Linux and Ubuntu.

What could have been done?



When it comes to the desktop I don't expect the Dells of the world to understand their part in the game; and I've come to not expect the Linux distributions to understand their part in the game either. Sadly we're in a position where distributions, who have many of the wrong motivators for this kind of work such as an emphasis on packaging ease versus system continuity or differentiation versus broadly applicable solutions, hold many of the cards when it comes to serving as advisors in creating these products.

So it is that Linux distros tend not to take a Dell-like opportunity and say, "Look, we'd love to do business with you. We have a lot of opportunity here, but it needs to be done in a way that we'll actually make significant sales over a period of time necessary to keep both of us investing in this. Let's not just ship whatever we can today, let's make a product that actually works for the end user market. Let's remember that we're trying to break into an established market, so we need to be a bit disruptive and very much a quality offering ..." That's the point where discussion about adding control panels for the touch pad in the laptop arises; or how to get a legal DVD playing stack in place; etc ...

It would likely take another year or so of work when it is all said and done and certainly some outlay of finances, but then there would be a product that would have a chance in the marketplace. So why doesn't this happen?

Decisions Made At The Wrong Times And In The Wrong Places



If you were to walk up to a random KDE community member who is working on KDE 4.0 and asked, "So, what's this KDE4 thing all about?" you would almost certainly get a nearly standard answer despite that answer not being recorded on any website (which is something we really should fix, btw =).

They would likely tell you about the 'pillars of KDE' (Phonon, Solid, Decibel, Oxygen ...), about the increased portability (Linux, BSD, Solaris ... but now also native Windows and MacOS) and about the new generation of applications that are taking advantage of the latest capabilities of our underlying libraries such as Qt4 (Marble, Dolphin, Okular, Kalzium, KDE Games, KOffice..). It's a voluminous story, but you'd get the same general answers from just about everyone.

Even more impressively, if you asked why something like Phonon and Solid were important you'd also get the same general answers: portability, future proofing, simplicity and continuity of API .. leading to better applications that work better for the end user.

KDE people have done a pretty good job of building a shared vision, even though it's been independently implemented. While most of us agree on what KDE4 is about and aimed at, we haven't had massive technical design meetings that span the entire project to cement this vision into place. Instead, each group of people working on a given aspect of KDE have internalized these ideas and concepts (often with their own personalization of them; we're not automatons, and that's a good thing =) and used those concepts as an ingredient in formulating their own direction. This has been messy at times, but a chef is judged on the food served rather than the state of the kitchen.

Back to the Dell/Canonical offering... What is it about? Heck, we could repeat that question about a lot of Free software desktop projects right now and I bet the answers would be pretty similar: meanderings, usually in the form of silence. This includes the Linux kernel where we have been, for instance, gifted with inotify which really isn't up to the tasks demanded by the modern desktop user. Do they know what we need, or why we need what we need? Indeed, when it comes to the desktop, what is the Linux kernel about? While the community is currently obsessing about schedulers, we're missing some pretty fundamental understandings as to what we want the kernel to achieve. As a result it's a hodge podge.

There have been moments where Linux flirted with desktop vision: project utopia which led to HAL was a good example of this. Regardless of what you think of the quality of the resulting implementation, HAL is getting the job done and it started with a clear statement of intent and everyone could answer that all important question: "What is it about?" There is a connection between being able to clearly answer that question and having something appropriate at the end of the development cycle.

However Dell, Canonical and others like them (those two companies aren't unique in this way) are not in a position to be able to create the basis for answering The Question properly. They are too far removed from the technological design and vision process and they have an incompatible (not bad, just incompatible) set of priorities for doing so. This is not something to be fixed, because doing so would probably break them in other ways that wouldn't be good for their survival.

The Question(tm)



So here's The Question put clearly: what is the Free software desktop about?

Honestly, I couldn't tell you in clear terms. I can tell you what KDE is about, but as soon as I start adding in all the other pieces things get fuzzy really fast. Those "other pieces" include all kinds of software: kernels (Linux, OpenSolaris, *BSD), printing (CUPS), groupware (Kolab, OpenGroupware, ...), directories (OpenLDAP, Samba ..), virtualization (VirtualBox, ..), media (ALSA, GStreamer, NMM, Xine, MPlayer ..) and on and on. What do we have in common when it comes to what we want to achieve? What will those achievements look like?

Is there a place where project leadership from each of these groups comes together to create such shared vision? Or even just to share their vision so we know what each other are thinking, needing and wanting? I can't. I originally had hoped that the Linux Foundation's Desktop Architects Group would provide that place, but it has turned into a set of working groups focussed on implementation issues. That's useful, but not the only thing we need. In fact, we're already pretty good at implementation, while we're less than good at coordinating the driving factors behind those implementations. The result is a scatter-shot set of software that the Dells of the world have a hard time packaging for the consumer market; lots of great pieces, but no real whole.

Let's Find a Solution!



Can a Linux distribution company fix this? I don't think so, because they don't affect the vision in the upstream projects. I do see Mark going around trying to inject interesting ideas into these projects, but at the end of the day they tend to be yet more external thinking rather than a well formulated and internalized foundation that spans projects providing holistic direction and vision.

The amount of "external thinking" being thrown around is at all-time highs right now and to be honest most of it is extremely ill-informed. Concurrently, processes for the incubation of internally driven focus creation is nearly non-existent.

The Desktop Architects group has become pretty firmly footed in implementation issues; don't get me wrong, the topics are extremely important but they are near term ("Horizon 1") issues. Requests for a 6-month-heart-beat for software projects is another short game concept which is apparent when the road to long term development is explained after the fact rather than being a part of the process formulation itself. Horizon 1 is critically important, but is not a perpetual source of improvement on its own.

If this trend continues, we will pay for it in the long term because that internal focus creation is the source of long term ("Horizon 3" for the management crowd) R&D. In turn, this is where useful "Horizon 2" (mid-range) results emerge from along the way if competently nurtured. Ever noticed how many free software desktop projects have started falling into a rut of uninteresting development? That's Horizon 1 obsessive/compulsive disorder at work.

Let's Find A Solution, Take 2



I do think we can inject exciting vision across the Free software landscape; I seem to remember it being there years ago actually. However, I have come to believe we need something slightly new: a place where people from the various creative projects can come together with each other in relative peace and quiet to share sweet spots, pain points and their own internal vision and motivations. The theme should be to keep asking The Question with each until The Answer(tm) starts to crystallize. This vision will be pretty amorphous and ever evolving and certainly not come in the form of a typical management lackey's five sentence vision statement summary. It will also be slightly unique from the individual project's "native" vision as it will be the summation of a greater set of thoughts; and that's perfectly Ok.

Then like the pollinators of beautiful flowers, the participants will need to take the germ of The Answer back to their respective projects and start the conversations there. This will allow a coherent strategy to self-emerge: each project will personalize The Answer for their own cultural context, but it can start to become a common thread woven recognizably through all of our tapestries. This will result in a coherent set of technologies that fit together nicely as a whole product; in fact, the path to tying that whole product together will likely become self-documenting so that system integrators will get a How To out of it all as a bonus and actually stand a chance in hell of getting it Right.

How To Support The Solution Process



OSVs (operating system vendors), ISVs, customers and system integrators could show their full support by funding but not attending such events themselves. This will avoid tainting the process with their own priorities which are not conducive to this particular kind of exercise. It needs the creative projects, not the productizers (yes, there is some overlap but it's pretty easy to keep them separated).

Enthusiast in our communities can show their support by accepting the process to be most likely a bit messy and even not very comprehensible from the outside. Instead of using that as a reason to voice ill-informed concern and thereby putting pressure on the relatively fragile process of maintaining the context necessary to build The Answer, support (even in the form of hopeful silence) would be great.

The friendly media can support the process by not reporting on the process (I know, counter intuitive =). Honestly, there really won't be much that's interesting to report on. Trying to invent reportable results is part of why some attempts at this process have drifted towards short term goals as they are results you can show and measure in time for the next magazine article printing. There's lots of other stuff to report on, in any case.

Free software projects can support the process by showing up and honestly engaging in the conversation; send your system thinkers who are daring enough to think about big picture issues and be ready to start taking the resulting ideas into serious consideration when working on implementations, most of which already kick ass but miss the sort of continuity we need to create a whole product for client side computing. Server oriented projects can think about their client-side roles or the role of the client on the server-side and engage on those terms (or not at all if there is truly no cross-over).

When and Where?



This is the part where the man behind the curtain emerges to show his empty hands. As they say: I got nothin'. This is just an idea, a set of thoughts spewed stream-of-consciousness style from my mind, through my keboard and out onto the Intarweb. As one person I can not implement this myself. As one project, even an amazingly vibrant one, KDE can not implement this on its own either. Hopefully the idea will start to percolate about and eventually we'll find a forum for creating The Answer(tm). I'm willing to help as I can (which isn't much before 4.0 comes out), and I think KDE is in a great place organizationally to contribute to the process.

Until we get this, or something like this, moving ... we'll just have to deal with the ascendancy of the Free software desktop remaining slow (though continuous) and with the on-going disbelief from the mainstream markets and those who analyze and report on them.

Friday, September 14, 2007

"for kde"?

Just a quicky: I've noticed that many binary packages of KDE applications note in their description field that the application is "for KDE". What exactly does that mean? These apps run just fine anywhere they can be compiled, so I don't think that phrase has much meaning. It certainly can give people who don't use KDE as their desktop the impression that those applications aren't for them and lead to them missing out on some great software.

I understand the history behind such wording, but it really has lost its meaning over the years. So perhaps the packagers of the world could consider dropping the use of that rather meaningless phrase, "for KDE", from the package descriptions.

(If you're curious, it was in the description for the deb package for KFileReplace that I noticed this phrase. apt-cache displayed the message and I couldn't help but think what an odd thing that was. The app itself it pretty sweet, though. Some rough UI edges (like the edit selected string dialog is a bit of a nightmare) but generally very nice to use.)

Thursday, September 13, 2007

QotD

"I guess online flirtation can be interpreted many ways ... especially if you're delusional" - The Guild

Tuesday, September 11, 2007

why OOXML-as-a-standard is a big deal

Miguel feels that it's not a big deal if OOXML becomes an officially blessed international standard.

I beg to differ: our technology choices have fundamental social implications that we would be negligent to ignore.

(Does linking to two slashdot comments make this my lamest blog entry ever or what? ;)

me vs girish: clearbutton battles

A while ago i added little clear buttons inside of single-line text edits (QLineEdit/KLineEdit) in kdelibs. I liked it because it gets rid of those fugly and usability-wise pretty bad external clear buttons that only operate on another (poorly associated, visually) widget. I'd seen similar things elsewhere and liked the idea. so in it went.

But not before i could make it so that the text didn't go underneath the embedded clear button. That meant styling the line edit when there was a clear button showing with a stylesheet. This is where Girish entered the picture, for he was working on Qt widget styling using CSS stylesheets. You can find a bunch of examples of just how powerful this is on his Qt dev blog.

Well, eventually he decided to do a Qt-only version of what I did and he was good enough to even provide screenshots, unlike lazy me with this blog entry. But Girish just had to one up me: " The clear button appears only when the line edit has text," he said in his blog entry.

Bring it.

It was discovered that a bug in the stylesheet support screwed up the "no text beneath the button" trick when the line edit was embedded in a drop down or other widget. I figured pointing this out to Girish would be good revenge. ;) By the time I got to show it to him in person at the Oslo offices (I did email him about it previously, though) he had already fixed it. Doh! Stupid productive, responsive Trolls!

Like two swordsmen dueling for the honor of the fair maiden, the ball was once again in my court. (I love how that sentence makes no sense whatsoever.) Well, take this Girish:

The KDE version of the clear-button-in-the-lineedit (otherwise known as the "Seigo Special") now not only shows only when there is text, but it fades gracefully in and out using the full power of the QTimeLine battle-station and Arthur's coolio painting support which made it stupidly trivial. I also dropped using a full on QLabel or QToolButton and whipped up a tiny little QWidget that Does The Deed With Fewer Resources(tm).

For now, I stand atop this ridiculous pixel pushing perfection process mountain and look down upon you in the valleys below, Girish! How will you answer the challenge?

Boo-yah!

p.s. Girish, like virtually all the Trolls is wicked cool (that's an official Boston term), with the possible exception of Andreas-of-QGV. For you see, Andreas is wicked cool with a cherry on top, but then everyone knows that already. ;)

Sunday, September 09, 2007

a saturday for pins and needles

I once cut the tip of my left thumb off and decided to reattach it myself. It was only the top half centemeter or so, the nail was still there and it was a perfectly clean cut, so it seemed doable. It worked out well. Even the sensation in the tip of my thumb eventually came back (took a couple months). The second week of healing was pretty annoying, however, as it tingled constantly as if it were in a perpetual state of becoming un-numb.

(selah)

I arranged for a Saturday, today, without attachments.

It ended up being used for something other than what I orginally intended, and it was exactly what I needed.

(selah)

I've been struggling with a set of personal questions for the last year or so revolving around how to invest limited internal resources. They had always seemed infinite (yeah, yeah, it's absurd, I know) since I'd always had excess left over at the end of the day. Each year since my re-attainment of general function at the end of my teen years, I've tried taking on a little more and a little more. It was really enjoyable to find out just what was possible when I tried. Well, recently I seem to have reached the extent of how many things I can juggle with internally at once. Which is really cool, but also distressing as it turns out I have no mechanisms of coping with that built up. It's like someone who is really, really out of shape climbing stairs for the first time ever. Not pretty.

I've been trying to build an internal storyline over the last 6 months or so for this, during which time things have been anything but straightforward in my life (which is to say, life doesn't dole out the breaks very often). I've been driven to absolute distraction the last month or so as a set of thoughts have been coming together. My head has been tingling as if it were in a constant state of becoming un-numb.

Today, with time alone and some fairly major personal decisions finally being made, I seem to have regained the feeling in the tip of my mind.

(selah)

triaging playground

Had a good irc meeting today with the plasma crew. We spent the bulk of the meeting going through all the code in playground and deciding where it all goes. Moving that code all around will make the next beta a lot more interesting for users.

I think the new krunner, welcome applet and completing the outstanding 4.0 features in the coming weeks in time for the RCs will be a reason to party; and that will be the end of the start for this little project.

As a side note, we need a better gobby, which we used during the meeting today. Gobby is really cool and useful, but lack of features like undo (at least in the version I have access to) and not having more advanced text editor features make it fall far below what is possible. I promise to fall in love with whomever comes up with a proper set of collaborative editing features for katepart and koffice apps. Even if gobby got a proper text editor I'd be happy; I really don't care which toolkit it is written in, though obviously being able to use the apps I already do would be a plus. Now, I know there were SoC projects for these things this year, but I'm not sure what the outcome was for them. I do know that I love collaborative editing, something I had to be convinced of by actually trying it; it added way more to the process than I expected when I first tried it in a group. In fact, it's the only thing I really like about about Writely and the only reason I put up with Gobby's insane lack of usefulness as a text editor. =)

Tuesday, September 04, 2007

needed: kde speaker in toronto

I was going to head out for the ontario linux fest on oct 13th, but now that i'm going to munich for the week that just isn't possible.

If you are in the toronto area or can make it there to speak about kde, please contact me ASAP.

open xml loses

You wouldn't know it from reading Microsoft's press release, but it appears that even they have realized that "open" xml has not made it through this round of ISO certification. the door is not completely closed on the matter yet, but this is a pretty big win for free and truly open file formats. Congrats to everyone who worked on this, and a big huge "you immoral asshats, this is why people dislike you" to Microsoft for rigging votes around the world. I hope the ISO learns from this set of events (though i'm not particularly holding my breath on that one).

With a global community made aware of the issues, contributing to the solutions and communicating broadly even the most competitive and powerful of companies are finding it difficult to tread on our freedom and get the world to buy into their lies.

To everyone who supported "open" xml in the free / open source community (unfortunately there were some, including some fairly well known people), I really urge you to seriously think about your position on this matter. the name "open xml" is a lie because it isn't open (there have been more than enough highly technical articles written debunking that issue thoroughly), it's a danger to true file format standardization efforts (e.g. ODF) and an unnecessary complication for office apps in general. We can win this one in the long haul and move everyone to ODF, but it takes patience and determination. It also means adopting the long term view rather than the short term myopia that support of "open" xml represents. Microsoft has gone this route (non-binary formats, standardization, etc) specifically because of pressure from the free software community. we are starting to win this competition and they know it. The question is whether they will capitulate and join us or whether they can subvert the processes and communities just enough to keep in their old, anti-competitive and unethical ways upon which the bulk of their business model is currently based. By changing the rules so others have to either change or, by their own choices, exit the game we can make this industry more rewarding, more ethical and a better citizen in our world.

To everyone who spent days, weeks and months of their lives exposing "open" xml for what it truly is: congratulations, thank you and you have my deepest respect and gratitude. People from around and even outside the community rallied to make this happen. I'm also proud of how the koffice developers got involved and joined arms with many others in the software and standardization world. You people rock =)

and i made it.

at p.'s school orientation day last week i chatted with some of the other parents. one of them used to live in hawaii and i asked where (honolulu) and then mentioned that i lived about 20 mins away from where she did for about 8 years. she asked where, and when i told her "nanakuli" she got a surprised look on her face and asked, "what were you doing there?"

"growing up and going to school, mostly..." i said, "grade 7-12."

"wow. and you actually made it through it!" she said extending a hand in a congratulatory hand shake.

sometimes it's fun(ny) being from a regionally infamous place. go hawks, black and gold! heh.

(for those who have never been to nanakuli, it's a little town on the leeward side of oahu that has a reputation for being a bit .. rough at times. and particularly not the easiest place for a little foreign white boy to get along in. it is a beautiful location, however, and the people are capable of great acts of friendship, kindness, artistry and fun; something they prove through their actions often enough, ime. unfortunately it also has its troubles and struggles, many of which are not easily solved.)

update: i forgot to add an important bit of contextual information: the school p. is going to is a private school (public school to you backwards brits ;) located in a well-to-do suburbs and which, like most of this city, is predominantly white. i found that just made the mother's shock and comments even more funny. =)