Archive for June, 2010

Last minute preparations

Wednesday, June 30th, 2010

The old adage "if it ain’t broke, don’t fix it" applies, but nonetheless I felt the need to fix my laptop. It was cluttered with FSFE materials that I shouldn’t be carrying around, for one thing, and the Kubuntu 9.04 on it was decidedly long in the tooth. As prepwork for Akademy (o harbinger of doom!) I decided to clean it up: one Linux install, one OpenSolaris. This is an MSI 620GX laptop, which is a Centrino 2 based machine. Hardly exotic stuff.

For social reasons — as in, Sebas had recently written glowingly about it — I started off with OpenSUSE 11.2. Installs nicely (but with GPT by default, it seems?) and delivers a good-looking KDE4 desktop, plenty of apps. Compositing was enabled (GeForce9600M GT). Setting up a devel environment was a mild challenge. For various projects I use svn, git, mercurial and darcs, so getting those is a first priority. Darcs was a little harder to get, but there is a package available, which I downloaded and installed manually. It was in one of the repositories, but I didn’t feel like setting that up for one package.

It’s when I tried to suspend to RAM or to disk that issues started showing up. Suspend to RAM fails, saying that the machine is unknown and not whitelisted. s2ram -f puts the machine to sleep, but it doesn’t resume. Similarly, hibernate (suspend to disk) works but doesn’t resume. I still need to send in the info for that, but after a half hour of fiddling with it — and knowing that Kubuntu 9.04 could suspend and resume on the same laptop, I gave up. Since I’m not particularly attached to whatever Linux I’m using, time to try something else.

Kubuntu 10.04 is what I’m running on my desktop — which has ATI graphics — and I appreciate that it starts up really quickly, etc. Vaguely annoyed at the microblogging thing it puts on the desktop by default, but that’s terribly minor. Installing all the dev tools was easy on the desktop. On the laptop, though, I didn’t even get that far. The nouveau driver included on the install CD doesn’t like the video card — and so the installation process bails out to a text screen. Folks in #kubuntu were helpful and ready with some suggestions, like nomodeset and using the vesa driver (hung the machine on boot). Running X -configure from the text login hung the machine too.

Fedora 13 up next. No compositing with the nouveau that is included — that’s in the mesa-experimental package, it turns out. Devel environment is easy to get, with all the version control systems one install command away. Of course, the first thing I tried this time was suspend and hibernate: both flawless. External monitor — important for presentations at Akademy — pops up a dialog with simple configuration. There’s one third-party application that I use that requires 32-bit libraries. Getting those was straightforward after finding out the package names with "yum provides ‘*/libraryname’". I see that they’ve also customized Konversation to go to multiple useful channels, rather that just the distro-channel.

So, it seems I’ll be presenting at Akademy from a Fedora-based laptop (Rex, Kevin, a beer is on me). All I need now is the latest Air-themed LaTeX templates and I’m good to go.

One thing I’m left with is why three different Linux distro’s, all relatively recent, behave so differently on a fairly conventional platform like this one. The technology is there; it was even there last year. Where do these regressions come from?

Upcoming Conferences

Wednesday, June 23rd, 2010

Two upcoming (in the fall, that is) conferences of note whose calls for papers are still open.

FSCONS: the Call for Papers is open until June 30th. FSCONS is a tremendously fun conference because it’s not just software technology, but Free Culture and other things. That means that there is more scope for learning (well, this is important for me) things outside of software. The compressed earth brick machine made a lasting impression on me last year, for instance.

NLUUG fall conference: the topic this (half) year is Security in all its aspects. You could talk about security from a systems administration perspective (for KDE, for instance, managing trust in a global distributed project with only occasional face-to-face contacts) or programmatically (for KDE again: what to do with Plasmoids and mitigating whatever security risks they might bring). This CfP is open until July 12th.

Free(BSD) Graphics

Wednesday, June 23rd, 2010

Sebas wrote about Free and fast graphics a while back, which has led me to try the same on FreeBSD. I have a similar setup, with two monitors attached to a Radeon 4350. I’ve written about the 4350 on FreeBSD before. The minor challenge this time around was to get compositing working with a dual-head setup and to get the dual-head setup to show up on startup. Perhaps there’s a KDE-ish way of doing this, but I ended up setting up a xorg.conf with the desired layout. Without an xorg.conf, I’d get nicely mirrored displays, which I could manipulate sensibly with xrandr, but I couldn’t properly place the one monitor beside the other — xrandr kept complaining that my maximum screen size was 1650×1650.

