james david low

live / work / play / worship

Work

Music Applications

Coming soon: Zest / Juice

All based on the limegreen template.

Others

Web design

livewire.hk / solidrock.hk

Profiles

Wordpress / Get A Freelancer / Rent A Coder

I try to opensource as many program that I write as I can, which you can find at Google Code: http://code.google.com/p/jamesdlow


If you found any of the software useful, please consider supporting its further developement by donating.

Windows Live Fail

Apparently I’m not allowed to upload Windows Gadgets from a non-windows computer:

2:30pm / Feb 2nd / 10

Thoughts On Keyboards

When Apple first released their wireless keyboard without the number pad attached I thought “What are they thinking?”. But having worked on a macbook with a small keyboard and an integrated touchpad, and then consequently getting neck pains from pad posture and switching to an external keyboard and monitor, I now see that having the keyboard right next to your mouse or track pad for both speed and ergonomics, is a really good thing.

I’ve since bought the small Apple keyboard for work, along with a Wacom Bamboo Touch for work, since I prefer it over a mouse (2 finger scrolling FTW!). I’m now selling/trading my Apple keyboard that I have at home with a number pad built in as its not for me, maybe for those doing a lot of a numeric entry (like when I worked in an investment bank doing excel all the time). Let me know if anyone wants it or want to trade for the small Apple keyboard.

With the Bamboo Touch, its not quite as good as an Apple touchpad. I would love an Apple keyboard with one built, just like a laptop. I had to turn off Add left and right taps to click and drag, and stick with the release fingers and retouch to have a click to keep the Bamboo Touch from detected accidental clicks, which the Apple one tends to ignore better. The texture isn’t as good as the nice glass Apple touchpads either, but I still prefer it over a mouse.

I want something like this:

12:11am / Jan 9th / 10

HTTP headers and raw POST data for PHP-CGI

I host my website on Dreamhost and as good value as it is, with great email/SVN/MySQL and hosting, there are some limitations. One of them is trying to read raw POST data from $HTTP_RAW_POST_DATA and the other is trying to read custom HTTP headers because PHP runs as a CGI module using there service.

I realised the working around for getting raw post data is to use:

$data = file_get_contents(’php://input’);

And that you can use mod_rewrite to to pass HTTP headers to the $_SERVER variable, as described here. If you want to add additional header values, you must specify each one as a seperate E= statement in your .htaccess file. I was writing a CALDAV server and wanted to be able to (1) use the HTTP authentication described here, (2) read the “Depth” HTTP header, and (3) redirect all requests queries through a single php file:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [E=REDIRECT_REMOTE_USER:%{HTTP:Authorization},E=DEPTH:%{HTTP:Depth},L]
RewriteRule .* - [E=REDIRECT_REMOTE_USER:%{HTTP:Authorization},E=DEPTH:%{HTTP:Depth},L]

10:08pm / Nov 10th / 09

Mail.app RSS Smart Mailbox

If like me you have quite a lot of RSS subscriptions within Apple Mail.app you may find that you either get sick of navigating each RSS folder on the left individually but don’t want to put all your RSS subscriptions within your inbox. What I realised you could do is create a smart mailbox to only show read RSS items, greatly saving space in the left hand pane, and making it easy to navigate all unread subscriptions.

9:49pm / Nov 7th / 09

iSync icon after iTunes sync

For some of you this maybe so minor its not worth worrying about, but I really don’t like how if conflict resolver is shown when syncing my iPhone with iTunes, the iSync icon gets added to my menu bar no matter whether I click sync now or later after resolving the conflict. I’ve contacted Apple about this, but I recently found this article (http://www.tuaw.com/2009/11/02/mac-101-how-to-manually-enable-menu-extras/) that helps explain how to load menu items. What I’ve done instead is rename the sync menu item, so that it never gets loaded. Quick disclaimer, I’m not responsible for any damage to your computer using this command.

sudo mv “/System/Library/CoreServices/Menu Extras/Sync.menu” “/System/Library/CoreServices/Menu Extras/Sync2.menu”

11:33am / Nov 5th / 09