Exchange "remote wipe" is a terrible, terrible bug -
Those sons of bitches.
The day after I left AOL, I woke up to find my Blackberry restored to factory defaults. No warning, no exit interview heads up, no courtesy notification, no dinner, soft music, candlelight or lubrication. Lesson learned.
I’m a pretty accessible guy. I don’t stop answering the phone or email at 5pm. I don’t mind being so available because my lackadaisical approach to work-life balance has never been abused. After that experience, though, I decided that if I ever work for a company that deploys this Draconian policy to mobile devices accessing corporate email then the company has two choices:
What’s that they say about having your cake and eating it too?
In case this is your gateway into this series, the context is this: I often explain my (relatively recent) preference for Macs with the statement that they occupy something of a sweet spot for me. Because the operating system is Unix-based, development environments are a snap and stability is baked right in. I also get a powerful command line environment. Because it’s Apple, I get some swell eye candy (hardware and software) and all of the “lifestyle” components (e.g. iTunes, video, upgrades, etc.) are also easy. Speaking very generally and with the understanding that nothing is perfect, Windows misses on the former, Linux on the latter.
This is the fourth post in a miniseries that defines my own personal OS X starter kit. In the first post, I covered configuration—those things (read: settings) I change before I add anything at all. Next was applications, the third party additions to the /Applications folder that have to be installed and configured before my system begins to feel like home. In the last post, I covered third party preference panes which I’ll describe as mini applications that reside in the System Preferences dashboard rather than as standalone bundles in the /Applications folder.
Closing out the series is the plugins. These aren’t quite like anything else. Once I install them, I’m forever forgetting where they went—the don’t live in the /Applications directory or in any other location that you’re likely to spend any time, but they’re there when I need them, where I need them.
Visor is a plugin for OS X’s Terminal (/Applications/Utilities/Terminal.app) application that makes a Terminal window available via hotkey. It’s a little difficult to describe since it doesn’t launch or quit Terminal, but it essentially toggles the visibility of an open Terminal window. I spend a lot of time in the Terminal, but I’m not always in it. I like being able to put it away when I’m done, but call it back out when I need it the next time. Visor is perfect for that and throws in a bit of configurable eye candy to boot (i.e. I configure mine so that the window will slide down from beneath the menubar). The plugin does break one Terminal feature—window groups, but it’s not one that I’ve ever used.
If you spend any amount of time in the command line interface, I highly recommend this plugin.
It’s hard to believe that this isn’t included with the native OS X color picker, but that oversight is filled by this plugin. Hex Color Picker puts an extra tab in the system-wide color panel that displays the hexidecimal color code for any color. As a developer who spends a considerable amount of time on web-centric work, this is an invaluable plugin.
Thus endeth my starter kit. Four categories, four episodes. What’s in your kit?
When I was a kid, probably 10 years old or so, I had a babysitter. I don’t remember her name. She had some kind of personal connection to Bobby Thompson. I don’t remember the nature of that connection. One day she asked whether I knew who he was.
The shot heard ‘round the world
I don’t remember how I knew that.
Such was the impact of the shot heard ‘round the world, even some 30 years after it was first heard.
I often explain my (relatively recent) preference for Macs with the statement that they occupy something of a sweet spot for me. Because the operating system is Unix-based, development environments are a snap and stability is baked right in. I also get a powerful command line environment. Because it’s Apple, I get some swell eye candy (hardware and software) and all of the “lifestyle” components (e.g. iTunes, video, upgrades, etc.) are also easy. Speaking very generally and with the understanding that nothing is perfect, Windows misses on the former, Linux on the latter.
This is the third post in a miniseries that defines my own personal OS X starter kit. In the first post, I covered configuration—those things (read: settings) I change before I add anything at all. Next was applications, the third party additions to the /Applications folder that have to be installed and configured before my system begins to feel like home. Today I’ll cover preference panes.
If you’re new to OS X, you may be thinking, “Preference panes? Didn’t we already cover those in the first part?”. Well, yes. But, no. In the first episode, we covered the preference panes that ship with OS X and make up its default System Preferences suite. Today we’ll cover third party preference panes that can be added to that same System Preferences panel. When you install the first, you’ll see a new section of panes in the main window that’s labeled Other. Let’s get to it.
Application Uninstaller
Apple made it damn easy to install apps (even if it takes a little getting used to coming from another operating system). They also made it damn easy to delete applications. The problem is, that’s all you’re doing. You’re only deleting the application. What you really want to do is uninstall the application. Apple installations are more consolidated than either Windows or Linux with almost every file contained within the .app bundle (you may not have realized that the .app file is really a collection of files—similar to a zip archive). There are still a few files, most notably preference files, laying about elsewhere that aren’t cleaned up when you move an application to the trash.
AppTrap takes care of that for you. There are other applications (e.g. AppDelete, AppZapper, etc.) out there that do the same thing, but every other one I’ve found requires an explicit thought. In order to use them, you have to first launch them and then tell them, using whatever metaphor they require, that you want to delete an application. Meh.
AppTrap requires no explicit forethought. Launched via a preference pane, it runs in the background and automatically detects when you drag an application to the trash. It then asks whether you want to move those related files to the trash or leave them where they are. Some balk at having external applications running in the background, but I’m not one of them. I like things I don’t have to think about and, in years of using AppTrap, I’ve never noticed any adverse effect.
System Notifier
Growl is an unobtrusive system notifier that provides applications with a means of letting you know when “things” happen. What those “things” are is dependent on the application, of course. It’s a bit difficult to describe, so maybe a page full of screenshots will help. In my opinion, no OS X system is complete without Growl.
System Monitor
iStat Menus packs a lot of powerful tools for monitoring your system status. It can show you the temperature, network usage, memory usage, CPU usage and more. I’ll be honest with you, though, and tell you that what I love most about it is its date/time menubar replacement. It does everything the native date/time preferences do, but includes a world clock and a calendar that drops down like a menu when you click on the date & time display.
iStat menus used to be a free preference pane that I would’ve happily paid for, but has become a full blown application that costs. I find the preference pane less intrusive and have stuck with that. The application isn’t expensive, though, and I’m sure it’s worth it.
iTunes Controller
I have iTunes running all day every day, but frequently pause, skip or perform other actions to control what’s playing or how it’s being played. It always drove me crazy that in order to, say, pause the music, I had to make the iTunes window active before I could affect it in whatever way. In my mind, iTunes is ambiance (i.e. background entertainment or even white noise) and it felt intrusive to have to explicitly activate it before I could alter that ambience. With SizzlingKeys, I can assign hot keys that operate on iTunes while the application is inactive or even hidden. Now iTunes is exactly what I want it to be.
Note: If you’re a Quicksilver (another application launcher) user, its iTunes module offers the same functionality.
Sanity Enhancer
Sure, it’s better than the Windows startup sound, but that damn Mac chime gets me every time if I’ve had the volume turned up. This preference pane provides a way to specify and normalize the volume of the Mac startup sound.
Other preference panes (BetterTouchTool is rapidly becoming a favorite) come and go on my machine, but these are the essentials.
It’s hard enough to be the new guy on a project of any size so I think it’s important, even critical, that engineers and developers consider the learning curve during the development lifecycle. One easy win is to be conscious of entity nomenclature. All of the usual standards about length, self-documentation, etc. still apply, but I’m going to add one more standard to the list:
Name entities—variables, classes, tables, fields, etc.—according to what they are, not what they represent.
Representations can be both transitory and polymorphic, the data is not. An email address is, and will always be an email address (insofar as anything in technology is immutable) even if it may also be used as an identifier.
If a new developer has to know something about the application in order to navigate its nomenclature, then an opportunity has been lost. I’ve spent hours of my life searching Jurassic-size data models for an email address field only to find that data stored in a field called username.
I always used “i.e.” and “e.g.” somewhat interchangeably without rhyme or reason until an old platoon sergeant of mine set me straight. He shared this mnemonic device with me:
Use “i.e.” when you mean “I Explain”. Use “e.g.” when you mean “Example Given”
Thanks, SFC Allard.
I often explain my (relatively recent) preference for Macs with the statement that they occupy something of a sweet spot for me. Because the operating system is Unix-based, development environments are a snap and stability is baked right in. I also get a powerful command line environment. Because it’s Apple, I get some swell eye candy (hardware and software) and all of the “lifestyle” components (e.g. iTunes, video, upgrades, etc.) are also easy. Speaking very generally and with the understanding that nothing is perfect, Windows misses on the former, Linux on the latter.
This is the second post in a miniseries that defines my own personal OS X starter kit. In the first post, I covered configuration—those things (read: settings) I change before I add anything at all. Today, applications. Before we begin, though, let’s align our expectations, shall we?
Do Not Expect
Expect
/Applications directory. There are a few plugins and utilities that typically reside elsewhere, but we’ll get there in a later post.Expectations aligned? Good. Here we go.
Instant Messenger Client
Seriously. There is no better multi-protocol IM client on the planet. Period. All the functional goodness of Pidgin (it’s powered by libpurple), all the sexiness of, well, Apple. Adium offers support for all kinds of third party eye candy to boot (e.g. themes, icons, styles, etc.).
Application Launcher
The digital lifestyle is just better with a good application launcher. I appreciate any other tasks a launcher may be able to perform, but my appreciation wanes with each degree of configuration complexity that’s added to support those extras (I’m looking at you, Quicksilver). I’ve used many and all have been good enough, but Alfred has my attention at the moment. I haven’t been using it exclusively for long, but so far it feels like the right balance of functionality and simplicity.
As a quick aside, my vote for best-of-breed in the application launcher category on any OS goes to Gnome Do on Linux. I miss a couple of things after my switch from Linux, but none more than Do.
Best Application Ever
I know that’s not a real category of application, but it might as well be when discussing Dropbox. The other day it actually made me breakfast. Waffles. It didn’t skimp on the syrup. If you frequent multiple computers and don’t know about Dropbox then you’re just not paying attention.
Password Manager
Technically, this is a browser extension, I suppose, but it’s every bit as useful as an application and this is my list so I’m going to pull rank. Whatever the web equivalent of tying my shoes might be, I can’t do it without LastPass. It knows where I am, it knows when it can help and proactively asks if I would like it to do so. I would.
Everything on the Internet requires authentication these days and if you want some modicum of security then you need a good password repository. There’s nothing better on the web than LastPass. It’s cross-platform and makes it brain-dead simple to maintain password discipline while retaining some level of convenience in the authentication process.
Password Manager
As good as LastPass is, I still cling to my trusty stand-by. Some authentication info has nothing to do with the web and I put those bits in KeePassX. Most of the stuff that’s in LastPass is also duplicated in my KeePassX database. You can never be too careful or too redundant with this stuff.
System Backup & Recovery
Like many before me, I learned the hard way. Backup your system. There are other alternatives, but nothing beats SuperDuper, for my money.
There you have it. The application-centric atmosphere of my computing world. As an added bonus, all of these can be had for for absolutely no cost. Several offer paid versions, but free versions are available.
As I mentioned at the beginning, I use other applications, of course, but these are the first ones that get installed and the ones that make my system home.
In the last year I’ve helped migrate a couple of family members to Macs, advised (to one degree or another) several peers & colleagues on their own switch and built (or rebuilt) several for myself. In that time, I’ve come up with something of a starter kit I consider essential and indispensable. These range from configuration settings to utilities to applications and from minutia to massive, so don’t look for this to be highly targeted.
While writing this post, I came to realize that I could probably milk it into more than one, so that’s exactly what I’m going to do. Stuff like this is just easier to write and read in bite size chunks.
Let’s start with configuration. The proverbial unboxing is complete and you’ve just finished the introductory video and wizard. While everything is still fresh and clean, let’s begin the personalization journey. You may have already done a system update, but if you haven’t, now is a good time. In the menubar, select > Software Update. Follow the instructions. I’ll wait…
Good? Okay, moving on. Configuration at this stage begins and ends with the System Preferences. Open these from the Apple menu: > System Preferences…. I won’t talk about all of them because some are relatively vanilla. I’ll just be touching on those that I alter in a meaningful manner. Looking at the preferences panel, I’ll be working left to right, top to bottom.
I’m in the minority here, but I kind of like the wallpaper that ships with Snow Leopard. I usually change it to use one of my own photos, but I’d probably leave it otherwise. That’s just me.
I do, however, uncheck the Translucent menu bar option. Depending on your wallpaper, being able to see it behind the menu bar is egregiously annoying.
As screen savers go, I have several that I kind of like, but nary a one of them ships with OS X. Out of the box, the screen saver options just blow. My current favorites include (in no particular order):
I tend to make extensive use of application launchers, so I like to get the dock out of my way completely by checking the option to Automatically hide and show the dock. I also move the Size slider much closer to the Small end than the default setting has it placed.
I also position it on the left side of my screen because I’ve found that my cursor doesn’t wander over there as often as it wanders to the bottom which keeps me from accidentally triggering the dock’s visibility as often.
Lastly, I like a bit of eye candy, so I turn on a little bit of magnification. Not too much, but I like a little bit of animation.
I don’t do much with Expose, but it’s come in handy from time to time. That said, the default settings are probably fine unless you’re a power user.
Spaces, on the other hand, I use extensively. I have separate spaces for browsing, for development, for photography and for apps that I often have running behind the scenes. If you’ve never used multiple desktops on any OS (read: Unix systems), then you may not need or want Spaces. If you do try it and like it, but find some aspects annoying, you may want to check out these hints:
Notice the left most pane on the Text tab. Add your own custom text replacement values for words and phrases you type often or even _mis_type often. This is universal autocorrection and it is good.
Unless you’re a power user, you probably won’t have a lot of need to change your display settings with any frequency, if at all. For that reason, it probably makes sense to uncheck the option to Show displays in menu bar.
I use the function keys all the time. I use the “special features” far less frequently. For that reason, I check the option to Use all F1, F2, etc. keys as standard keys.
Apple also does something (stupid, IMO) that trips up a lot of new Mac users. By default, when using forms you can only tab between selected controls—specifically text boxes and lists. If you often use the keyboard to navigate forms, it may make you crazy that you can’t tab to a submit button and hit Enter. You can fix that by finding the Full Keyboard Access setting and selecting the All Controls option. I don’t know why this isn’t the default, but I find it maddening when I forget to change this setting immediately.
A while back, it occurred to me that the only time I use the Caps Lock key is, well, on accident. If you find the same, you have the option of simply disabling it. To do so, click the Modifier Keys… button and, in the popup window, select the No Action option in the Caps Lock Key drop down menu. Click OK and the Cops Lock key will no longer be a problem for you.
A subject near and dear to my heart. One of my favorite aspects of OS X is that you can configure your own universal or application-specific keyboard shortcuts. For example, every OS X application that has preferences and was built to standard provides access to those preferences via the ⌘+, shortcut. You’ll get to know that one well, if you’re a keyboard junkie.
Since System Preferences is really just a universal version of application preferences, I create a similar shortcut by assigning ⌘+Shift+, to open the System Preferences application. To do so:
Now explore. The possibilities are endless.
Watch the videos, learn the gestures, ditch the mouse (at least for a while). I can’t recommend this enough.
I uncheck everything except File Sharing and Remote Login. And with File Sharing, I only allow access to my Public folder.
If you didn’t set the option to Set time zone automatically using current location during the introductory wizard, you might want to do so now. If you do, you’ll never have to think about it again.
Make it easy on yourself. Keep your system up to date. Check the option to Check for updates and do so Daily or Weekly. Make life even easier, by allowing the computer to Download updates automatically. It will let you know when they’re ready and all you have to do is tell it to install (or not).
As I promised, I didn’t mention every possible option, but I hit the high points. Those I skipped are either solid out of the box (no changes necessary), are trivial (how long to wait before activating the screen saver) or are deeply personal and very much based on personal preference.
Whatever you choose to do with your system preferences, I highly recommend that you look through each and every item in the System Preferences window and become familiar with your options. One day you may want to change something and it will be helpful if you have some idea where to go to do it.
I’ll follow up with posts to discuss the applications, preference panes, utilities and plugins that I consider essential, but I’d love to hear about your essential configuration tweaks in the comments.
Put your mouse away.
The fact that it sounds dirty is just an added bonus, but I’m being serious. I’m talking to you switchers, in particular (and welcome, by the way). Now put the mouse away. I know that you have pre-conceived notions about the usability and usefulness of the trackpad, but this ain’t your PC’s trackpad. I think you’ll be surprised.
Look, it’s not for everyone, I know, but give it a try. When you do:
What have you got to lose? Who wouldn’t love to go mobile with one less peripheral?
The problem isn’t that Git is to [sic] hard, it’s that smart developers are impatient and have exactly zero tolerance for unexpected behavior in their tools.
Mea-freaking-culpa.