Remote Wonder Mac Drivers v1.5

December 7th, 2006

Since my last post about the excelent Remote Wonder II and my suggestion that you downgrade to the version 1.5 drivers to fix the double key press issue, AMD–the new owners of ATI–have taken over the website and removed those drivers. The latest version of the drivers are available on the new site, but I could find no mention of the older version, so as a public service to my fellow Mac Remote Wonder users, here are the version 1.5 drivers for download.

Remote Wonder Drivers version 1.5 For Mac OS X (.dmg, 3.5MB)

Enjoy

Double Key Press with ATI’s Remote Wonder II

October 3rd, 2006

I recently purchased the excellent ATI Remote Wonder II. It’s a pretty nice RF remote with a glut of programmable buttons (solving the main problem I have with my Keyspan remote). There’s a great review over at Remote Central which sums up the remote nicely. As this review mentions, the Mac drivers for this item are surprisingly well written.

mostly…

Unfortunately I found that the drivers I downloaded from ATI’s website (they’re buried deep) had an issue with remote button presses sending two key presses. Push up on the remote and the software would press up twice in whatever program you are using. This did not happen on every press, but it was more than enough to make surfing channels pretty much unbearable in EyeTV. I was about to return the remote to ATI when I decided to try an older version of the drivers. Sure enough, downgrading to version 1.5 of the ATI Drivers cleared up the double press issue. Other than a somewhat less elegant configuration app, I cannot really see any difference between the 1.5 and 2.0.1 versions of the driver, but having only used the v2 drivers for a week, so I might be missing out on some fantastic feature, but quite frankly it works and I don’t care.

So if you have this remote (and I highly recommend it) and are experiencing double key presses, try the downgrade and let me know if it works.

UPDATE Since the 1.5 Drivers are no longer available at ati.com, I have put them up here. I also updated the links in this post since ATI nee AMD did not feel like providing redirects redirects.

Find all form elements with Javascript DOM

May 31st, 2006

Here’s a quick way of finding all the form elements on a given page using the DOM-Friendly getElementsByTagName function. Because it works on the Document Object Model, it’ll work on any node in the document. That means you can find the form elements within a given form, fieldset, div or any element on the page. That gives it an advantage over the boring old document.forms array, but it does mean you’ll need a DOM-Compatible browser, so no Netscape 3 for you. It might be a nice addition to your unobtrusive javascript arsenal.

The Code:

function getAllFormElements( parent_node ) {
if( parent_node == undefined ) {
parent_node = document;
}
var out = new Array();
formInputs = parent_node.getElementsByTagName("input");
for (var i = 0; i < formInputs.length; i++)
out.push( formInputs.item(i) );
formInputs = parent_node.getElementsByTagName("textarea");
for (var i = 0; i < formInputs.length; i++)
out.push( formInputs.item(i) );
formInputs = parent_node.getElementsByTagName("select");
for (var i = 0; i < formInputs.length; i++)
out.push( formInputs.item(i) );
formInputs = parent_node.getElementsByTagName("button");
for (var i = 0; i < formInputs.length; i++)
out.push( formInputs.item(i) );
return out;
}

The Explanation

Just call it without parameters to get all the form elements on the current page, or pass it a DOM node to find only elements that are descendants of that node. Easy as that.

The function calls getElementsByTagName 4 times so that we get all of the different form element tags. It pushes the results of those calls onto an array. getElementsByTagName returns an HTMLCollection not an array, so pushing all the elements onto the array lets us do even more with the results.

Going Further

We can use this basic technique to get any set of tags:

function getElementsByTagNameMultiple( tag_names, parent_node ) {
if( parent_node == undefined ) {
parent_node = document;
}
var out = new Array();
for( var i = 0; i < tag_names.length; i++ ) {
elementsFound =
parent_node.getElementsByTagName(tag_names[i]);
for (var j = 0; j < elementsFound.length; j++)
out.push( elementsFound.item(j) );
}
return out;
}

Which makes my get form elements function a little simpler:

function getAllFormElements( parent_node ) {
return getElementsByTagNameMultiple(
[ 'input', 'textarea', 'select', 'button' ]
);
}

I hope you find this useful. If you have any comments suggestions or feedback leave a comment. I tested these in Firefox and Safari. Your mileage may vary.

SCPlugin: The Subversion Finder Plugin

March 6th, 2006

Subversion is great. Once you have experienced the joys of version (a.k.a. revision) control, you will never look back, and by all accounts, the open-source Subversion is one of the best solutions around.

It has a Mac OS X client which works well, but it is a command line tool, and while it is not the hardest tool to master, it can be a little intimidating for non-technical users. This is where GUI clients come in very handy. There are a number of decent ones for the Mac, Svnx, Sven and RapidSVN amongst them, but the most elegant and convenient subversion client on any platform has to be the Windows plugin (shell extension) TortoiseSVN. This application adds a submenu to the Windows contextual menu that lets you perform subversion operations on a local working copy by simply right-clicking on any file or folder and selecting the desired operation from the menu. It is a very quick and intuitive way to perform most Subersion operations, which is why I was delighted to find out that some industrious souls had created SCPlugin–a Finder plugin for Mac OS X to provide the same functionality–and dismayed to find out that they had not released an update since December of ‘04.

SCPlugin is a wonderful little program which was never quite finished, and appears to have been gently abandoned. Lots of great work has been done on this project, but sadly it appears that, like so many labors-of-love, paying jobs and real-lives have forced the authors to leave it unfinished. All is not lost, however, as they have left us with two versions of the plugin, which, while not exactly 1.0 releases, can, with just a little finagling, become a useful part of a Mac-user’s workflow.

