Adam Jarret


Write Your Own Coda Plug-In

| Tags: cocoa, coda, fyi, os-x, projects

My love for Coda knows no bounds. Except maybe the bounds of the tab bar.

One especially sprawling project at work brought the problem to a head: switching between all the files had simply become too tedious. Rather than desert Coda (perish the thought) I decided to whip up a plug-in called Wing Man. Panic has a pretty good how to on the basics of plug-in building so I won't rehash all of that here.

A few points of interest to others interested in creating a Coda plugin:

  • You'll need to grab a copy of CodaPlugInsController.h from one of the sample projects.

  • Be sure to compile the plug-in bundle as 32-bit Universal.

    To set the architecture of your plug-in bundle, right click on the bundle in the Targets section and choose Get Info. Choose 32-bit Universal from the list of architectures in the Build tab.

  • The bundle extension should be codaplugin, not bundle.

    To set the extension of your plug-in bundle, right click on the bundle in the Targets section and choose Get Info. Set the Wrapper Extension to "codaplugin" (without the quotes) in the Build tab.

Wing Man on github


Debian: Beep at Login Prompt

| Tags: debian, fyi, linux

A spare PC that's been kicking around my apartment recently got a fresh dose of Lenny.

As a headless machine, it's handy to have the system beep when it reaches the log in prompt to announce that it's ready to accept SSH connections.

This is achieved with the beep command which can be installed with

apt-get install beep

The beep command can be used to play beeps at different frequencies and durations. For my "system ready" sound I decided on:

beep -f 750 -l 200 -n -f 650 -l 200 -n -f 750 -l 200

To execute the above command when the log in prompt is displayed, paste it into /etc/rc.local before the line exit 0.



Stop Remote Desktop from Locking the Host

| Tags: fyi, remote-desktop, windows

Closing a Windows Remote Desktop connection leaves the host machine locked, but it is possible to create a shortcut that will close the session without locking the screen.

To create the shortcut:

  1. Right click on the Desktop and select NewShortcut

    New shortcut dialog screen shot

  2. For Windows 7/Vista hosts, enter the following:

    %windir%\System32\tscon.exe %sessionname% /dest:console

    Update: After a recent system update, using the %sessionname% variable started causing an error. I switched to hard-coding 1 instead and this has worked so far.

    %windir%\System32\tscon.exe 1 /dest:console

    For Windows XP hosts, enter the following:

    %windir%\System32\tscon.exe 0 /dest:console

  3. Click Next, enter a name for the shortcut and then click Finish. The name can be anything you like.

    New shortcut dialog screen shot

  4. On Windows 7/Vista hosts, this shortcut needs to be run with administrator privileges. Right click on the newly created shortcut and select Properties.

  5. Click the Advanced button on the Properties window.

  6. Check the box marked Run as administrator and then click OK.

    New shortcut dialog screen shot

Pin the shortcut to the Start menu or the taskbar and click it when you would like to disconnect.


Google Voice + Fluid (SSB)

| Tags: fluid, fyi, google-voice

Google Voice Icon

Google Voice Icon by malabooboo

Google Voice is the eighth wonder of the world.

Mac users lucky enough to have secured an invite might consider creating a Fluid site specific browser to carve out some space for Google Voice on the Dock.

An SSB is quite useful in itself, but even more so when a few CSS tweaks are applied.

