My Top-10 Mac OS X Apps...

I've just upgraded my iMac to OS X Mountain Lion and, as with all OS upgrades, I need to tweak a few things, update some packages say goodbye to others.  This got me thinking:  What are the apps that I can't live without? To make my top-10 list, the software has have to been in-use for some time or be exceptional.  Not all of the software is free s0, where applicable, prices are listed.  In all cases, download links are provided.

So, presented in some sort of an order representing nothing logical, I present my list of Mike's Top-10 List of OS-X Software Without Which I Would I Would Hate Life...

#1 - 1Password

I learned about this application several years ago from a co-worker.  Like most, I used simple passwords that rotated whenever I needed a change.  Basically, I was trading security for simplicity and this worked pretty well for me until I started thinking about everything I could lose.  Initial examination of the 1Password's website left me panting...$40 dollars for a single license?!?  I bit the bullet and paid for a license, downloaded and installed it...and have never looked back.

Quite simply, I would be lost in the ether were it not for 1Password.  As of this writing, I have 186 web logins and 19 system accounts stored.  I also have all my software licenses recorded in the event something heads south -- indeed, this feature has saved my bacon from the fire on more than one occasion.

What makes it my Number-One app?

Well, I've given up on simple passwords.  I use the auto-generator now for all my passwords and I feel a lot more secure when I read news about some web-repository being breached for their user/password list.  If you get my apple password, you'll not get my gmail password so, win.  Plus, using the auto-generator, you can specify a lot of options: length, combination of special characters, letters, numbers, case, etc.

Chrome, Safari and Netflix have browser extensions for 1Password which allow me to one-click enter my username/password combination for all my websites for which I've recorded logins.  I love one-click functionality!

I have 1Password installed on all my iOS devices and I upgraded my license to the Mac/Windows combination.  I use different passwords on each device to open 1Password so even if I lose a device, I'm covered.

1Password syncs to Dropbox and I keep back-up copies of the encrypted file locally because, you know, paranoia.

My only (remotely) negative comment about 1Password is that there's not a version available for Linux.  However, you can still access your 1Password files via a web-browser accessing the dropbox-store html file graciously provided.

I've had occasion to contact AgileBit's technical support a couple times and, in all cases, the replies were friendly, prompt and astute.  Very good people working there!

Don't worry about the costs of this application - once you start using all of the features available (like credit-card autofill for online retail therapy), you'll soon realize how awesome this program really is.

#2 - Caffeine

I started using caffeine a year or two ago and I really love this program.  Whenever I am configuring a new system, I make sure this app is installed.  What it does is prevent your computer from going to sleep.  It installs and is visible in the menu bar and is (de)activated with a single click.

That's pretty much all it does.

It's a top-10 add because (a) it keeps me out of System Preferences and (b) it only takes one click.  Useful for watching videos (Netflix, Amazon Prime, etc.) because it's keeps your screen-saver off.   Also, I hate it when the s/s kicks-in when I'm doing stuff on another machine but I am using the caffeine-box to monitor work-in-progress and the screen suddenly shuts off.

This app is mac-only, but there's a similar, alternative, program available as an indicator app for Ubuntu which works just as well.

#3 - Quicksilver

I've previously poo-poo'd apps like Quicksilver, Albert, and Apple's own finder because I'm pretty much a point-and-click person.  Ubuntu 11.10 changed that for me with the Unity launcher.  Previously, I'd always been a point-and-clicker...but I learned that you can launch apps much quicker with a few keystrokes and not have to fumble for and use the mouse to accomplish the same task.

I'm not a power user by any stretch.  Friends of mine do a lot more stuff with their launcher apps (launchbar - which was cost-prohibitive) but, for me, Quicksilver works very well for search and launch tasks.

Quicksilver is an open-source groupware project and is free but if you like it, consider donating to keep the project alive.

There's lots of blog posts out there about how to be a power user with Quicksilver.  Explore and enjoy.

#4 - Omnigraffle

Omnigraffle makes me a documentation god.  It's available for the Mac and the iPad.  It's expensive.  Did I mention that it turns you into a documentation god?

Omnigraffle is a diagramming and drawing application.  It uses a drag-n-drop interface coupled with a near-unlimited number of stencils that allows you to effortlessly create jaw-dropping diagrams.

I use this program a lot to document my software development and, whenever I publish documentation, my co-workers always ask me what tool I used to create my diagrams.  I find it especially useful for ER diagrams and flowcharts but I've also used it for a variety of other diagrams.

The single user license is $99 and, trust me, is well worth the price for what you can do with this program.

