Archive for the ‘Mac OS X’ Category

Vogon Poetry is now available in the App Store! Apr 11 2009

Click here to get Vogon Poetry

I’m proud to announce the immediate availability of our Vogon Poetry application for iPhone and iPod Touch. You can get it in the App Store for $2.99.

Click here to check it out!

How to file a DBA (Doing Business As / Registration of Fictitious Name) in Missouri for $7.00 Oct 23 2008

Now we’re cookin! 🙂

It’s surprisingly simple to get a Fictitious Name registered in Missouri, and it only happens to cost $7.00.

Simply click here: Missouri Registration of Fictitious Name and then fill out two simple online forms (takes about 1 minute), submit your credit card info for $7.00 and you’ll get an immediate confirmation of your name and PDF invoice and registration documents to download.

Very handy if you’re applying to something like the iPhone Developer Program and they need to see documentation… 🙂

Formula Sensei - iPhone formula calculator

Formula Sensei - iPhone formula calculator

Mac OS X voices for using with the ‘say’ command Aug 19 2008

A neat trick if you have a Mac OS X machine is to do this (make sure your speakers are turned on):

  1. Open
  2. Type in at the command line: say hello world

This will make your computer say “hello world” in the default voice (Victoria).

Here is a list of the other voices you can also use:

Female Voices

  • $ say -v Agnes "hello world"
  • $ say -v Kathy "hello world"
  • $ say -v Princess "hello world"
  • $ say -v Vicki "hello world"
  • $ say -v Victoria "hello world"

Male Voices

  • $ say -v Bruce "hello world"
  • $ say -v Fred "hello world"
  • $ say -v Junior "hello world"
  • $ say -v Ralph "hello world"

Novelty Voices

  • $ say -v Albert "hello world"
  • $ say -v "Bad News" "hello world"
  • $ say -v Bahh "hello world"
  • $ say -v Bells "hello world"
  • $ say -v Boing "hello world"
  • $ say -v Bubbles "hello world"
  • $ say -v Cellos "hello world"
  • $ say -v Deranged "hello world"
  • $ say -v "Good News" "hello world"
  • $ say -v Hysterical "hello world"
  • $ say -v "Pipe Organ" "hello world"
  • $ say -v Trinoids "hello world"
  • $ say -v Whisper "hello world"
  • $ say -v Zarvox "hello world"

Have fun. You can now add voices to your monitoring applications, or freak people out if they don’t know about this cool trick.

To learn about all of the functionality of the say program, type in man say in Terminal to learn more, or click here to view the online man page for say.

How to connect to a VNC machine that is behind a firewall using SSH tunneling, OS X and Chicken of the VNC Jun 20 2008

VNC is a very useful program for accessing a computer remotely. These are instructions for accessing a remote machine using OS X, Chicken of the VNC, and Vine Server when there is a firewall in the way.

VNC SSH Tunnel

Normally it is a fairly straightforward process to connect from a VNC client to a VNC server running on a remote machine. A firewall in the middle can complicate the process a bit.


  1. On MY MACHINE, create a local SSH user account and password – call it vnc_user
  2. On MY MACHINE, determine my public IP address – go to (MY_IP_ADDRESS)
  3. On REMOTE MACHINE, turn on the Vine Server and set the password
  4. On REMOTE MACHINE, open up Terminal and enter the following command:

    ssh vnc_user@MY_IP_ADDRESS -R 5900:

    where MY_IP_ADDRESS is the IP address of MY MACHINE.

  5. Enter the password for the vnc_user. You should now be connected to MY MACHINE over SSH.
  6. On MY MACHINE, open up Chicken of the VNC. Connect to localhost and enter the password for the REMOTE MACHINE.
  7. You should now be connected to REMOTE MACHINE’s VNC server and be seeing their screen.
  8. Notes:

    • Make sure that you are not running a VNC server on MY MACHINE, or that it is turned off
    • If you are running a firewall on your own network, you may need to enable port forwarding for SSH to ensure that SSH requests on port 22 are connected to MY MACHINE and not blocked by your own firewall.

    Thanks to this article that describes how to do this and also includes an Applescript that makes the connection.

150 open documents in Photoshop – long day of work May 14 2008

This is after a long day of work building out a new website: Lots and lots of graphics there. Good times.

Selling 12″ Powerbook G4 keyboard for parts [SOLD!] Dec 8 2007

Powerbook keyboard parts

We just replaced Kristin’s laptop’s keyboard since the up, down, right shift and enter keys don’t work anymore.

I listed the keyboard on eBay, so go there and bid on it if you’re interested in it for the parts.


Check out the eBay Listing: Apple 12″ PowerBook G4 Keyboard Keys (Full Set) NR!

How to sync audio and video for DVD playback using your remote speakers, AirPort Express, Rogue Amoeba’s Airfoil and VLC Dec 3 2007

Apple AirPort Express

I’ve been enjoying using my Apple AirPort Express to stream music from my laptop to our living room speakers using iTunes. The other evening I wanted to watch a DVD and use the good speakers to get the best sound, but you can’t do that without using a helper program.

Rogue Amoeba's Airfoil

I found a program that lets you route any audio signals to your AirPort Express — it’s called Airfoil (free to try out, $25 to purchase) and is made by Rogue Amoeba. It’s very simple to install and run. When I tried playing a DVD, though, the audio didn’t synch properly with the video.

This is the solution I found to fix the audio synchronization problem using VLC to play back the DVD and by adjusting the preferences and using VLC’s ability to buffer audio and adjust the synchronization settings.