After launching Fluid and creating the SSB for (I highly recommend using malabooboo's icon for the app icon), launch the newly created app and open the preferences panel.

Click on Userstyles and then on the plus button to add a new URL pattern.

In my case I simply used an asterisk (*) for the pattern, which matches any url. For more information on Userstyles, watch this video.

Adding your own CSS formatting instructions will alter how the page is displayed and potentially remove annoyances. Here are a few examples:

Allow the SMS textarea to be resized

.gc-quicksms div textarea {
    resize: both !important;

Stop the SMS history from being hidden (remove "more messages" link)

.gc-message-sms-old {
    display: block !important;
.gc-message-sms-show {
    display: none;

Hide the "Invite a Friend" link

#gc-sidebar-invites {
    display: none;

Hide the Google Services links

#gbar {
        display: none;

Remember to refresh the browser window with CMD-R to apply any changes made to the userstyles.

Google Voice


Downgrading to Flash Player 9 on Mac OS X

| Tags: flash, fyi, kpcs, os-x, ppc, twit

If you've noticed Safari crashing more often lately on your PowerPC Mac, you're not alone.

At first I blamed the Verizon cell data coverage in Las Vegas for the stuttering video and dropped frames that I noticed when tuning into TWiT Live for their CES Coverage, but when the browser started locking up completely I knew it had to be Flash.

A little Googling revealed that Adobe is dropping support for PowerPC G3 after 10.1:

The Adobe Flash Player 10.1 release, expected in the first half of 2010, will be the last version to support Macintosh PowerPC-based G3 computers. Adobe will be discontinuing support of PowerPC-based G3 computers and will no longer provide security updates after the Flash Player 10.1 release. This unavailability is due to performance enhancements that cannot be supported on the older PowerPC architecture.

While this does not mean that Flash Player 10 will be completely unsupported on G4-based hardware, Adobe is clearly focusing their performance tweaks on Intel chips.

Performance improvements in Flash can only be a good thing and I can't expect developers to support PPC when Apple itself requires an Intel processor to run Snow Leopard. Unfortunately this means that the current version of Flash is completely unusable on my old PowerBook G4.

Obligatory Caution: There are always security concerns when choosing not to run the most up to date version of any software. The machine I downgraded is my file server, which is not my primary browsing machine. As ever, browse with common sense.

How to Downgrade to Flash Player 9

  1. Download the Flash Player Uninstaller from this TechNote

  2. Mount the disk image, launch Flash Player Uninstaller and follow the prompts

  3. Download the Flash Player 9 testing archive (221MB!) from this TechNote

  4. Extract the archive and browse to the 9r260 folder

  5. Double click flashplayer9r260_mac.dmg to mount the disk image

  6. Drag each file into the indicated folder:

    Screen Shot

  7. Restart your browser

Once you have completed the steps, browse to a site with Flash content and right click on a Flash object. If you see About Adobe Flash Player 9, sit back, relax and enjoy Kevin Pollak's Chat Show.


SlingPlayer iPhone App Rated 12+?

| Tags: html-5, iphone, opinion, slingbox

SlingPlayer Mobile Rating Screen Shot

SlingPlayer Mobile App Store Screen Shot

After excitedly unwrapping a Slingbox SOLO this holiday season, I decided to have a look at the SlingPlayer Mobile iPhone app. As you might expect, the app lets you watch your SlingBox content on Apple touch devices.

Much has been made of the steep price ($30!) and the fact that AT&T crippled the software by making it WiFi only, but it was the rating for the app on the iTunes Store that caught my eye.

A rating of 12+ seems ludicrous because it takes into account what people could watch while using the app as opposed to what was coded into the app.

I thought it was ridiculous enough to force dictionary apps to censor swear words and stopping the Dragon Dictation app from recognizing the same, but pretending that obscene and grotesque material is not far easier to access with Mobile Safari is both laughable and unfair.

Labeling an app as having "Mild Profanity or Crude Humor" is misleading unless the app makes a fart sound between view transitions. I could use the app to watch televised mass or a non-stop porn loop and in either case the app is merely presenting content to which I requested access.

It is likewise unfair of me to pretend that this righteous indignation is enough to get me to stop using or loving my iPhone. I was visibly distraught when my iPhone wouldn't turn on on Christmas morning and the following day and a half felt very disconnected indeed.

ppk, a foremost authority on all things JavaScript, has advocated web apps as an alternative to Apple's tyranny. I must agree that stuff like this makes me want to take a closer look at HTML 5.

SlingPlayer Mobile