You are currently browsing articles tagged Apple.

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: , ,

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: ,

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 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: , ,

For the last month or so, I’ve been using an iPhone app called Localscope when I travel. It’s a pretty handy little app, designed to integrate with various online services such as Google, Twitter, Bing, and Foursquare, that leverages the iPhone’s GPS functionality and built-in compass to help you find local places of interest: restaurants, coffee shops, ice cream, etc.

Basically, the app works like this: you select what you’re looking to find—restaurant, cafe, bank, gas station, or even a custom search like “Starbucks”—and then Localscope goes out and gets that information from the selected online source (there’s a slider at the bottom where you choose the online source). Localscope then integrates the data from the online source with your location and compass information from the iPhone to tell you in what direction and how far away the various matches are. You can easily switch between online sources without having to redo the search (that’s handy). There’s also an “augmented reality” view using the iPhone’s camera that overlays destinations on top of what you’re seeing through the camera. Cool, yes, but not necessary tremendously effective unless you’re in the midst of a major metropolitan location.

For me, Localscope has been handy finding local places to eat when I travel. It’s always nice to get a feel for the local flavor when you’re in a particular city or region, so I try to avoid the chains and find something local or original.

In my opinion, if you travel a fair amount, Localscope is worth the $1.99 that the developer charges for the app.

Disclaimer: The developer of Localscope, Cynapse, provided me with a free copy of the application to use.

Tags: , ,

A Potential Use for the iPad

There’s a lot of hype surrounding the Apple iPad. Some people are proclaiming it’s the end of traditional media like newspapers, magazines, and books. I’m not so sure about that, but I have found one potential use for the iPad that—for me, at least—might be compelling enough to make me go buy one later this year.

One task that I’m finding as a member of EMC’s vSpecialist team is that there is a lot of reading. We’re responsible for reading all sorts of documents. I don’t mind doing this in the evenings, when I’m not writing for one of my upcoming books or studying for a certification exam, but I’d really much rather prefer to do this in a way that makes it possible for me to be with my family. So, having some sort of device that would allow me to review documents while I’m sitting in the den with the kids would be great.

My thought is that I could leverage something like Dropbox to synchronize documents between my MacBook Pro and an iPad. With the documents easily accessible on (or from) the iPad, I could sit on the couch and read or review documents while the kids sit next to me and watch TV or read a book. This would help me stay on top of the document reviewing without pulling me into my office and away from the family.

What do you think? Good idea, or not? Anyone else have any uses for the iPad that you’d like to describe? Speak up in the comments.

Tags: ,

The Citrix Synergy Day 2 keynote starts about 8:40 AM with Pat Gelsinger of Intel, a figure becoming increasingly visible at events such as this conference. He starts his talk with a review of IDC statistics on the pressures and forces that are shaping IT, which is much a review of what John Gantz said yesterday.

At least the keynote is a bit more technology focused than yesterday’s keynote.

Gelsinger shares that Intel’s vision is 100% virtualized, and Intel’s engineers and technologists are driven toward eliminating all of the overhead involved in virtualization. That lead into a discussion on the Xeon 5500 processor. Gelsinger then moves into an on-stage demo of a Xeon 5500-based server versus an older server to demonstrate the vast performance improvement that the Xeon 5500 CPUs provide.

Next, Gelsinger moves into a discussion of how Intel is addressing client-side concerns. As with servers, Intel’s vision is that every client have some sort of virtualization built-in; this will fulfill what Intel calls the “Dynamic Virtual Client”. This is a lead-in to Intel’s vPro technology. Continuing Intel’s development, they will in 2010 introduce a 32-nm platform that builds upon the technologies found in vPro and enables the Dynamic Virtual Client. What is the Dynamic Virtual Client? It looks surprisingly similar to Citrix’s description of how user profiles, applications, operating systems, and hardware are decoupled. The Dynamic Virtual Client falls in the middle between thin clients and “managed rich clients”. The Dynamic Virtual Client is a set of hardware that enables any form of end-user experience: application streaming environments, client-side virtual environments, OS image streaming environments, or completely server-hosted environments.

