Danger-Bomb alarm clock: reconnect the wires to turn it off

Boing Boing: Danger-Bomb alarm clock: reconnect the wires to turn it off

I think I totally need one of these – over the years I’ve become a complete expert in the art of not getting out of bed when an alarm goes off (even if I have several scattered around the room)

OpenOffice.org continues to hate you

Inserting bullets into slides where previously there were none. Thanks OOo, reformating a number of slides was exactly what I was missing in my life.

Oh, and waiting an entire minute to save my presentation is also a great use of time. Funnily enough, my laptop disk (although slow) is faster than 1.3MB/minute.

RAID, LVM2 on USB disks with Ubuntu makes me a sad panda

Talk about a total pain to operate. After a reboot, the following is needed:

  1. modprobe dm_snapshot (if you don’t do this, you get “device-mapper: reload ioctl failed: Invalid argument” in step 6 – a really helpful error message. no dmesg or verbose things gets you any closer)
  2. some magic foo to scan the md array back
  3. pvscan
  4. vgscan
  5. lvscan
  6. lvchange -ay FooVG/barLV
  7. mount
  8. urgh.

Why this doesn’t just all detect itself on boot who knows. I’m surely not the only one doing this….

timeout units

Following a discussion on mythtv on #xfs (as you do), and a wondering of “hrrm… i wonder what unit that timeout is” with some NDB code I wish to make the following announcement:

All timeout values in NDB related APIs will now be given in centijiffies of the server system. For APIs that can talk to multiple hosts, it will be furlongs per fortnight.

I feel that having a consistent interface such as this will lead to much less confusion and better apps.

wordpress 2.1 and the world has not ended

hrrm… neato, upgraded to WordPress 2.1 and nothing seems to have exploded too spectacularly (in fact, everything works). yay!

interesting rhythmbox bug…

It continued to play Tool, but wouldn’t let me pause (or, indeed, call up the window from the systray icon).

Gotta love the taste in music at least.

Larger inodes make for (some) happy apps

Mikal talks about Ted talking about Tridge talking about how larger inodes can improve samba4 performance. Well, not just Samba4. Beagle and SELinux are also common heaver users of extended attributes which can often be stored inside the inode (e.g. on XFS).

There used to be the case where the Fedora installer would run mkfs.xfs with the default options and enable SELinux. Turns out this setup is great for systems without SELinux but the xattrs were large enough to require more space than what could fit in the inode, causing an extra block per inode to be allocated for xattrs. Not exactly space efficient.

The same can happen with Beagle. So if you’re using SELinux and/or Beagle and/or Samba4 – large inodes are probably going to be a winner for you.

I think we’re getting to the time where xattrs are popping up here there and everywhere for all sorts of applications and we’re going to have to find good (and efficient) ways of storing them.

I’m increasingly warming up to the idea of variable sized inodes. For a FS like XFS this could be done per group of inodes (XFS typically will, when more inodes are needed, create 64 inodes at once). File systems such as ext3 don’t really have this option as there is an inode table that is fixed and created at mkfs time. Although Ted has some interesting ideas for ext4 in this regard.

I’m sure Val Henson would have some interesting ideas for ChunkFS too…  a very interesting concept that I’ve been thinking about the possibility of retrofitting into existing systems (which I don’t think is that silly).

It would be great for some of the XFS dudes to write about the parallelising of checking an XFS file system.

Testing Cluster Certification exam questions

I (like several other of my co-workers) have over the past few days (since about Thursday/Friday IIRC) spent quite a few hours testing exam questions for the upcoming MySQL Cluster Certification exam.

Currently, I hold the record for the most correct answers (and number of questions that have been commented on). Yes, this is a direct challenge to other MySQLers to try and beat me.

For MySQL certifications, there is a giant pool of questions, a selection of which are selected for a particular candidate. So those brave few who go and test every single question spend a lot of time doing so to make sure the end exam is the best possible.

I’ve really grown to repsect the MySQL certs even more than I did before after being involved in creating one… we really try to make sure that to pass these you have to know and understand what you’re doing… no superficial stuff here.

