CrabApple Forest |

Picking The Good Ones & Crabbing About The Bad Ones

CrabApple of the Week: Apple’s non-support of USB webcams and cameras

Monday Jun 16, 2008

There are some Mac models that come with a built-in camera - if you have one of those, you’re golden, at least until the camera malfunctions or you want higher resolution. But if you didn’t get a built-in camera, or for whatever reason you want to use any typical off-the-shelf webcam, you will find that Apple’s support for webcams sucks. I mean it REALLY sucks. You can take a perfectly good webcam that works great under Windows, and just try to use it under OS X. It will see that the camera is connected, but unless you are very lucky, it just ignores the camera’s output.

This is generally NOT a hardware incompatibility, although it can be, particularly if the webcam is an older model. However, there is a very nice third-party software program called macam, which is a driver for USB webcams on Mac OS X. The developer’s site explains that “macam consist of an application and a component. Run the macam application to verify whether your camera works with your Mac and your USB setup. The component is the actual driver that allows other applications to access the video-stream.” Macam currently supports just about half of the known cameras out there.

macam works with OS X Tiger
Creative Commons License photo credit: mangee

The problem is that that even with Macam installed, Apple’s bundled software won’t work with it. Got Photo Booth? Forget about using it with your unsupported webcam, although macam’s application (and some third party software) will let you snap single images of yourself or your kids. Want to have a video chat? iChat refuses to recognize a USB-connected webcam unless you purchase a third-party program (which we might have tried and reviewed, except that once we installed it and tried to use it one time, in an attempt that was unsuccessful due to an unrelated problem, on the second attempt it immediately thought that its seven day trial period was up and refused to run!). But you have to wonder, if a third-party program can make iChat work with a USB webcam, how hard would it be for Apple to enable this capability? It’s exactly this sort of thing that sometimes makes us wonder if we made the right choice by getting a Mac.

Of course, if you want to use Yahoo! Messenger, you can install their Mac client and use that to chat with your friends. Although we haven’t had the opportunity to fully test it yet, we do note that it at least recognizes our webcam (presumably using the macam driver) and displays a preview. That’s more than iChat does. As for AIM, for some inexplicable reason they distribute AIM 4.7 for Macintosh using a .bin format file, which must be expanded using Stuffit Expander. That put us off a bit, and since every review we’d read about it didn’t exactly give it a stellar recommendation, and since nowhere on the page for the Mac version did they say that it supports video chats, we decided to forgo attempting to install it for the moment - though we may revisit that decision later.

Oh, and before anyone comments that Adium has got a “mebeamIntegration” plugin that handles video - if you can get it to work, more power to you! We have it installed and when we try to access it (by right clicking on a contact, for example) it simply does not appear in the menu of choices. But then, we would add that the majority of comments we read about it (the plugin, not Adium itself) weren’t exactly glowing (though you could tell the hard cider drinkin’ boys in the bunch - their attitude was that if you got it for free you shouldn’t complain about it, even if it lays there like a giant turd on your hard drive and works poorly or not at all. After all, what did you expect for free, you ungrateful cheapskate?).

Come on, Apple - you put USB ports on your computers, and people expect that they can just plug in standard USB devices and they will just work. We will even put up with a little aggravation to get a device going, but when in your arrogance you decide that you simply won’t support an entire class of hardware, that’s simply going too far. We know that the hard cider drinkin’ boys will always think you can do no wrong, but those of us who have switched from Windows aren’t going to talk your products up to our friends and relatives if you can’t even support basic USB hardware properly. And yes, we do understand that you can’t support every older-than-dirt Webcam that was sold for use with Windows ‘98, but you should at least be able to support those webcams that are supported by the spca5xx/gspca Linux webcam driver project (which is given credit in the macam documentation). If the Linux folks can support these webcams, why can’t Apple? The answer is that there is no good reason why not, they just haven’t felt it’s a priority. Well, Apple, I suspect that many of your customers may feel differently about that.

Related posts


Easy way to download a YouTube video using Safari