So, manual configuration it is. I’m using X.Org X Server 1.7.5, Release Date: 2010-02-16, built on FreeBSD 8-STABLE, amd64, using the radeon driver v.6.13.0.

Thanks to the much improved auto-configuration in Xorg, the configuration file doesn’t have to be very long. The bits needed were a Device section, two Monitor sections, and a Screen section, like so:

Section "Device"
Driver "radeon"
Option "Monitor-DVI-0" "Monitor206"
Option "Monitor-VGA-0" "Monitor430"

(I’ve left out the Identifier and BusID lines, among others — they’re not relevant; I tried the radeonhd driver, but that didn’t yield quick results). The important thing here is the explicit identification of monitor identifiers with XRandR outputs — I have a Samsung 206S monitor connected to the DVI output, for instance. From here, we go to the two monitor sections. I’ve set preferred modes on both for their native resolution. When I didn’t, I got them both at the lowest common resolution, 1280×1024, which was ugly as sin.

Section "Monitor"
Identifier "Monitor206"
Option "Primary" "true"
Option "PreferredMode" "1680x1050"
Section "Monitor"
Identifier "Monitor430"
Option "RightOf" "Monitor206"
Option "PreferredMode" "1280x1024"

You can see that the 206S is my preferred monitor — this sets it up as the main monitor, which means that the KDE startup thing shows up there and most notifications do as well. The other monitor — a six year old Iiyama E430 — is off to the right, and houses Konversation and Akregator and other non-essential attention-grabbers. The difference in color reproduction between the two is striking, so much so that I give the second monitor a very different background just so I notice the color difference less.

The last bit is setting up the Screen for X. Here I’ve left out Identifier, Device, Default depth; the important bits seem to be the monitor and the Display, which define a primary monitor (again?) and the side of the desktop. In this case, the desktop size is the sum of the horizontal widths and the greater of the heights.

Section "Screen"
Monitor "Monitor206"
SubSection "Display"
Depth 24
Virtual 2960 1050

Unlike Sebas, I don’t seem to have OpenGL compositing in this setup. That could be because of the card, the software — Sebas points out that it’s a little finicky with versions of kernel and video drivers — or something else. Switching to XRender gets me something that’s good enough.

Looking at Konversation

Tuesday, June 22nd, 2010

Hunh, so I fired up Konversation on FreeBSD this weekend (after deciding that hanging around via irssi in screen was no longer something I wanted to do) and after three minutes had a list of usage questions a mile long. Jos Poortvliet wrote a little about the last mile and polish last week. That kind of polish applies to Konvi as well. Keep in mind that comments coming from a new user (like me) may not be applicable to old-time users. This applies in particular with regard to moving UI elements around: for new users it might make them easier to find, for old users it means horrifying surprise when something isn’t in the old, learned, location. Anyway, here’s a list:

  • Why is server list under File, while identities is under Settings? Why are neither of these configurable through the "Configure Konversation" menu item under Settings?
  • Why are channel settings under the Window menu?
  • In the server list dialog, double-clicking a network or server connects to it; in the identities dialog it edits the identity. My comparison here is KMail, where identities and servers are both edited by double click.
  • In the server list, when I edit a server within a network (as opposed to editing the network itself) why does the network editing dialog pop up and then the server edit dialog on top of that? Why does only the server edit dialog go away when I click OK in that case?
  • In the network editing dialog, if I double-click a server, nothing happens. Inconsistent again. In this dialog, too, the "Add" button is text and the "Delete" button is a big red minus sign; I would expect either add and delete, or + and -.
  • The "duplicate identity" button in the identities management dialog looks disabled, even when it isn’t, because the graphic is so grey-on-grey.
  • Although on first startup the server selection dialog comes up so you can pick or configure an IRC connection, it’s not all that clear that you can also configure the user identity — that goes through edting a network, then clicking "edit" next to the identity selection dropdown. On the whole I think I’d prefer a tiny wizard (two steps: pick an IRC network, and pick a username and nick — possibly integrated with the addressbook so ideally you just click "next" twice to connect to the default network with the default addressbook identity).

These are issues that you really only run into the first time you run Konvi — after that, you rarely see these windows anyway. From there on it’s a wonderful IRC client.

Of course, since it’s in git (on now!) I may as well see if I can write some patches for these issues, if only as practice in using git.

Akademy bits and pieces

Tuesday, June 22nd, 2010


As Paul and Aaron and Lydia have pointed out, Akademy is approaching. I’ll be flying out to Tampere next week. Gotta remember to pick up some good souvenirs for the kids this time around. My previous visit I ended up browsing the selection at Helsinki airport and thinking "karhu sausages? let’s not."

