Macintosh

You are currently browsing articles tagged Macintosh.

A few of my colleagues are switching from Windows to Mac OS X thanks to the recent release of the new MacBook Air models. As a Mac user for more than 8 years now (since well before the Intel switch), I thought it might be handy to post a list of what could be considered some essential apps for new Mac users.

With that in mind, here goes…

File Transfer: Cyberduck

On Windows, many people use Filezilla for their file transfer needs. Filezilla does have a Mac OS X version, but I’ve never used it; instead, new Mac users might prefer Cyberduck, a free and open source file transfer application that supports FTP, SFTP, WebDAV, Amazon S3, Windows Azure, and Google Storage. It’s not just an FTP client anymore! The nice thing about Cyberduck is that it leverages many of the features that drew you to Mac OS X in the first place: Spotlight, Quick Look, Bonjour, and Keychain.

Cyberduck is versatile, but for flat-out raw speed you’ll want to have a look at Interarchy. It’s not free, but it is powerful, and supports many of the same features as Cyberduck. Transmit, from Panic, is another option. Interarchy is my tool of choice.

Instant Messaging: Adium

Without a doubt, Adium is the king of the Mac OS X instant messaging world. With incredible protocol support (including Google Talk, Facebook Chat, MSN, AIM, MobileMe, Yahoo Messenger, ICQ, Bonjour/iChat, Twitter, IRC, MySpaceIM, Lotus Sametime, and Novell Groupwise), support for encryption (via OTR), integration with the Mac OS X Address Book, and a polished user interface, it’s hard to beat. Oh, did I mention it’s free and open source?

If you need integration into a corporate Microsoft Communicator-type environment, Microsoft has a Mac version of Communicator that will fill that need. For all other IM needs, use Adium.

Diagramming: OmniGraffle Professional

Need to create network diagrams (or any type of diagram, really)? Try OmniGraffle Professional. OmniGraffle Pro imports and exports Visio files (not just Visio drawings but also Visio stencils and templates), supports shared layers, custom data, and numerous other features. This is one app you’ll want to evaluate if you have a need for building diagrams of any sort. It’s not free and not open source, but still worth it in my opinion.

You can, of course, still run Microsoft Visio via a virtualization solution (see below).

Application Firewall: Little Snitch

Just because Mac OS X hasn’t yet seen as much malware and other stuff as other platforms doesn’t mean it isn’t coming. So be prepared: use an outbound application-level firewall like Little Snitch. Little Snitch will let you know about any outbound traffic that an application tries to initiate, and will let you approve or deny the traffic. Combine this with Mac OS X’s built-in inbound application-level firewall (enabled in the Security section of System Preferences) and the BSD-level ipfw firewall (which you’ll have to configure manually) and you’ve got the ability to keep network traffic into and out of your Mac locked up tight.

Traditional Productivity: Microsoft Office

Apple’s iWork suite (Pages, Numbers, and Keynote) are handy, but they haven’t quite caught up to Microsoft Office. If you need to exchange documents with other people using Microsoft Office (and let’s face it, who doesn’t?), this is your best choice (OpenOffice and LibreOffice come to mind). Is it the only choice? No, certainly not; there are numerous alternatives. But this choice saves you time sorting out conversion issues, giving more time to get real work done. Heads-up: I haven’t upgraded to Lion yet, and I’m hearing that there are some potential compatibility issues between Office 2011 and Lion.

Twitter Client: Twitterrific

While the 4.x branch of Twitterrific dropped some features I personally considered essential—namely, tweet filtering support and AppleScript support—I still find it to be a great Twitter client. I also find it handy to use the same client on my Mac, my iPhone, and my iPad.

Transition Support: VMware Fusion

Regardless of the new apps you might adopt, as a new Mac user you’re bound to find things that you still need to do in Windows. For those times, VMware Fusion is the way to go. Yes, there are other options (Parallels Desktop), but I’ve been using Fusion since the very earliest “Friends and Family” pre-beta releases in 2006 and have never experienced even the first problem with it.