One of my favorite features is to select-all and then paste my diagram into the other applications like Pages.  Also, you can do easy image conversion by pasting other images into Omnigraffle and then re-selecting and copy-paste into your target app.

It works, has frequent updates and a generous update license and it freakin' turns you into a documentation god!

#5 - Cloudapp

Cloudapp is a simple little applet that sits quietly in your menu bar.  The coin of the realm for this applet is something called raindrops.  The applet is designed so that you can drag-and-drop music, links, files, and images (or hot-key them as raindrops) and then produce a short-url for sharing.

You can click on the site-icon (right to the left of the URL in your address bar) and drag it to the cloud icon in your menu bar.  The web-site link is then pushed to Cloudapp where it's saved as one of your recent drops.  The menu bar shows your most-recent five raindrops.  You'll need to login to the web site to see all of your saved drops.

I like this app because it's a simple process to save a link that I want to review or evaluate later.  I've not used the app for anything other than saving links so I can't speak to it's ability to save/share images and whatnot.  But, for what I use it for, it's invaluable.  I discovered this app before pinterest existed and, although I use both, I use cloudapp to remember mostly technical resources that I need to investigate further.

And, it's free.

#6 TotalTerminal

I do a lot of work from the command line (cli) - I will use vi on the cli before I use any GUI text editor simply because it's faster and distraction free.

I love TotalTerminal (aka Visor) and if I don't have it on my system, I install it immediately.

Remember the Quake console?  TotalTerminal provides you with a persistent Visor window which slides down (or in, or up) on a hot key (I use ctrl-~).  Instead of alt-tabbing to your terminal, which also takes up desktop realestate, TotalTerminal slides in and out, gliding like a ninja in the night.

I set-up mine to have about 50% transparency, green text over black, so that I can see my desktop beneath the terminal window for visual cues as to commands I need to type, reminders of what I was doing when I was struck dumb my TotalTerminals effortless appearance, etc.

I use guake on my Ubuntu desktop which operates the same way.

#7 BusyCal

I have maintained for years that the person who can write a unified calendar and address book will make enough money to own their own island complete with little umbrella drinks.

Syncing all my handheld devices (iOS and Android) with Apple calendar, Google calendar, and their respective address books, with my Mac, has been nothing short of a nightmare.

Of course I need seven duplicate listing for my vet in address book, right?  I need four copies of the same meeting notice...

Busycal is a sexy calendar app for the Mac to replace Apple's Calendar and, since installing it over a year ago, I've never looked back.  Nor have I had duplicate calendar entries unless I intentionally put them there.

I fully realize there may be some hidden juju magic to being able to sync cross-platform, cross-device but, to date, this escapes me leaving me feel I'm barely qualified enough to play Windows solitaire.

Busycal syncs with Google and Apple for my calendars.  It displays my to-do lists. (Which are unused.)  And it even shows me the current five-day forecast.  (Clicking on the weather icon for today took me here.)

In short, it works.  It has read-access to iCal calendars.  It access my Google calendars effortlessly.

It's $49.99 and their technical support rocks.

#8 - F.lux

When I first heard about F.lux, I unsuccessfully bit back a derisive snort of laughter.  Really?  A program for adjusting my screen brightness?  Depending on my location?  And the time of day?  Reducing my eyestrain?


Tell me more...

F.lux is a small, easily-configurable app, that sites in your menu bar.  Once you configure the app to your location and your viewing preferences, it gradually adjusts the brightness and warmth (or coolness) of your screen display depending on your local time.

You can tweak all the settings, specifying different levels of adjustment in brightness (measured in K units), but all you really need to do is tell f.lux where you are, what kind of lighting your have, and it takes care of the rest.

I've noticed that when I'm using the computer during darkness, my screen is much warmer, less-blue, which is less stressful to my vision and relaxes me.  And, according to their website, blue light in the evening can disturb your sleep patterns.

Anything for better sleep, I'm down with.

It's a free program and is available for Mac, Windows, Linux and iOS devices.  Go f.lux your computer for a few days (sorry, it had to be said) and see if you can see how much more enjoyable your screen is.

#9 - Boom

Boom is a godsend for me.  I'm hard-of-hearing and rely on binaural hearing aids for simple conversation.

Boom allows you to boost your system's volume and your music files.  Plus, Boom also provides you with a system-wide equalizer.  (I use the latter to selectively increase the frequencies that I have difficulty hearing.)

Overall, I think Boom, as a digital amplifier, only gives you about 20% more volume (then again, what do I know?) over the conservative db output of your conventional Mac.

