Archive for October, 2010
How to get your submission rejected from the MySQL conference
I’ve written before about how to get accepted to the conference. We want great technical submissions in a broad variety of topics, for databases well beyond MySQL. I wanted to post a quick list of things that come to my mind as good ways to get voted down or rejected out of hand. In general, I can put it this way: you are being peer-reviewed by presenters and industry experts. You need to write your proposal for the committee as well as for attendees. Lightly edited copy-and-paste from real examples:
In this tutorial, ______ will teach a condensed version of his standard commercial training workshop, a $1,500 value.
THIS IS A MUST ATTEND FOR THOSE WHO WISH TO BECOME ______ EXPERTS.
Sometimes being a committee member is fun. My all-time personal favorite, from the 2010 conference:
NETWORKING FOR TECHIES — BUILDING BUSINESS CONTACTS AT IT CONFERENCES… ___ ___ will guide you step-by-step through the networking process using demonstrations, exercises, role plays, and personal coaching that focus on networking between sessions, in workshops and at receptions.
And then, in the additional notes area, which reviewers see but attendees don’t, the submitter included this little gem: “This fee-based session (TBA)…” Oops! I almost didn’t notice that you thought you could make the conference’s business decisions for them!
In addition to these concrete examples, chest-thumping in general rarely goes over well. Keep in mind that some people on the review committee may have been called in to consult on the application you’re boasting about, and found it less impressive than you may be conveying in your proposal. The reviewers will note that down, and we all see each others’ notes and votes, so a conversation about the background story is likely to develop during the voting process.
Sometimes I think that well-intentioned submitters don’t realize that the submissions should be fully technical, and the products & services track is available by contacting O’Reilly directly about sponsorship:
____ is trying to make it easy for start-ups… Initial pricing is $___ for a single server. (This submission belongs in the expo hall, not the session rooms.)
We will demonstrate why ___ appliances are optimal, showing examples of customer performance improvements. (This looks like an infomercial.)
If you have a product or service that you think will benefit from exposure at this conference, you should definitely talk to them about sponsorship. It is a win-win.
A review of MySQL 5.1 Plugin Development by Golubchik and Hutchings
MySQL 5.1 Plugin Development, by Sergei Golubchik and Andrew Hutchings, Packt 2010. About 250 pages. (Here’s a link to the publisher’s site.)
This book is well worth reading for anyone interested in MySQL internals. I learned a lot from it. It is well-written and understandable. I cannot say that I’m planning to write storage engines or more advanced plugins, but I have a great many ideas how to improve MySQL, and I now understand more clearly which of those are suitable to write as plugins, and of what type of plugin is appropriate. I also think I have a better idea how much work these various ideas might involve.
The book begins with an orientation to building plugins on various platforms. Next it covers user-defined functions (UDFs). I have written UDFs, but that’s as far as I have gone with MySQL plugins. The rest of the book covers Daemon plugins, INFORMATION_SCHEMA plugins, full-text parser plugins, and storage engine plugins from basic to advanced. The last example is a nearly complete storage engine built on Tokyo Cabinet, with some pretty advanced functionality. It finishes with a quick overview of the types of plugins available in development and future versions of MySQL, and what’s possible in MariaDB.
The examples are full code listings, with paragraphs of text alternating with a few lines of code. It’s like reading a really well-commented C program, like reading InnoDB source, but with even more explanations. You can download everything you need to build and run the examples yourself — even the sample images used for demonstrating full-text search of EXIF data.
I enjoyed reading about what’s possible in MariaDB. I had not kept up-to-date with the work that’s being done there. If I were a storage engine developer, I’m sure I would appreciate what MariaDB has done. I would speculate that many of the people who’ve written in-house custom storage engines for their own businesses might find MariaDB interesting.
I think that anyone who is planning to modify the MySQL source code should read this book. It could save a lot of work and show easier ways to do things. I learned a lot about the MySQL source code that I have not gotten from other places. This one will go onto my list of essential books for MySQL users.
Profiling a process’s IO usage with ioprofile
I’ve written a tool to profile a process’s IO usage. It works by gathering lsof and strace from a process, and then figuring out how the file descriptors, function calls, and filenames are all related to each other. The manual page has examples. I’m curious to see how it works for you. Note that it might be a good idea to run this on your development or staging system before you go running it against your production MySQL server — there are rumors of strace misbehaving on some kernels.






