Web-Based MySQL Administration with SQL Buddy

I always find it interesting to see what software people are using to build websites. I’m always open to new applications that might make my job easier or less stressful. With that in mind, I’ve decided to start posting reviews and tips about some of the software that I use. Today I’ll be writing a mini-review of an application that I’ve started using to perform routine database maintenance tasks on my development box.

SQL BuddySQL Buddy is a web-based MySQL Administration tool that’s free, open-source, and easy on the eyes. I’ve installed it on my development machine and I’m loving it so far. Most web developers are probably familiar with PHPMyAdmin, and this does pretty much the same thing, but it does it while looking quite a bit nicer. It’s also got some tasteful interface enhancements (yes, that’s code for AJAX minus the abuse) to make the whole thing feel a bit faster. I haven’t done proper benchmarking, but it sure feels faster than PHPMyAdmin on my machine while managing my little databases. And the interface seems pretty well considered. It allows you to easily edit multiple records on a single screen.

It was REALLY painless to install. The download for the program is only 167KB zipped. To install it just unzip and drop it on the server. That’s it. Then point your browser to wherever you placed it and log in as one of your MySQL users. Easy.

I only have minor issues with SQL Buddy. The interface for browsing records in a database looks so much like a regular desktop application that I expected it to work like one, allowing me to click on rows and edit the data in place. Unfortunately it doesn’t work like that. You have to check a box and then hit the edit link to edit all selected rows on another page. It’s a minor issue but I’d like to see it changed. Due to the open-source nature of SQL Buddy I’m sure it’s only a matter of time before someone adds edit-in-place.

SQL Buddy is a nice, simple piece of software that allows you to easily edit your databases from the web browser. I don’t know if it will ever be more popular than the deeply-entrenched PHPMyAdmin as the de facto standard database editor for web hosts and developers, but it’s quickly become my favorite web-based editor. Highly recommended.

Conditional CSS

Conditional CSS is a server side script which allows you to target particular browsers within your CSS files. The script detects a visitor’s browser and then parses your css files, removing the conditional statements and any lines that aren’t meant to go to that browser. I think I like this more than traditional browser filters but less than using conditional comments to serve an extra stylesheet with overrides to Internet Explorer. I haven’t tested it to determine how much of an issue the additional processing overhead is, so I’m not sure how usable it is. It’s an interesting technology and is available for multiple platforms including PHP and C. The C version is apparently very fast.

The Problem With Em-Based Layouts

I was recently working on a project and thought it might be interesting to try out an em-based layout (where the layout of the entire site changes based on the font size.) I was hoping to preserve ideal line-length for my copy. The geek cred associated with em-based layouts was also appealing–earlier this year it seemed like they were all the rage. This trend may have been kicked off by the brilliant Mr. Dan Cederholm, a personally hero of mine in the web development community–as silly as that may sound.

It occurred to me, however, that there’s a fundamental flaw in the logic of an em-based layout. As a visitor increases the size of the text on screen, the layout will increase in width so that everything remains in proportion. Now I’m generalizing here, but if a visitor needs to bump up the text size to read it, it’s possible (perhaps even likely) that they could be older and potentially less technical than us web developers with our 20+ inch monitors. As the text size (and therefore layout width) increases, these users with their smaller monitors will run out of room to grow pretty quickly. This causes dreaded horizontal scrolling which no one likes, no matter what designers may have told you in the late 90s.

Roger Johansson acknowledged this flaw on his blog and suggested that by setting a maximum width in pixels you could prevent this issue. The problem that is titular to this post, though, is that this just doesn’t seem to work. It’s possible that it did work at one time, but I’ve tested many layouts online in addition to my own test case and found that in recent versions of Firefox the layout expands unchecked, causing horizontal scrolling. Perhaps this feature was broken during recent updates to Mozilla’s rendering engine. Unless I’m missing something em-based layouts are self-defeating as it stands. So are they anything more than geek-chic?

