Saying sorry and moving on
Today's keynote speech at LCA
is from Eric Allman, the person who wrote 'sendmail', the main mail
transfer agent that moves mail on the internet. There are many things
in sendmail that have caused problems in the past, and its configuration
syntax is known to cause brave men to wet themselves in fear. So I
wanted to see how, or if, Eric would address these things in his talk.
Not only did he do this but he acknowledged the mistakes he had made. He talked about what he would do differently. He talked about the decisions he'd made that were forced by machine limitations, complete lack of standardisation of email address formats, and various other constraints. It's easy in hindsight to criticise some of these decisions but when you're starting out on a new system the horizon is wide open and you don't realise and sometimes can't even determine the scope of the consequences of your decisions.
Interestingly he pointed out the Postel principle - "be strict in what you emit and liberal in what you receive" as perhaps one of these mistakes. In his defence he said that there were many often completely incompatible email address formats and exchange methods, and professors get incredibly' irate when they find out that their grant application wasn't received. But it allows badly-written and incompletely-compatible systems to live and thrive, and I think we've seen this with HTML and other things - by Netscape allowing badly-written HTML to be rendered vaguely correctly it allowed IE to prosper.
But the thing I really appreciate is someone who will say "yeah, in hindsight that was a bad move". We all have reasons at the time, but there are a lot of bad decisions that are perpetuated - especially by large companies - because no-one is willing to admit that they made a mistake. It takes a lot of guts to stand up in front of eight hundred people who've all at one time or another struggled with sendmail and say "Yeah, M4, I don't think that was such a great idea". And yet it means we can now say "OK, well, let's get on with it anyway" and stop trying to blame sendmail for all our email problems.
His "takeaway" ideas were also really great and I think it validates
Eric's experience as a programmer and system architect. The thing I would
amplify from these was documentation: if you don't have documentation of
your project, you'll never get any users.
posted at: 11:08 | path: /tech/lca | permanent link to this entry
The device will submit!
I arrived a bit early for the Southern Plumbers miniconference at
LCA 2011 and ended up watching
people trying to work out why the projection system wasn't working -
staring at various devices, switching things off and on, sulking, calling
for other knowledgeable advisors, opening cupboards, etc. It was rather
like that scene in The
Diamond Age where Doctor X is trying to get his nanotech working.
And I realised that, with virtually any other conference, if the projection system had stopped working there it would have been "Sorry, everyone, we can't get the projection system working, we're going to have to move". But here at LCA you have so many knowledgeable, analytical, people - people for whom a piece of technology working is almost a personal affront - the problem won't resist for long. The problem will submit.
That's what makes it such a fun conference.
(We do need to realise, overall, that sometimes we need to take a step
back and ask whether this is worth solving, or whether even we should solve
this problem at all. I put it that if some engineers were told to open the
gates of hell and let the unholy minions out upon the earth, they would
try to work out how to do it rather than ask whether it was a good idea.
But generally I think fixing things so they work - and knowing enough to
fix things - is better than relying on someone else to do it.)
posted at: 11:48 | path: /tech/lca | permanent link to this entry
LCA 2013 bid process opens - Canberra at the ready!
For the last several months, a small group of people in Canberra including
myself have been preparing a bid for LCA 2013. This is not just to give us
more time to make the conference the most awesome, mind-pummelling LCA you've
ever been to. No - 2013 is also the centenary of the founding of Canberra as
the nation's capital. It's a very significant year for us and we'd all be
thrilled if we could show the attendees of LCA our great city and Canberrans
the great work the FOSS community does to improve everyone's lives.
So we're really stoked that the bidding process is going to be opened early, and I think it'll lead to a really interesting competition that will result, whoever wins, in the best LCA ever!
If you're interested in being a part of the team putting this event together,
email me!
posted at: 10:21 | path: /tech/lca | permanent link to this entry
Proposals submitted...
The Linux Conference Australia
call for papers is now out, and I've submitted two papers - one for a
talk and one for a tutorial. Now the waiting begins...
In 2009 I got accepted to give a talk on writing good user documentation. I'd submitted several papers before then but never got accepted; the chief reason was that I had submitted papers about stuff I was interesed in but was not actually a key contributor to. LCA is crazy hard to get to speak at, but is totally worth it because they really treat speakers well. And to me it's addictive - I loved it so much in 2009 I wanted to do awesome things just to get a place in 2010.
That didn't work out for me; mainly because I'm a neophile. I tend to be interested in a whole bunch of things but only shallowly - occasionally (such as when I decided to write the doco for LMMS) I dip in but I rarely seem to be able to sustain that involvement before the next thing comes along and lures me away. But I'm more hopeful I can get a speakership at 2011 because I'm putting forward two proposals for things that I'm actually really involved in and know about.
Ah well. Now for three months of anticipation. Better keep on working on
my electric motorbike then...
posted at: 09:45 | path: /tech/lca | permanent link to this entry
LCA flies by
In certain circumstances, bringing an airplane, the sun and some clouds
into the proper relationship will show you an interesting phenomena -
a ring of brighter cloud, centred on the shadow of the plane. This
happens at the angle where the crystals in clouds perfectly reflect
the incident light back to you, and I'd love some optics physicist to
explain it to me one day. But it has the unusual property, if you are
close enough to the clouds, of focussing that small band - every detail
of that area stands out. Individual filaments of cloud are shown to you
before you swiftly move on to the next. If you watch one bit it fades
into dullness and its detail is lost, but if you keep your eye moving
every part of the cloud has its own delicate, infinitely detailed
beauty.
I found myself in just such a conjunction of plane, sun and cloud on my flight back from Hobart to Melbourne after Linux Conference Australia, still dazed by the early morning start to get to the six o'clock plane. In this contemplation-conducive state, I thought the image above was a good metaphor for the conference overall - each little bit brilliant but fading when compared to the next bit of brilliance, and the overall brilliance only capturable in the human mind, where the individual experiences can be overlaid rather than replaced and forgotten as in a movie.
I'll stop trying to wax lyrical, and while lyrical waxes someone else will note down some highlights the whole week of fun.
While it was a bit of a slog up the hill to the college from the Uni, it wasn't too hard and certainly got a few of us a bit fitter, myself included. The rooms were very nice, and despite being shunted out of my original room with other Canberrans I got to meet a bunch of new people which I always enjoy. Special thanks to Ian Beardslee for whiskey and perspective.
The venues were pretty good, but the fact that speakers had to hold radio mikes up to their faces led to a lot of pretty variable audio. Some people, like Tridge, Jeff Waugh, and Rusty already know how to project well - others were a bit shyer and/or uncertain how to speak to a microphone. The trick is to have it up near your chin - close enough to pick up every sound, but out of the direct breath path so that your 'P' sounds don't pop. The main point is that you are trying to get your spoken words across to everyone in the room and on the video, and that is much more important than feeling embarrassed. And never, ever blow into the microphone to test if it's on - tap it or scrape the mesh on the top instead. There's much less chance of damaging the pickup that way, or having an audio professional decapitate you with your own shirt for maltreating their equipment.
Being a speaker for the first time, I was really blown away with how well they treat speakers at LCA. You get picked up at the airport, you get your own (speakers) dinner and you get to go to the Professional Delegates Networking Session. So not only did I get to go to two very nice places to eat and see some of the attractions around Hobart, but I also got to pretend to be a professional. Being a part of the process that makes LCA great - the talks - is pretty awesome too. And having people talk to and email you afterward about the topic and ask more questions and have more discussion is even better. Still very happy with that.
However. In order to really rock as a speaker giving a "here's the coding project I've been working on" talk, I think you need one simple thing: results. There were a couple of talks - the High Def H.264 decoding in Intel GPU talk for example - that gave an overview one might give to technical management and showed us almost nothing in the way of actual code or working software. Compare this with the CELT talk, where Tim not only demonstrated why the code was so clever and why low latency was important, but demonstrated it right there. I don't really need a working demo, but I do need to see that the code is in use by real live people, not still on the drawing board. If drawing-board projects were the criterion for a good talk I would be occupying my own day at LCA. :-)
The conference dinner was very good - buffet style wins! The fund raising was also pretty awesome - although I'm not a big fan of the whole 'auction' thing when pretty quickly it has got out of the reach of any single person in the audience, I still think that it's an excellent example of why Open Source really does rule when we can raise over $40,000 for a charity from essentially a bunch of individuals with one tangible and a few intangible prizes (pictures in the kernel, people's integrity, etc.). If anything, the guy who spoke about the disease could have talked more about the research - most of the table I was sitting with was pretty bored through the 'here's some pictures of bad stuff' part but were riveted when it came to the 'and here's why it's a technically interesting problem' part.
The laptop case cover was well received but needs some work to straighten it out and stop it from cracking. It no longer attaches to the laptop - the tension on the outer surface simply pulls the catches back off again.
A judicious balance between coffee, V and water is what kept me going for most of the conference. I've found the 700ml Nudie bottles are light, easy to use, and contain enough water to keep you hydrated. It took me most of Monday to really feel like I was fully compos mentis.
I met lots of nice people in the LUG Comms meeting and more nice people in the LinuxChix lunch. I now owe Jon Corbet two beers, as part of a "I must buy you a drink for your excellent Linux Weekly News" plan gone horribly wrong, and Steve Walsh, Cafuego, James Purser and others need to be pinned down in a bar somewhere so I can buy them beers. Jon Oxer and Flame (who really should be called Black Flame) were excellent value, the keysigning was underpopulated but still worthwhile, and the sheer quantity of BOFs happening in spare rooms, in corridors, up trees and elsewhere were just too much for me.
The MythTV miniconference was a highlight - giving my talk at it was a lowlight because I should really have had much more technical detail; the lesson is "if you see someone suggesting a miniconference, only volunteer to talk on the subject if you have something that is at the generally high quality of Linux Conference talks". There were a few other MythTV talks that left me wanting a bit more detail, but there's no feeling quite like realising that all the technical people have left the room for your talk, and the only developer remaining is working on his presentation....
Overall, the quality of LCAs is still high, and I have no doubt that
Wellington will pull out all the stops for a top-quality LCA too. If
they can get their videos up a bit quicker than this year...
posted at: 08:20 | path: /tech/lca | permanent link to this entry
LCA - the conference that keeps on giving
I haven't really been in the right frame of mind to blog more regularly
about LCA. But my current criteria for any new employer is whether they
consider it important enough to my employment to be interested in sending
me to LCA -
posted at: 11:32 | path: /tech/lca | permanent link to this entry
LCA 2008 Google Party Mix
The day finally came, and though I was a ball of sweaty clothing from
giving my Lightning Talk I was ready to do some mixing for the LCA
2008 Google Party. Afterward, thanks to some pre-prepared scripts, I
put the mix up on my torrent server pretty soon afterward. If you
want it, you can download the mix
via BitTorrent or
read the track
listing. All the music is Creative Commons licensed and therefore
my mix is also similarly licensed; I'll work out the exact license
code when I've looked at the licenses on all the music, but for now I
will release the mix under a Creative Commons 3.0 By-NC-SA license.
Thank you to Peter Lieverdink and the LCA 2008 team for allowing me
to mix at LCA - I had a great time doing it. And my collection hat
(thank you Stewart Smith) raised $24.30 to donate to the artists. I
reckon that's pretty good for something completely voluntary where
most people hadn't been really getting into the music much (that I
could see). Now to work out how to donate it...
posted at: 20:48 | path: /tech/lca | permanent link to this entry
Network Interactionativity
For some reason, on certain access points at LCA - for instance the one
in the St. Mary's common room - I need to set my MTU to 1000 (i.e. down
from 1500) in order to get Thunderbird to do secure POP. Everything
else works fine, but Thunderbird just sits there timing out. I
discovered this by watching the Wireshark log and noticing packet
fragments disappearing (i.e. some packets where the tcp fragment
analysis couldn't find parts of the packet to reassemble). Hopefully
this isn't also causing Steve Walsh to pick up his specially sharpened
LAN cable and hunt me down...
posted at: 23:16 | path: /tech/lca | permanent link to this entry
On to other things
After spending four hours or so working on my hackfest entry, I was less
than optimistic. My entry had yet to even be compiled on the test
machines, and it still had huge areas of code that were completely
unimplemented. When I went into the common room at St Mary's, Nick from
OzLabs recognised me and helpfully mentioned that someone else not only
had their code completely running but was in the process of optimising
it. I promptly resigned.
I say "helpfully" sincerely there. It is a bit of a pity that my ideas won't see the light of day this hackfest, and that I won't be in the running to win whatever prizes they might offer. But since I don't have a snowball's chance in a furnace of winning anyway that's hardly a real disappointment. And I can go to bed with a clear head and prepare for my lightning talk and the Irish Set Dancing and mixing I plan to do at the Google party, which realistically are much higher priorities.
I do hope that we get to see the winning solutions, though...
posted at: 22:17 | path: /tech/lca | permanent link to this entry
Hackfesty?
I've decided to have a more serious look at entering the hackfest,
since I'm familiar with processing fractals with parallel algorithms.
Downsides are that I've only done it with PVM, I haven't done anything
with the Cell architecture and there's all these other really cool
talks to go to. That and I need to have my eyes stop glazing over
when I start reading anything more detailed than the "Fire hydrant
and hose reel" sign opposite me.
posted at: 11:03 | path: /tech/lca | permanent link to this entry
At last you know what you're getting
I've finally mangled up the track listings for the
Flashing Google Badge
Mix and the
Wired Kernel Hacker
Mix. Now you know what you're listening to!
posted at: 12:46 | path: /tech/lca | permanent link to this entry
The "solving things" conference
Last year at LCa 2006 I had two guys take five minutes of their time
to help me get my work laptop on the wifi, a process which included one
of them lending me his PCMCIA card (that didn't require firmware) so
that I could download the firmware for my inbuilt card. I've forgotten
your names, whoever you were, but you guys rocked. And I've told the
story many times to illustrate why groups of hackers getting together
can achieve things that would take a single person a lot of work to
troubleshoot.
This year I've had similar experiences. The first one was getting my DVD drive set up to use DMA. On the Intel 82801 ICH7 family of ATA bridges, it supplies a SATA interface for the hard disk and a PATA for the DVD. Unfortunately, the standard ATA driver doesn't interface with this combination correctly and doesn't enable DMA on the DVD drive (or allow you to set it via hdparm). To fix this, put the following incantation on the end of your kernel line in your GRUB configuration file (for me on Fedora Core 6, that's /boot/grub/grub.conf):
kernel ... combined_mode=libata hdc=noprobe
The other was finally getting CPU frequency scaling working on my Intel Core 2 Duo. It's an unfortunate but now well-known bug that the Fedore Core 6 anaconda installer will not correctly work out what type of chip this is. It therefore thinks that you need the Pentium (i586) kernel rather than the Pentium II and later (i686) kernel. Since Pentiums didn't come with frequency scaling, the kernel package doesn't include the necessary kernel objects for speed stepping. You'll know if this applies to you with the following command:
rpm -q kernel --queryformat "%{NAME} %{RELEASE} %{ARCH}\n"
The third column will have the architecture - standard rpm and rpm -qi commands won't tell you this. uname -a will tell you i686 even if the kernel is i586, so don't believe it. To download the new kernel version, use:
yum install kernel.i686
I think that you have to do some special magic to get it to install the i686 architecture of the same version. As of my writing, it picked up the 2.6.18-1.2868 version of the i686 and installed that beside the 2.6.18-1.2869 version already installed. Yum won't correctly replace the i586 architecture version with the i686 architecture version if it's the same release number, as far as I know. I don't know what you do in this case.
Of course, while you're running the current working kernel, download all your kernel-specific packages for things like wireless networking support. These you have to download the RPMs from your local mirror and install manually, because it's currently running a different kernel and yum will only install packages for that. Of course, if your ipw3945 driver is compiled from source, you'll have to make that clean and compile it and the ieee80211 module from scratch again. Take it from me, there's some weird voodoo to get this working that took me a day to correctly incant.
Then you should have an acpi_cpufreq.ko module installed and be able to
use one of the CPU speed regulator daemons. I think I have both
installed somehow, which means they're probably fighting it out or
something. Go me. Still, I can blog about it, which hopefully means
that Google will index it and someone else will learn from my mistakes.
That's the only reason I'm doing this, you know.
posted at: 05:36 | path: /tech/lca | permanent link to this entry
Rad GNOME Presenters
Andrew Cowie and Davyd Madeley put on a good show for how to start
writing GNOME applications in C and Java. Andrew in particular
is an enthusiastic speaker, and understands that it's very difficult to
choose which talk/tutorial to go to and sitting for ninety minutes and
listening to one topic is sometimes difficult. I totally appreciate that.
And, by Torvald's Trousers, he's fast at using UIs - watching in work in
Eclipse makes you realise how good programmers can churn out a fully
implemented file browsers in an evening.
I'm going to have to kidnap one or both of them and bring them to the
CLUG Programmer's SIG meeting. This talk was exactly what the people
at the PSIG that I've been talking to have asked for.
posted at: 10:49 | path: /tech/lca | permanent link to this entry
I'm on the shirt that killed River Phoenix
In crowds, there's always someone heading vaguely toward you but heading
somewhere else entirely. There are a whole lot of little protocols -
not meeting their eye, negotiating a slightly different course - that
allow a certain social space. So it's always disconcerting to have
someone stride directly up to you - when they actually do mean to meet
you and you've now been pointedly ignoring them. He pointed to my
LinuxChix Miniconf "Standing out from the crowd" T-shirt and said:
"Where can I get one of those?"
I gave him Mary Gardiner's email, and whatever other methods I could remember of how to get in contact with her. But though it's a long sleeved shirt and it's a warm day, I'm totally chuffed to have got one now. LinuxChix roxxors!
(BTW, the title is a reference to TISM's popular song
(He'll
Never Be An) Ol' Man River, of course.)
posted at: 09:25 | path: /tech/lca | permanent link to this entry
All posts licensed under the CC-BY-NC license. Author Paul Wayper.
You can also read this blog as a syndicated RSS feed.