Oh, and Roland is going to be giving a MySQL Cluster Certification Primer at the MySQL Conference coming up in April.

LCA2007 Photos

I’ve added a LCA2007 section to my Gallery with a bunch of photos I took at and around the conference. Feel free to have a look. I’ve posted a bunch of these to flickr already, so you’ve likely seen some if you follow my flickr feed.

Note that this gallery install is usually running a top-of-tree mysql cluster install on a box that has a bunch of other load on it… so things may work, may not – whatever :)

Those of you listening in on Planet MySQL – you should be able to spot a few other MySQLers around there, and there’s photos from the MySQL miniconf.

bitkeeper unlock -s magic

If you ever get something like this:

bk clone -lq ndb bug25567

clone: unable to readlock /home/stewart/Documents/MySQL/5.1/ndb

then try this:

bk unlock -s

to remove stale locks.

I have no idea how anybody is meant to come to the command from the error message… blindly guessing ‘bk help unlock’ worked for me though.

lca rocks

lca2007 already totally rocks.

did the speaker thing this morning, which was awesome (and i won’t spoil the surprise)

mysql miniconf today, should rock.

MythTV Tutorial final prep

Mikal and I are putting the finishing touches on our MythTV Tutorial for linux.conf.au 2007. Enjoy the piccies of the machines we’ll be demoing with…

dsc_6050.JPGdsc_6052.JPG

NDB! NDB! The storage engine for me!

Today I set up a mysqld connected to my not-quite-HA cluster at home here to replicate from my MythTV database into cluster. The idea behind this is to eat an increasing amount of my own dogfood around the house.

To do this, I also set up the MySQL Instance Manager to manage the now multiple instances of MySQL Servers on a box here. I found it a pain to do, it should be a lot simpler, but isn’t. At least now things are going okay…. but the feature wish list I have is rather long (perhaps I should hack some stuff up in this “spare time” i’ve been hearing so much about).

I’m also about 10 minutes (or however long the build takes) off moving one of the data nodes off the machine so it will be a real 2 node system (but I still have to move the management server to a third machine to have any real HA… and I have a PowerPC machine marked for that, I just have to await some patches to make it work :)

Currently though, my Gallery is being served off this. There are so many more photos I should add, I just haven’t come up with a decent way to interface f-spot and Gallery together – especially when I go back and retouch, delete or tag photos.

book writing tools

I’m involved in the authoring of two books at the moment – both using different tools, neither of which would be my choice if it was up to me. One is using DocBook, writing raw incredibly verbose XML… which honestly, isn’t that much fun. The other is in Microsoft Word (well, OpenOffice.org Writer for me). The last time I really used Microsoft Word really seriously was probably around 1998/1999 with Office 98 on the Mac. It was a pretty awesome suite of software actually. Especially after the update that fixed a few crashing bugs :)

One thing I do notice though is the collaboration tools in OOo Writer are nowhere near good enough. The notes are small yellow rectangles where you either have to hold the mouse cursor over them to read them (ick, slow) or double click them and scroll right forever to read the whole or in conjunction with the last way, use the object browser.

Also, track changes doesn’t really track changes to things you’ve changed. i.e. i cannot edit the same thing twice and keep both changes. urgh. I’m pretty sure MS Word let me do that… It certainly allowed me to use versions in a Microsoft Word format document – which, unfortunately, a lot of the world still primarily deals with.

If these few things were fixed it would be a much better word processor.

It’s always frustrated me how poorly word processors handle large files too (except perhaps Nisus Writer… that was certainly a neat app). Add a bunch of images and your file now takes ages to open and save. blergh.

As for figures in DocBook, there seems to not be much input and output processing… i.e. if you put in SVG and you output to HTML it doesn’t output very nicely (puts in SVGs into small windows) and probably completely doesn’t work on browsers that don’t do SVG.

I sometimes wonder if we’ve really moved on to something better than LaTeX and xfig…. okay, there are better tools than xfig for a large number of diagram types.

Feeling blergh and trying to work

