The Swag Report » AUUG2005 Shwag for Speakers

The Swag Report » AUUG2005 Shwag for Speakers

I’ve started writing some stuff over at the Swag report. My first one is about this pen I got at AUUG2005 for being a speaker:

Picture(15) (1).jpg

Beat on “state of the dolphin” (or: Why Software is never really ready until a .20 release)

Beat Vontobel blogs about “fuþark: The silence of futhark and the state of the dolphin” which is basically about how he’s found that the 5.0.20 release of MySQL is when the 5.0 release is really starting to shine.

This confirms my theory (that I’ve had for quite a while now… like years) that a software release is never really mature until it hits about .20 (that’s dot twenty, not dot two).

When something reaches .10 (dot ten) it’s no longer going to be annoying for most uses, but .20 means that you’re going to be happy. Don’t ask me really why this is the case, but it is.

Think about the 2.6 kernel (yes, Linux Kernel – honestly, you think i was talking about something else?). At about 2.6.10, it would no longer be a pain to use and get things going – everything was starting to be smooth. As we’re getting closer to .20, things are getting better too. Mind you, everything here does run 2.6 now (and so does my mum’s machine – which is always a good sign of something being ready). With 2.4 hitting .20 – you’d never even think about using 2.2, 2.4 was perfect (except when you wanted 2.6).

GNOME (and everything attached to it) is getting to be a really good desktop – ever since about the 2.10 release I’ve been using just much more of the GNOMEy way of doing things because they’re actually getting useful and usable (don’t get me wrong, previous releases were good too – but a lot more things annoyed me). As the releases have progressed, I’m increasingly convinced that 2.20 will be the “we’re here” release. 2.14 is a lot better, but there’s still a bunch of stuff that has to be done before it’s totally kick-ass.

There are no surprises in MySQL 4.0 (it’s past .20 – at .26 now). Everybody knows and trusts it. 4.1 is at 4.1.18 – which is about as good as a .20 and it’s a pretty happy release. But due to 4.0 being rather solid – a lot of people have just stuck there. We’re seeing a bunch move to 5.0 – but my theory is that this will be 5.0.20 or above. Hrrm… anybody see a pattern?

MySQL 5.1 is at 5.1.10 (or so) and it’s stopped being annoying, and that great march towards a .20 is healthy and active.

GCC 2.95 had a lot of respect for a very long time (now it’s just a bit old). Note that .95 is higher than .20 :)

EMACS is at version 21, but ed is only at .2 (hrrm.. and which is used by more people as their editor i wonder).

aptitude at 0.2.15 (getting to .20) – while apt is at 0.6.40 (above .20). RPM is only at 4.0.4 – so a bit to go there :)

The version of postgresql is 7.5.9 over here… so getting to the .1 stage, but away from the .20. (now I’m going to watch comments fill up with postgesql guys going on about something, i just know it :) But there is 7.3.14 – a lot closer to .20!

MythTV is at 0.19 – getting closer to the .20 release (it’s a lot better than even just a few releases ago).

(versions here mostly taken from whatever ubuntu 5.04 has)

Note that attempting to skip a whole bunch of versions and label your software 95, 98, 2003 or whatever doesn’t get you “.20” status. Neither does just skipping to “.20” automatically. It’s about hard work and removing annoying things (we tend to call them bugs).

This is a really stupid metric of software maturity. It is, however, disturbingly accurate.

My MySQL UC2006 talk – more working on it

MySQL UC 2006 – April 24-27, 2006 – Santa Clara, CA – MySQL Cluster: New Features and Enhancements

So I’ve done some more run throughs to get things running smoother (and made some more edits along the way). At some point I will stop fiddling with the darn thing. It’s going to be fine (repeat, take 8 times and call me in the morning if pain persists).

Some features take a lot longer to explain than others. It’s quite interesting really.

I’ve tried to strike a balance between good overviews of technology and the down-and-dirty details. Hopefully it’s a good balance and fits the audience. I’m assuming a bit of knowledge about Cluster (I think the SQL knowledge should be a given – it’s a technical talk at the MySQL UC!). I’m expecting to be thrown a bunch of questions througouht – and hopefully really good questions (and one’s that I’ve anticipated and if people only wait for the next thing i was going to say…).

I’ve put a lot of prep into this talk – hopefully the effort shows (in a good way!).

