I am Peter Breuls. I write web applications in PHP, movie reviews and irregularly something on this weblog. Welcome!
Through my company Devize, I'm available as a developer or a consultant for websites or web applications.
I work as an Administrator at online community FOK! and as a Lead Developer at frontoffice supplier SIMgroep.

Drizzle instead of MySQL?

MySQLcomment

Zend Developer Zone: "Drizzle is a new, lightweight fork of MySQL specifically designed for cloud applications. Although Drizzle is still under development, it's attracting a lot of attention from developers around the world. This article introduces you to Drizzle and shows you how to use the Drizzle PHP extension to perform queries, retrieve result sets and handle errors in your Drizzle+PHP application."

There's been a lot of buzz about Drizzle lately. Need to check that out some time.

MySQL Conference

MySQLcomment

Ivan Zoratti: "The content can satisfy the appetite of a technical audience and of more business-oriented IT managers at the same time. We will have sessions on performance, on scalability solutions and on Proxy, with hands-on the servers, difference parameters and tools. IT managers will probably find interesting a renewed set of HA solutions and some renewed views on the infrastructures used to power the Web."

I'll be attending the London conference, after having been there last year, and I'm looking forward to it. Am I again going to be one of the few Dutch folks in the crowd?

Tools of the trade

MySQLcomment

It's always fun to compare tools. Who works with what and especially, why? Following the example of Flickr and some others, let me list my tools, see if you match:

Working:


  • Main machine: MacBook Pro. I have an Ubuntu PC, but that's just 'extra'. I do everything on my Mac, from working to living.

  • Editors: Zend Studio 6 for all the main development tasks, completed by TextMate (and the handy 'mate' cli-command) and vim for serveral minor things.

  • Transmit: used for access to (s)FTP code locations, and to manually check whether (s)FTP import applications do what they should

  • iTerm with usually about six tabs. I traverse folders, grep through them, use CVS/SVN commands and access MySQL from the commandline. And of course I connect to development and production servers using ssh, but that goes without saying.

  • MySQL Query Browser: I can usually do what I want by just using the commandline client, but every now and then I need a little more visual help.

  • Zend Core: used as an all-in-one package for Apache and PHP. I also use MAMP to run a good old PHP4 environment because at one of my employers we're still in the midst of upgrading to PHP5 (I know, shut up).

  • Xdebug: I use it for profiling and I love the way it adapts var_dump() to a more usable way of displaying variables

  • FireFox and FireBug: very important indeed. I can't image having to work without FireBug. I still remember trying to think really hard about my HTML/CSS and placing alerts in my JS as a way of doing some poor-mans-debugging. FireBug is a godsend.

  • YSlow: a man needs performance, and YSlow helps me determine what to do. Very nice!

  • CSSedit: editors for CSS don't do a lot more than text editors, but they help a little and a little is enough.

  • OPML Editor: I keep my notes, todo's and more in outlines. The best outline editor used to be the one from Radio UserLand, until Dave Winer took the tool and released it apart from the weblog editor.

  • VMWare Fusion: although I love working on my Mac, I'm still missing what I already mentioned before: the combination of Krusader and Kompare (and to a lesser degree, Cervisia) for development work. For that, I am trying out using an Ubuntu virtual machine which uses the three beforementioned apps and sshfs to mount the (development) servers I'm working on. Works like a charm!

Living and working:
I take my Mac everywhere. I work on it at work, even though it is a private machine. At home, I use VLC to watch video's and DVD's, NetNewsWire for the daily read, Celtx for screenwriting, Mail.app for.. well duh, RealPlayer to listen to BBC Radio 1 or iTunes for my music collection, Twitterific for Twitter and Unison to eh, browse newsgroups.

Well, that's most of it. What about you?

Stuff I need to read

MySQLcomment

I've got lots of content in my RSS aggregator that I "want to read, but not right now". And I keep skipping over it, making sure I don't accidentally mark those items as read, and that is starting to annoy me. So I'll just do what every sensible guy does: make a note of those items and move on.

Adding to that, I thought I'd just share them with you, so here is my to-read list:
» Q&A and Recording of the Memcached Webinar
» How would you compress your MySQL Backup
» Please Give Us Your Email Password
» Give Your Site a Boost With Memcache
» MySQL Proxy: debug plugin
» MySQL Cacti templates 1.0.0 released (screenshots)
» Tools to use for MySQL Performance Review
» Designing For Evil
» Videos in the Flickr API

There. Now I can clean out some items in my aggregator. I'm gonna do this more often, by the way.

Auto-vertical-output

MySQLcomment

Eric Bergen: Have you ever executed a query from the MySQL command line client only to find that the output wrapped and the result is unreadable?

I have. A lot.
In the past you have to run the query again with \G instead of ; or \g to get it to display the output in a vertical mode. My feature in MySQL 6.0.4 fixes that.

I am standing up and cheering. No, really. I love those little things that make life (yes, I said life) easier:
The auto-vertical-output option tells the command line client to display the results in vertical format if the results are going to be too wide to display horizontally. It does this without re-executing the query because MySQL passes the length of each column in the result set.

It's a shame MySQL 6 is still so far away, but still: nice feature!

MySQL Users Conference 2008

MySQLcomment

MySQL organizes a lot of conferences thoughout the year -- for instance, last October I attended the Customer Conference in London, which was very interesting and gave a nice insight into the world of MySQL. But if there's one conference that could carry the title 'The MySQL Conference', it would be the one held in Santa Clara, CA this week.

Because it is a larger conference, there's more coverage. And the coverage is more organised. So if you weren't attending, like me, you might want to dive into the blog posts and presentations that can be found online. This wiki page seems like a good starting point. Anyone got another?

HP MySQL 2nd edition

MySQLcomment

According to Baron Schwarz the second edition of High Performance MySQL (the first edition being written by Jeremy Zawodny and Derek Bailing, which I read twice and still often use as reference) is in production, meaning that it's written and being prepared for print.

That's good news! As a MySQL developer and DBA, I'm very interested in knowing every piece of information about how to make MySQL perform well, and as soon as I can, I'll order a copy.

MySQL Administrator is weird

MySQLcomment

I'm an admin for a MySQL database server, and today I needed to add a user account. I'm used to doing this using the commandline program or phpMyAdmin, but today I thought "let's use the nifty MySQL Administrator for Mac," a GUI tool, very much point-and-click and supposedly easy to use.

Or so I thought. For creating a user, you need to fill in, of course, username and password. When you want to save that, you get notified that you need to add a hostname for the user, first. That makes sense, because in MySQL, a user consists of a username and a hostname. So I press the tiny icon that seems to mean "add host". Wrong, MySQL admin tells me. I need to save the properties of this user before I can add a host. Allright, but I just tried that.. but whatever. Pressing Save again.. wrong again! Need to add a host first.

As you can see, I can fill my day with this. The MySQL Administrator is no good. Back to the drawing boa.. eh, the commandline tool. At least those things always work.