Been feeling rather blergh all today – bit fevery and headachey all day. Managed to spend most of it lying in front of the TV. Bit of Seinfeld, Scrubs and now Buffy. Memorable lines from the current episode include “Q from Bond, not Star Trek” and “can you help with the thinking?”
Speaking of Star Trek, it’s been way too long since I’ve watched any of the original series… or Wrath of Kahn (which, incidently was mentioned in a Seinfeld I watched maybe today)…

ode to feelking ick and not making much sense.

bluetooth fun

ffor Whatever reason it Seems to be impossible to
do more than one thing via bluetooth at once. i.e. i cannot fetch a photo from my phone while connected by gprs. the suck

also, the handwriting recognition on the 770 sucks. i totally miss this from the newton. it should, but obviously doesn’t tae into account the wrd you may be trying to write. thelikelyhood of me writing t9 is quite small compared to the probability of writing to.

i guess this could be an interesting thing to hack on though…

maybe i should start a ‘to hack on’ list.’ list.

more fun on Melbourne trains

just made the train, by about 4 seconds :)

but the fun continues, according to the display in the train, it’s been Parkdale station.for the last 5 stops. glad i’m not a tourist.

i’ve brought my camera in for this trip into the cbd – desperately hoping that if needed, the batteries for my flash hold up. i’ve got a few for the camera with me, so i can resort to the inbuilt one.. but it just doesn’t seem as good as the sb800 :)

written on a nokia 770 connected through gprs while listening to an ipod. so geeky geeky

opera mini makes phone web not totally suck

i wonder why i haven’t done this before? anyway, it’s pretty neat and useful.
although i wish there was an easy way to upload a photo that’s already been taken. then it would be really useful.

MySQL 5.1.14 has hit the streets, the kids love it.

Over at the DevZone, MySQL 5.1.14 Downloads the cool kids are grabbing the latest 5.1 beta. Lots of Cluster fixes in this release too. We’re getting to a much more polished state for NDB with each release and that’s a good thing to see.

On a totally different topic, i bought a really sweet smelling mango today and cannot wait for the right time sometime this afternoon to eat it. All the summer fruits are really nice at the moment (benefit of being in a warm December I guess) and I’m loving it.

Although 37-41 degrees (Celcius, duh) can be less fun with a rather warm laptop.

online online online! (or restarts are for wusses)

I often see things go past my eyes where customers (and users – i.e. those that don’t send wads of cash our way and hence are not financially supporting my beer, curry and photography habits) have amazing uptime and reliability requirements.

When talking to businesses that use MySQL, it’s not uncommon to have the “if the DB is down, our business doesn’t operate” line bandied around. How people make sure this never happens can differ (hint: it often involves replication and good sysadmin practices).

One thing I like doing is making things easier for people. Sometimes it’s also a much more complicated problem than you’re initially led to believe.

I think configuration files are obsolete. Okay, maybe just for databases. Everything should be changable as an online operation. This should also be able to be done via a standard interface – in our case, SQL. This means it’s suddenly really easy to write portable UIs around the admin functionality (no getting the parsing and generation – most trickily, the modification of text based config files right) just the issuing of SQL to the server, relativly simple. This even enables web apps to tune the database a bit, opting for various amounts of automation for various applications – in a cross platform way!

One of my visions for NDB (MySQL Cluster) is to get rid of the (user visible) configuration file and manage everything through SQL (or management client, something like that). This way you could ALTER CLUSTER ADD NODE, ALTER CLUSTER SET DataMemory=4GB etc and things should “just work”, take however long it needs – without downtime.

In a clustered environment, we could do these operations transactionally so that in the event of node or system failure we have some hope of being in a nicely consistent state and that during system recovery (or node recovery) we’re not performing a configuration change in addition to restarting (e.g. if you edited a config file and then had a crash).

Config changes could also have EXPLAIN, a non-modifying operation that would EXPLAIN what would be done – e.g. rolling restart, taking approximately X minutes per node and Y minutes total. This could help in planning and scheduling of configuration changes.

(i wonder if that made any sense)