I just read a great article on how to recognize a great programmer. It is a worthy read for those interested in hiring geeks.
Tag: technology
Backing up my Mac
Last September I wrote an article about backing up a Mac. I’ve received several inquiries about how best to back up while using Time Machine.
I find I have two distinct needs for backup. The first is total disk loss. If my system disk fails, I need to get back up and running with a new disk. If that disk is pre-populated with the OS and all my data, then I have an extremely fast and reliable way to recover. I consider this part of my backups absolutely essential and I use SuperDuper for making and updating these disk disks.
Creating a bootable snapshot requires a spare disk. My dual G5 had extra drive bays so it was easy, buy and insert a spare disk. When I switched to the Intel iMac, I connected those same backup disks to the iMac and laptops via my Wiebetech ComboDock. That worked but wasn’t very convenient so I picked up an external dual drive Firewire to SATA enclosure with a spare hot-swap drive tray.
My other backup need is file recovery. If a file is deleted, incremental backups allow recovery from a specific point in time. A bootable snapshot can only help if that particular file existed when the snapshot was taken. Fortunately, the few times when I really needed to recover a file, that was the case.
Time Machine fills a void in my backup regime and works out perfectly with the dual disk enclosure. One disk stays in the enclosure and is my designated Time Machine disk. Time Machine manages incremental backups automatically. I maintain my bootable snapshots using two disks and the other drive bay. Every other month I swap out the snapshot disk and store the eldest offsite.
A hard won lesson on investing
I started saving for my retirement in 1991 because my employer offered matching contributions. Matching money is free money so I saved exactly as much as they would match. Since I started at $7/hr, two percent of my check was about $6 per week. It’s a trifling amount but when I quit to found MichWeb 3 years later, I had saved about $900.
I paid no attention to that account until Kysor was acquired a couple years later. I was forced to roll over my retirement account and the dollar value was quite surprising. I had invested $900, the company match had kicked in another $900, and over 5 years it had grown to around $5,000. I invested for the match but learned a valuable lesson on leveraging compound interest.
Years later I read a book by Peter Lynch. One of his most famous bits of investing advice is, “buy what you know.” Instead of taking the advice of Wall Street or your neighbor, invest in companies whose products you are familiar with. If you eat Cheerios every morning, General Mills might be a good stock for you. If you ride a hog, Harley Davidson might be a great choice.
I know AAPL because of my familiarity with their products. For several years, I got into the habit of buying their stock at $15 and selling at $25. That was fun until one day I sold and the stock never came back down! After months of waiting, I bought back at (gulp) double the price I had sold at. This brings me to my hardest won lesson on investing: every notable error I’ve made investing was a sale. Over all, I’d be better off if I had never sold anything.
I ran the numbers to answer a nagging question, “How much more would we have in our retirement accounts if I had never sold AAPL stock?” $15,950. Tomorrow, that number will be even bigger.
my $0.02 on Leopard
Disclosure: I own Apple stock.
I first installed Leopard in early 2007. I backed up my system and installed. Since I have a spare mac, I can tolerate a fair bit of breakage on my main system but the pre-WWDC builds of Leopard exceeded my threshold. After a few days I reverted back to 10.4.
At WWDC, Apple seeded a new build and I backed up and installed again. After a few days of using it, I deemed the bugs I ran into as tolerable and have been running Leopard on my main desktop system since. Note when I placed my order.
Order Date: June 28, 2007
Order #: ***-*******-*******
Recipient: Matt SimersonItems not yet shipped:
1 of: Apple Mac OS X Version 10.5 Leopard Family Pack
Sold by: Amazon.com, LLC
Amazon was running a promotion and guaranteed their lowest price on Leopard Family Pack if I pre-ordered. My experience with the pre-release versions had me convinced that it was just as compelling an upgrade as its predecessors. If you do buy from Amazon, which I recommend, please use the link above and it’ll provide me with a referral bonus. If you don’t need the family pack, here’s a link to the single license version.
Since then, new beta releases of Leopard have arrived and all the worst bugs have been exorcised. I find that build 9A559 is far less problematic than the four days I spent with the release version of Vista. Despite having a Vista license that came with a new machine, my experience with it compelled me to upgrade to XP.
site performance
Dear loyal readers,
Have you perceived any performance issues when using my web site? I ask because the spiffy graphics on the right (have you clicked one lately?) inflate the size of the front page considerably.
iPhone SDK is on the way!
This is very exciting news. As I previously mentioned, we just knew this had to be coming. In the meantime, all the current iPhone hackers are doing a great job of identifying weaknesses in the current security model.
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).
CingularAT&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”
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] ~ %