iBought an iPhone

On Jan 17th, I wrote about the iPhone:

The ease of using all the devices is likely the phones most endearing feature, but I’m not in love. Yet.

And I went on to detail my reservations about the $599 iPhone.

Cons:
Painfully slow data access (EDGE).
Cingular AT&T only
No tethering (with a PDA / laptop)
Expensive.

Concerns:
SSH client
Email: multiple IMAP accounts? SSL/TLS encryption?

A lot has changed since January. Continue reading “iBought an iPhone”

Even Windows is better on a Mac

You’ve probably heard it from me, and if you follow Mac news at all, you’ve probably heard it from Gruber and now you can hear it from another that a Mac is the best PC to run Windows. I couldn’t agree more.

I have used Windows under emulation almost as long as Windows has been shipping. I ran Windows on SGI hardware first and then later on Mac OS. I wrote the Kysor Fan Program for Windows, using Visual Basic. The notable part of that is that Kysor bought me a license for SoftWindows and I wrote the vast majority of the KFP on my personal Mac, because it was so much more stable than Windows on bare iron.

Since then emulation moved from software to hardware and now Windows can run natively on my Mac via Boot Camp or virtually under Parallels Desktop or VMware Fusion. As I’ve blogged about before, getting a clean and happy install of Windows has never been easier than when installing it on a Mac.

MacBook for sale sold

This MacBook is the one I reviewed here. The MacBook was an interim laptop, to bridge the gap between my PowerBook and my new MacBook Pro, due to arrive later in the year. I skipped the first edition MacBook Pro, substantially because the MBP wasn’t substantially better than the MB. So I waited.

With the July 2007 MacBook Pro, Apple finally made the upgrade compelling. Continue reading “MacBook for sale sold”

435

The letters were great, my brain was firing on all cylinders, and the scoreboard has a nosebleed. With two sevens, both 10s, and a handful of accessories I did quite well. I think 435 might be an all time personal best score.

ssh-agent and Mac OS X

Introduction: I am beefing up security by requiring password protected SSH keys (two factor) for authentication. With this change, the use of ssh-agent is quite important. Because I use ssh frequently, it’s worth making its use as transparent as possible.

The Problem: Ssh-agent lacks an easy way to use it for multiple shell/terminal sessions. This is best explained by example. I log onto my Mac OS X/FreeBSD machine at the console. I needs to administrate a server so I open a terminal window. Now I must launch ssh-agent followed by ssh-add and then type in my passphrase to set up my ssh key(s). Now my ssh key is authenticated and ready for use during the rest of this session. So far, so good.

While I’m working on that first server, I needs to connect to another machine to see how I configured something there. This is where ssh-agent becomes onerous. I open another terminal window and must once again launch ssh-agent, and then ssh-add, type in my passphrase, and finally connect. But now I have two instances of ssh-agent running.

Having multiple ssh-agents is the default behavior because ssh-agent has no built-in mechanism for detecting and reusing an existing ssh-agent process. To do so, one must determine the correct path to the socket file and set SSH_AUTH_SOCK accordingly.

Research: I researched the options available for solving this issue on my Mac. I found Xander Schrijen’s SSH Agent for Mac OS X but had several issues that prevented me from falling into love with it. There is also SSHKeychain but it didn’t work at all on my Intel macs (it has since been fixed).

The Solution: After giving up on a easy point-and-click solution, I decided the best solution is one that works equally well on all the UNIX-like systems I use regularly: Mac OS 10.4, 10.5, Linux, and FreeBSD. I wrote a simple shell script, then a more complex one, then a perl script, and finally another shell script that I think is just about perfect. Its only requirement (beyond openssh) is bash.

Documentation is contained in the script. It has been tested on Mac OS X and FreeBSD. It should run without modification on any UNIX-like OS and requires the [ba]sh shell. I attempted a script that worked with both bash and tcsh but it simply wouldn’t work. Tcsh is a perfectly adequate shell but a miserable programming environment.

Demonstration: Opening a new Terminal window:

Last login: Sat Jul 28 20:41:10 on ttys001
cleaning up stale ssh agent
starting ssh-agent -a /Users/matt/.ssh/agent.sock
ssh agent for matt found at pid 30268.
adding ssh key(s) to agent
Identity added: /Users/matt/.ssh/id_rsa (/Users/matt/.ssh/id_rsa)
Identity added: /Users/matt/.ssh/id_dsa (/Users/matt/.ssh/id_dsa)
[matt@IntelliBigMac] ~ %

Opening a second Terminal window:

Last login: Sat Jul 28 20:52:54 on ttys002
ssh agent for matt found at pid 30268.
[matt@IntelliBigMac] ~ %

Enjoy
http://www.tnpi.net/computing/mac/agent.sh.txt

customer service

It’s all too common that customer service leaves much to be desired. Today I was quite surprised when I received excellent customer service from my telephone provider, VoicePulse. I was able to call out, but people weren’t able to call me.

So I called and inquired. Matt, in Newark, NJ answered my call. I explained the problem. He looked into briefly. Then, wonder of wonders, he explained exactly what the problem was. It turns out it was an issue they already knew about but the extent was greater than they realized. He demonstrated that he actually understood exactly the problem because he asked for another number where he could reach me. No more than an hour later, he actually called back to let me know the problem was fixed!

That’s what I call service. Thank you Matt @ VoicePulse, for surpassing my expectations.