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.

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).

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.

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.

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.

MySQL Users Conference 2006 – April 24-27, 2006 – Santa Clara, CA

MySQL Users Conference 2006 – April 24-27, 2006 – Santa Clara, CA

I’m presenting “MySQL Cluster: New Features and Enhancements”. It’s going to be a riot. Lots of sexy new stuff to go on about. I’ll also be running a Cluster BoF and am really looking forward to chatting to people about Cluster and what we can do to make it better for our users.

So come along and talk to me while I’m there.

I’ll be sure to use the word “thongs” in the Australian sense as much as possible.

So come along, or I’ll be forced to ask “Where the bloody hell are ya?

MemberDB – A Membership Database 0.4

MemberDB – A Membership Database

I released 0.4 today. A rather long awaited release. No doubt there’ll be bugs and the need for a 0.4.1 or something – but this is relatively bug free and has a bunch of new cool stuff to chew on.

It’s also the first real release to support MySQL 5.0 (previous releases won’t work as MemberDB heavily uses views).

Photo out of the hotel room window

DSCN7380-small.JPG

At the recent MySQL DevConf in Sorrento, Italy, I decided to take a photo out the window of my hotel room. Here it is. I’ve stayed at worse places, just :)

It also looked really similar to this from the breakfast and lunch room.

Pity we were then stuck in the basement working for most of the day. But it rocked. Got through lots of stuff, which is good.

adnarim_abroad making me homesick

adnarim_abroad: I know it’s controversial to say, but i’

I now want to be bumming around Melbourne city during the games. My house is 2mins walk from a  train station that’s less than 30mins to the middle of town. But never spend enough time there.

It’ll be good to get home.

Although i think the tired and hungover thing isn’t helping.

really unstable laptop

I’m currently getting hard crashes about five times a day.

I thought it was the sound driver, as i got a crash during dist-upgrade (again) while on console and saw the backtrace. Basically looked like something bad happenned when the sound was muted.

So, running without sound muted – just turned down.

Well, today, just crashed again. Since running X, no backtrace. ARRRGHHH.

Also crashed when waking up too. ACPI stuff in the backtrace.

Not a happy camper at the moment. I have work to do, not futzing around with trying to find out what the fuck is wrong with my laptop (probably software) when I should be running a stable system.

I’ve already have to re-add all my liferea RSS feeds as liferea obviously isn’t doing the right thing (at least the version shipping with Ubuntu) regards writing the feeds file to disk.

So, I’m trying to prepare presentations for our DevConf on an incredibly buggy and almost unusable OpenOffice.org on an unstable laptop.

I think I’m going to have wine again with lunch.

In Sorrento (and awake!)

(almost) enough said. Good to see people again. Now just a talk to prepare for tomorrow.

Okay, not totally prepare – but a bit of it.

The one I’m giving today – on Cluster Replication is pretty much done. Would like to run through beforehand – but not sure how that plan is going to go.

A million tables

Arjen’s MySQL Community Journal – A million tables

$ time ~/mysql_create_table_torture
50234

real 6m11.927s
user 0m2.347s
sys 0m1.578s
(i hit ctrl-c at 50,000 as i did want to get back to real work).

No sign of slowdown. Assume it would take about 60mins on XFS. Seems to be metadata limited here… disk going constant, not CPU.

Of course the real benefit with XFS will be sane lookup times.

Delete wasn’t bad -  under 2 mins.

Also would be better on a less abused FS than my laptop :)