Posted by JohnnyAppleseed | Under Configuration, Software, Utility
Sunday May 18, 2008
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
Posted by JohnnyAppleseed | Under Configuration, Programming, Review, Software, VoIP
Saturday May 17, 2008
Gizmo5, formerly known as Gizmo Project, is both a service and a software client. The software is available for many platforms, including Mac OS X, of course.

Basically it allows voice and video calls and instant messaging between Gizmo5 users. The calls are free as long as you’re calling another Gizmo5 user, and you can purchase credit to use for outgoing calls to regular landline phones. Now, you probably are already using another instant messaging client, so we won’t dwell on that functionality, except to say that Gizmo5 will work with most of the major IM services.
As for VoIP, most people are familiar with Skype. The problem with Skype is that everything about it is closed - it uses its own protocols, and doesn’t play well with other VoIP services and devices. Gizmo5 uses SIP protocol, and this opens up some interesting possibilities. For example, you could use the Gizmo5 client to access another SIP-based service, or you could use a hardware VoIP adapter or even an Asterisk server trunk to access your Gizmo5 service. If you don’t understand anything of what I just said, let me mention something that everyone will understand - with Gizmo5, you can potentially get more free calls, if you know how. Not only that, but your friends around the world may be able to call you from their landlines or cell phones, using a number that is a local (or nearly local) call, if they’re willing to dial a few extra digits.
Really, the problem with Gizmo5 seems to be that it was designed by true geeks, and they gave it all sorts of interesting capabilities, but they don’t do a great job on their site of telling you all about the various capabilities in a nice summary - the information is there, but the site has so many pages that finding anything specific might take a while. So, we’ll just point out a few things. We’ll warn you now that if you have no interest in getting free calls, and you’re not particularly interested in VoIP or geek-type stuff, you might not care to read any further - go ahead and skip to the next article. Still with us? Okay, here’s how to get to the free stuff!
First, there is what Gizmo5 calls Backdoor Dialing. As their site explains:
Approximately 11% of US telephones, including mobile numbers and land lines from carriers such as Verizon, Sprint, T-Mobile, etc., are connected via VoIP. Working with telecom partners we are now making it possible to dial these numbers without going through the traditional phone system.
This means you can call certain mobile and land line numbers from any computer connected to the net and talk for free. Because these calls are bypassing the traditional phone network entirely there is no per minute fee or other charge for the caller regardless of where they call from.
Now, interestingly enough, this “Backdoor Dialing” can even be used if you have set up a trunk on an Asterisk/FreePBX box but the one thing they don’t tell you is that the moment the called party answers, both parties hear a short recording that says, “This is a free call from anywhere in the world using Gizmo5″ (or something pretty close to that). They probably do this to keep businesses from (ab)using the service, but the recording is still a bit annoying. Still, it’s possible to use Backdoor Dialing without purchasing any outgoing call credit, so if you have friends with cell phones with U.S. numbers, you just might be able to call them for free. We were surprised to discover that we could make calls even to customers of MetroPCS in the Detroit area using the 0101 free calling prefix, even though that carrier is not mentioned.
When you call someone using “Backdoor Dialing”, they receive a Caller ID number that is not the same as your Gizmo5 number, but which from then on (or, at least, for some period of time) can be used to call you back - but only if they call from the same number that you called them on! So, for example, if you call their cell phone and they get a Caller ID number, they can call you back on that number from that cell phone, but not from a landline phone or from anyone else’s cell phone.
But wait, there’s even more potential opportunities for free calling - it seems that you can make calls to customers of many VoIP providers worldwide if their provider has a Sipbroker SIP-Code and accepts incoming connections. Sometimes it takes a little experimentation (and the use of Google) to figure out how it works. For example, let’s suppose you have a friend that gets VoIP service from Viatalk (a U.S. based VoIP provider). By looking down the SIP-Code list (or, preferably, using your browser’s search function on that page) you find that Viatalk has been assigned a SIP-Code of *507. So, in theory, you could dial *507 plus your friend’s Viatalk number from your Gizmo5 client, and talk to him for free. The problem is, you don’t know the format that they want to receive the number in - do they want *507 plus ten digits (area code plus number), or *507 plus eleven digits (country code + area code + number)? With some providers, one of those formats might work, but as it happens Viatalk wants to see *507+ plus 11 digits (yes, you actually put a plus sign after the SIP-Code and before the 11 digit number). If you use that format, maybe it will work and you can talk to your friend, assuming everything else is working as it should.
If that doesn’t interest you, maybe this will: You can call U.S. (and possibly Canadian) toll-free numbers free by prefacing the number with a star, e.g. *18005558355 to call TellMe.
Gizmo5 will sell you a dedicated number for incoming calls from regular telephone users for a monthly fee. What they don’t mention is that even if you don’t pay for an incoming number, your friends can still call you using any of the Sipbroker local PSTN access numbers in various locations around the globe. They would call the nearest local access number, then when prompted, dial *747 (the SIP-Code for Gizmo5), then your Gizmo5 number starting with the 1-747 (so the first digits will be *747-1-747 followed by seven more digits). It’s a lot of dialing but if you have a friend who lives overseas, or who would just prefer not to pay some wireline phone company an outrageous per-minute charge, that is a way they can call you for free.
It’s the capacity for free calls that makes Gizmo5 so interesting to us here in the CrabApple Forest. Sure, Skype would let us talk for free to other Skype users, but Gizmo5 will let us complete and receive certain other types of calls for free, if we are willing to spend a little time exploring their site and learning all the opportunities for free calls. And moreover, should we decide we’d prefer to talk using a real phone, we can always set up a hardware VoIP adapter using the standard SIP protocol, or an Asterisk SIP trunk, and use the service. No way will Skype let you do that!
We will grant that Gizmo5 isn’t the only way to make free phone calls these days. There’s just something about the geekiness of their offering that interests us, even if it does only let us make free calls to a small percentage of U.S. numbers. But even if you couldn’t care less about that sort of thing, you might find Gizmo5 handy to have installed on your laptop, so you can talk to the folks back home (those who are also using Gizmo5, or a VoIP service that’s accessible using a SIP-Code, or if they’re in the U.S. maybe you can call their cell phones using Backdoor Dialing).
By the way, if you’re the sort that would like to find any and every opportunity to make free and/or low cost calls using VoIP, you might find a blog called VOIPGUIDES interesting (be sure to check out their RSS feed). We’re not affiliated with them in any way, but they seem to be interested in finding new ways of making free/cheap calls. and frankly, we think the old wireline phone companies have been nickle-and-dimeing us to death for far too long!
Related posts
Posted by JohnnyAppleseed | Under Games, Review, Software
Friday May 16, 2008
The weekend is upon us again, and with the record high price of car-go-zoom juice, a lot of folks here in the CrabApple Forest are looking for ways to keep ourselves amused without driving too far. There are games that just pass the time, and then there are games that make you think. Reversi, also known as Othello, definitely falls into the latter category. It’s an easy game to learn, but you’re not going to master it in a single weekend!
Here’s how Wikipedia describes the game:
Reversi and Othello are names for an abstract strategy board game which involves play by two parties on an eight-by-eight square grid with pieces that have two distinct sides. Pieces typically appear coin-like, but with a light and a dark face, each side representing one player. The object of the game is to make your pieces constitute a majority of the pieces on the board at the end of the game, by turning over as many of your opponent’s pieces as possible.
For more information on the game, including the rules of play, see the Wikipedia article on Reversi.
If you’ve never played Othello as a board game, it’s probably because all that manual chip-flipping can get pretty tedious, and few people have the patience for it. Of course, when computers came along, it became possible to let the computer do the chip-flipping, so the players could concentrate on the game, and that brought about a revival of interest. And, as it turns out, a computer can make a pretty good Othello opponent, in case you’re stuck at home alone and feel like playing something a bit more challenging than solitaire.
That’s where MacIago comes in. MacIago is a freeware Othello/Reversi style board game for Mac OS X.