Wednesday Jun 11, 2008

How often has this happened to you - you shot a really funny video of your cat, posted it to YouTube, then accidentally lost the original and now you want to download the copy back from YouTube? Never, you say? Okay, but work with us here for a minute. Supposing you had done that, there’s a real easy way to download it back to your system, and you don’t even have to use any special software to do it. Here’s how:

First, open Safari and navigate to the YouTube page containing the video. While the video is playing, press the following key combination: Command-Alt-A OR click on the word “Window” in the top menu bar, then select “Activity” from the drop-down menu. Once the Activity window is showing, look for a line that contains this character string: get_video

Safari Activity Window

If you have trouble seeing it, it may help to look for the largest files in the list - it’s usually the largest file shown. It may also help to expand the window so you can see the complete links. When you find the one containing the get_video string, double-click on it and the video should download. Once the download is complete, go to your desktop or downloads directory (wherever your downloaded files are normally saved) and rename the get_video file to something meaningful, but be sure to give the file a .flv extension. The annoying “Mac Nanny” will pop up and ask if you are sure you want to change the extension, and you do.

Now that you have recovered the precious video of your cat clawing the neighbor’s dog, you can watch it whenever you want. You’ll want to make sure you’ve downloaded and installed Perian, so that you can play the .flv files. If you have also downloaded and installed MPEG Streamclip: video converter for Mac & Windows, you can use that to play the video or encode it to another format, or even do some selective editing of the clip (such as trimming off extraneous material at the start or end of the clip).

Related posts


Interesting Freeware - We LOVE Free stuff!

Thursday May 22, 2008

Here are a few quick looks at some interesting freeware for the Mac. We are strong supporters of freeware unlike the ‘hard cider boys!” Take a look and let us know what you think of these freeware programs.

Smultron Text Editor

Smultron is a free text editor for Mac OS X Leopard 10.5 which is both easy to use and powerful. It is designed to neither confuse newcomers nor disappoint advanced users. It should work perfectly for a whole variety of needs - like web programming, script editing, making a to do list and so on.