So, Akademy. It’s the yearly conference of the KDE community, including translators, users, enthusiasts, coders, documentors, tormentors (e.g. bug reporters) and fluffy bunnies. Everyone is welcome to talk about, plan and work on the future of KDE software. The conference lasts a week, which can be divided roughly into three phases:

Conference Proper: the first two days of the whole affair are the conference proper, with an organized set of talks arranged in two tracks. Here KDE contributors and technologists present 45-minute talks on various topics. 45 minutes gives us the time to delve fairly deep; it’s also an opportunity to present that state of the art in a format that’s different from blogging, mailing, and whatnot. The conference gives you the opportunity to catch up on everything in the KDE world in just a short time. There’s actually surprisingly many community and social topics, too, showing how our world is expanding. We hope that the conference programme inspires productivity the rest of the week and brings unlikely people together.

Annual General Meeting: This is the bit that we love to snicker about, but you might claim that this is the most important part. It is, unfortunately, also the part that isn’t open to the public because it is the AGM of KDE e.V. The e.V. is the association that supports KDE development — it is the entity that does the kind of stuff for which you need an entity (such as owning servers and organizing things) which don’t fit well with individual contributors to the project. In the past couple of years we’ve gotten much better at running the AGM, so it is no longer the kind of epic meeting that we snicker about. Instead, it’s a fairly streamlined session, although German law requires us to do a bunch of administration that eats up plenty of time. By contrast, the NLUUG AGM was done in 45 minutes this year (but it was rather rushed, at that). This year we’re continuing to experiment with mechanisms to streamline the meeting: two entrances for attendee registration, a seating plan in rows of ten, clear scheduling.

Hackweek: After the two main scheduled parts, there’s a whole week of variegated events. Aaron has blogged about Plasma events. There’s sure to be UPnP and Edu and all kinds of stuff going on. This part of the schedule is in a Wiki, so you can still add events there. I’ll be looking in at the dashboard and closs-platform building, the e.V. BoF, translations, Symbian, maybe some git bits. In between, hacking with whomever I run into. For me the hackweek combines hectic talking with people and sitting still and getting some of the hacking done that I always want to get done but never have time for at home. I’ll probably be spending quite some time on and the OpenSolaris packages again.

Special Events: There’s a special day trip on Thursday and there may be more special theme days introduced into the schedule as we get closer to the conference launch date.

So all in all, plenty to do. Having everyone there in one place (well, presumably scattered across the city on lawns and at bars but still hard at work) means that it’s the most efficient time of the year for hashing out plans for the next.

IFOSSLR #3 is out

Tuesday, June 22nd, 2010

The IFOSSLR — the International Free and Open Source Software Law Review — has published issue #3. The IFOSSLR is the only journal dedicated exclusively to Free Software legal issues. While I was the FTF-Coordinator at the FSFE it was great to see the careful legal thought put into all kinds of issues (from trademarks to license assignment to risk assessment). It’s important to have an understanding of the legal issues around Free Software (both development and deployment) that is business compatible. That’s not to say that the interpretation is adapted to suit the desires of business — no, it means that the understanding is formulated in a way that businesses understand. It’s quite important to state cause and effect or obligations and rights carefully so that businesses understand what to do and how to do it right. After all, most Free Software developers want everyone to play by the rules set out in the license.

Sometimes what’s necessary from a business standpoint isn’t what we’d like from a Free Software perspective, but there’s no basis for real complaint. The licenses say what they say (which is why you should be careful in picking a license!), and with a good understanding of what they actually mean, both developers and business using the fruits of that development can get on with what they do. See for instance this bit on the Freecom Music Pal (I have one of those too; it’s OK for listening to Country 105 but the author is right that it’s rather difficult to hack and the firmware is wretched).

The IFOSSLR is available gratis as a PDF, or you can get a printed copy via LuLu. I’d suggest the latter, because legal journals just look really impressive on paper.

As a collaborative publication, the IFOSSLR is always looking for submissions, too. See the Call for Papers for issue #4 for more information. It’s not just for lawyers — the perspective of community and developers on legal issues is really important. The practice of Free Software licensing is an interesting area because there are four (no, wait, six) parties involved: the drafter of the license, the developer using the license, the user of the software released under that license, the community (c.q. peanut gallery) of users of the license, the lawyers for each of the aforementioned parties and the courts. Getting all that to align in harmony is a big task: a task that requires communication and publication. So throw your thoughts into the fray.

Chairing at Akademy