Early customer examples of the Dynamic Virtual Client is Providence Health and a large financial firm (Gelsinger would not disclose the identity of the customer, but the picture said “Stock Exchange”). I’m not so sure that these customer “success stories” have as much to do with Intel and Intel technologies as it is based on technologies like application streaming, OS streaming, and the use of VDI and thin clients.

Gelsinger then introduces Ian Pratt, VP of Advanced Products at Pratt and Gelsinger start discussing the Intel and Citrix collaboration on XenClient, the new name for Project Independence (as announced yesterday). Pratt, of course, would like to see Xen slimmed down far enough to be embedded on the motherboard of every system that comes out of the factory. Pratt moves into a demonstration of a client hypervisor, where the hardware is running two virtual machines: a personal desktop and a professional desktop. In the demonstration, Pratt shows off Windows Vista with the full Aero experience running inside a virtual machine. Pratt then switches to the professional desktop, which is completely isolated and separated from the personal desktop.

This is a very different vision of client virtualization than VMware has shared. In what I’ve seen of VMware’s idea of client virtualization, it’s really only about virtualizing a single OS instance—not multiple OS instances. This demonstration—which I assume is a demonstration of XenClient—is, in my opinion, a more powerful, albeit more complex, view of client virtualization.

Naturally, the demonstration wouldn’t be complete if they didn’t also show off some of the other products and technologies announced here, so Pratt shows off Citrix Dazzle.

With regard to security, Gelsinger and Pratt discuss and explain how XenClient leverages Intel Trusted Execution to guarantee the integrity of the hypervisor and the client OS images, and how it uses Intel VT-d to improve performance. Pratt then demos how XenClient can “punch” applications from one VM into another VM to provide greater security and protection. The demo showed Pratt running an application from the professional desktop seamlessly inside the personal desktop—denoted by a green border around the window—and how that application is protected against potential malware running in the personal desktop. The technology looks a great deal like the Kidaro demonstrations that Microsoft provided last year at Tech-Ed 2008.

XenClient will be available before the end of the year.

With that, Gelsinger ends his portion of the keynote, and Mark Templeton takes the stage again.

Then Pratt comes back on the stage to show off how XenClient running on a MacBook Pro, and then shows Microsoft Outlook running in a seamless window under Mac OS X. This is quite similar to Parallels’ Coherence or VMware’s Unity mode, but is clearly quite new to the Citrix virtualization crowd. However, it makes me wonder how Apple feels about Citrix virtualizing Mac OS X with a bare metal Type 1 hypervisor. As far as I know, the Mac OS X EULA only permits the virtualization of Mac OS X Server, not the client version.

Templeton then takes center stage again to discuss data centers and clouds. To be effective in providing SaaS—a form of cloud computing according to Templeton—providers must have flexibility, economics, automation, and pay-as-you-go. Templeton compares the economics of “the cloud” by comparing the costs of resources for organizations such as Amazon, Google, YouTube, and against those same costs for enterprise organizations. (I’m not so sure this is a valid comparison, but that’s OK.)

Templeton sees data centers evolving in four steps: consolidated data center, dynamic data center, self-service data center, and cloud-extended data center. The industry is currently in the first step of that evolution. To share some of the announcements around the cloud-extended data center, Templeton introduces Wes Wasson, SVP and Chief Marketing Officer at Citrix.

Wasson jumps right in with some announcements:

  • Citrix is announcing a sister product to the NetScaler MPX, the NetScaler VPX product. The NetScaler VPX is a virtual appliance that runs on standard x86 hardware on top of XenServer. This gives organizations the power of the NetScaler MPX as a virtual appliance. To help drive innovation around the NetScaler VPX, Citrix is offering the opportunity to win $10,000 to show the world what’s innovative and possible with NetScaler VPX.
  • Citrix re-affirms that XenServer 5.5 will continue to be free. The new version adds new guest support, new support for backups, and other key features.
  • Citrix is also announcing Citrix Essentials 5.5 for XenServer or Hyper-V. New features include dynamic workload balancing, which sounds like the equivalent of VMware DRS; expanded storage integration via StorageLink and a new “Citrix Ready Open Storage” program; and automated stage management.

