Archive for September 2008

MySQL Lists via NNTP

MySQL Lists are available via NNTP, so you can use your newsreader! If only all lists were like this.

Now for the real motivations…

After all acquisitions, things tend to change. We’ve been mostly nudged to migrate to using Sun’s email systems, and you can imagine its fun moving about three years worth of mail from one server to another. Especially, while you’re at the developer’s meeting, with lots of people sucking bandwidth.

The recommended method is to Ctrl+drag (OK, Command+Drag for me on the Mac) folders. This is called pain. My Sieve filters are also not importing without pain.

As a consequence, I’ve unsubscribed from all MySQL Lists. But that’s the point of this post – you can read all MySQL Lists using NNTP (with a newsreader of course – Thunderbird is a good one, as is Pan or slrn).

Point yourself to news://lists.mysql.com/ in your newsreader and have a good time. Less email. Still the same great lists.

workbench-5.1.1-alpha on Fedora 9

So, you want to compile Workbench for Linux, on Fedora 9. You need to install the following packages:


autoconf automake libtool libzip-devel libxml2-devel libsigc++20-devel libglade2-devel gtkmm24-devel mesa-libGLU-devel mysql-libs mysql mysql-devel uuid-devel lua-devel glitz-devel glitz-glx-devel pixman-devel pcre-devel libgnome-devel gtk+-devel pango-devel cairo

I feel I’m being too liberal with dependencies, but I’m not about to strip it, I just want to get it working first :)

You need to have ctemplate and ctemplate-devel installed from updates-testing-newkey (relevant koji build log).

By default, configure.in in Workbench looks for “google-ctemplate”, as opposed to just “ctemplate” as Fedora calls it. You can fix this (easy), or “cheat” – in /usr/local/include you can do sudo ln -s /usr/include/ctemplate google. Take your pick.

Now for the fun. Fedora includes gcc-4.3. Ubuntu ships gcc-4.2. Let’s just say gcc-4.3 got stricter (its C++ header dependency streamlining related). So strict, they have a useful porting to gcc-4.3 guide. Just FYI, I believe OpenSUSE is also shipping a more modern GCC (I expect the next Ubuntu release in the coming month to do the same).

So, start getting used to doing the following in files that lead the compiler to fail:

  • #include <cstring>
  • #include <algorithm>
  • #include <memory>
  • #include <climits>
  • #include <cstdlib>

This will help get rid of error messages like: error: 'memset' was not declared in this scope. This stuff is already fixed in trunk (or the patch is being applied).

You will need to pick up cairo from source. Why? Because --enable-glitz isn’t on by default in the RPM spec file (similar with Ubuntu). The glitz backend is apparently still a release preview and doesn’t fully work yet. (I have spoken to Alfredo, and he says he’s just removed the requirement on glitz in trunk).

Now, once you’ve built cairo with glitz, before running ./autogen.sh, do: export PKGCONFIG_PATH=/usr/local/lib/pkgconfig. Then go ahead and make it.

There are still plenty of warnings that spew by. I have this vague idea that once Workbench for Linux sits on Launchpad, we’ll run a janitorial tree that fixes warnings in the code. A great way to garner community contributions!

Anyway, a lot of this is either fixed or patches will be applied to trunk. I expect a mysql-workbench-5.1.2-alpha out sooner than you think to eclipse 5.1.1-alpha. Again, superb work Alfredo (and MikeZ and the rest of the GUI team).

On corruption

A few weeks ago, I attended a fiduciary bootcamp. I didn’t even know what it meant.


“involving trust, esp. with regard to the relationship between a trustee and a beneficiary : the company has a fiduciary duty to shareholders.”

It was generally not a productive use of my time, but a choice quote through it all, caught my attention.

We need to recognize corruption for what it is. Officials who take bribes are stealing from their own people — not just money but governmental legitimacy and the hope of a better future. Their actions distort government decisions, waste scarce resources, and undermine public trust in political leaders and institutions. What’s more, corruption makes it more difficult for governments to implement laws and policies, and to attract and hold essential foreign investment.

Larry Fisher

This was presented at his keynote address at Rice University, in a talk titled “Taking a corporate stand against public corruption“. Choice reading (and I don’t normally consider reading stuff from a lawyer, choice reading).

MySQL Conference 2009, Open Source Databases MiniConf at linux.conf.au

It is no secret that I am the Program Chair for the MySQL Conference & Expo 2009, and am truly excited about it (big shoes to fill in from Jay). I expect it to be a great conference, with over 2,000 attendees and lots and lots of great talks. The paper submissions have been coming through, the excellent voters have been voting, and the progress is impressive. Its a great learning experience.