Monday, June 21st, 2010

So Lydia has posted a call for chairs. This, of course, allows me to launch the "I’m chairing at Akademy" button which is done in the style of Paul Adams. Also, an image search turned up a creepy sheep chair — perhaps we should get one to use for interviews? i is a chair at AkademyChairs do some of the footwork — ensuring that the switch to the speaker’s laptop goes smoothly, optional introductions, managing the time allotted for the talk and dealing with questions. And, if need be, you ask a question yourself. And then you thank the speaker.

When I chair a session, there are certain, shall we say, additional attributes in use. Those fall under "speaker motivational items" or incentives. I’m sure you’ll run into them at the conference.

My own talk is saturday at the end of the day, so if you want to motivate me then here’s your chance (although you will miss Henri’s talk in the process). Don’t hesitate to contact the Akademy folks, Lydia in particular, if you need more details on what a session chair needs to do.

Trying my hand at blogilo

Monday, June 21st, 2010

Now that I’ve finished a portupgrade to KDE SC 4.4.4 on my FreeBSD 8-STABLE desktop machine at home (I use FreeBSD and OpenSolaris on my desktop machines, and I’ll be switching my laptop to OpenSUSE soon) I’ve got a chance to use Blogilo,a KDE-powered offline blogging client. With the OpenSolaris packages, Blogilo crashes on startup, which I haven’t had time to hunt down yet.

If this post goes through, then that means that the client software has worked, and that means that I’m satisfied with it. Which is not to say that I don’t have a barrel of quibbles with it — time to go file a bunch of bug reports, ranging from cut-off error messages to insufficient information in "details" of error messages (why couldn’t it fetch my WordPress blog ID the first time I ran it?) to a missing first-run wizard that forces you to pick a blog source first. Nested tabs. Little things which might make a satisfactory program great.

[ ObLicenseWonk: the website for Blogilo says it's GPLv2, while linking to the text of GPLv3. if I look at what Blogilo links with, I don't see why it can't be GPLv3-or-later; since it links to freetype it really needs to be v3-or-later. ]


Sunday, June 20th, 2010

Whoa, you blink and all of a sudden two weeks have gone by. This is probably related to ongoing health issues (I continue to be very susceptible to every cold germ out there) and by me focusing my attention on two things: the garden (weeding, planting out beets and sweet peas and weeding and watering and hoeing and picking the first strawberries of the season) and fixing up The api site is interesting because there’s so many different scripts involved, some historical, some broken; in addition the mechanisms for generating the dox themselves have changed over the years, so it’s not entirely trivial to generate new 3.5 documentation now. I copied over those archives I had and then tried to get KDE trunk (what will be KDE SC 4.5) up and running again. In the process I discovered a zillion broken links, got distracted by plenty of bad documentation, cursed perl from here to infinity, designed a rewrite of the tools in python and then got distracted by the garden again.

And then it was Father’s day, and I got a book titled “1001 languages”, which gives an overview of the world’s natural languages. Fun stuff, as it dives into grammatical and structural analysis of language groups as well.

Lest I blink again and not get around to blogging again before mid-july, I should add:
I'm going to Akademy
I’ll be giving a talk at Akademy about legal issues: where are we with the FLA, how do we see patents affecting KDE, what about copyright in general and where does KDE live in the landscape of Free Software and the Open Source world.

Remote DVD drives

Tuesday, June 8th, 2010

The EBN server — the real one, the box in a data centre with dual power supplies and lots of other jazz — is about to be re-fitted with OpenSUSE on it. That means swapping some drives around. At least, that assumes that the machine actually supports running OpenSUSE on it. It’s a dual-cpu, dual-core, 8GB Sun X4200M2, which seems like a reasonable target to try, and what I’ll do is swap out the existing disks and swap in the disks from my home test system (which is a one-cpu, dual-core, 4GB system). However, I wanted to try out the new OS on the machine before actually bicycling all the way to the data centre at the uni.

Enter, once again, Sun’s ILOM.

Man, this stuff is great. The console redirector can not only show me the video output (from the 8MB ATI RageXL or whatever bit of cruft is in there) and give me a local console keyboard, but it can also redirect the DVD drive. I consider that pretty amazing. Consider: I have an ISO image of OpenSUSE at home. Right now the server, 9km away, is booting off of that ISO image — I don’t need to have a physical CD, or be near the machine at all. Sure, it’s sucking up all the bandwidth on my DSL to transfer blocks from the ISO image to the server, but it’s starting .. and then panicing into a reboot some time after starting the Linux kernel, so let’s try that again in the morning :)