Wasson introduces Peter Blum, who performs a demonstration of the new automated stage management functionality found in Citrix Essentials 5.5. Some of this functionality, if I recall correctly, is OEM from another organization (VMlogix, I think?). Blum starts out with a demonstration of the Lab Manager functionality within Citrix Essentials. One nice piece showed off was integration between Dazzle and Lab Manager to provide greater self-service functionality for end-users.

Wasson moves into a couple of cloud computing announcements:

  • Citrix Cloud Center (C3) was announced last year (I covered it here). This week, Citrix is announcing the addition of NetScaler VPX to Citrix C3 to provide flexibility and multi-tenancy.
  • Citrix is also announcing the addition of virtual switching technology to XenServer. (Citrix is notoriously quiet about this announcement…odd. No details?)
  • Citrix is enabling virutal applications and desktops as a service, and enabling pay-as-you-go functionality in Citrix C3.
  • Citrix and Amazon Web Services (AWS) are announcing a partnership and a Citrix C3 Lab that combines Amazon EC2, Amazon S3, Citrix C3, and a series of blueprints that provide deployment guides, configuration notes, architectural overviews, best practices, etc.

Wasson leaves the stage and Templeton returns. Templeton returns to yesterday’s vision: transforming data centers into delivery centers, and delivering desktops and applications as a service.

Templeton shows the videos from the Citrix Innovation award finalists—Emory Healthcare, HDFC, and Tesco. After watching the videos, Templeton announces that the winner of the Citrix Innovation award for 2009 is Emory Healthcare.

At this point, the keynote transitions into a customer panel moderated by John Gallant of Network World. I’m wrapping up coverage of the keynote.

Tags: , , , ,

A colleague recently bought a MacBook Pro. As a switcher, I figured he would need some recommendations on applications to use on his new Mac, and I know it had been quite some time (3 years!) since I’d discussed what Mac applications I use on a day-to-day basis. To kill two birds with one stone, I figured I would post a quick list about some of my recommended Macintosh applications.

Free or Open Source Applications

We’ll start with free and/or open source applications. (I break out “free” and “open source” because there are applications that may be available at no charge, but whose source is not available.)

Adium: This multi-service IM client is, in my opinion, the best Mac OS X IM client available, hands down. Aside from not supporting video chat—the only reason I can come up with to use iChat instead of Adium—this client does pretty much everything you need. Adium supports AppleScript and Growl notifications. Support for OTR (Off The Record) chat encryption is built in. Adium is available for download from the Adium web site.

Camino: Camino is a Mac OS X-native web browser from Mozilla. Unlike Firefox, Camino was built from the ground up to be a Mac application. It uses the same rendering engine as Firefox, but doesn’t support Firefox extensions. If you’re big on Firefox extensions, stick with the Mac build of Firefox. Visit the Camino web site for more information. If I had one complaint about Camino, it would be the fairly limited AppleScript support in the current release.

Colloquy: Into IRC? This is an excellent IRC application for Mac OS X. It supports AppleScript, Growl notifications, and can connect to multiple servers. I especially like Colloquy’s Smart Transcripts feature, which let me filter out conversations in busy chat rooms so that I can see the ones I’m most interested in joining. That’s pretty handy at times. Colloquy’s web site has more information.

Cyberduck: Cyberduck is an FTP/SFTP application. It supports AppleScript and Spotlight, Growl notifications, and Bonjour. It’s not the fastest FTP/SFTP application out there (last time I checked, that honor went to Interarchy), but it’s pretty slick. Visit the Cyberduck web site for downloads.