Now, I’m excited to tell you that I’m also going to organise the Open Source Databases MiniConf at linux.conf.au 2009. Its going to be in Hobart, Tasmania, in January 2009, and again, I’m excited. Read the press release for more.

Why is this exciting? Because we’ll have a two-day mini-conference, as opposed to the usual one day. There might even be time for tutorials. And now, we’re combining all the great databases out there, not just focusing on MySQL or PostgreSQL (as we have in the past). Come discuss on anything from CouchDB, Drizzle, SQLite, PostgreSQL, MySQL, Derby/JavaDB and many more. Next up is setting the wiki, and an appropriate e-mail address (we already have mysql-miniconf[at]mysql[dot]com, but maybe I’ll ask for osdb or something soon) to accept papers.

Lots of conference organising fun, coming right up!

Workbench on Linux

I had the pleasure of sitting right across the MySQL GUI Tools Team, and decided to try my hand at Workbench (Workbench for Linux, that is). Congratulations to the entire team for the great work! I am excited.

First up, the things you need on Ubuntu 8.04 (I created a fresh install, and installed all the updates), if you’re downloading the binary:

  • liblua5.1-0
  • libglitz1
  • libzip1
  • libmysqlclient15off
  • mysql-common
  • libglitz-glx1


Workbench on Ubuntu 8.04
Workbench on Linux

It works. It starts up. Its exciting. Of course, when I try to edit a table name or even create a table, it fails by segmentation fault. Segfaults are annoying… so the best way to debug it, is of course to run catchsegv. After running catchsegv ./mysql-workbench 2>&1 >crashlog, I sent it over to Alfredo for him to debug.

Of course, as luck would have it, the build ships stripped binaries, so the segfaults can’t be debugged. Grr. Nevermind, I decided its time to build it (warm thanks to the Workbench team for staying around till like 7.30pm at the meeting room). As a consequence, Alfredo managed to also update the Linux Build Instructions page as we had learned some things along the way.

I built glitz, pixman and cairo from freedekstop.org (when building cairo, remember to do it as such: ./configure --enable-glitz), but from what I gather, this is now available via Ubuntu 8.04 and is sufficient. So the build dependencies are all in Ubuntu, which is useful (in terms of building a shippable DEB). The only thing that isn’t available in a packaged form is Google’s ctemplate library. I notice the instructions now don’t mention installing a few more packages I installed on Ubuntu (I’m not even sure now if they’re a hard dependency or not, I’ll check later). But if something fails, install libproc-dev libXtst-dev libdnet libdnet-dev.

Like magic, I can now edit and create tables, draw them even. No crashes, its pretty stable for an alpha release (provided you’re using a version you build!). I expect a healthy continuos release cycle, so if you encounter a bug today, it might be fixed before you know it… Of course, this doesn’t discount you from being good friends with our bugs system at http://bugs.mysql.com/.

My short term plan to assist Workbench on Linux:

  • Get it building on Fedora
  • There’s a patch floating around for OpenSUSE, get it building there too
  • Package DEBs and RPMs
  • Try to include missing packages (like google-ctemplate) upstream

Oh, if you have issues, hop on to IRC on freenode, and join #workbench. Sure, there won’t be great answers in the next week or so (while we’re all busy at the developers meeting), but usually there’s always someone awake on that channel.

Software Freedom Day in Riga: Superstars galore

Tomorrow (Saturday, September 20 2008) is Software Freedom Day, and we’re taking Latvia by storm! We’re hosting it at the University of Latvia, and we have an awesome schedule.

Why awesome? Because we have exciting speakers like you wouldn’t believe.

  • MÃ¥rten Mickos, former CEO MySQL AB, current SVP Database Group, Sun Microsystems
  • Kaj Arno, VP Community, Database Group, Sun Microsystems
  • Mark Callaghan, Google Inc – he’ll be talking about running a database when your business depends on it – very cool stuff
  • Domas Mituzas, Wikimedia Foundation and Sun Database Group Support Engineer

There are many, many more, but just the list above is pretty impressive if you ask me.

There is to be free lunch at the university, and in the evening at 7.30pm, there is to be free buffet dinner and beer at the Radisson SAS Daugava Hotel. Come unwind with the rest of the Sun Database Group!

So, if you’re currently not in Riga, Latvia, consider coming. Take a flight in, or if you’re in Finland, there’s a ferry; if you’re in Estonia, there’s a train; and if you’re in Lithuania, there’s a bus!

As an aside, I find it funny, that I have traditionally never been in my own country when there has been a Software Freedom Day. Last year I was in Beijing, China delivering a speech on MySQL. This year, I’m in Riga, Latvia, with the rest of the Sun Database Group for our yearly developer’s meeting.


i