So come along and hear me talk about what we’ve been up to in the lovely land of Cluster.

in the meeting tonight…

“this just shows you should always check your other pair of pants”

I love the smell of fresh Basil

even after you wash your hands, the smell is still there – it’s great! Of course, it’s bad if you’re in public and keep smelling your hands – but Basil does smell really good.

I shall now nervously look around the room to see if anybody is going to see me smell that fresh Basil smell that’s permeated my hands.

I made wikid past sauce tonight.

Let me extend a “Fuck You” to Skype

Intel/Skype “Deal” Locks Out AMD CPUs For 10-Way Calling at The Musings of Chris Samuel

Fuck You Skype, fuck you right in the ear. Put down the crack pipe and let your users get up from being bent over the car. Get a grip, some sane practices and then perhaps you’d get some respect.

Perth Penguinista is back

Perth Penguinista: How to trash a non-life

It’s really great to see you back blogging Leon.  Here too (Perth Penguinista: Free in many ways). I have a few friends who work (or have worked) in hospitals. Let us just say that the tales of computer woes are not to be underestimated.
So cheers to the hospital staff that’s made sure the words still flow (and make sense!)

Incidently, I found the DVDs of the first two series of Scrubs for a reasonable price the other day, So for the past few days I’ve been watching a lot of Scrubs.

Obfuscated SQL Contest

Try to evaluate this yourself first

I think Kai wins this one, hands down.

final prep on UC presentation (and new toy)

I bought a new toy yesterday (and about time I did). A Logitech presentation clicker thingy:

Picture(14) (1).jpg

It has the laser pointer, the forward and backwards slide buttons and, arguably most interestingly, a built-in timer with vibrate alert.

What’s annoying is that the forward/back is done by page up and page down – and this doesn’t work for the “appear on click” thing for OO.org. Luckily for me, I just about never use that “feature” as the in version of OOo that Ubuntu ships in their stable release (5.04) is just too darn buggy in that area. I do sometimes wonder if people use the stable release of their product for any real work.

But it’s a nice little device and seems to be an improvement of the using the remote control feature of my phone to do the same thing (if you didn’t do anything for X seconds, it disconnected and had to renegotiate something that took a few seconds).

RealNetworks is still clueless (and amazingly not broke yet)

(note that this entry is in the “Inciting Hatred” category. it is not meant to be well argued or anything. I’m ranting. get-over-it).

RealNetworks rep to Linux: DRM or die!

You need DRM about as much as you need anything containing the word “rectal”. Nothing good is prefixed by the word “rectal”. Even if you like it that way – the only time the word rectal is ever used in that context is to do with disease.

Mind you, if you consider all the shit music that’s pumped out these days, maybe if it’s all locked up in DRM and I never see or hear it the world will be a better place. That’s right Robbie Williams, I’m looking at you.

Can anybody remember a time when Real shipped a product that anybody actually wanted to use? No? Well, that’s because they never have. Apart from the wow factor of being able to get audio (and then video) over the Interweb (err… net it was back then)  it just felt like they hated you. I am still bitter about that linux ppc build that couldn’t even pause reliably.

Even Microsoft did better with their Windows Masterba…err.. Media Player. For a start, I’ve seen somebody use it in the past six years.

So an irrelevant company is saying something stupid and wants to rob me of my freedom.
Say NO to DRM. Also say no to drugs – but mostly say NO to DRM.

The Melbourne MySQL User Group April Meetup

The Melbourne MySQL User Group April Meetup

Should be fun! I’m going to talk about Cluster.

Moo, You Bloody Choir

Augie March – Moo, You Bloody Choir

While I was away (I think I was in Stockholm at the time… not sure actually), Augie March were doing signings of their new album at JB in the city. Jessie volunteered to go get me a copy. So when I got home, I had this waiting for me:
Moo, You Bloody Choir

with it signed by the band:

Moo, You Bloody Choir (signed)

It’s an awesome album too. I’ve really liked One Crowded Hour since I first heard it (a long time ago now) and am really pleased that it got onto a release. I’m also a fan of Clockwork and Vernoona and a whole bunch of other tracks.

They’ve got some gigs coming up, hoping I’ll be able to get to them.

doxygen loves the RAM

Why when running doxygen over the mysql tree (5.0 or 5.1) do I have a process with 590MB of RSS memory?