Growl: Growl isn’t an application per se; it’s a way for applications to supply notifications to the user in a consistent yet highly customizable fashion. Growl support is quickly becoming a “must have” for Mac applications, and you’ll see that almost all the applications I use support Growl. Surf on over to the Growl web site to download the latest version.

NetNewsWire: I’m into RSS feeds, and my RSS reader of choice is NetNewsWire. NetNewsWire offers integration with various clients (like Pukka) , weblog editors (like ecto), and supports AppleScript and Growl notifications. You can get NetNewsWire from the Newsgator web site. NetNewsWire is free, but not open source (at least, not to my knowledge).

Quicksilver: How does one describe Quicksilver? To call it an application launcher doesn’t really do it justice. Yes, you can use it to quickly launch applications, but you can also use it to build ad-hoc workflows like finding a contact in Address Book and creating a new e-mail message to that contact. Or finding a document and attaching it to a new e-mail message. Or quickly opening a URL in your default web browser. Or initiating a Google search. Or…well, you get the idea. I believe you can still get Quicksilver from the Blacktree web site, as well as from a Google Code site. (Some people have reported problems getting Quicksilver to run, but it’s been rock solid for me.)

Paid Applications

There are a number of paid applications that I use on a daily basis as well.

ecto: This weblog editor allows me to compose all my blog entries offline and then post them later. It works with a number of different weblog systems. I’ve been using ecto since the very first days of this site and I can’t imagine doing it any other way. More information on ecto is available from their web site.

Microsoft Office 2008: Like it or not, compatibility with the rest of the professional world still remains a critical issue, so I use Microsoft Office 2008. Yes, I know that OpenOffice exists (and has a native Aqua port), and I know that iWork supports Office formats, but it’s easier for me to just use Office and not have to worry about it. At least in this version Microsoft has added Automator support for building workflows using Office applications.

OmniFocus: If you are a GTD fan, you’ll like OmniFocus. (You may also like OmniFocus for iPhone as well, which has the ability to synchronize with the Mac version.) Projects, contexts, next actions—it’s all there. And it supports AppleScript, comes with a plug-in of sorts for Apple Mail, and leverages Growl notifications. See the OmniGroup web site for information.

OmniGraffle Professional: Also by the same folks that make OmniFocus (as if you couldn’t tell by the name of the application) comes OmniGraffle. It’s the closest you’ll come to Visio on the Mac, and in fact has the ability to read Visio binary (.VSD) files. It can also export Visio XML (.VDX) files. The OmniGroup web site has more details.

TextMate: There are numerous free text editors out there, but something about TextMate makes me like it. UNIX die-hards like it, Mac fans like it, and it offers great integration with other applications (like your FTP/SFTP client, so that you can edit files directly on remote servers). Visit the Macromates web site for information on TextMate.

Well, that’s not all the applications I use, but these are the ones that I find myself using on a daily basis. I can’t think of a day that goes by that I’m not running Adium, Camino, NetNewsWire, OmniFocus, TextMate, and Office—typically all at the same time.

Some other applications that I also use include:

So there it is—my list of most commonly-used Macintosh applications. I hope it’s helpful to some of you switchers out there!

Tags: , , , , , ,

One of my projects over the Christmas holiday has been to rebuild the home network. You’d think I’d want to avoid that sort of thing since I’ve been on vacation from work for the past two weeks, but working on a home network is a different sort of beast than working on a network for a company. There are different challenges to be addressed.

My primary goals for this “home network rebuild” were the following:

  1. Rebuild the home server with a newer version of Linux, and possibly switch to a different distribution.
  2. Continue to provide DNS, DHCP, HTTP, and HTTP proxying/content filtering services to the home network.
  3. Continue to provide file sharing services via Server Message Block/Common Internet File System (SMB/CIFS) for Windows-based systems on the home network.
  4. Continue to have a shared music library available via Digital Audio Access Protocol (DAAP, aka iTunes) available to all systems on the home network.
  5. Provide file sharing services to Macs on the network via AppleTalk Filing Protocol (AFP) over TCP.