SSH Client: OpenSSH, built-in!

As a former Windows user, you had to download and install an SSH client (typically PuTTY). No longer! Mac OS X comes with OpenSSH preinstalled, and all you need to do is open up Terminal (found in Applications > Utilities), use the ssh command, and you’re good to go.

There are plenty of other great apps that I use and support—Unison, Colloquy, Typinator, Yojimbo, Handbrake, MarsEdit, OmniFocus, and Skim, among others—but the seven applications listed above will certainly get you started.

Are there other apps that veteran Mac users would consider essential for a new Mac user? Please speak up in the comments!

Tags: , ,

This post is probably old news to experienced UNIX sys admins, but I thought the information might be useful to less knowledgeable folks like me. I also hope that the resulting conversation will help uncover even more knowledge we can all put to good use.

I’ve messed around with the screen utility off and on for a while. One thing I’d never quite figured out, though, was how using screen helped with SSH sessions. I kept seeing references to using screen to help keep things running when you needed to disconnect from an SSH session. That seems like a useful feature, so I decided to dig into it and see what I could figure out.

In the end, what I figured out was this:

  • I needed to install screen on the remote host(s). In my case, the remote hosts were OpenBSD (I removed the secret back doors), so a quick pkg_add corrected that issue.
  • I had to recreate my .screenrc file on the remote host(s). Fortunately, my .screenrc is very simple—it only enables the ability to use the iTerm2/Terminal scrollbar to scroll back and increases the scrollback buffer—so that was no big deal.

With these changes in place, you can then use this command to connect to a remote host:

ssh -t <server.domain.name> screen -R

On the first connection, this command will create a new screen session. When you’re done with this SSH session and want to disconnect, just detach from the screen session (typically using Ctrl-a d). That also disconnects the SSH session, but here’s the kicker: your screen session is still running—as are any processes you had running in that session.

When you go to reconnect, use the same command again and it will reconnect you to your existing screen session and you’ll be right back where you left off. Pretty handy!

<aside>By the way, the -t in the SSH command is necessary; without it, you’ll get a “Must be connected to a terminal” error message and it won’t work properly.<aside>

I’m sure this barely scratches the surface of the useful tricks one could perform using screen, so I challenge any and all readers to submit other useful tricks in the comments below. Or, if there is a better way of doing what I’m discussing in this article, please speak up!

Tags: , ,

Last July I wrote an article about editing the vmware-view.rdp file inside the VMware View Open Client for Mac OS X in order to customize the RDP settings. It was one of those articles that I thought would probably appeal to only a very small group but would otherwise go mostly unnoticed.

As it turns out, one reader named Patrick Fergus picked up on that article and started experimenting with it to see if he could enable printer redirection using a similar technique. I’m going to share his findings here, but with one disclaimer: I haven’t actually tested this process myself.

To make printer redirection work on a Mac using the VMware View client, two things need to happen:

  1. First, you need to install the HP LaserJet 4350 PS driver (not the universal driver) on the Windows VMs being used by VMware View.
  2. Second, you need to edit the vmware-view.rdp file to enable printer redirection.

I’ll leave the first task as an exercise for the readers, but for the second task I’ll provide a bit more detail. To enable printer redirection, edit the vmware-view.rdp file and add these lines:

<key>PrinterRedirection</key>
<true/>
<key>RedirectPrinter</key>
<string>all</string>

Once you have the LaserJet 4350 PS printer driver installed on the Windows VM and have this text in the vmware-view.rdp file, printer redirection from the Mac VMware View client should work as expected.

Keep in mind the caveat that I pointed out in the original article: changing the vmware-view.rdp file will affect all connections using the VMware View client, not just one particular connection. It would be great to be able to enable/disable this sort of functionality on a per-connection/per-server basis.

Great work Patrick, and thanks for sharing the information with me. As always, comments are invited!

Tags: , , ,

Trying iTerm2

In 2007 I posted an article about iTerm, an open source terminal application for Mac OS X. At that time, I gave up on iTerm and switched back to the Apple-supplied Terminal.app. For a while, it seemed as if iTerm was stagnating and development had stalled.

