Me likey

[adamw@adam ~]$ systemd-analyze Startup finished in 1617ms (kernel) + 1648ms (initrd) + 4816ms (userspace) = 8082ms

GNOME Shell, panel applets, and eating your cake

One of the complaints doing the rounds about GNOME Shell is that it has no panel applets. This is technically true. It's also entirely the wrong way of looking at things: I hope this post will make it clear why this is, and make some people happier with the road GNOME is going down.

So, to start with, let's take a step back and ask ourselves what exactly panel applets are, and what we mean by GNOME Shell not having them.

On a superficial level, it's simple enough. Panel applets are processes that paint little widgets into the panel. They tell us stuff. Maybe we can interact with them. There are thousands of them for GNOME 2, to show the weather, stock prices, hardware status, all sorts of other things.

Do each of these bits of code hook themselves into gnome-panel from scratch? Of course not. That'd be silly. No: in GNOME 2, there is a standard interface for panel applets, provided by the libpanelapplet library. This library provides all the hooks into gnome-panel; you just write your applet following the standards laid down by libpanelapplet.

So, let's take a step back and a higher-level look. What's really going on here? GNOME 2 provides developers with a very specific interface for extending its functionality, this idea of a 'panel applet'. It's a single, very limited way in which you can extend GNOME 2. GNOME 2 didn't provide many other ways of doing this, and for all sorts of little things that people wanted to add to GNOME 2, the panel applet concept was the best one available. So all these thousands of little GNOME 2 extensions are written as panel applets, using libpanelapplet, not because that is the only or even necessarily the best way such an extension can possibly be presented, but because that's what GNOME 2 gave you as a way to extend it: you got to write a panel applet, or nothing.

So, let's wind forward a bit, to GNOME 3. When we say GNOME 3 does not have panel applets, what we mean by this is that it does not have libpanelapplet. GNOME 3's 'panel' doesn't interface with libpanelapplet and let you extend its functionality in that way. All those third party addons currently implemented as panel applets via libpanelapplet do not work with GNOME 3. And right here and now, that kinda sucks if you really like using one or more of them.

But hold on! Let's take a step back and look at things from a higher level again. This idea of GNOME 3 'not having panel applets' is only valid on that boring little narrow-minded level from that last paragraph. From up here, if you squint a bit, GNOME 3 does have panel applets. In fact, it has panel applets and a whole lot more. Why? Because GNOME 3 doesn't just give you one boring, narrow, restricted way of extending itself. GNOME 3 gives you Shell extensions. The Shell extension interface is a way cooler way of extending GNOME 3's functionality than libpanelapplet ever was a way of extending GNOME 2's. It's not compatible with libpanelapplet's APIs, no. So you can't just rebuild your existing panel applet and have it work. But you can write something as a Shell extension which works exactly like a panel applet. It'll look like one, walk like one, and quack like one. So if you as a developer are absolutely convinced that a panel applet is the exact correct UI for your little add-on to GNOME, you can simply re-write it as one using the Shell extensions interface. In that sense, hey, GNOME 3 really does have panel applets!

But it has so much more, too. Maybe a panel applet wasn't really absolutely the best way of implementing your add-on's functionality: maybe you only wrote it as a panel applet because, really, that was the only way GNOME 2 let you do it. What if your little add-on should live in the clock? Or the overview? Maybe it should make the whole panel change color when the system's getting too hot? Good luck doing all of that with libpanelapplet; with GNOME Shell extensions, you can. If you look at it from the core GNOME developer's side, once you've made this awesome Shell extensions interface available, why would you worry about updating an interface which only allowed one very specific type of extension, and did it in a technically problematic way? There's just no reason.

If you really look at things from the right angle, this is a great story of GNOME 3 providing a massive improvement on GNOME 2. Yes, Shell extensions are not backward compatible with panel applets. Your old panel applet code won't run in GNOME 3. But that's the point of a 3.0 release: it gives the developers the freedom to change things for the better and lose backwards compatibility where it's necessary. This leads to short-term pain - the same was true with 2.0 - but long-term gain. You can already see extensions doing things with GNOME 3 that a third-party add-on could never have done to GNOME 2 (or at least not without major, unsupported hackery with GNOME internals that add-ons were never meant to mess with). Someone's written an extension that adds quick launchers to the Shell panel and makes the Activities button launch a nested menu system. Is this how the GNOME designers think Shell should work? No, but so what? The point is the power of the extensions interface. There are extensions to change alt-tab behaviour, an extension to add the Power Off button back to the User menu, and many others - already. As a developer, right now you have far more flexibility to change GNOME's functionality in an add-on than you ever did with GNOME 2. As a user, you can already benefit from some extensions that would not have been possible in GNOME 2, and by the time GNOME 3.2 or 3.4 rolls around, I predict the range of extensions will make the panel applets from GNOME 2 look dull in comparison.