For me, however, Boom is the difference between needing and not-needing close-captioning on Netflix.  Being able to use Skype.

Boom boosts everything and is available on the app-store for a measly $5.99.

#10 - Google Voice

I love my Google Voice app.  I give my GV number out now as my main contact number.

GV allows me to forward all GV calls to any number.  Currently, I forward my calls to my cellphone (when I am in the US) and to my Skype number.

If I miss a call, GV transcribes (as best it can - some of you have serious diction issues) the voice mail left and then GV emails the transcript and texts me the transcription to my devices.

Did I mention that it's free?

GV works cross platform as long as you have speakers and a mic.  Bonus, I can also use GV to send text messages.


Ok, that about wraps it up.  I know top-10 lists are hideously subjective so please feel free to leave a comment about what you think should have made it to my list.

Oh, and bonus tip since I'm exiting on kind of a google note --

When you're outside the US and you want to use Google's US resources instead of the current-country, enter this in your URL bar before you sign-in to google:


The ncr means "no country re-direct" and will park you on the US property for the remainder of your stay.

Have fun!

1Password on Ubuntu 11.10 (Oneiric)

First, I apologize for being off-the-grid for so long.  I recently started working for a new company and am deep in the throes of the start-up life.  I started working on this incredibly long article about building the ultimate Ubuntu-based development machine and got kind of lost in the details once I hit about 5,000 words.  It's a very long article.

I've also been incredibly busy in mongo-development and have learned an entire catalog of new tips and tricks that I can't wait to share -- just trying to find the time to document everything!

So, in the meantime, I thought I'd share this little useful tip.

Recently, I've moved my development platform over to Ubuntu 11.10 -- out of necessity rather than choice -- and have been learning a lot about making the transition from the Mac (where we have Linux smugness without the administrative overhead) to to a more hands-on platform.

I initially chose Ubuntu because I wanted something a little more automated that RedHat or CentOS when it came to system updates and configuration -- I need concentrate of developing software, not administrating the development platform.  Ubuntu fits this requirement quite nicely.

In making the switch over from Mac to Ubuntu, most of my development tools ported straight across -- PHPStorm, Chrome, Xdebug.  Other tools are native such as mongo, apache2, mysql, and PHP5.  And still other tools are facsimiles of the Mac utilities such as guake, evolution, keepassX and others.

The one tool/utility I miss the most, however, is 1Password from AgileBits software.  Seeing how they have absolutely no plans for porting their platform over to Linux, I opted to use KeepassX as my password manager program.  Not as fancy and no browser integration, but it gets the j0b done.  And, of course, I can store my key files in the cloud using Ubuntu-One.

Until I discovered 1PasswordAnywhere.

1PasswordAnywhere is a web-based version of 1Password that gives you access to your accounts via a web portal of sorts.

I say "of sorts" ... while you're loading an HTML page into your browser, you're doing so as a file request and not as a http request.  The difference is that your "secure" data is served locally to your browser across your file system and not over the wire via the internet.

The first thing to do is locate your 1Password storage.  For most of us, this should be on dropbox.

[cc lang='bash' line_numbers='false' ]

# sudo apt-get install nautilus-dropbox


Open your dropbox folder from the top-menu and select your 1Password folder.

When you open the 1Password folder you want to look for the file 1Password.html.

Don't double-click on this file yet because, if you do, you're going to see this error message shown in the image below:

This error message (and sorry if this layout is a bit confusing) requires that you disable a setting in your browser (and I'm assuming you're using Chrome) for the html page to be displayed correctly.

By default, file:// URIs cannot read other file:// URIs.  You can disable this by launching Chrome from the command line with the option: --allow-file-access-from-files as shown below in the code block:

[cc lang='bash' line_numbers='false']

# nohup google-chrome --allow-file-access-from-files 2>&1 &


When you start Chrome with this switch, and you double-click on your 1Password.html file, you should see 1PasswordAnywhere displayed successfully in your browser window!

Couple of notes --

  • 1PasswordAnywhere locks itself after a minute requiring your master password to unlock
  • There's still no browser extension allowing you to auto-submit your credentials to a site

What you do get, however, is access to all of your 1Password data that you've saved from your other devices.  For me, personally, this is substantial and well worth the effort of loading Chrome from the command line.

It's not that I have anything against KeepassX, mind you.  It's just that I don't want the redundancy and synchronization issues of managing hundreds of logins and other account data.

I promise that I'll get the uber-article out on making the ultimate development platform on Ubuntu soon - I'm waiting until the 12.04 release which should be dropping within a week or two.