However, I recently learned that some developers forked the original iTerm to create iTerm2. Like the original iTerm, iTerm2 supports AppleScript and tabbed terminals. The tabbed terminals I don’t really care about (I don’t use tabs, generally speaking), but I do like AppleScript support (in case you hadn’t picked that up already). There are also some other interesting features: split panes, a Visor-like window accessible via hotkey, and Growl support.

So I installed the latest build of iTerm2, and so far it’s been very stable. My only complaint has been that you can’t configure iTerm2 to spawn new windows instead of new tabs by default. Key point: I started using the Remote Hosts plug-in for Quicksilver (great plug-in, by the way). Once I reconfigured iTerm2 as the handler for ssh:// URIs, the plug-in stopped spawning Terminal.app windows and starting spawning iTerm2 tabs instead. Unfortunately, I haven’t been able to figure out how to tell it to spawn a new iTerm2 window instead. (Feel free to chime in with ideas.)

I also whipped up a quick AppleScript that I can invoke with FastScripts; the purpose of this script is to open a new iTerm2 terminal window at the same directory as the frontmost Finder window.

I’m going to continue to work with iTerm2 as my primary terminal application for a while to see how it works. If anyone has any tips or tricks to share, please add them in the comments below. Thanks!

Tags: , ,

A Quicksilver Primer

Last week, I came the closest I’ve ever come to leaving Quicksilver and switching to an alternative application. It’s quite an honor to the almost-replacement, Alfred, that I even got as close as I did. In the end, though, Quicksilver won out again. During the process, a number of people asked me about Quicksilver, why I use it, and how I use it. After revisiting the reasons for using Quicksilver as part of the evaluation against Alfred, I thought now might be a good time to some answers to these questions.

I’ve formatted this post in a sort of “question and answer”-style layout. This helps me provide some structure around the discussion and hopefully makes it a bit easier for readers to follow.

First and foremost: what is Quicksilver, exactly?

This might actually be the most difficult question to answer. Quicksilver is many things. Yes, it is an application launcher. But it’s so much more than just an application launcher. Referring to it just as an application launcher limits it. Quicksilver provides the ability to find a wide variety of objects and perform an action on those objects. So you can use Quicksilver to find an application and perform the action of opening (launching) that application, among other things.

So what examples can you give about what sorts of objects and actions I can work with via Quicksilver?

Quicksilver leverages a modular architecture that supports plug-ins which add functionality to the core application. This is not uncommon; there are a number of Mac OS X applications that provide this sort of functionality. Depending upon the plug-ins that are installed, the sorts of objects that Quicksilver can manipulate include:

  • Contact objects from the Mac OS X Address Book
  • Files or folders out of the Finder
  • Snippets of text from an application, either via the Clipboard or by just being selected in the application
  • Songs and playlists in iTunes
  • Bookmarks from a web browser like Safari or Camino

Once you have an object selected, you can then select your action. For example, if you have a contact selected, you can choose to compose a new e-mail to that contact. If you have a file selected, you can choose to send that file via e-mail as an attachment. If you have some text selected and it’s a URL, you can choose to open it in your web browser. If it’s a bookmark from a web browser (or other applications that use bookmarks and have a Quicksilver plug-in, like Cyberduck), you can open the bookmark in the appropriate application. If it’s a snippet of text, you can choose to display it in large text on your screen. If the selected object is a song in iTunes, you can choose to play it.

That sounds really complicated. How hard is it to use Quicksilver?

Once you understand the basic premise of object/action, Quicksilver is pretty easy to use. You invoke Quicksilver—which by default appears as a partially transparent bezel on your screen—via a customizable hotkey, then simply start typing the name of the object you’re seeking. Quicksilver will find it, matching not only on consecutive letters but on letters anywhere in the name. Once you find your object, press Tab and then start typing to select your action. Quicksilver “learns” via your selections which objects you mean, associating certain keystroke combinations with certain objects. This makes Quicksilver’s matching more accurate over time. This matching behavior was one of the reasons why I stayed with Quicksilver vs. switching to Alfred. Even though Alfred supported non-consecutive matching, it still wasn’t as flexible (for me) as Quicksilver.