(edit: I was going to mention having your cake and eating it in here somewhere, hence the title, but I forgot. So it turns out that the cake is a lie!)

Annoying QA fails: NetworkManager

So, if you're running a 32-bit Fedora 15 install, you might notice that NetworkManager stopped working right with the NetworkManager-0.8.999-3.git20110526.fc15 update. Sorry about that.

So, aren't we supposed to have a procedure in place to stop completely broken upgrades of major critical packages going out? Well...yes. Did it work in this case? Why not? Click the link above: you can see the upgrade got five positive votes from non-anonymous users, including a proven tester. Are all these people on crack? Well, I can't vouch for Kevin, but I think the rest of them have been sober for a while now ;). The problem is that the update works great on 64-bit systems - and that's what all those testers are using. They tested diligently and gave an appropriate result, and the update still went out.

So, could we fix this? Well, it's tough. We could, of course, simply hold updates until they have positive responses from users of both architectures (this wouldn't be too crazy difficult to achieve technically) - but we're loath to make the requirements any more stringent, because we already have a problem with the more difficult-to-test critical path packages getting stuck in updates-testing for a while until they have the necessary karma to get out.

In the end, we have to remember the critpath process is a best effort: we can't really make it catch every bug without imposing too many restrictions on the update flow. It's a shame we missed this one, though.

There's a scratch build available which fixes the problem; I expect it'll go out as a proper update candidate soon.

Small happy things: Fedora 15 and Bluetooth

It's always nice to write about something positive, so I thought I'd just say a quick thanks to whichever mystery person improved Bluetooth support for my Sony Vaio Z (VPCZ1) in the upstream and Fedora kernel revisions between 14 and 15. I have a Bluetooth mouse and also use Bluetooth tethering with my phone. In Fedora 14 kernels, it never quite worked well enough; the mouse would work at first but would not wake up again as soon as it went idle, and tethered data connections were similarly unreliable, the flow of data would just seem to stop after a while.

With Fedora 15, both seem as smooth as glass: the mouse works perfectly as soon as I turn it on, and neither power cycling the mouse, letting it go idle, or suspending and resuming / rebooting the laptop faze it; it always works properly in every case I've thrown at it. Bluetooth data tethering seems to be similarly bulletproof now: as long as I leave Bluetooth enabled on my phone, I can just click on the right entry in the NetworkManager applet and it brings up the link to the phone, brings up the phone's data connection if necessary, and the connection just works. Works every time, no need to take the phone out of my pocket to plug in a cable or run the wifi hotspot app. Such a nice little improvement.

So, thank you, mystery bluetooth hacker! The Fedora / GNOME 3 experience on this laptop is getting so refined that I'm reducing to filing bugs for things like a 30 second delay in NetworkManager before it reconnects to the wireless access point on resume from suspend. Boy, I'm spoiled.