Not exactly inspiring confidence. Although I guess I’m lucky because I have the RAM to do that in (on any box around here I actually use frequently).

The output of doxygen can be really useful when trying to learn (or remember) the relationships between various bits of code. I find it a bit faster than switching between buffers in an editor and then trying to remember where some class was defined. links are a good thing.

It’d be great if we switched all our public API docs to doxygen, as the output really is quite nice. In fact, internal APIs wouldn’t be bad either. Although, naturally, the real documentation is the source, which (luckily) the doxygen output also makes easy to view.

I’ve rigged up this script to automatically pull the latest out of the public repository (using the free bk client) and generate doxygen docs. About time I share this with the world. get_trees.sh you also need the doxygen template (rename it to Doxyfile.template in the same directory as get_trees.sh)

I run this in cron @daily.

Finding the cause of a bug Lesson 1

Assume nothing. Your assumptions are wrong, that’s why there’s a bug silly!

If valgrind had a time machine function it’d be totally awesome. But it doesn’t so currently extra work and thinking is required. doh!

my phpbms branch

I’ve had to fix a few small bugs in the release of phpbms. So I’ve put my bzr archives up

bzr clone http://www.flamingspork.com/src/bms.upstream/

and

bzr clone http://www.flamingspork.com/src/bms.stewart/

Hopefully there’ll be another release soon that incorporates these fixes – some are on the sourceforge page and some are in the source repo.

totally quivering over phpBMS

phpBMS

Basically I want something to generate invoices for me. This should greatly help in a bunch of things – namely not being a retard and fucking it up every month.

Primarily I want to just be able to *not* have a whole bunch of spreadsheet files (one for each month of work plus one for each months expenses) and actually have something that works and takes a lot of the pain away for me.

Then I can do queries to fill out stuff for the tax office.

I think phpBMS fufills this for me. In fact, I’m very much inclined to migrate to it right now.

It stores all its data in a MySQL Database (which is nice, as I use that – and like it). It also means I can do arbitrary queries (in fact, the queries it does are viewable via the Web UI – funky!)

It’s even buzzword compliant with AJAX.

Congratulations Mike!

debian/rules (and something about a bridge, blinky bill and an ERD)

Congratulations man – sounds like a rather cunning plan was executed.

getting rid of duplicate emails, elegantly

I like duplicate emails in the way that everybody is thinking. This is different.

Due to a bug in offlineimap i hit a little while ago, it’s managed to make copies (sometimes even two copies) of each email in certain folders. Now, this isn’t so bad as

a) email didn’t get lost

b) it’s just using extra disk, and disk is cheap.

but it is annoying when searching.

It’s also annoying because it’s decided to do this on folders such as INBOX/MySQL/bugs which contains an email for each change to a bug report even since I joined the company. That adds up to a lot of wasted inodes and disk blocks.

So, I’ve revived this project that I have in the back of my head of efficiently storing email in a database and being able to sync between instances of it.

This gives us some nice advantages. you can use replication to keep a backup of your email. You can put it in Cluster and have high availability email.

We can also do some neat tricks with tables of all that info that you need to display lists of emails and probably get performance boosts instead of having to open each mail as we currently do. i.e. current email solutions don’t scale to a million emails in a folder.

Partitioning will also be useful to make searches quicker (odds are what we’re searching for is recent and all sorts of foo).

Anyway…. it’s interesting to see the bunch of errors that gets thrown up by the Mail::Box perl module on some of my Maildirs. Hrrm… I may have to resort to my own more error tolerant code. I’m determined to write scripts that can not possibly loose anything.

crash halfway through upgrading Ubuntu breezy to dapper

see BUG#37430 for some details. Also see BUG#37435 for why it gets really painful later on.
Basically, if your machine crashes around the time of the dist-upgrade, you’re totally screwed. mkfs and re-install.

I’d hate to have not made /home a different partition from /.

I currently don’t have much confidence in an easy upgrade for my laptop considering what I’ve just gone through for my desktop. I’m now downloading the flight 5 install CD so i can re-install from stractch. urgh. not happy jan.

My recommendation for upgrade is a full backup of everything beforehand and if anything even remotely goes wrong, restore the backup.

Naturally I didn’t do this for the desktop. but hey, the laptop is more critical. I’ll be doing it for that, as I always do.