Ideally, I also wanted to enable Time Machine backups from my Mac laptop to the home server.

After doing a fair amount of research, I settled on the use of Ubuntu 8.04 LTS (“Hardy Heron”) for the server build. I didn’t go with Ubuntu 8.10 (“Intrepid Ibex”) simply because a) I already had 8.04.1 downloaded and burned to a CD; and b) Hardy Heron is an LTS release, so I should have better support over the long term.

I won’t bore readers with the details of the rebuild, but it took about a day or two to get a larger hard drive installed, Ubuntu installed and configured, and services running like DHCP (including some static reservations for certain computers, like my laptop and my iPhone), DNS (using MaraDNS, much easier to figure out than BIND), Apache, and Squid with SquidGuard. At this point, I’d completed tasks #1 and #2.

On to task #3. This was pretty simple and straightforward and easily accomplished via Samba, with nothing really unique to document here. The one interesting thing that I did find was a way to map the long usernames that Mac OS X uses (like “Bob Jones”) to a short username (like “bjones”). I used this command in the /etc/samba/smb.conf file:

username map = /etc/samba/usermap.conf

In this file, I simply placed lines that mapped the long usernames to the short usernames. Since Mac OS X defaults to the long username when connecting to the server, this allows me to simply type in a password and connect. I searched for hours trying to find a way to have Mac OS X supply my current password to the Samba server so that I wouldn’t get prompted, but could not find any information. If anyone knows the trick, I’d love to hear about it. After configuring a few shares, setting Linux permissions and the umask, and then testing from both my Mac laptop and a Windows laptop, task #3 was finished.

Task #4, providing an iTunes-compatible music server, was also really straightforward and easy. For this, I again selected Firefly Media Server, formerly mt-daapd, which I’d used before with great success. Again, nothing unusual or unique to document here, except for the potential interaction with Avahi (more on that later).

The final task was installing Netatalk to provide AFP over TCP file sharing services for Macs on the network. Fortunately for me, one of the sites I’d been using to help in my project pointed me to this blog post, which had a prebuilt package for Netatalk that included the necessary SSL support that Mac OS X requires. That saved me the trouble of compiling Netatalk from source. Following the steps in the Kremalicious article as well as information from this guide, I configured Netatalk to present a volume to use for Time Machine backups. It was at this point that I noticed a strange interaction with Avahi.

Avahi is a multicast DNS (what Apple calls Bonjour) server for Linux. It’s responsible for advertising services to multicast DNS-enabled systems, such as other Linux systems running Avahi or Macs. I’d installed Avahi earlier and used some service definitions from this article and this blog post to advertise Samba and HTTP. In addition, after installing Firefly, I’d noticed that Firefly starting advertising its presence automatically through Avahi with no service definition required.

Upon installing Netatalk, I also noticed that Netatalk started advertising automatically via Avahi as well, but using the IP address of the server. In order to be able to control how Netatalk advertises via Avahi, I had to change this line in /etc/avahi/avahi-daemon.conf:


The suggestion for this change came from this thread on the Ubuntu Forums. Upon making the change and restarting Avahi, the odd Netatalk entry went away, but so did Firefly! To advertise both Netatalk and Firefly, I added a couple of files to /etc/avahi/services:


<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<name replace-wildcards="yes">Intrepid Time Machine</name>


<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<name replace-wildcards="yes">Home Music Server</name>

After placing these two files into /etc/avahi/services, the new services starting advertising immediately. By the way, you’ll note the extra “device-info” entry in afpd.service; that sets the icon that will be used by Macs when they discover this service. I made mine look like a Time Capsule by using the setting listed above.