This functionality sounds very similar to what other applications offer. What other features made you stick with Quicksilver?

Two features really stand out to me. First, there’s the “comma trick.” Let’s say you have two applications you need to launch. Start typing characters until Quicksilver matches the first app, then press comma, and start typing until Quicksilver matches the next app. By using the comma to separate objects, you can invoke several objects at the same time. This is extremely useful. Need to open several applications at once, or open several documents at once? The comma trick can help. The second very useful feature is referred to proxy objects. Let’s say you have some text selected in an application, and you want to take that text into Quicksilver and do something with it. Just press Cmd-Esc, and Quicksilver is invoked with the selected text/file/object already selected. Find a file in the Finder, press Cmd-Esc, press Tab, start typing “email”, press Tab, start typing the name of the contact you’d like to send this file to via e-mail. Congratulations, you’ve just starting composing a new e-mail message to a contact in Address Book with a file attached without ever taking your hands off the keyboard.

So, Scott, how do you use Quicksilver on a day-to-day basis?

Let’s see…Quicksilver has become such a part of my routine it’s hard to imagine using a computer without it. Here are some of the ways I use Quicksilver every day:

  • I use Quicksilver to access my Camino bookmarks. This makes it easy for me to jump to any website in my bookmarks by simply invoking Quicksilver (I use Option-Space) and then typing a few characters to match the bookmark.
  • I use proxy objects to open URLs in text. I simply select the text with the URL, press Cmd-Esc, then press Enter (because the default action for text recognized as a URL is Open). My default browser opens and navigates to that URL.
  • I search Google from Quicksilver. I created a custom web search object (called Search Google) that I invoke, then Tab over twice and enter the search terms followed by Enter. A new browser window opens to the search results from Google.
  • I launch applications, lots of times using the comma trick.
  • I look up details about contacts in my Address Book. Once you have a contact object selected, pressing the right arrow key “opens” the details for the contact object so that individual fields become objects that can be manipulated. I can then select a contact’s e-mail address and compose a new e-mail to that address, for example.

There’s a few examples; hopefully that helps.

If you’re interested in Quicksilver, have a look at the Quicksilver wiki. There’s some useful information there. In the meantime, if you think Quicksilver might be something that will help you become more efficient, download it and give it a try.

If you have additional information to share (perhaps you’re an existing Quicksilver user), please feel free to speak up in the comments. Feedback, dialog, and contributions are always welcome.

Tags: ,

It seems as if there’s been a bit of an increase in interest in attaining CCNA, especially among colleagues within the virtualization and storage areas. (One could allege that this is further evidence of a growing trend away from highly specialized IT folk, but that’s another topic for another day.) With that in mind, I thought I might post a few networking-related references to help others in their quest. So, with that in mind, here you go.

Install GNS3 on Mac OS X Leopard (My Etherealmind)
Dynamips (My Etherealmind)
Pretty much everything on My Etherealmind
The PacketLife Community Lab
OK, pretty much everything on PacketLife.net
GNS3 on Ubuntu 8.04 – Install Guide (The Little Things)
GNS3 Documentation
Dynamips/Dynagen Tutorial
Free CCNA Workbook
Connecting your GNS3 labs to the real network (Phocean.net)

This is, of course, far from extensive, and it focuses on GNS3 since I personally feel that the only truly effective way to learn something is to be hands-on with it. Since we can’t all afford to have a rack full of switches and routers in our basement, GNS3 is (in my opinion) the next best thing.

Anyone else have any good suggestions to share with the readers? Let’s stay away from illegitimate resources like brain dumps and test keys, and focus on informative, useful, educational resources that help readers increase their networking proficiency and prepare themselves for the CCNA certification tests. Feel free to share your suggestions and ideas in the comments.

Tags: , , , ,

