I sat at my desk early in the morning while the office was mostly empty. A coworker arrived, said hello and sat down to work. She put on her headphones and started blasting music. The only problem? Her headphones were unplugged and the music was playing for the whole office to hear.
Accidental noise like this is very embarrassing. I welcome all innovations that make this less likely to occur. I was blown away when I used an iPod for the first time and unplugged the headphones. Unlike the CD players I had used before, the music paused. With the iPod it didn’t make sense to continue to play music without the headphones plugged in, since there was no internal speaker.
I am happy that both iPhone and Android adopted this convention as well. You’re much less likely to embarrass yourself if the sound stops as soon as headphones are removed rather than automatically switching over to the external speakers. I wish that laptops did the same, but alas.
I live most of my work day in a browser. I often end up with a whole slew of tabs. Suddenly I hear some sort of noise – one of the dozen pages I have open is blaring an ad. I usually have to search each tab one by one to try to find the culprit. Chrome recently launched a new feature to visually distinguish which tab is making noise. This is a brilliant innovation, and one I welcome in my quest not to make a fool out of myself in front of others.
Disclaimer: I work at Google. The opinions expressed are my own and do not represent that of my employer.
I’ve been bad about upgrading the OS of my MacBook, and now it’s hopelessly out of date. A lot of software no longer runs on Leopard, including Chrome autoupdate, TextMate, and GIMP. Lack of Chrome autoupdate means no updated Flash, which means no YouTube. Time for an upgrade.
Unfortunately, you cannot upgrade to Mountain Lion without going through Snow Leopard first, and Snow Leopard is no longer sold in stores or on the apple.com site. After calling a local Apple store, I found out that the only way to get the upgrade is to call 1-800-MY-APPLE and ask for an upgrade. They’ll ask you for the serial number of your Mac in order to ensure compatibility, your email address, and standard billing information. The cost of the upgrade disk, without expedited shipping, came out to about $26 in my case.
Hope this helps those of you who procrastinated like me and are searching for information about where to get the Snow Leopard upgrade.
I’m learning about KML/KMZ files, where KMZ is basically a .zip file renamed as .kmz. The problem is that these .kmz files cannot be opened using the default Mac unzip utility. When you try to open the .zip file, it creates a new file called <originalfile>.zip.cpgz. Opening the .cpgz file yields a copy of the original zip.
The solution is to use Springy, a zip utility for Mac (free trial, ~$20 to buy). It handles the file perfectly:
Edit: Found an alternative approach here. Basically, rename the file .rar instead of .zip and the Unix unzip utility can handle it.
I’ve written a script to incorporate this; find it as a gist here.
I wrote previously about creating language grammars in TextMate and I’ve been doing a bit more of this lately. One thing that makes this process a lot less painful is following the advice from the official Textmate book and installing the “Edit in TextMate” bundle. Do this by going to Bundles->TextMate->Install “Edit in TextMate”, and follow the instructions. After rebooting TextMate, you can press ⌃⌘E while within the Edit Grammar file to open a live copy of the document in a syntax highlighted textmate window. Every time you hit Save, the changes are pushed back to the unstyled document pane. This drastically speeds up development, as you no longer have to copy and paste text between the windows, but instead can hit save any time you want to try your changes out.
While our desktop computers excel at multitasking due to their multiple cores, the human mind fares much worse. There have been multiple studies showing that multitasking can impair productivity. Often the reasoning is that the brain requires time to adjust between different tasks, due to the switch in context. An analogy for this would be driving on a highway. You’re going to cover a lot more ground in the same amount of time if you can keep a constant speed (focusing on one task) rather than having to constantly take exits and switch to new roads (tasks). While those who multitask frequently might think that switching tasks bears no greater cost to them than switching lanes on the highway, the studies suggest that the cost in focus and time in switching to the new task is more akin to having to take that offramp, find a new highway, and then get back up to speed.
But enough about metaphors and science. I am not a cognitive scientist so I’ll leave that up to the people who do it best. I can only speak for myself, and I find that it’s supremely tempting to pick away at pieces of problems rather than to focus on one thing and make significant progress in that regard. I also know that I am objectively less productive if I constantly am switching tasks.
It is for that reason that I’ve assembled a set of tools that allow me to have a stronger single-minded focus while working on a computer. While there are systems such as Getting Things Done and the Pomodoro Technique which address the human aspect, I’m going to be focusing more on technological solutions with respect to working on an Apple computer. While many criticize the iPhone and iPad for their limited multitasking support, I think having full-screen applications and focusing on one thing at a time is very beneficial. With that thought in mind, the rest of this post will show various ways to make the Mac less suitable for multitasking and closer to the iPhone/iPad model of computing.
Hide the dock
Gain more desktop real estate. Eliminate the visual clutter at bottom of the screen.
Right click on a portion of the dock which does not have an icon, e.g. on the portion where the dock can be resized.
Reduce use of tabbed browsing
I love the ability to open multiple webpages in a single browser. It can be supremely useful when you are researching and need to have multiple pages open to reference. Unfortunately it can also lead to shallow reading and a mild form of A.D.D. wherein the user (i.e. me) keeps opening new links with the intention of reading them later. There is seemingly no cost to opening a link in a new tab, but it does exert a cost – it makes it harder to find the tabs that are actually relevant, and it also uses more system memory.
There is a discussion on the Firefox feature request group to limit the number of tabs that one can open at a time, for reasons similar to what I have presented above. The best solution given is to install a TabCounter extension in FireFox which shows how many tabs you have open. It still requires you to monitor the number and prune the number of tabs when things get too bogged down, but it’s better than nothing.
For those using Chrome, there is a Tabs Counter plugin which performs the same task.
Hide your desktop icons
My desktop inevitably is the dumping place for miscellaneous junk. I’d rather just keep it out of sight and search with a program than keep it organized and visually scan through them for what I’m looking for. Computers are a lot better at search than humans; let’s take advantage of that. The icons on the desktop do nothing more than distract me.
Camouflage hides desktop icons
+ allows you to double click on the desktop to have a finder window popup for the desktop
+ allows you to change the desktop background
+ also has option of dimming the menu bar
– paid ($17)
I use Camouflage on both my home and work Mac. I was happy to see that Windows 7 allows you to hide the desktop icons without installing an additional program.
Dim your menu
Eliminate distractions by de-emphasizing the elements on the screen that are not important. For the time you are not actively attending to the menu, make it less visually important.
– doesn’t seem to work in 10.5
+ Works fine in 10.5
– abrupt jump between dimmed and not dimmed – the menu dimming in DeskTopple is more gradual / less harsh
I use MenuEclipse on both my work and home computer. It’s not a life changing application but it does what it sets out to do.
Dim your unused applications
When you have multiple applications jockeying for your attention, you necessarily lose focus
There are some obvious exceptions to this; for instance it is often extremely convenient to have both a calendar program and e-mail program open side by side when scheduling things, or having a web browser next to your programming environment for web search results. There are other times in which such extra programs are a distraction; in this case having a single program as the focal point can allow you to focus.
– does not interact correctly with Quicksilver/Alfred quick launchers
– noticeable lag when switching between windows
– no way of specifying the brightness
– seemingly not in active development
– Ugly icon that takes up a huge amount of space
+ Much more polished than DooDim
+ Allows you to customize how dim the background gets
+ System settings stay bright
+ Works with Quicksilver/Alfred
O different interface than Doodim – you have to explicitly choose a new window to focus on via an interface similar to the standard task switcher, rather than being able to shift the focused window by clicking on other windows.
– Does not work with multiple spaces
I use think on a daily basis; in fact I am writing this article with all but my FireFox window dimmed out. The higher your screen resolution, the more useful this program is. When working on a 13″ screen I don’t often tile my windows too much. But when you have a 30″ monitor or something similar, you can end up with many programs onscreen simultaneously. And you might not want to put the program you’re working on full screen, especially if it’s just a text editor. That’s when being able to have your programs the size you want and still be able to dim all the rest can be especially useful
The final piece in reducing distractions and improving single-minded focus is to remove the interruptions that our installed programs produce.
Turn off Growl notifications
If you’re unfamiliar with Growl, it’s a program which ” lets Mac OS X applications unintrusively tell you when things happen. ” While it is a lot less intrusive than a traditional modal popup window, it still can be distracting. The first thing you should do is close the programs that are creating the popups in the first place, but you might want the program to run, just not keep interrupting you.
I personally haven’t taken this step, but you can remove Growl if you find it too distracting. Instructions are here.
Turn off e-mail alerts
E-mail clients on the Mac seem to think every e-mail that comes in is a matter of life and death, and that you absolutely must see every e-mail the instant it arrives. Those of us who work in an office know that this is far from the truth. As Merlin Mann writes:
Email is such a funny thing. People hand you these single little messages that are no heavier than a river pebble. But it doesn’t take long until you have acquired a pile of pebbles that’s taller than you and heavier than you could ever hope to move, even if you wanted to do it over a few dozen trips. But for the person who took the time to hand you their pebble, it seems outrageous that you can’t handle that one tiny thing. “What ‘pile’? It’s just a fucking pebble!”
While dealing with e-mail is a whole different issue, the least we can do is make sure that each pebble falls silently into the inbox rather than calling attention to itself.
Mail -> Preferences -> New mail sound: None
How to turn off e-mail notifications in Entourage
Entourage -> Preferences -> General Preferences -> Notification ->
Uncheck Display Alert, Bounce Icon, Bring Application to Front, and New Mail Sound
This post was started long before Apple’s announcement of its new operating system, Lion, but it was not surprising to me that Apple is going to make OSX work more like iOS, with the addition of full screen applications and an app store. I don’t want the Mac to become exactly like a giant iPhone or iPad, and I certainly wouldn’t want every application to be full screen. However, there are times when I need to focus, and by making the computer less capable, it makes me more.
If you’re using a Mac, you owe it to yourself to try a great program called Divvy.
In a nutshell, Divvy lets you divide up your workstation as you see fit, without having to manually resize all the windows yourself. For instance, at work I have two workspaces; one for Mail and Calendar split 50/50, and one for Terminal, NetBeans, TextMate, and FireFox, with Terminal and FireFox taking the largest space. Manually positioning four windows without leaving gaps is nigh impossible, and time consuming to boot. I bind Divvy to Ctrl + Shift + Spacebar, and can position all 4 windows just how I like in just seconds.
Protip: Hold down the command key while dragging to get a finer grid.
Protip #2: You can set keyboard shortcuts for different divisions of the space. Press the little gear icon in the top right of the program and go to the Shortcuts tab.
Firefox is my browser of choice. No big surprise there. Not much to say except tabbed browsing is great.
Quicksilver, if you are unfamiliar, is an application launcher for Mac OSX. If you’re a fan of analogies:
Spotlight : Documents :: Quicksilver : Applications
That’s a bit simplistic, as Quicksilver can do more than just launch applications, but that’s 99% of what I use it for, so the analogy stands.
TinyGrab is an amazingly simple screen shot app for both Windows and Mac OS X (I use it on both platforms and it works better on Mac). After registering for an account, you keep the app running in the background. Any time you take a screenshot via Command Shift 3 (full screen capture) or Command Shift 4 (area of screen or window capture), the picture is automatically uploaded to the service, and a small url to the picture is copied to your clipboard. All of the icons you see here are hosted on TinyGrab’s servers and were uploaded near instantaneously. I say it works better on Mac than Windows because the Mac one merely hooks onto the act of capturing a screenshot using the already excellent Mac tools; when you press the hotkey to take a picture on Windows, it has to use its own “clip this area of the screen” feature, and it doesn’t work quite as seamlessly as on the Mac.
You may have already seen my previous R posts; R is a programming language intended for statistics. It has dozens of high-quality open source code modules from mathematicians and scientists from around the world. It is a great tool for doing exploratory data analysis.
R can be used both interactively through the R Console program, as well as through scripts.
If you’re programming in Java and you’re not using an IDE, you are wasting your time. Netbeans and Eclipse are the two biggies in the Java world; I prefer Netbeans due to its great built-in keyboard macros. By memorizing a few keyboard shortcuts, you can save dozens of keystrokes from commonly typed phrases. For instance, declaring constants is usually quite verbose in Java:
public static final int BUFFER_SIZE = 1024;
With netbeans you can shorten the 24 characters before the variable name to five: Psfi -> TAB. There are a whole raft of such shortcuts, and they are indispensable for easing the pain of Java’s verbosity.
Other great and essential features include the ability to automatically determine which modules need to be imported; this feature alone makes an IDE superior to a dumb text editor. The other feature that immediately springs to mind is the ability to easily refactor code; you can change the name of a variable in one file and have it propagate to all files that reference it, rather than having to find and replace the string in all the files.
Unlike the other tools in this post, MacPorts is a command line utility. I use it when I need to install some open source library or project and there is no installer available for my platform. If there’s a port version of the software available, it handles all the dependency management, installs the libraries where they need to go, and updates all the necessary environment variables.
Textmate is my text editor of choice for all things non-Java. It makes it very easy to open a directory as a project and then jump around between files within it (with a very smart, intuitive search feature). Just as netbeans has tab code completions, so does Textmate. Common shortcuts (“snippets”) are bundled up and distributed with the software; it is also easy to add your own. It seems to be the de facto standard for web development (every Ruby on Rails developer I’ve ever met uses it).
Two main complaints:
- Some strange default behavior: If I select a bunch of text and hit tab, I would expect that to indent the text rather than delete the contents of it. Similarly for shift tab. Instead, you must hit option tab and option shift tab (that’s a bit of a finger stretcher)
- You cannot split a window and look at two sections of it at the same time.
WriteRoom is the antithesis of Microsoft Word, or any modern text editor. Whereas most programs throw feature after feature at you, WriteRoom strips it down to the barest of feature sets. The minimalist nature extends to the presentation as well; when you boot it up you begin by staring at a full screen blank picture. Text is monochrome green by default, though both the background and foreground colors can be changed. By stripping all user interface elements out of the view, you are free to focus on the task of writing without any distractions.
Obviously this is not well suited to all tasks; if you are doing any sort of work in which you need to simultaneously reference other materials (e.g. look at a website or excel spreadsheet at the same time), this is not for you. But if you need to brainstorm something and get some thoughts down onto paper, this is a great choice.
LaTeX (unfortunately named for Google searching) is a typesetting language/program. It’s used extensively by college professors and others looking for beautifully typeset text and equations. Unlike Microsoft Word, composing a document using LaTeX is most certainly not WYSIWYG, but its creators see that as a feature and not a bug. They claim that people waste an inordinate time fiddling with fonts and presentation rather than content. By formatting your work as a Latex document, you can render it in multiple different ways just by changing a template.
The MacTeX package includes LaTeXIt, TeXShop, and BibDesk, as well as a few other programs I never touch.
LaTeXiT is a small program for creating equations and other snippets to embed in other sources.
TeXShop is a full fledged editor of LaTeX documents; if you’re doing any sort of serious document creation, you’re probably going to do it in TeXShop. There’s nothing stopping you from composing your documents in any plaintext editor, but you will have to manually run the scripts that convert your text into PDF; TeXShop automates some of that hassle.
BibDesk is a program for managing bibliographic entries.
An excellent chat/IM client for Mac that supports all the big formats. Recognize your favorite protocol from the icons it supports?
Why install a chat program on a work computer? IM and chat is a big part of collaborative software development.
Some of these programs are fairly well known (Firefox, Adium, Netbeans), but I hope I have exposed you to some new programs.