Drizzle – the forecast looks good

July 23rd, 2010

Drizzle – the forecast looks good
23 July 2010

Drizzle is a relatively new project with the aim of producing a lightweight relational database system based on MySQL. From the Drizzle website:

“Drizzle is a community-driven project based on the popular MySQL DBMS that is focused on MySQL’s original goals of ease-of-use, reliability and performance. The Drizzle team is removing non-essential code, refactoring the remaining code, switching to a microkernel architecture (with well-defined APIs) and generally making Drizzle into a lean, mean query-running machine.”
One of the biggest drivers for the lean kernel and quick bootstrapping of Drizzle is to make it an ideal database to use on cloud architectures. It is important to note that due to this, windows compatibility was removed from Drizzle.

It is quickly apparent that creating a stripped down version of MySQL wasn’t their only goal as the system includes a comprehensive plugin architecture. This allows many options for integration.

Pluggable authentication allows you to use plugins to authenticate using something like LDAP or HTTP. A pluggable query filter allows you to block or filter queries before they get executed. With the pluggable query cache (still in development), you could even plug in something like memcache. Even SQL functions are pluggable, allowing you to write custom functions.

Drizzle can be installed using apt-get, RPM’s or can be easily compiled from source. Installation is made even simpler because there is no bootstrap step and no system tables that need to be created.

Starting up Drizzle is simple, with the only required parameter being the data directory: drizzled –datadir=/my/data/path

Plugins can be installed using apt-get and need to be enabled when starting up the daemon, for example: –plugin-add=md5,pbxt

Drizzle is still in alpha and major new changes are introduced on a daily basis, so its not quite ready for your production environment, but it’s certainly worth keeping an eye on this project.

For more information, visit the project wiki.

ZendCon 2009 PHP Conference – Review

November 11th, 2009

October 2009 saw my return to San Jose for one of the top conferences on the PHP calendar – ZendCon. Other than taking place a month later and the conference venue shifting locations slightly, much of the format of this year’s ZendCon was the same as last year’s.

Taking the organizational reigns this time around, Eli White takes over from Cal Evans who recently moved from Zend to iBuildings. Organization was mostly smooth, with a few minor hiccups – day 1 had a serious lack of power supply, leaving most attendees with dying laptops before lunch. Compounding the problem, no notepads or pens were provided on registration. Attendees who had registered early and received free netbooks reported that the netbooks came with European plugs instead of US ones. However, most of these issues were sorted out by day 2.

The speakers at this year’s ZendCon included some familiar stalwarts – Sebastian Bergmann was back and presented on topics including testing, quality assurance and continuous integration. Accompanying him, was Stefan Priebsch and Arne Blankerts, who together with Sebastian Bergmann makes up the newly formed PHP consulting company, thePHP.cc. Cal Evans was present in the capacity as a speaker and delivered a good presentation on design patterns. Of course, Elizabeth Marie Smith was back and presented on PHP for the desktop using php GTk as well as a talk on SPL

Of all the speakers, two that stood out was Ilia Alshanetsky and Stefan Priebsch. I attended two of Ilia sessions, the first about premature optimization and the second on popular caching tools, APC and Memcache. His rapid delivery style and excellent knowledge crammed an almost overwhelming amount of content into a single one hour slot. Stefan Priebsch joined in on a code review tutorial session with Sebastian Bergmann and Arne Blankerts, but it was only when he presented on OOP best practices when he came into his own. Stefan is an engaging speaker and his OOP knowledge demands a lot of respect.

As usual, Twitter and the ZendCon IRC channel was abuzz with attendees tweeting during the conference and was a great way to keep a finger on the conference’s pulse.

The conference, however, wasn’t without negatives – drinks (soft drinks and coffee) were only served after every 2 talks and physically removed after the break, even though these weren’t refrigerated to begin with. In some instances, I had to leave the conference venue to purchase my own drinks.

This year there was no party or any afterhours activities arranged by the conference or sponsors other than the usual reception – this year sponsored by Adobe.

Regarding the format of the conference, I do feel that there are too many talks and the talks are too short – it is simply not possible (unless your name is Ilia Alshanetsky) to fit any meaningful amount of information into a one hour slot , especially the more advanced topics (which are of course the more interesting ones).

ZendCon 09 ended with a framework shootout – a representative of each of the more popular PHP frameworks were invited to appear in a panel discussion and the audience grilled them with questions. Of course, to liven things up, each panel member was provided with a toy gun. Although not particularly useful, it was highly entertaining and a great way to end the conference with.

For a list of conference speakers, talks, ratings and slides of this year’s ZendCon, check out the ZendCon Joind.in page.

How to Sync your E.T. Systems remote to your automated garage door

June 15th, 2009

E.T. Systems seems to have quickly taken over the garage door and gate automation market in Cape Town - every second person has one of those ugly, blue remotes - some with up to six buttons on them - attached to their key rings.

I recently had 2 of my remotes fail within the space  of a month and was off to E.T. Systems to acquire a new one (at a whopping R125 mind you!)

Here’s the simple procedure to sync your new remote to your E.T. Systems garage door:

The E.T. Systems remotes work by implementing some sort of patented rolling code transmitted by the remote and identified by the receiver. Without digging into details, this rolling code necessitates syncing your remote to your garage door.

To start, pop open the plastic cover of your garage door. Next, search for 3 pins labeled “BT LT” (bottom right of the circuit board in this picture):

The idea is to short the pin on the “BT” side with the middle pin - press the button on the remote that you wish to use to open the garage door and at the same time use something metal to “short” the pin labeled “BT” and the middle pin. You should hear a beeping sound which indicates that the operation was successful.