Installing The MySQL Ruby Gem When Using The Official MySQL .dmg
If you installed MySQL using the official .dmg package provided by MySQL AB/Sun and are trying to install the native MySQL gem, you’ll need to pass a bunch of flags to the gem install process to get the thing to compile. Try this..
sudo gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config
..if you still have issues (check your /opt/local/lib/ruby/gems/<ruby_ver>/gems/mysql-<gem_ver>/mkmf.log file), try this instead..
sudo gem install mysql — –with-mysql-dir=/usr/local/mysql –with-mysql-include=/usr/local/mysql/include/ –with-mysql-lib=/usr/local/mysql/lib/ –with-mysql-config=/usr/local/mysql/bin/mysql_config
Run `sudo gem install mysql` and definitely recheck the log file again as the gem install process sometimes reports false positives even if native components fail to install.
Tags: gem, howto, mysql, osx, rails, ruby, troubleshooting
Virtual OS X Server Screenshots
Apple now allow you to virtualize OS X Server instances. While your virtualization options are limited, it’s very easy to set up on your existing OS X Server.
This is an virtualized OS X Leopard Server guest running in Parallels Server on a host OS X Leopard Server. You can see that the guest system is treated similarly to other Windows and Linux VMs in the Parallels Management Console.
Note that a distinct serial number/license seems to be required. The serial number for the host machine will not validate (I thought Apple was going to allow one VM instance???), so to use the sweet service configuration tools available in Server Admin, it appears you’ll need a separate license for now.
Tags: apple, leopard, mac, osx, parallels, virtualization
Redmine w/OS X OpenLDAP, Parallels Server and JumpBox
OpenRain used a slew of crappy Trac sites for issue tracking until we switched to Redmine several days ago. The decision came because..
- Redmine can authenticate off LDAP with trivial configuration.
- Redmine has multi-project support out-of-the-box.
- Redmine has some nifty Gantt chart and calendaring schwag and is generally better.
- Parallels Server (for OS X) is finally available.
- JumpBox has a beta Redmine VM image available.
If you’ve got an existing LDAP infrastructure, the whole shebang shouldn’t take more than an hour or two to set up.
- Install Parallels Server on your OS X Leopard server.
- Download the Redmine JumpBox. Generate a new MAC address and boot it. Do the one-page configuration thingy in your browser.
- Log into Redmine and create a new “Authentication Mode” set to LDAP. If you’re using the default OpenLDAP schema that ships with Leopard server, enter the attributes like so..

- All your users should now be able to log into your Redmine JumpBox using their LDAP credentials! You’ll have to set up your projects, ACLs etc. within Redmine, but that’s some pretty hot shizzle to get running in such a small timeframe.
Mad props to Redmine, Parallels, JumpBox and Apple for further simplifying my business.
Tags: apple, jumpbox, leopard, linux, openldap, osx, parallels, redmine, virtualization
Debugging JavaScript With Safari
I usually use FireBug and other FireFox-based tools for troubleshooting JavaScript issues, but never found a solid way to approach it in Safari, my primary browser. It turns out that the nightly builds of WebKit (Safari’s core) also come with a great utility called Drosera.app, which allows you to attach to a running WebKit process and get funky with a JavaScript console.
Tags: apple, debugging, drosera, firefox, javascript, mac, osx, rails, ror, ruby, safari, webkit
Writing Good Error Messages
I received this little note from my Mac today.

This made me feel all warm and fuzzy inside despite the interruption of my work because it satisfies my general criteria for displaying error messages to users.
- A graphical severity indicator is given so I know whether or not to care.
- It provides a succinct, human-readable desciption of the issue. (No “ERROR CODE: 23DD8″ crap which is meaningless to the user.)
- An immediate, resolvable course of action is given to the user. Providing this makes the user feel empowered and accomplished for acting. Neglecting this makes the user concerned and irritated.
- A description of future symptoms is given for when/if the user does not take the suggested course of action. This gives the user reason to do what you’re asking.
- It shut up about the issue when I clicked OK and let the failure happen like it told me it would. When I noticed my mouse wasn’t responding I immediately remembered why.
The dialog is in stark contrast to this nifty gem constantly pooping out of my Solaris kernel..
“Pin widgit 27 is EAPD capable.”
WTF??? What the heck is a “pin widgit” and why do I care if it’s “EAPD capable”? Is this even a bad thing? Do I need to do something here? What happens if I ignore this, which I most definitely will since I have clue what it’s talking about? Why does it tell me this every time I start the machine?
Criteria failure on all counts. Bad computer!
Tags: apple, mac, methodology, osx, solaris, usability






