MySQL Users Conference


Well, they’re definitely thinking about getting started. Like last year I caught the VTA down — it’s hard to beat a $1.75 trip without having to worry about traffic. Registraton wasn’t as smooth this year as last, for example I didn’t get my free book (there didn’t seem to be any attempt to hand those out to speakers). Whatever.

I’m now waiting for the replication talk to start.


Nerd link of the day


If you’re an ACM member, or read ACM transactions on computer systems, or have a corporate membership to the ACM portal, then you really should checkout Inferring Internet denial-of-service activity. It’s a surprisingly simple method of determining how common denial of service attacks really are on the Internet. Like all good ideas, it’s also really obvious once it’s been pointed out.

     author = {David Moore and Colleen Shannon and Douglas J. Brown and Geoffrey M. Voelker and Stefan Savage},
     title = {Inferring Internet denial-of-service activity},
     journal = {ACM Trans. Comput. Syst.},
     volume = {24},
     number = {2},
     year = {2006},
     issn = {0734-2071},
     pages = {115--139},
     doi = {},
     publisher = {ACM Press},
     address = {New York, NY, USA},

Mark is right


Mark Pilgrim is a smart guy, and he’s right that the correct time to start writing is while you have that sense of wonder. That was the big difference in the approaches I took with the ImageMagick book (an attempt to be definitive and therefore boring to write), versus the MythTV book (a cleaned up version of my lab book notes from when I installed Myth and got it working nicely, with some other stuff added for completeness). The MythTV book was a lot more fun to write, and I don’t feel nearly as burnt out at the end.

Read more about Mark’s burnout theory.

So, I wonder what is next for me?


A momentary crisis of faith, and who am I anyway?


I find that I have these odd periods at the end of big projects. I wander around for a bit wondering what I am meant to do now that the burningly urgent things are off my todo list. This time normally ends up being playing with the kids, watching TV or being mopey.

I offer this little sequence as the blog form of a holding pattern until I know what I am going to work on next…

    The other day I discovered that I no longer know who I am all the time. Specifically, slack unsets the environment, which means that the whoami command no longer works when you are running a command as root. To whit:

    sudo bash
    root@machine:~# whoami
    root@machine:~# echo $SUDO_USER

    So, if SUDO_USER is unset, how do I determine who the command is running as? Well, my immediate thought was that /proc would have something, and in fact it does. Here is what I ended up with:

    root@machine:~# cat /proc/$$/environ | sed 's/[^[:print:]]/\n/g' | grep USERNAME

    Horrible, isn’t it? I must also admit that I had to get onto IRC and wait for Jaq to teach me about that :print: thing. Good on him for being nerdier than me.

    So, that’s still horrible. So horrible. What else can I do? Someone else in IRC land suggested:

    root@machine:~# ps auxeww | grep $$ | sed -e 's/^.*SUDO_USER=//' -e 's/ .*$//'

    Still ewwww. So what else is there? Well, one of the older geeks on the IRC channel suggested this:

    root@machine:~# who am i
    mikal    pts/16       Apr 15 15:38 (:0.0)
    root@machine:~# who -m
    mikal    pts/16       Apr 15 15:38 (:0.0)
    root@machine:~# who -m | awk '{print $1}'

    who am i is an alias for the -m option in who. And it’s just what I want. We have a winner!


I don’t claim these are new


But they’re still funny… As sent to my wife in IMs this evening:

Ahhh, flash. Reminds me of papal wackamole.