I’m not sure this post will be useful to many readers, but I do know that there are a fair number of readers who are also Mac users, and some have expressed interest in AppleScript and how I use it to “glue” some of my daily applications together for a more seamless workflow. If you’re one of those readers, then read on. (If you’re not, you can still keep reading. I might sway your mind.)

I use Yojimbo as my “catch all” for any and all sorts or types of information that I find during the day: URLs, text snippets, PDF files, etc. Mostly it’s URLs (what Yojimbo calls bookmarks), as I keep the majority of my PDF files in my Dropbox. Over the last month or so, I’d found two little things about Yojimbo that bothered me and interrupted my workflow:

  1. There is no easy way to open a group of bookmarks, especially from the keyboard.
  2. There is no easy way to open a PDF in Skim, my preferred PDF viewer, instead of Preview.

Fortunately, I was able to use AppleScript to fix both of these problems. First I wrote an AppleScript that takes the selected bookmarks in Yojimbo (it ignores selected items that aren’t bookmarks) and opens them in Camino, my browser of choice. You could, of course, easily modify the script to open the URLs in Safari. I built a foreground/background option into the script so that you can open the URLs but leave Yojimbo as the active application, if you so preferred.

Next I wrote an AppleScript that grabs the selected PDF archives in Yojimbo (it ignores anything that’s not a PDF archive item), exports them to a temporary folder on my laptop, and opens them in Skim. As with the other script, I built a foreground/background option into this script as well, so you can control whether Skim will become the active, foreground application or not.

To make both of these scripts easy to use and easy to access, I stored them in ~/Library/Scripts/Applications/Yojimbo. This makes them easily accessible from the menu bar or via a keyboard shortcut using FastScripts. These two new scripts join an earlier script I wrote that allows me to easily post a bookmark stored in Yojimbo to Delicious.com via the Mac application Pukka.

If you’d like a copy of the scripts to use for yourself or to modify for your own purposes, click here. Just remember that I am in no way liable for anything that may happen as a result of using any scripts or code that I post on my site, including increased productivity and greater enjoyment of your computing experience.

Tags: , ,

In late 2009, I posted a how-to on making Snow Leopard work with an Iomega ix4-200d for Time Machine backups. I’ll recommend you refer back to that article for full details, but the basic steps are as follows:

  1. Use the hdiutil command to create the sparse disk image with the correct name (a concatenation of the computer’s name and the MAC address for the Ethernet interface).
  2. Create a special file inside the sparse disk image (the com.apple.TimeMachine.MachineID.plist file).
  3. Put the sparse disk image on the TimeMachine share on the ix4-200d (if you didn’t create it there).
  4. Set up Time Machine as normal.

In the comments to the original article, a few people suggested that newer firmware revisions to the Iomega ix4-200d eliminated the need for this process. However, in setting up my wife’s new 13″ MacBook Pro, I found that this process is still necessary. Even though my Iomega ix4-200d is now running the latest available firmware (the 2.1.38.xxx revision), her MacBook Pro—running Mac OS X 10.6.7 with all latest updates—would not work with the Iomega until I manually created the sparse disk image and populated it with the com.apple.TimeMachine.MachineID.plist file. Once I followed those steps, the laptop immediately started backing up.

So, it would seem that even with the latest available firmware on the ix4-200d, it’s still necessary to follow the steps I outlined in my previous article in order to make Time Machine work.

Tags: , , ,

How’s that for acronyms?

In all seriousness, though, as I was installing VMware ESXi this evening onto some remote Cisco UCS blades, I ran into some interesting keymapping issues and I thought it might be handy to document what worked for me in the event others run into this issue as well.

So here’s the scenario: I’m running Mac OS X 10.6.7 on my MacBook Pro, and using VMware View 4.6 to connect to a remote Windows XP Professional desktop. Within that Windows XP Professional session, I’m running Cisco UCS Manager 1.4(1i) and loading up the KVM console to access the UCS blades. From there, I’m installing VMware ESXi onto the blades from a mapped ISO file.