Dustin Tigner points out in the comments that something has changed in firefox 3. It now uses page zooming by default. If you enable text-only zooming these layouts start to work again. That begs the question, however: With browsers moving toward page zooming by default, how much longer will em-based layouts be a practical use of our time? I think in some cases page zooming provides a worse user experience than a well-coded em based layout (see http://www.456bereastreet.com/ as an example,) and as a default it tends to override those careful layout considerations.

Happily Hosted With Dreamhost

If there were such a thing as a regular reader of this site, he or she might notice that I’ve added a little blurb about my web host to the bottom of my sidebar. I’ll be up front in saying that It includes my affiliate link so that if anyone signs up through my site I’ll save a bit of money on hosting. That person will also save a bit of money on his/her hosting.

For a long time I left my affiliate link off the site. I was concerned about promoting a product that people were having trouble with (I’m sure searching Google for “Dreamhost Downtime” will yield ample evidence.) However, Dreamhost has been so reliable for me and for such a long time now, that I’m ready to shout their praises from the rooftops, so to speak. They also have the easiest-to-use control panel I’ve ever encountered at a web host, which is a nice bit of icing on the cake. So go forth and and take advantage of their value-priced hosting with excellent features, and feel free to use my affiliate link if you’d like to save yourself a bit of money. I think you’ll be pleasantly surprised.

Hulu Is Out Of Beta. Watch This Show.

Hulu is now live and streaming shows new and old from major TV networks. Watch every episode of Arrested Development right now. It’s the best show ever to be aired on television. You won’t regret it.

Now that it’s out of beta the increased load seems to be straining the content delivery network; the sound quality has decreased quite a bit. Still, there’s a bunch of content available and it looks really good. For the price (free) you can’t complain too much.

The Last Word On IE8 and Browser Targeting

The Internet Explorer team has yielded to reason (or maybe a barage of letters and comments from angry web developers) and had a change of heart regarding the default rendering behavior in the next version of their web browser. The first sentence of the latest post on the IEBlog sums it up:

We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can.

Thank you IE dev team! Now I plan to get back to thinking about the web instead of worrying about one piece of software.

Better Email Reply Headers with Thunderbird

Mozilla Thunderbird is a great free email client, but one thing about it has always bugged me: When you reply to a message, it puts something like “Scott Nellé wrote:” above the quoted text. Every other program I’ve ever used includes the date and time as well, which helps give context to the message. Unfortunately there’s no apparent way to change this from the options panel. But there is a way to do it. Here’s how:

  1. Open the options panel. In Windows, go to Tools > Options… (For Mac OSX Thunderbird > Preferences…, for Linux Edit > Preferences…)
  2. Click the Advanced tab and then the Config Editor button.
  3. Find the preference named “mailnews.reply_header_type” and change its value to 2 (it’s probably set to 1 by default.)

Your replies should now show something like “On 2/28/2008 9:25 AM, Scott Nellé wrote:” above the text you’re responding to. Sweet.

Check Mozilla’s site for more info about reply header options in Thunderbird. Though that section mentions editing user.js, you should be able to make most changes in the config editor as mentioned above.

More On Version Targeting in IE8

The debate over Internet Explorer 8′s proposed version targeting continues, and issue #253 of A List Apart features two good articles about it–one on either side of the fence. Jeremy Keith’s article (he’s on the “nay” side) suggests that IE8 should launch as a beta with version targeting disabled to see just how much it breaks the web. This is a brilliant suggestion and I can think of no better way to evaluate the need for a version targeting system. In fact, now that it’s been proposed I think it would be foolhardy of Microsoft to approach it any other way.

As a bonus, and in defense of not crippling IE8 by default, Keith’s article offers this line which is solid gold:

If IE8 is going to differentiate itself from its predecessor by having better standards support, then surely we can assess how it will render websites by simply viewing those websites in a standards-compliant browser like, say, Firefox, Safari or Opera.

Nice one, Jeremy.