[ http://smultron.sourceforge.net/ ]

Cyberduck

Cyberduck is an open source FTP, SFTP, WebDAV and Amazon S3 browser licenced under the GPL with an easy to use interface, integration with external editors and support for many Mac OS X system technologies such as Spotlight, Bonjour, QuickLook and the Keychain. Cyberduck is free software. Current available localizations are English, Czech, Dutch, Finnish, French, German, Italian, Japanese, Korean, Norwegian, Portuguese, Slovak, Spanish, Chinese (Traditional and Simplified), Russian, Swedish, Hungarian, Danish, Polish, Indonesian, Catalan, Welsh and Thai.

[ http://cyberduck.ch/ ]

Delivery Status 4.2.1

Can’t wait for your packages to arrive? Don’t waste your time checking the site constantly, just open this all-in-one delivery tracker and enter your order number or tracking number. The status will update automatically for you, and even count down the days! It also works with Growl to give you pop-up message, email notifications, and more, whenever your package status changes. If you have more than one order, just open another copy of the widget so you can keep an eye on them all at once!

[ http://mikepiontek.com/software/mac/delivery-status.html ]

Mactracker

Mactracker provides detailed information on every Apple Macintosh computer ever made, including items such as processor speed, memory, optical drives, graphic cards, supported Mac OS versions, and expansion options. Also included is information on Apple mice, keyboards, displays, printers, scanners, digital cameras, iPod, Apple TV, iPhone, Wi-Fi Base Stations, Newton, and Mac OS versions.

[ http://www.mactracker.ca/ ]

AppUpdate

App Update is a free Dashboard Widget that can automatically check for updates to your installed software. It supports Apple’s software directory, MacUpdate and Version Tracker. It will present you with a tidy link list of all the updates found, enabling you to read release-notes and download the the updates quickly and painlessly.

[ http://gkaindl.com/software/app-update ]

WidgetUpdate

Widget Update is a free Dashboard Widget that can automatically check for updates to the all the other widgets that you have installed. It supports Apple’s software directory, DashboardWidgets.com, MacUpdate and Version Tracker. It will present you with a tidy link list of all the updates found, enabling you to read release-notes and download the the updates quickly and painlessly.

[ http://gkaindl.com/software/widget-update ]

VLC media player

VLC media player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, …) as well as DVDs, VCDs, and various streaming protocols. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network.

[ http://www.videolan.org/vlc/ ]

Amaya Editor/Browser

Amaya is a Web editor, i.e. a tool used to create and update documents directly on the Web. Browsing features are seamlessly integrated with the editing and remote access features in a uniform environment. This follows the original vision of the Web as a space for collaboration and not just a one-way publishing medium. Work on Amaya started at W3C in 1996. Amaya started as an HTML + CSS style sheets editor. Since that time it was extended to support XML and an increasing number of XML applications such as the XHTML family, MathML, and SVG. It allows all those vocabularies to be edited simultaneously in compound documents.

[ http://www.w3.org/Amaya/Amaya.html ]

Related posts


Stop entering passwords: How to set up ssh public/private key authentication for connections to a remote server

Sunday May 18, 2008
This entry is part 4 of 4 in the series Remote Hard Disk
Ready To Go
Creative Commons License photo credit: Biappi

This article assumes that you are already able to ssh into a remote server using a password (that is, that your account has been created on the remote system and you are able to access it). Here’s how to set up ssh public/private key authentication so you don’t have to use the password on future logins, or so you can use Public Key authentication with MacFusion.

First, open a terminal or iTerm window as we will be using it for most of the following operations. First, navigate to your home directory, and see if there is a folder called .ssh. Note that Finder will NOT show you this directory unless you have it set to show all file extensions, so since we are at a command line prompt anyway, it’s easiest to just type “cd ~” (without the quotes) to go to your home directory in Terminal or iTerm and type “ls -a” (again without the quotes - always omit the quotes when we quote a command) to see if the .ssh directory exists. If it does, go into the directory (”cd .ssh”) and see if there are two files called id_rsa and id_rsa.pub (use “ls -a” again). If either the directory or the files do not exist, you will need to create them.

ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "your@emailaddress.com"

Replace your@emailaddress.com with your email address - this is just to make sure the keys are unique, because by default it will use your_user_name@your_machine_name.local, which might come up with something too generic, like john@Mac.local. It’s unlikely that anyone else is using your e-mail address in a key.

Now, from your terminal or iTerm window, execute the following commands. Replace username with your login name and remote with the address of the remote system. Note that you should NOT be logged into the remote system when you execute these - these are run from a command prompt on your local system, and you probably will be prompted to enter your password (for the remote system) after each of at least the first couple of commands:

ssh username@remote ‘mkdir ~/.ssh;chmod 700 ~/.ssh’

The above creates the .ssh directory on the remote system and gives it the correct permissions.

scp ~/.ssh/id_rsa.pub username@remote:~/.ssh/authorized_keys

The above copies your public key to the list of authorized keys on the remote system (creating the list if it does not already exist).

ssh username@remote ‘chmod 600 ~/.ssh/authorized_keys’

This fixes the permissions on the authorized_keys file on the remote system.

And, that’s basically all there is to it. If you are the system administrator of the remote system, but you don’t ever plan to login from a remote location as root, then for extra security edit the file /etc/ssh/sshd_config on the remote system (you’ll probably have to be root, or use sudo to do this task). Just use your favorite text editor on the remote system to open the file, and look for a line that says:

PermitRootLogin yes

And change the “yes” to “no”. If you don’t have permission to edit this file (even by using sudo) then don’t worry about it, because you probably can’t login as root anyway.

The above are very basic instructions for setting up ssh public/private key authentication. There are other ways to do this (including some that are arguably a bit more secure) but we wanted to keep it simple. Hopefully this will help someone who is using ssh, MacFusion, etc. and wants something a bit more secure and less bothersome than password access.

Related posts


Lean on Lingon to launch scripts and applications

Sunday May 11, 2008

Lingon is one of those tools that at first blush may seem to be something only a true geek would love, but it’s actually fairly practical. What it does is to allow you to launch scripts or programs according to certain criteria. If you have previous experience with Linux or Unix, you can think of it as a way to set up something similar to a cron job, except that you have more flexibility.

One thing you can do is set up scripts or applications to launch at startup. Now, you may already know how you can launch applications at startup - you go into System Preferences, click on Accounts, and then (while your account is selected) click on Login Items. Once there, you can add or remove applications you want to launch at startup by using the + and/or - buttons. And, that’s the preferred way to launch an application at startup for the logged-in user.

But what if you want to launch an application based on some other criteria, or you want to launch a script of some kind? What if you need an application to start no matter which user is logging in? Or, what if you want to tweak an existing startup item that’s run by the system (as an agent or a daemon) and not by a particular user? That’s where Lingon comes in. Lingon lets you edit and create configuration files for launchd (and maybe you are asking, what is launchd? Well, according to Wikipedia, “launchd is a unified, open source service management framework for starting, stopping and managing daemons, programs and scripts.” Aren’t you sorry you asked?).

To give you an example of how Lingon can be used, we set it up to start the CallerIDpop perl script from the Michigan Telephone, VoIP and Broadband blog. This is a script used with Linksys/Sipura VoIP adapters (and some phones) that, when there is an incoming call, provides a Growl popup showing caller details and the time the call was received (it can also write this information to a log file). Previously we had been using their suggested method of running an AppleScript (saved as an application) at startup, the AppleScript containing the line that actually starts the Perl script. Although this works, it’s a fairly convoluted way to do it and it seems to eat up a lot of system resources. So, we set out to find another way to invoke the script at startup. Here’s how we did it using Lingon (which, by the way, seems to get the script running a lot quicker, and the script itself seems to be running in a more stable environment):

When you first fire up Lingon, you get this screen:

Lingon opening screen

Click the small button labeled “New” (with the + on the button) in the upper left-hand corner, and you get a dropdown as shown here:

Lingon dropdown

We selected “My Agents” because we only have one user account on that system, and didn’t really want the script to have root privileges. You should think long and hard about running anything as a daemon, because if anything goes wrong (whether due to programming error or malicious intent) the script will be running as root and can do just about anything to your system. Having selected that, we got this window:

Lingon main options window

As you can see, everything is fairly straightforward. In section 1 you give the agent a name, in section 2 you insert the command just as you would enter it if you ran it directly from a terminal window (or you choose the application to run, if you are running an application), and in section 3 you pick the options you want to use to trigger running the script or application. If you’re not sure about any of the options, click on Help (in the top menu bar) and then “Lingon Help” and it will bring up a PDF file in Preview that explains how to use Lingon. The Help menu also gives you access to the man pages for launchd.plist, launchctl, and launchd, in case you are making changes in any of those files.

Note the “Expert Mode” button in the lower right-hand corner - this shows you the actual XML code, and allows you to write keys and values directly if you are comfortable doing that.

Don’t forget to click the “Save” button at the top when you are finished - we forgot to do that and had to start all over! We sort of wish that the “Save” button were underneath the other three sections, maybe in a section 4!

Unfortunately, to make everything work properly you’ll have to log out and login again, or reboot your Mac, as Lingon will remind you:

Lingon restart warning

Not only can Lingon be used to make your own script or application launchers, but it can also be used to edit existing system agents and daemons. While you normally shouldn’t do this, if you know what you are doing it can sometimes improve system performance. On the other hand, if you don’t know what you are doing, you could render your system totally inoperable! As an example of why you might want to do this, we recommend you see the article, “The Case of the Slow Mac (and how to fix it)” at Maciverse. If you think that your Mac is running a bit sluggish, or if you’re seeing the “spinning beachball of death” a bit too often, this article explains one possible reason, and a suggested fix that’s much easier to make if you use Lingon.

Related posts