(When I first got this laptop, the display only worked with vesa or with the proprietary NVIDIA driver after some BIOS hacking, the touchpad didn't work, and the keyboard didn't work on one out of every ten boots. Forget about Bluetooth! It's always fun to see - and help, in a small way - hardware support improve over time...)

Small annoyances

Not that it's anything new, but it would be really nice if someone would notice how useless this error message is:

[adamw@adam SOURCES]$ sudo modprobe -r snd-ice1724 FATAL: Module snd_ice1724 is in use. [adamw@adam SOURCES]$

and fix it. Here is what it needs to look like:

[adamw@adam SOURCES]$ sudo modprobe -r snd-ice1724 FATAL: Module snd_ice1724 is in use by PIDs 1234 and 4567 [adamw@adam SOURCES]$

as just telling me that it's 'in use' is about as useful as a sponge submarine when it comes to finding out what's using it...

Fedora 15 'Lovelock' released today!

Very happy to pass on the news that Fedora 15 was released today, full of GNOME 3-y goodness, systemd vitamins, and Spice-y marrowbone jelly. After one-week slips for the Alpha and Beta we hit the Final release with no further slips, so just a total two-week slip for Fedora 15; I think that's great given the amount of major changes, so big thanks to the developers for working so well towards all the milestones. I'm really happy with how high quality we've been able to keep this release despite all the huge new features it contains.

For more details, check out the feature list, read the release notes, swing by the common bugs page to check out commonly-encountered known issues and their workarounds before panicking, and get Fedora 15 here! I love this release, and we hope you will too...

Darkness, darkness

I was rather proud of myself this morning: I actually managed to debug something vaguely significant, in C! I even used git blame. I feel all grown-up.

So if you're running Fedora 15 on your laptop and wondering why the screen only ever seems to get darker - it dims when you unplug it, or go idle, but it doesn't brighten up again when you stop being idle, or re-plug - take a look at the bug report, and maybe try out the scratch build I put up. It fixes it for me, I hope it will for you too.

Cute systemd trick of the day: auto-mounting remote shares

Thanks to Lennart for this one.

If you have remote drives - cifs, nfs, whatever - in /etc/fstab with typical options, then you'll probably find that F15 will sit there and wait for the network to come up on boot, then mount them, before boot completes. That's not terrible, but it's not awesome either.

In F14 and earlier, btw, there's a 'netfs' service which controls whether upstart tries to mount remote shares at boot or not. If it's enabled, it tries (and in my experience often fails, by trying to do it before the network's really up, so I just turned it off). F15 doesn't have this.

But the good news - you can make it more awesome. To more or less replicate the 'netfs' functionality, just use the 'noauto' mount option; if you specify 'noauto' as an option for a mount point, systemd won't try and bring up that mount point on boot. You'll only be able to do it manually.

But to make it super awesome, add two options: 'noauto comment=systemd.automount' . Then what happens is the share gets mounted as soon as something tries to access it...but not before. So boot runs as fast as possible, and as soon as you actually try to access the share, it gets mounted. Thanks, systemd!

On technical support, and other things

So there seems to have been some discussion, lately, about this blog post by Jeff Hoogland on his experience asking a question in #fedora.

I noticed that no-one has actually posted the discussion, yet, so I will: you can find the full log from Jeff's initial question to when he leaves the channel at the end of this post. Note: my log is from bip and prints nicknames in an ugly and unreadable way so I went through and fixed those by hand, any errors in nicknames are my mistake, but I did not alter the text at all.

I kind of agree with both sides, on this one.

On the one hand, I disagree with Jeff that it's a bad approach, when helping people, to ask why it is they want to do the thing they're asking about. I'd say this is frequently a very important thing to do. If someone asks you how to shoot himself in the foot, do you cheerfully assist in aiming, safety catch and trigger release, or do you first ask 'are you sure that shooting yourself in the foot is actually what you want to do?' I'd argue the latter. More times than I've been able to count, the answer has been 'well, I just figured it was the best way to test my gun', or 'some blog post at recommended it'. When you're doing support in a forum or a mailing list or an IRC channel targeted at general users, including new users, it's a fact of life that, often, someone will be trying to do something that isn't actually the best way to achieve their ultimate goal. It's just responsible, and sensible, to ascertain what their ultimate goal is, and make sure the thing they're trying to do is a sensible path to achieving it; if it isn't, recommend a better way to do it.

Having said that, you can take this approach too far, and to me, the log is a textbook example of that. Jeff asked how to launch nautilus as root. Now often people ask this for bad reasons, and there's a much better way to achieve what they think they need a root file manager to achieve, so the initial question from Southern-Gentleman - "Jef91, why would you need to" - is, I'd say, a sensible one. The initial response from Khaytsus - "ugh" - is not exactly helpful but probably understandable, and the initial response from fenrus02 - "Jef91, DONT run any gnome app as root, at all, ever." - is pretty much plain wrong, albeit the sort of wrong much used by schoolteachers (sometimes you have to lie just to get through the day).

Jeff's unfortunate swearing at two points just muddies the waters; #fedora has a policy against swearing to make sure it's friendly to the widest possible audience, but once you get in an antagonistic situation, telling people off for swearing tends to make them more mad. This is just kind of unfortunate and it's hard to see how that could have gone better. But it does explain why everyone seems to get a bit pissy.

From then on I kind of have to side with Jeff, because the thing is, he answers the question with a perfectly reasonable explanation: he needs to copy important data off a failing disk, and he wants to do this with a GUI and not from the console. This is a pretty good reason to want to run a file manager as root, to be honest. At this point, I would have said "okay, that's a decent reason", and gone on to help him figure out why nautilus wasn't working as root and make it work. (Ten to one this is the classic 'have to use "su -" to become root, not just "su", to run GNOME apps as root' issue). But the people in the channel keep telling him he shouldn't, and he should either back up the entire drive (which is clearly not what he wanted to do), or do the operation from the console. Neither of those approaches seems at all helpful to me.

So I have to say - I think #fedora could have handled this specific exchange a lot better. I know the people involved and I think they make a great contribution to Fedora, and I definitely appreciate all the work they do on a volunteer basis, and I certainly don't help people out in #fedora as much as they do or as much as I'd like to. But just this case looks like a bit of a dropped ball.

I don't entirely agree with Jeff's wider arguments, though, about the appropriateness of trying to establish exactly what someone wants to do when helping them out. I think it's pretty important to do that - but do it politely, and if it's something vaguely reasonable, do help them to do it, even if it's not exactly the way you would have approached the problem.

But hey, that's my take on it. Read the log and see what you think.

05-05-2011 20:01:09 [Jef91] any idea how I can lanuch nautilus as root? 05-05-2011 20:01:22 [khaytsus] ugh 05-05-2011 20:01:24 [fenrus02] Jef91, DONT run any gnome app as root, at all, ever. 05-05-2011 20:01:29 [VileGent] Jef91, why would you need to 05-05-2011 20:01:30 < ParadoxGuitarist! =) 05-05-2011 20:01:32 [fenrus02] Jef91, gnome specifically tells you not to do this. 05-05-2011 20:01:46 [Jef91] for flips sake 05-05-2011 20:02:00 [VileGent] Jef91, for safety sake NO 05-05-2011 20:02:07 -!- CyrusYzGTt!~CyrusYzGT@fedora/CyrusYzGTt has joined #fedora 05-05-2011 20:02:11 [Jef91] For fucks sake 05-05-2011 20:02:15 [fenrus02] when gnome says, "NO!" i would believe them. 05-05-2011 20:02:21 [Jef91] I have a computer with a dieing hard drive 05-05-2011 20:02:21 < * VileGent!~notfred@fedora/Southern-Gentleman reminds Jef91 Be polite and avoid profanity someone's kids and their grandmother might be in here listening 05-05-2011 20:02:21 [khaytsus] Jef91: Settle down, Beavis. 05-05-2011 20:02:22 [fenrus02] Jef91, language, family channel 05-05-2011 20:02:25 [Jef91] and don't want to run a CHOWN 05-05-2011 20:02:27 [Jef91] on the whole thing 05-05-2011 20:02:32 [VileGent] why 05-05-2011 20:02:32 [Jef91] so I can grab the data 05-05-2011 20:02:33 [Jef91] to move 05-05-2011 20:02:35 [fenrus02] Jef91, then dont. 05-05-2011 20:02:38 [khaytsus] ..... what does this have to do with ANYTHING 05-05-2011 20:02:42 [khaytsus] Why oul you use naut 05-05-2011 20:02:48 [khaytsus] Use a terminal and rsync the data 05-05-2011 20:02:52 [fenrus02] Jef91, run a real backup program instead. it works. 05-05-2011 20:02:59 [Jef91] dear lord 05-05-2011 20:03:07 [Jef91] I forgot how useless this channel is 05-05-2011 20:03:16 [hackenschmidt] lol 05-05-2011 20:03:17 [VileGent] he helps those who help themselves 05-05-2011 20:03:20 [fenrus02] ok, pack your toys and take them elsewhere then 05-05-2011 20:03:24 [khaytsus] Ask a dumb question and you'll get appropriate answers. 05-05-2011 20:03:34 [Jef91] "how can I open my file manager as root" 05-05-2011 20:03:37 [Jef91] is a dumb question? 05-05-2011 20:03:38 [khaytsus] Jef91: If you really want help, tell us what you're copying from and to. 05-05-2011 20:03:43 [VileGent] yes 05-05-2011 20:03:47 [Jef91] I need to pick through my data 05-05-2011 20:03:53 [Jef91] I need a root file manager to do this 05-05-2011 20:03:58 [Jef91] so I don't have to sit in a terminal and do it 05-05-2011 20:03:59 [VileGent] no you dont 05-05-2011 20:04:02 [fenrus02] no. you need a backup program. 05-05-2011 20:04:07 [khaytsus] BACK UP THE WHOLE DRIVE 05-05-2011 20:04:10 [hackenschmidt] rsync....? 05-05-2011 20:04:13 [khaytsus] Or don't... whatevers. 05-05-2011 20:04:15 [Jef91] I don't want the whole drive 05-05-2011 20:04:18 [fenrus02] BobLfoot, mine finished installing. 05-05-2011 20:04:24 [Jef91] I want bits and pieces of the data 05-05-2011 20:04:38 [VileGent] Jef91, what exactly are you trying to do 05-05-2011 20:04:46 [fenrus02] BobLfoot, ~9mins i guess now. 05-05-2011 20:04:59 [CyrusYzGTt] sudo nautilus 05-05-2011 20:05:03 [VileGent] no 05-05-2011 20:05:04 [fenrus02] Jef91, back it all up. sort through the remainder on restore. 05-05-2011 20:05:04 [Jef91] nvm 05-05-2011 20:05:08 [Jef91] I'll just install pcmanfm 05-05-2011 20:05:09 [CyrusYzGTt] su -c"nautilus" 05-05-2011 20:05:17 [VileGent] CyrusYzGTt, no 05-05-2011 20:05:23 [fenrus02] CyrusYzGTt, gnome specifically tells you NOT to run any gnome app as root. ever. 05-05-2011 20:05:23 [Jef91] See thankyou CryrusYzGTt 05-05-2011 20:05:26 [CyrusYzGTt] su -c"mc" 05-05-2011 20:05:40 -!- pcfe!~pcfe@redhat/pcfe has joined #fedora 05-05-2011 20:05:46 [hackenschmidt] sudo -c "rm -rf /"? 05-05-2011 20:05:52 -!- mode/#fedora [+o VileGent] by ChanServ!ChanServ@services. 05-05-2011 20:06:04 -!- mdomsch! has joined #fedora 05-05-2011 20:06:04 -!- hackenschmidt has been kicked by VileGent!~notfred@fedora/Southern-Gentleman [hackenschmidt] 05-05-2011 20:06:20 [VileGent] we will not stand for that 05-05-2011 20:06:46 [khaytsus] rm dash f r / is never funny.. 05-05-2011 20:06:47 [VileGent] no one follow hackenschmidts cammand above 05-05-2011 20:07:09 [rangga] yep 05-05-2011 20:08:01 [khaytsus] Jef91: You realize that "picking through" a hard drive is not going to get it backed up any faster. Don't back up /usr and junk, back up /home and /etc and maybe specific folders in /var 05-05-2011 20:08:21 [khaytsus] Dying hard drives don't give you much time to screw around. 05-05-2011 20:08:26 [Jef91] Khaytsus I have like 200gigs of data and only want like 5 of it 05-05-2011 20:08:32 -!- Egyptian[Laptop]! has joined #fedora 05-05-2011 20:08:32 [Jef91] So yes. 05-05-2011 20:08:38 [Jef91] Having a file manager will speed things up 05-05-2011 20:08:41 [khaytsus] 200g of data that's not even backed up.. 05-05-2011 20:08:44 [EvilBob] mc 05-05-2011 20:08:45 < fedbot! Please visit our trac instance at and file a feedback ticket telling us about your experience in #fedora. Thanks in advance for your feedback. 05-05-2011 20:08:48 [khaytsus] Why do I bother 05-05-2011 20:08:53 < dvanstone!~daniel@unaffiliated/ocatacoo: VileGent, too late 05-05-2011 20:08:57 [Jef91] khaytsus I only want like 5 of it 05-05-2011 20:09:00 [Jef91] The rest is elsewhere 05-05-2011 20:09:02 [Jef91] Asshole 05-05-2011 20:09:07 -!- mode/#fedora [-o VileGent] by VileGent!~notfred@fedora/Southern-Gentleman 05-05-2011 20:09:39 [VileGent] Jef91, that is uncalled for 05-05-2011 20:09:46 [Jef91] No. 05-05-2011 20:09:49 [VileGent] yes 05-05-2011 20:09:59 [EvilBob] Khaytsus: You bother because of you're a closet masochist 05-05-2011 20:09:59 [Jef91] Whats uncalled for is when someone asks a question, is asking them why they are trying to do it. 05-05-2011 20:10:02 [Jef91] And telling them they are wrong 05-05-2011 20:10:04 -!- CyrusYzGTt!~CyrusYzGT@fedora/CyrusYzGTt has quit [Ping timeout: 240 seconds] 05-05-2011 20:10:22 [EvilBob] Jef91: You are wrong 05-05-2011 20:10:31 [VileGent] Jef91, and you have also been alternatives to use than what you were trying 05-05-2011 20:10:54 -!- mode/#fedora [+q jef91!@] by fedbot! 05-05-2011 20:10:55 < fedbot! jef91, You have been quieted in this channel temporarily. Please read and consider changing your approach and/or the behavior that is disrupting the channel. If you feel this action was in error, please file a ticket at 05-05-2011 20:11:10 -!- Jef91!630dbe9e@gateway/web/freenode/ip. has left #fedora

How I Survived LinuxFest NorthWest 2011

Yes - despite spending much of the time staffing a booth with a Fedora 15 / GNOME 3 demo desktop, I made it back from LinuxFest NorthWest alive and unsullied by rotten eggs. It must be true that people are more polite in person than online!

Just like the first time I went, it was a fun conference with a very laid back West Coast air and lots of good people. Jeff Sandys did great work as always co-ordinating Fedora's presence, snaffling us prime booth space, and staffing the booth for almost the entire weekend.

As Larry Cafiero was unable to make it, I gave his planned 'What's New In Fedora 15' talk with little notice and zero preparation, using the cunning expedient of talking about GNOME 3 for half an hour and then pulling up the feature list and picking out random things to talk about. Many thanks to Spot for bailing me out on a couple of features I knew nothing about (like the dynamic firewall, which actually sounds pretty cool). The talk was pretty well attended and the response was good, though we did get some of the GNOME 3 Greatest Hits as questions, which I tried to field with dignity!

I also gave my planned talk, a new one called "It boots, ship it: Quality assurance in a fast-moving community project", which tries to round up some of the general principles we've worked out in Fedora QA in trying to provide a good QA service using limited resources to a project with a very fast release cycle. I did it without slides for this run, so instead I've put up my notes for the talk here, which gives a pretty good overview if you weren't there. I only had eight or nine people but they were a great audience, attentive and obviously interested and asking good questions - I quite liked the small class feel, which meant we could all sit around one table. Thanks to Robyn for reprazentin'.

I saw Sriram Ramkrishna give his 'introduction to GNOME 3' talk - he was giving it for the first time so there were a couple of rough edges, but overall he did a great job covering the ground in a one hour session and making sure to explain the thinking behind the changes that went into the new interface. His talk was very well attended and the audience feedback was pretty positive, which was great. I spent some time chatting with Sri after the talk and at the Fedora booth and we kicked around some ideas on messaging around GNOME 3 changes, one of which I'm going to split out into its own post soon. I've wanted to meet Sri for a while, so that's one more knocked off the list.

I saw Bryan Lunduke's revised why Linux sucks talk, which was interesting, particularly to see what he'd changed from the previous version. He's still pushing some things that are simply not going to happen - like wholesale adoption of either .deb or .rpm by the whole world - but hey, we all have our windmills. I caught up with him quickly after his talk, which was cool. It was interesting when he did an impromptu distribution straw poll in the middle of the talk - in a room of about 40 people, at least half of the hands went up for Ubuntu. For Fedora? One, and that was me. Biased sample set and blah blah blah, but still interesting, and feeds into some things I've been thinking about for a while. Of course, the attendance for the 'What's New In Fedora' talk (and the popularity of our booth) shows there's still good solid general interest in Fedora out there.

I sadly missed Joe Brockmeier's talk on marketing F/OSS projects as I was giving the Fedora 15 talk at the same time, but I managed to catch up with Joe at the end of the conference and we went out for dinner with a great group including Jakob Perry, a Drupal developer (this is not hard to figure out, as the license plate on his car is DRUPAL) who is one of the main LFNW organizers. It was interesting to get Joe's take on what the Attachmate takeover means for SUSE.

On Sunday afternoon I saw Jesse give his talk on using Eclipse as an end-to-end Python development and debugging environment, which even for someone who only plays a coder on TV was fascinating - I kept meaning to leave and check out some other talks in the second half, but he wouldn't stop saying interesting things and showing off really cool features, damn him. The audience was pretty large and seemed really interested in a lot of the stuff he showed off.

I managed to get the hotel to put the Canucks game on the lobby TV on Saturday night. There was a local high school prom happening in the hotel that evening, and by the third period a good dozen of the guys attending the prom were clustered around the TV with me. Their dates were not best pleased. I think I've caused a serious ripple in the smooth functioning of small town Washington society!

It was a great weekend and lots of fun meeting new people (including Jesse's insane and deeply inappropriate ruddering friends), apologies to anyone or anything I missed out. I'm looking forward to next year's already. Sorry, no pictures - I've lost my compact camera and didn't feel like hauling my DSLR down there. I'm sure others will have them, though.