The MacIago options are shown here:

And if you don’t like the appearance of the board, there are a handful of plugins that can be downloaded to change it.
How good a game does MacIago play? Well, it could beat BigCrab, but then that’s not sayin’ much. We think that unless you are some sort of Othello master, you’ll find it a worthwhile opponent. And we like the fact that the difficulty level can be changed, so that if you’re teaching the game to the kids they won’t become frustrated because they always lose.
The only option that we think the game is missing is to flip the chips individually, in slow motion, so you can see exactly what’s being turned. Right now it just flips all the chips at once, so you are often left with that “What just happened?” feeling. Another nice option might be the ability to go back a turn or two - not only would that be helpful when you are learning the game, so you can see the relative effects of various possible moves, but also it would give you an opportunity to see exactly what changed in the last move. Even if you could simply click a button or hold down a key and have it highlight the chips that were flipped on the last turn, that would be helpful.
Even so, we think that MacIago is a great way to stretch your mind, and you can’t beat the price. So, what’s your favorite Mac OS X freeware game? Tell us in the comments and maybe we’ll review it in an upcoming post.
Related posts
Posted by JohnnyAppleseed | Under Configuration, Media, Review, Software
Thursday May 15, 2008
FStream is an interesting piece of software that has probably escaped the attention of many Mac OS X users in the English-speaking world, because its web site is entirely in French. It’s a small program that makes it possible to listen to, and to easily record Web radio stations and audio streams.
Features of FStream are as follows:
- Decoding of streams in any of these formats: OGG Vorbis, AAC/AAC+, MP3, MMS (ASF for WMA)
- Encoding of the streams to any of these formats: MP3, AAC, AIFF, WAV
- Recognizes the Apple infrared remote control
- Very low CPU usage
- Minimalist Interface: Simple to use, and does not take much display space
- Customizable interface
- Great flexibility in recognition of streams (among other things, IceCast and ShoutCast streams)
- Access to pre-selected lists (ShoutCast and SourceMac)
When they say minimalist interface, they aren’t kidding - there’s a lot more to this software than you might think at first glance. Normally, this is all you see on the screen:

We should note that if you don’t care for the basic style of the interface, there are a number of skins available for download. Anyway, when FStream is the foreground application and you press the SHIFT key, it changes color and now you are at the recording panel:

The button on the left hand side controls playing or pausing the stream unless the SHIFT key is depressed and you’re at the recording panel, in which case it starts or stops recording. Note that in the program preferences you can select whether pausing the audio will simply mute it, or will actually buffer it so that when you un-pause it will play the stream from where you left off (like a PVR). We wish this functionality wasn’t buried in the preferences, but instead was on two separate buttons (or a “split” button as is used on the right side), because there are times when we may want to pause but don’t care that much about what we’re listening to (as when it’s in the middle of a long commercial break) and other times when we really don’t want to miss the discussion on whatever talk show we’re listening to.

As mentioned above, the button on the right hand side of the interface is split into two halves. Clicking on the lower half reveals a volume control slider:

While clicking on the upper half brings up the main menu:

From the main menu you can select Quick Open, which lets you enter (or paste) a stream URL directly:

But most of the time, you’ll probably want to use the Streams Manager, which allows you to select any of a multitude of preset streams, or streams that you have previously saved:

FStream actually has a fairly comprehensive help file (accessed from the top menu bar, and yes, it’s in English if you’ve selected English as your primary language) and it would be a real good idea for you to scan through it if you want to utilize FStream to its fullest capabilities. Also, if you want to visit the author’s web site, we suggest using either Yahoo Babel Fish or Google Translate to translate the page to English (here are links to the translated main FStream page using Yahoo and Google).
FStream is a great FREE program, and it is the only one we know of that will give you the ability to pause live audio streams and/or record them for future listening. The only way it could be made better (other than the aforementioned suggested change in the pause control) would be to actually allow recording on a schedule, so that you could have it automatically start recording your favorite show at the time it begins (and stop when it ends), in case you aren’t home, or simply forget that the show is on. If there is a way to do this with FStream, we haven’t discovered it yet, but if you’ve figured out how to do it please leave a comment and share what you know!
Related posts
Posted by JohnnyAppleseed | Under Configuration, Programming, Review, Software, Utility
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:

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:

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:

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:

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