What I found is that the following keystrokes worked correctly to pass through these various layers to the ESXi install process:

  • For the F2 key (necessary to log in to the ESXi DCUI), use Ctrl+F2 (in some places) or Cmd+F2 (in other places).
  • For the F5 key (to refresh various displays), the F5 key alone works.
  • For the F11 key (to confirm installation at various points during the ESXi install process), use Cmd+F11.
  • For the F12 key (used at the DCUI to shutdown/reboot), use Cmd+F12.

There are a couple of factors that might affect this behavior:

  • In the Keyboard section of System Preferences, I have “Use F1, F2, etc., keys as standard function keys” selected; this means that I have to use the Fn key to access any “special” features of the function keys (like increasing volume or adjusting screen brightness). I haven’t tested what impact this has on this key mapping behavior.
  • The Mac keyboard shortcuts in the preferences of the Microsoft Remote Desktop Connection do not appear to conflict with any of the keystrokes listed above, so it doesn’t appear that this is part of the issue.

If I find more information, or if I figure out why the keystrokes are mapping the way they are I’ll post an update to this article. In the meantime, if you happen to need to install VMware ESXi into a Cisco UCS blade via the UCSM KVM through VMware View from a Mac OS X endpoint, now you know how to make the keyboard shortcuts work.

Courteous comments are always welcome—speak up and contribute to the discussion!

Tags: , , , , , ,

A couple of days ago I wrote about how to use the UNIX CLI in Mac OS X to shorten a URL via bit.ly, while adding the URL to your link history in case you want to re-use it in the future. Now I’m going to take that information and show you how to further integrate this into your Mac’s environment using AppleScript and Automator.

The necessary glue here are these two facts:

  1. AppleScript can execute a shell script using do shell script; this is what allows us to leverage the curl command I discussed in the previous post from within AppleScript.
  2. Automator can execute AppleScripts via the Run AppleScript action. This allows us to take the AppleScript (which is executing the shell script) and embed it into an Automator workflow.

To give credit where credit is due, this isn’t my idea at all; I’ve derived all this information from this post by David Poindexter. His shell command is different and doesn’t populate the user’s link history, but it does work. Robert Huttinger also built his own workflow, which served as a basis for my own.

First, here’s the AppleScript code that wraps around the curl command to shorten the URL:

on run (input)
 
  set login to "YourUserNameHere" as string
  set apiKey to "YourAPIKeyHere" as string
  set input to (input as string)
 
  ignoring case
  if (((characters 1 thru 4 of input) as string) is not equal to "http") then
    beep
    return
  else
    set curlCmd to "curl --stderr /dev/null \"http://api.bit.ly/v3/shorten?login=" & login & "&apiKey=" & apiKey & "&longURL=" & input & "&format=txt\""
    set shortURL to (do shell script curlCmd)
    return shortURL
  end if
  end ignoring
 
end run

Be careful with the line starting “set curlCmd…”; it’s wrapped above and you’ll need to properly escape the quotes with backslashes, as above, in order for it to work properly. You’ll clearly want to replace “YourUserNameHere” and “YourAPIKeyHere” with the appropriate values from your bit.ly account.

A text version of the script is available for download here.

Once you have the AppleScript written, you can then embed it into an Automator workflow. I won’t bother to explain what Automator is or how it works here; there are numerous resources available to help in that regard. Rather, I’ll just simply say that you only need to assemble the Run AppleScript, (optionally) the Show Growl Notification, and the Copy to Clipboard actions as shown in this screenshot. In my case, I’m using Automator to create a service that accepts text from any application; this means I need only select the text of a URL I’d like to have shorten and then invoke this service. After a brief pause, a Growl notification pops up and the shortened bit.ly URL is on my clipboard, ready to be pasted into whatever application I need. And, since it’s now a Mac OS X Service, you can bind it to a hotkey for even easier access.

Again, credit goes to the others who have blazed this trail ahead of me; I’m merely posted my version here in the event it is useful to others. Comments, feedback, and suggestions are always welcome.

Tags: ,

« Older entries § Newer entries »