The people behind the software in Debian. (List of feeds).
If you prefer, there are also jwz-free and rms-free versions, as well as a lowvolume feed that omits both posters.
A new feature release of the KDE Software Compilation has been made, bringing us to version 4.4.0. What a development cycle it has been! I won't bother recapping all the progress made, as you can read all about it in the above links.
With Tokamak 4 coming up in just ten
days and the new KDE website up on
its feet but still getting lots of love, attention and work done on
it, it is certainly a busy time for us all.Things are not going to slow down one bit, though.

There are the predictable events, such as "we will be working on the first 4.4 patch level release as well as features and improvements for 4.5 which will appear this summer". There are also the to-be-expected happenings, such as the odd kerfuffle about this or that (today's one was about KAuth and what it means for Linux distributions such as Slackware). There's more afoot this week than just the usual suspects, though ..
For instance, today I'm working on tagging a first alpha release of Plasmate, the Plasma add-on creation tool, as part of an effort to move Plasmate to a regular release cycle with the ultimate aim of it being in fighting form for 4.5.
I'm also hearing rumblings of at least one very cool KDE event coming up in April that I'll be keeping my eyes on. It's exciting to see the number of quality KDE events growing around the world!
The most exciting thing for me today, however, is an announcement I'm working on that will be going out at the end of this week on February 12th. What is it about? We'll have to wait for Friday to find out for sure, but I do have something related to that announcement that I'd like to share with you right now:
KDE SC 4.4 comes with vastly improved and expanded Javascript Plasmoid support, and I'd like to personally introduce them to you. I will therefore be hosting open training sessions on both Friday and Saturday at 18:00 UTC on irc.freenode.net in #plasma-training. I will demonstrate, step-by-step and with examples how to write Javascript Plasmoids from the very basics on up. All you need to do is bring your enthusiasm, a text editor, a web browser, an irc client and hopefully a KDE 4.4 install to test your creations out with. Each session will last 2 hours, including an open Q&A at the end and you will walk away having written your first Javascript Plasmoids and I will be repeating the material on each day to give you the greatest number of opportunities to catch it. I hope to see you all there!
A few minutes ago I read Bill Whittle sneering at “mass-produced members of bused-in wiccan nihilist anarcho-Maoist lesbian eco-weenie anti-war protestors”. I tried to leave a comment there; it went into moderation, and I lost my original in the browser shuffle. I can’t guarantee that the following is a word-for-word copy, but it’s pretty close.
Hey! Hey! Don’t lump all Wiccans in with the left-wing rent-a-mob crowd. It’s true that some our more vocal people fit the stereotype, especially in the Dianic wing of the movement. But there are lots of quieter Wiccans who are gun-toting libertarians like me; for us, the rejection of monotheism and “faith” is continuous with the rejection of One-True-Wayism in all its forms. Thomas Jefferson might say of us that we have sworn on the altars of our gods eternal hostility towards every form of tyranny over the mind of man.
Wiccans are potential allies for the Tea Party movement, as long as it remembers that America was founded on religious dissent and doesn’t fall into an unholy alliance with bigoted religious conservatives as the GOP did. That choice didn’t play well with the general population of independents and moderates, either; heed the lesson.
Here’s the disturbing part. There are now two comments on that post, and mine isn’t either of them – suggesting that Bill Whittle did a moderation pass and shitcanned it. If true, that’s deeply disappointing news about both Bill Whittle and the movement in which he claims to be a principal figure. It puts some point on the left-liberal accusation that Tea Partiers are a bunch of reactionary know-nothings wearing fiscal conservatism as mere camouflage.
Mr. Whittle, I’m making a noise about this because I think your attitude about Wiccans — whatever it actually is — is a good proxy for your movement’s ability to see beyond tired stereotypes and fratricidal culture wars. Are limited government and individual liberty your actual goals? If so, can you recognize potential allies from wherever they hail?
Much — including the future of the Tea Party movement, and perhaps the future of our country — may turn on your answer.
UPDATE: It now appears that the apparent disappearance of my comment was due to technical difficulties. I apologize to Bill Whittle for entertaining dark suspicions of him personally, and note that he disclaims being a spokesp[erson for the movement. The larger question about the willingness of the Tea Part movement to (sorry for the PC phrase…) embrace diversity, is still open.
We’re in San Francisco for a month so that my wife Stephanie can get knee surgery from a really, really good surgeon.
Since I’m in his clinic every day, this morning I asked him to take a look at a nagging pain in my knees.
While he was examining my left knee, it made a “clunk” sound.
“Huh,” he said.
“Yeah, it always does that,” I said, “what is that?”
“It’s a clunk.”
He then gave me a really good explanation of where the clunk comes from, which I had never understood in 20 years of clunking. (Apparently there’s a fat pad underneath the knee cap which the knee cap rolls over, and if the fat pad is too big, the knee cap makes a sound when it slips over the hump and clunks into place.)
And then he pulled out his medical recorder and started dictating. “Thirty-two year old male presenting with medial pain and clunk in left knee.”
I thought it was pretty funny, the way he kept saying “clunk,” but when I got home I googled and it turns out that patellar clunk syndrome is an actual medical term.
So then we go to see the physical therapist, and the surgeon tells him what’s up with my knees, and I lie on the table and wait for the therapist to get some supplies.
And after a few minutes he walks into the room with a plunger. Like this:
Which he situates over my knee so as to form a seal, and
starts pumping up and down, as if to clear an American toilet
(German toilets never clog. Seriously, I have never seen a plunger
in a German bathroom).
So this whole knee-plunging frenzy, right on the heels of all that talk about clunking, was in my view pretty comical and I was enjoying it all as a piece of art well worth the physical therapy fee, as long as it didn’t do any actual damage.
That is, until the plunger succeeded in detaching the fat pad from underneath my patella and my knees suddenly felt better than they had felt in years.
The clunk is still there, but I’m looking forward to my next therapy session with these crazy knee geniuses.
I took a plunger home with me, too.
Check the appropriate box. Do you or your organization directly or indirectly advocate, advise, teach or practice the duty or necessity of controlling, seizing or overthrowing the government of the United States, the state of South Carolina or any political division thereof?
[ ] YES [ ] NOIf yes, please outline the fundamental beliefs. If applicable, attach a copy of the bylaws or minutes of meetings from the last year.
Top US military officials spoke in favor of allowing gays to serve in the military.
I hope this gratuitous prejudice will be eliminated. The change will set an example for eliminating prejudice in other circles, and will give straight soldiers a chance to get to know gays and become comfortable with them.
However, the most important change to make in the US military is to make it start serving the country instead of serving for the conquest and subjection of other countries.
British Atheists have objected to a judge's decision to give a convicted man a lesser sentence because he is religious.
The UK is using drone missiles increasingly in Afghanistan.
Drones could be less dangerous to civilians than manned airplanes, since the drone offers the chance to wait and watch for a longer time.
That doesn't imply that the drone attacks are not killing civilians. If we want to know whether an army's operations have killed civilians, the army's PR officers are the last ones in the world we should trust. What do others say about US and UK drone attacks in Afghanistan?
A "run command" app faces a challenge with this sort of design: in usage, one expects the interface to appear "instantly" when called up and remain responsive during use. This isn't the web where pages can take significant fractions of a second without anyone caring or where we can stack dozens/hundreds/thousands of servers behind your queries to offer mindcrushing amounts of compute power to chew through whatever gets thrown at it. No, we have to be fast with limited resources while looking in all kinds of places. Basically, KRunner has be as responsive as the KDE 3 minicli while doing orders of magnitude more processing. Interesting problem.
To address the problem we made the query plugins, or "runners", multi-threaded even when we only had 2 of them. This ended up involving lots of queue management, but Threadweaver made that as easy as possible. We got rid of many locks as development went on, improving interactivity, and eventually ended up introducing the concept of a query "session". In KRunner, a session starts when the user interface is shown and ends when it is hidden. Runners are given the opportunity to set what they need during searching up at that point. Later, when the session is over, they can tear down all of that allowing us to conserve resources and not wake up KRunner every time a window twitches. This also helped speed up querying in some cases as it meant moving initialization routines that were being run in some cases on every keystroke to once-per-session.
The prep and teardown for sessions is not multithreaded, however. Or rather, the signals that a session is about to begin and end are not. This gives runners some comforting guarantees as to their ability to manipulate pixmaps or x.org information (things that can not be safely done from outside the main application thread) as well as to the order of events: prep, querying, teardown is a guaranteed order.
The new issue that query sessions brought was that some runners have grown time consuming code that is run during session preparation. There were a handful of runners that were taking 20-80 milliseconds each every time the user interface was to be shown. That may not seem like much, but it quickly added up to over 150ms on my dual core 2Ghz laptop which is very noticeable to the human eye. Since this code was running in the main application thread, popping up the KRunner window felt really slow. The question was: which runners were responsible for this and why? Some profiling was in order!
So I popped a small three-line patch into libplasma that measured how long each runner was taking during session preparation. The problem plugins were immediately highlighted. So I went through each of those and did some profiling to see where they were spending their time and pushed code around until the prep time was more reasonable. Most of the work was taking synchronous operations and making them asynchronous. At this point, none of the runners on my system take more than 1-2 milliseconds to prep, which means instead of waiting 0.15 seconds for something to happen after I press Alt+F2, it appears almost immediately. The difference is very noticeable and very pleasing.
What's interesting is that, with one exception, none of the runners are doing any less processing. In fact, in a couple cases they are doing a little more (though nothing to write home about), but the result is something that feels much smoother and more pleasant to use.
I backported the results after testing to the KDE SC 4.4 branch. I don't think the improvements will make it into 4.4.0 (it's already tagged and being packaged) but should be in the 4.4.1 release at the latest. So if you have been finding KRunner sluggish to appear and build from sources, try updating kdebase/workspace/plasma/generic/runners/ and kdeplasma-addons/runners/ and see if things improve after a restart of KRunner.
I was intrigued to read Greg Kroah-Hartman's analysis of what's gone wrong with the Android fork of Linux, and the discussion that followed on lwn.net. Like Greg, I am hopeful that the Android platform has a future that will work closely with upstream developers. I also have my own agenda: I believe Android/Linux is the closest thing we have to a viable fully FaiF phone operating system platform to take on the proprietary alternatives like the BlackBerry and the iPhone.
I believe Greg's comments hint at a “new era” problem that the FLOSS community hasn't yet learned to solve. In the “old days”, we had only big proprietary companies like Apple and Microsoft that had little interest in ever touching copylefted software. They didn't want to make improvements and share them. Back then (and today too) they prefer to consume all the permissively licensed Free Software they can, and release/maintain proprietary forks for years.
I'm often critical of Google, but I must admit Google is (at least sometimes) not afraid of dumping code on a regular basis to the public, at least when it behooves them to do it0. A source-available Android/Linux helps Google, because Google executives know the profit can be found in pushing proprietary user-space Android application programs that link to Google's advertising. They don't want to fight with Apple or Research in Motion to get their ads onto those platforms; they'll instead use Free Software to shift the underlying platform.
So, in this case, the interests of software freedom align a bit with Google's for-profit motive. We want a fully FaiF phone operating system, that also has a vibrant group of Free Software applications for that operating system. While Google doesn't care a bit about Free Software applications on the phone, they need a readily available phone operating system so that many hardware phone manufacturers will adopt it. The FLOSS community and Google thus can work together here, in much the same way various companies have always helped improve GNU/Linux on the desktop because they thought it would foil their competitors (i.e., Microsoft and Apple).
Yet, the problematic spot for FLOSS developers is Google doesn't actually need our development help. Sure, Google needs the FLOSS licenses we developed, and they need to get access to the upstream. But they have that by default; all that knowledge and code is public. Meanwhile, they can easily afford to have their engineers maintain Android's Linux fork indefinitely, and can more or less ignore Greg's suggestions for shepherding the code upstream. A small company with limited resources would have to listen to Greg, lest the endeavor run out of steam. But Google has plenty of steam.
We're thus left appealing to Google's sense of decency, goodwill, collaboration and other software freedom principles that don't necessarily make an impact on their business. This can be a losing battle when communicating with a for-profit company (particularly a publicly traded one). They don't have any self-interest nor for-profit reason to work with upstream; they can hire as many good Linux hackers as they need to keep their fork going.
This new era problem is actually harder than the old problem. In other words, I can't simply write an anti-Google blog post here like I'd write an anti-Apple one. Google is releasing their changes, making them available. They even have a public git repository for (at least) the HTC Dream platform. True, I can and do criticize both Google and HTC for making some hardware interface libraries1 proprietary, but that makes them akin to NVidia, not Microsoft and Apple.
I don't have an answer for this problem; I suggest only that our
community get serious about volunteer development and improvement
of Android/Linux. When Free Software started, we needed people to
spend their nights and weekends writing Free Software because there
weren't any companies and for-profit business models to pay them
yet. The community even donated to Free Software charitable
non-profits to sponsor development that served the public. The need
for that hasn't diminished; it's actually increased. Now,
there is more code than ever available under FaiF licenses, but
even more limited not-for-profit community resources to shepherd
that code in a community-oriented direction. For-profit employers
are beginning to control the destiny of more community developers,
and this will lead to more scenarios like the one Greg describes.
We need people to step forward and say: I want to do what's
right with this code for this particular userbase, not what's right
for one company. I hope someone will see the value in this
community-directed type of development and fund it, but for the
meantime, it has my nights and weekends
. Just about every
famous FLOSS hacker today started with that attitude. We need a bit
more of that to go around.
(I don't think I can end a blog post on this topic without giving a little bit of kudos to a company whom I rarely agree with: Novell. As near as I can tell, despite the many negative things Novell does, they have created a position for Greg that allows him to do what's right for Linux with what (appears to be) minimal interference. They deserve credit for this, and I think more companies that benefit from FLOSS should create more positions like this. Or, even better, create such positions through non-profit intermediaries, as the companies that fund Linux Foundation do for Linus Torvalds.)
0Compare this to Apple, which is so allergic to copyleft licenses that they will do bizarre things that are clearly against their own interest and more or less a waste of time merely to avoid GPL'd codebases.
1Updated: I
originally wrote drivers
here, but Greg
pointed out that there aren't actually Linux drivers that are
proprietary. I am not sure what to call
these various .so files which are clearly designed to interface
with the HTC hardware in some way, so I just called them
hardware interface libraries
.
Congress set up a panel to monitor how "anti-terror" measures affect civil liberties, but Obama has not bothered to fill it. Since he supports torture, imprisonment without trial, and even assassination, and since he secretly authorizes illegal surveillance, perhaps he thinks this panel could only annoy him.
Many poor families in the UK have been lured into a cycle of inescapable debt. The measures that the government proposes are inadequate either to solve the present problem or to prevent recurrence. Poor people's debts to predatory lenders should simply be canceled. That will help the poor, and discourage predatory lending in the future.
I distribute zero-dollar bills as a joke, but zero-rupee notes in India are a serious way of fighting corruption.
US citizens: sign this petition to redirect government funding from coal and nuclear electricity into renewable electricity and efficiency. The key point is that nuclear power is so inefficient that no one will build it without a tremendous subsidy. If we put the same funds into renewable power and energy efficiency, we will reduce emissions more, and with less danger and less risk. [More info on the bad proposal] | [More info on the issue]
European citizens: call your MEP and say, "Support the civil liberties committee: don't hand over all our bank data to the US." Note how the US threatens "bad relations", just as China threatens "bad relations" when world leaders meet with the Dalai Lama. Both of those countries deserve, in response, to get the finger. The US must learn to respect people's rights.
I am sure European countries will cooperate on those occasions when the US presents solid grounds to investigate someone.
Obama claims the power to order the assassination of US citizens, and the US is now trying to assassinate one, apparently for exercizing his constitutional rights to freedom of speech.
Medical evidence for danger from cell phone microwaves is quite strong, if you throw out the industry-funded studies.
I’ve been meaning to experiment with Pandora Radio for a while, and finally got to it today. It’s based on something called the “Music Genome Project” that categorizes music by how it expresses a large number of “genes” — traits that describe features like song structure, instrumentation, genre influences, and so forth. According to Wikipedia these are used to construct a vector, and similarity between tunes is measured by a simple distance function. You give Pandora a seed artist; it then apparently random-walks you through tunes and artists similar to that artist’s style.
Dang…it works pretty well. I seeded it with “Liquid Tension Experiment”, a John Petrucci side project that has produced one of my favorite albums of all time, Liquid Tension II. I’m now on about the twentieth track it’s chosen for me and it hasn’t picked a dud yet. Artists: Jadia, Citriniti, Vinnie Moore, Joe Satriani, Dream Theater, Flower Kings, Arena, Stuart Hamm, Jordan Rudess, Brand X, Annihilator, Derek Sherinian, Crime in Choir, Firewind, Greg Howe, Planet X. If you’ve never heard of these groups…I’m not a bit surprised. I only knew of about half of them myself — which is wonderful. My tastes are pretty recherché; they center in a poorly mapped no-man’s land between prog-rock, metal, and jazz. Finding more stuff I really like has not been easy in the past.
But even more interesting is that if you ask Pandora why it chose a track for you, it will list the genes that were critical for its selection. Here are some that repeatedly show up for me: demanding instrumental part writing, great musicianship, intricate melodic structure, hard rock roots, jazz influences, instrumental arrangement, minor key tonality, variable tempo and time signatures, chromatic harmonic structure, electric guitar solo, mixed electric/acoustic instrumentation.
Yup, they’ve got my tastes nailed with pinpoint accuracy. Which is especially interesting since I’m not completely at home in any of the genres that border on the stuff I like. I want more intelligence than metal usually offers, less obsessive self-regard than jazz is prone to, and more adrenal vigor than prog bands usually deliver. By analyzing music to the level of “genes”, much finer-grained than genres, Pandora is able to represent this pretty well.
The only thing missing is that I’d like to be able to tweak my preference vector directly rather than by approving/disapproving tracks. I’d like to be able to tell it that I’m also interested in world-music influences and anything with polyrhythms in it, and to turn my preferences for “instrumental arrangement” and “demanding instrumental part writing” up to max. Oh yeah!
But even without that, I’m sold. Pandora is a special boon for people like me whose tastes don’t fit the music industry’s marketing categories well. I’ll cheerfully listen to their commercials, because the payoff is that they discover stuff for me very, very effectively.
Stupid now generates correct (single-block, still) SHA-256 code in C. It has functions. We’re starting to wonder about adding structures, and the semantics of arrays – particularly whether an array passed for output can also be used for input (or vice versa). I’m inclining towards making that illegal – if you want a function that, say, fills in every second entry in an array, then you’d need to pass in the array to be filled in, and return a second array which would be the result. The function would have to copy the input array to the output before filling in the new values (or copy the parts it isn’t going to fill in). It seems to me this makes analysis simpler, but can easily be optimised by smart compilers, too.
I guess its time we started writing some of this down! I’d also like to add generators for some common scripting languages, like Perl, Python and PHP.
The thing I’m a little scared of is that eventually, if I’m going to take this seriously, we’re going to need a bignum implementation – not too hard to do if you don’t care about efficiency, I guess.