During this work with Avahi, I uncovered a couple of interesting things:

  • I found that restarting the Avahi daemon is actually more problematic than just leaving it alone; in order to make it start advertising services again after a restart, you’ll have to open one of the files in /etc/avahi/services and then close it again. No changes are necessary to the file, but opening it will kickstart Avahi into service advertisement.
  • Advertising SMB/CIFS and AFP together with the same name caused my Mac to ignore the SMB/CIFS services and only use AFP. I had to separate SMB/CIFS and AFP into different entries. Since I was using AFP really only for Time Machine backups and SMB/CIFS for everything else, it wasn’t really a big deal.
  • Advertising SMB/CIFS and RFB (Screen Sharing, as outlined here) works fine together.

At this point, task #5 was pretty much complete. I had originally envisioned providing file sharing services to the same locations via both AFP and SMB/CIFS, but in the end—partially because of the odd issue with AFP and SMB/CIFS being advertised together as described above—settled for using AFP only for Time Machine and SMB/CIFS for everything else.

Along the way, I also configured screen sharing as outlined here, and it seems to work just fine. I have to leave an account logged in to the Ubuntu server, but I can just lock the screen when I’m not logged in remotely.

The last step was to enable Time Machine backups to the Ubuntu server via AFP. First, the hack to enable non-Time Capsule network backups (this should be all on one line):

defaults write TMShowUnsupportedNetworkVolumes 1

I was then able to select the Ubuntu-hosted AFP volume for Time Machine backups. Attempting to run a Time Machine, backup, however, reported an error about being “unable to create the disk image”. Fortunately, a number of different articles pointed to the use of hdiutil to create the disk image, and that seemed to fix the problem. Time Machine is now backing up to the AFP volume, although I suspect I still have a few issues to work through (for example, it looks as though I have to keep the Time Machine AFP volume mounted in order for automatic backups to run).

So, when everything is said and done, I was able to achieve all my stated goals. The only outstanding issue that I haven’t yet figured out yet centers on automatic logins; for both AFP and SMB/CIFS, I get prompted for a password when connecting, even though I keep my password synchronized (manually) between my Mac and the Ubuntu server. Any tips on how to resolve that would certainly be appreciated.

Along the way, I found the following sites to be quite helpful. I’m sure there are others that I used along the way, and I apologize if I’ve failed to extend credit where credit is due.

Limit size of Time Machine backups on Time Capsule
Set up Time Machine on a NAS in three easy steps
Make Ubuntu a Perfect Mac File Server and Time Machine Volume
Five Guides on How to Integrate Ubuntu into a Mac OS X Network
Time Machine Wireless Backups without Time Capsule

Tags: , , , , , , ,

iPhone Irony

Does anyone else find it a bit ironic that neither AT&T nor Apple have iPhone-optimized versions of their web sites? Or am I the only one wondering why the iPhone’s exclusive suppliers don’t optimize their own sites for the iPhone?

Tags: , ,

I’ve made no secret of the fact that I use and enjoy OmniFocus, a GTD application from the fine folks at OmniGroup. (Just for the record, I also use and enjoy OmniGraffle and OmniOutliner. Doesn’t that qualify me for a free license to OmniPlan?) In fact, one of the driving factors for purchasing my iPhone—aside from the fact that it’s cool and I wanted one—was the fact that OmniGroup also had an iPhone version of OmniFocus.

In addition, version 1.5 of OmniFocus for Mac (OF/Mac)—currently at RC2 status—will synchronize with OmniFocus for iPhone (OF/iPhone) via MobileMe, WebDAV, or Bonjour on local Wi-Fi. This weekend, version 1.1 of OF/iPhone finally got approved and pushed out to the App Store servers. The new version adds Bonjour sync over local Wi-Fi, meaning that it’s now possible to quickly and easily synchronize the OmniFocus database on my laptop with the OmniFocus database on my iPhone. Sweet! (Version 1.1 of OF/iPhone also improves performance and has a few other improvements as well.)

Unfortunately, in the late hours last night, I just couldn’t get things to work. No matter how hard I tried, OF/iPhone just wouldn’t synchronize with OF/Mac. It would see my laptop advertising via Bonjour, but wouldn’t synchronize. My first suspicion proved to be a good one: the IPFW firewall on my laptop. (I use a custom IPFW ruleset in addition to Little Snitch to control traffic moving into and out of my laptop.) I was able to confirm that the firewall was blocking the traffic with this command:

sudo ipfw show

Sure enough, I saw the default deny rule’s counters incrementing every time I tried to synchronize. With this command I quickly disabled the IPFW rules:

sudo ipfw flush

OK, that got me a bit farther, but OF/iPhone was still reporting an error. The error was different this time, though, so I was convinced that I had made some progress. Unsure of what could be wrong next, I tested a hunch and logged into the Squid proxy server that controls outbound HTTP/HTTPS traffic and checked the access logs. Bingo—OF/iPhone was hitting the proxy every time I tried to synchronize. But how to fix that? My network is configured such that the Cisco PIX firewall won’t allow any traffic out that doesn’t first go through the Squid proxy, so turning the proxy settings off on my iPhone would be a temporary fix at best. Nevertheless, to test my settings I disabled the proxy settings on the iPhone (under Settings > Wi-Fi and scroll all the way to the bottom). That did it—OF/iPhone was now able to synchronize with my laptop. Rather quickly, too, might I add, which is a definite improvement over the WebDAV setup I’d been using previously.

But I was still left with two problems: a) the firewall on my laptop was disabled; and b) the proxy settings on my iPhone were disabled. So I set out to fix those two issues.

Fixing the firewall should be easy, right? Just find out what port OF/Mac listens on and create a firewall rule to allow the traffic. It would be easy, except for the fact that the port on which OF/Mac listens changes every time the application launches. OmniGroup, if you’re listening: change this to a static port, PLEASE! Or at least provide some sort of hidden preference that would allow geeks like me to make it use a static port. As it stands right now, I had to use a rule that opens up a broad range of ports. That really, really stinks. OK, firewall issue resolved.

The proxy issue proves to be more challenging. There’s no way to configure the proxy to ignore the traffic; that has to be done client side. Unless the full-blown version of Mac OS X, there’s no option in the iPhone to ignore certain network ranges or certain DNS domains. But—and here’s the kicker—the iPhone does support automatic proxy configuration via a PAC file. So I create a very simple PAC file like this:

function FindProxyForURL(url, host)
 if (isInNet(host, "", ""))
  return "DIRECT";
  return "PROXY";

The first round of testing didn’t go so well; the Apache HTTPd configuration on my server didn’t allow files with a .PAC extension. Oops! After fixing that problem, testing from my laptop went very well. A few seconds later, I had my iPhone reconfigured with the PAC file. And it worked! I was able to successfully synchronize OF/iPhone with OF/Mac while still maintaing access to Internet-based resources. And since the PIX firewall won’t allow traffic direct from the iPhone to the Internet, I know that the proxy is still involved in those connections. Reviewing the Squid proxy’s access logs also confirmed that the iPhone was not hitting the proxy during synchronization attempts.

Problem all solved, right? Well…not exactly. I left the PAC configuration on my laptop until this morning, when I fired up Adium. Bam! Adium throws an error message stating that it doesn’t support PAC files. I reconfigured my laptop back to my old configuration and testing the OF/iPhone-to-OF/Mac synchronization again, and it still worked. It appears that as long as the iPhone’s proxy configuration is correct, then the synchronization will work.

So, lessons learned:

  • OF/Mac uses a dynamically assigned port on which it listens for synchronization requests. This means that users with an IPFW firewall configuration will have to open up a wide range of ports until OmniGroup gives us the option to statically assign a port. (Hint, hint…)
  • HTTP proxy settings on the iPhone will interfere with OF/iPhone synchronization, but that can be solved with a PAC file as described above.

Other than this adventure, I am thus far quite pleased with the update to OF/iPhone. If you are unhappy with the earlier version—the most common complaint was speed, or lack thereof—you owe it to yourself to check out version 1.1. It’s much improved, in my opinion.

Tags: , , ,

« Older entries