Hope this helps!

Installing gpass on CentOS 6 Linux

Over the last year I have become utterly dependent on a product called 1Password by Agile Bits software.  For those of you that are unfamiliar with this software, 1Password is a multi-platform program that manages all your passwords, in additional to other sensitive information, in an easy-to-use interface.

Originally written for the Mac, the software is now offered on iPad, iPod, 'droid, and Windows machines.  I have it installed on all available platforms.  While initially bemoaning the cost of the product - it's not cheap - I've come to depend on it for all of password storage, my software license management, and even the credit-card information for the card I use for online purchases and subscriptions.

Quick aside and then I'll cease the fanboi gushing: my favorite feature of the program is the password generator.  I can custom-tailor a password to be as obnoxiously long, and obfuscated, as I need and I don't ever, ever, have to type it in when challenged.  Passwords are simply copy-pasted from the 1Password program, or you can use the embedded 1-click feature functionality of the support extensions available for all browsers.

My only complaint with 1Password is the lack of Linux support.  Since I'm using Linux as my LAMP development platform while at-home, I need a comparable password manager. I know I won't have all of the slick features of 1Password, but at least I'll be able to copy-paste long, obfuscated, passwords from the password manager into my Linux desktop applications.

So, let's get started!

There's some good tutorials already available on the 'net about doing just this - however, none I found were exactly right and, following those tutorials, I did run into several side issues.  I'll cover all those issues here so that your installation will be seamless.

Operating System: CentOS 6 Linux Desktop GUI: Gnome gPass version: 0.5.1 EPEL repository: 6.5

Download the gpass source into your "Downloads" directory and unpack the tarball:

[cc lang='bash' line_numbers='false']

wget http://projects.netlab.jp/gpass/release/gpass-0.5.1.tar.gz

tar xvzf gpass-0.5.1.tar.gz

cd gpass-0.5.1


I based my initial install of gpass from the UnixCraft blog post here.  (In the tutorial, they omitted the arguments to the tar command to un-tar the tarball that creates the gpass source directory.)

In step 1, the blog asks you to do a group install of the development tools and, secondly, install the gnome-ui, mhash, and mcrypt development libraries.  The second step failed for me following the successful install of the gnome-ui as my stock yum configuration was unable to locate either the mhash or the mcrypt packages.

After googling the issue, I determined that I needed to at the EPEL repository to my yum configuration.  It's common to have several repositories in your yum catalog.  You'll add additional repositories by establishing configuration files in /etc/yum.repos.d/.

Setting up the EPEL repository is pretty easy as they've created an rpm just for this purpose.  Make sure you have sudo privileges on your account and enter the following commands: (I'm currently in the "Downloads" directory in my $HOME.)

[cc lang='bash' line_numbers='false']

wget http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm ... rpm -Uvh epel-release-6-5.noarch.rpm


Side note: I'm aware when I'm reading how-to's on other sites that reference software versions that said versions may not always be the current, and most stable, release available today.  I always check the repository, using a browser, before downloading to ensure I'm obtaining the latest version.

Once the rpm is installed, you'll need to edit the repository file.  Again, using sudo, edit the /etc/yum.repos.d/epel.repo file and in the EPEL repository section, add the line: priority=3 at the end of the section.

I'm now ready to install the mhash and mcrypt packages, obtaining them from the Redhat EPEL repository.  Again, assuming sudo privileges:

[cc lang='bash' line_numbers='false']

# yum install libmcrypt-devel # yum install mhash-devel


From this point, you need merely to follow the instructions in the UnixCraft blog I linked-to above, but here are the steps to finish the installation.  Again, assuming you've changed-directory to the gpass source:

[cc lang='bash' line_numbers='false']



./make install


At this point, as long as you've not seen any error messages in your output, your gpass program is ready to use.  Test by typing gpass at the command line -- you should see the gpass window pop-up on your desktop:

In the screen-shot to the right, those of you that are past your second cup of coffee may have noticed that my gpass window looks suspiciously like a Mac OS X version.

I am running the gpass application on my Linux server, but I am serving the display to Mac OS X Lion desktop.  I set-up the configuration to do this for two reasons.

  1. to capture and display screenies
  2. to copy paste data from my native Mac 1Password application into my Linux gpass application.  I do NOT want to retype some of those passwords...
That's pretty much it.  I leave the exploration and use of gpass up to you.  I'll do a follow-up tutorial quick-post on how-to set-up XForwarding on Linux to your remote desktop (Mac) via secure shell.
Thanks for reading - hope this helps!