How to increase audio buffering amount in VLC for DVD playback

  1. Open preferences in VLC
  2. Click on Advanced tab on bottom of screen
  3. Select Input/Codecs
  4. Select Access Modules
  5. Select DVD with menus [Note: to make this same adjustment when you are playing back regular files as opposed to DVDs, simply select File instead of DVD with menus and continue with the rest of the instructions]
  6. Change the default value (300 milliseconds) to 6000. This will increase the amount of audio data buffering to 6 seconds, which should be enough to synchronize the audio playback.
  7. Click Save to activate your changes (you may need to quit VLC to ensure the settings become active).
  8. Re-open the DVD using VLC and click Play.
  9. Click the “f” key repeatedly to adjust the amount of audio synchronization offset. It adjusts the audio offset downwards by 50 millisecond increments. I had to set mine to around -4900 milliseconds to correctly match the audio with the video output on my system. Press the “g” key to increase the offset in the other direction. Watch the actor’s lips and adjust the offset until it matches perfectly.
  10. Enjoy listening to your DVD audio through your speakers, streamed wirelessly!

Hacking the Gibson

Download VLC (Free Open Source video player)

Download Airfoil

Google Gears (BETA) May 31 2007


Google Gears (BETA) is an open source browser extension that enables web applications to provide offline functionality using following JavaScript APIs:

  • Store and serve application resources locally
  • Store data locally in a fully-searchable relational database
  • Run asynchronous Javascript to improve application responsiveness

Check it out: Google Gears (BETA)

How I got networking working on my Powerbook using Single User Mode in OS X Apr 29 2007

You NEVER want to see this on your Mac.

Update: It turns out that the reason my laptop had this problem in the first place was one of my 1GB sticks of RAM that had gone bad after running with zero problems for over a year. The kernel panics happening on a totally clean install of OS X was a clue, and then using the hardware test CD that originally came with the laptop confirmed that it was indeed bad RAM. Bad RAM sucks!

I had an unfortunate thing happen today — my trusty Powerbook decided that it had had enough and that it was going to lose it’s mind. It froze while I was working on the new version of Kristin’s website (not up yet…)

At first I was like, hmm, that’s annoying. That feeling turned into, oh crap, my laptop is broken when it wouldn’t finish booting up.

A quick Google using my Treo reminded me of the OS X startup key command to enter single-user mode (it is CMD+S). First, though, I tried the command for a verbose startup so I could see what the problem was (CMD+V). Verbose startup indicated that something was wrong with the hard drive meta data. So I decided to try starting up in single-user mode and then ran fsck -f to see if it could fix the problem. No love there.

This is the error message that showed up:

localhost:/ root# fsck -f
** /dev/rdisk0s3
** Root file system
** Checking HFS Plus volume.
** Checking Extants Overflow file.
** Checking Catalog file.
Keys out of order
(4, 23212)
** Rebuilding Catalog B-tree.
** The volume New Hotness could not be repaired.
localhost :/ root#


At this point in time, I am VERY grateful that I had recently (~3 weeks ago) made a full backup of my entire drive (over 60GB of applications and data). All of the source code for my work projects are under version control (Subversion) so I’m pretty good there even without backups. But what about the new work that I had been doing on Kristin’s site? That wasn’t backed up, hadn’t been checked into version control yet, and had considerable amount of work done that was stored in the MySQL database.

After doing some research about possible ways to fix this error (going to go into the Apple store tomorrow morning to see if they have a DiskWarrior disk that we can use to try to fix the Catalog B-tree problem), I thought it would be a really good idea to get Kristin’s site source code onto another machine so I would have a backup of that. Oh, and maybe also it would be a good idea to copy the 1+GB of China pictures that I hadn’t backed up yet (but had deleted off my camera!). Also, email inboxes, and other home directory files that I knew weren’t part of the 3 week old backup.

Mounting my laptop in Firewire Target Disk mode (hold down T during startup) didn’t work (it didn’t mount when I plugged it into Kristin’s laptop). Booting up using the install CD only gave me options to install a fresh system or use Disk Utility, which didn’t give me the options I was looking for.

So, the problem that I now faced was this: How do I mount a drive or get network access using Single User Mode?

Lots of searches didn’t turn up any solid answers, until I found this command on the MacOSHints forum archives:


So first I ran mount -uw / to mount the root filesystem in writable mode. Next I ran the commands that I found. The kextd command output a few errors, but exited cleanly otherwise. The configd command got networking running. YAY!

Once that was running, I plugged in an ethernet cable between my laptop and Kristin’s, and turned on the built-in SSH server on her laptop using the System Preference panel (Sharing > Remote Login > Start). I was then able to successfully SSH into her system and copy over all of the needed files.

Hopefully I won’t need to utilize these backups, but it is a great relief to know that I have them if needed.

I hope this can be helpful if you get in a similar jam.

My System Specs:
I’m running the latest version of OS X 10.4.9, have 2GB ram and an upgraded hard drive in a 15″ PowerPC Powerbook.

DISCLAIMER: I’m pretty sure that my laptop is really screwed up right now, and has kernel panicked and segmentation faulted a couple of times during transferring of files. If you find yourself following these directions, then you are probably already screwed too. But know that I am not responsible for what you do and also I don’t know if my copying over these files may have in fact screwed things up even more than they already are. So, your mileage may vary, proceed at your own risk, etc.

How I used the Unix command line to do a multi-file search and replace to fix over 4,700 individual files Mar 21 2007

Evil hackers attack!

Some customers of mine recently reported some suspicious behavior on one of their sites. I discovered, with dismay, that a number of months ago there was a nasty cPanel exploit that some evil hackers had used to insert a malicious line of code into the bottom of every HTML page on this server. After verifying that the cPanel installation had been fixed, I used grep to search through all the files on the server to see if any other files had been touched by the hackers. I found over 4,700 individual files that had malicious code added and knew that something needed to be done immediately to address this problem.

Not the best way to start my day…


sell diamonds