The older version, v269, is available as a binary download from the project’s site. It installs easily and I have used it successfully on OS 10.3 and 10.4. It requires the command line client to be correctly installed (see this MacDevCenter article for more on that). It does not implement every subversion client operation and has some minor interface issues, but I find it quite stable and extremely useful. The one gotcha I found was that the System Preference pane requires you to choose the location of your subversion command client, but it makes you do so with the standard Mac open dialog, which does not let you browse to the standard unix directories (the client will likely be in /usr/local/bin/ or similar). To get around this, you will need to use the “Go To Folder” command. Just press Cmd-Shift-G with the dialog open and type path to the directory with the client in it. Josh Buhler provides excellent step by step installation instructions on his blog.

The second version has no official binary release, so you will have to download the source code and compile it yourself. A pre-compiled version has been made available by this kind soul, which I have not tested, but I can only assume that this is indeed the latest codebase and will work the same as one you compile yourself. This version appears to be an almost ground-up rewrite of the plugin using the subversion API instead of relying on the pre-compiled command line version. This helps make the plugin faster, and the interface more Mac-like. Unfortunately, in my experience, while some things are better in this version (the little icon badges are more accurate) it is not as far along as the earlier one in terms of reliability, stability or usability. I would recommend sticking with the older version for day-to-day use, falling back on the CLI for advanced functionality.

It is a shame that this project fallen to the wayside, as it shows a lot of potential, and it is clear that a lot of hard work has been done. My thanks go out to the authors who got it this far, and I can only continue to hope that they can find some time in the future to bring this project back to life.

The state of HTPC on Mac OS X

February 26th, 2006

HTPCs (Home Theater PCs or Media Center PCs) are all the rage right now, and for good reason. A computer with the right software and hardware add-ons can be a digital video recorder (dvr or pvr), a movie jukebox, a regular jukebox and much much more.

All you need to make this magic happen is:

  1. A Mac, PC or Linux Computer (you don’t need anything too powerfull so hopefully you can recycle something or find something cheap on eBay)
  2. A TV capture device
  3. A remote control device
  4. Lots and lots of disk space
  5. Some software to run the whole thing

Being a Mac nerd, my setup is centered around an old PowerBook G4 with a broken screen (but a working video out). I also have an EyeTV 200 by elgato, Keyspan’s Digital Media Remote, and a generic firewire hard-drive to store all my movies, music and recorded TV. The hardware is fairly straightforward there are a few options for Mac compatible TV capture devices and remotes, but all seem to be capable devices with decent support. The real trick to setting up a killer media center Mac is item 5: the software.

Linux users have the well-regarded open source projects MythTV and Freevo and Windows users have the well-featured though somewhat restrictive Windows Media Center Edition as well as a handful of proprietary solutions but for us poor Mac fanatics the options are not so well defined. Thankfully there is some movement in the Mac HTPC/Media Center world, but none of the available solutions is quite ready for prime-time.

There are plenty of good media players for the Mac with my favorites being VLC and MPlayer both open source, but for a true HTPC experience you need an software that will let you pick a movie, song or TV channel or recording to play from across the room with your remote. A little research comes up with the following options:

Though technically not supported on any hardware other than the new Intel iMacs and MacBooks, Front Row can be fairly easily tricked to run on any Mac running Tiger. It is final release and an Apple product to boot, so it is naturally the most polished of the bunch, but it lacks integration with EyeTV or any other TV hardware and tends to freeze up for 30+ seconds while trying to load previews for the movies I have ripped with Handbrake, which makes navigating somewhat… inconvenient.

The MythTV Frontend requires, naturally enough a computer on the network running the MythTV Backend, which is Linux-only. Since I do not have a MythTv box, I cannot comment on how the Mac front end performs.

Center Stage and iTheater are both open source solutions in different stages of development. Center Stage is a 0.5 release and iTheater is 0.1.1 as of this writing. Neither is ready to be used full time in your living room, but both hold a lot of great potential. I am a big fan of OSS projects and have great hopes for these. I only hope that the spliting of such a small market in two will not hurt the development and ultimate adoption of these two products.

MediaCentral is a relatively new free (as in beer) product from Equinux. It is currently at version 1.2 and seems to be extremely feature rich. In my limited testing I found the interface to be extremely sluggish on my 1.5 GHz G4, the video playback was jumpy on some of my files and it froze a little too frequently. One of the frustrating things about a fullscreen application like these is that without a mouse to wiggle (and no spinny rainbow ball) it’s hard to know if an application is frozen or just being slow.

So which of these progams to I use in my living room? None of them. Until one of these solutions matures to the point where I can use it and trust it, I will continue to make do with my makeshift solution involving a little applescript, a few good media apps and the finder with the icons and display font cranked up to max.

If you know of any other Mac OS X media center solutions, want to share your tricks for controlling your computer from the couch or have any other questions or comments about HTPC on Mac OS X, please leave me a comment below.

echo “Hello, World!”;

February 26th, 2006

Welcome to my weblog. Here I plan on posting on some or all of the following:

  • MacOS X
  • PHP/MySQL
  • HTML/Javascript (and some AJAX, maybe?)
  • HTPCs (primarily on Mac)

That’s the plan at least. We’ll see how it goes. It may well turn out that I have nothing interesting to share with the world at all.