- My philosophy: Optimize transaction costs.
- Don't work from home.
- Eliminate temptation to waste time.
- Salvage dead time with technology.
- Get rid of your TV.
- Consolidate email accounts.
- Work from a laptop.
- Use a calendar system.
- Power-use a smartphone.
- Turn off instant messaging.
- Minimize collaboration costs.
- Use a citation/paper-management system.
- Procrastinate productively.
- Iterate toward perfection.
My philosophy: Optimize transaction costs
Distilled into empirically-wrought principles, my high-level advice is:
- Reduce transaction costs to engaging in productive behavior.
- Erect transaction costs to engaging in counter-productive behavior.
- Minimize opportunity cost. Do what you're best at doing, and partner with specialists when you need to do something else. [This is the hardest principle for engineers to accept. We feel that if we can do something, we should.]
In short, mold your life so that the path of least resistance is the path of maximum productivity.
People are surprised when I tell them I'm lazy.
I don't try to change the fact that I'm lazy: I exploit it.
I try to make sure that the laziest thing I can do at any moment is what I should be doing.
A couple years ago, I wanted to start doing pull-ups, so I attached a portable pull-up bar to the door outside our bedroom.
Every time I passed by, the transaction cost of a pull-up was near zero, so I did some pull-ups.
Moreover, I didn't have to remember to do pull-ups, because I saw the pull-up bar all the time.
One day (for reasons unknown) the bar was taken down and placed on the floor. The bar lay on the floor for months, and I didn't do another pull-up for years.
It would take about ten seconds to re-install the bar, but I'm often in a rush, and that ten seconds has become a transaction cost.[Update: I ended up developing and implementing a least-resistance approach to both weight loss and gaining strength/muscle.]
Don't work from home
Home is full of distractions.
Academics have flexible schedules, which makes it all the more important to force yourself to go into work every day.
Invest in making your work-space a comfortable, productive, enjoyable place to be:
- Move your books into your work-space. This is a forcing function more than anything else. It's hard to do work at home when references are at work.
- Get an ergonomic office chair. Nothing beats the Aeron chair.
- Get a high-quality ergonomic keyboard. I highly recommend the Kinesis Advantage.
- Decorate your work-space. Make it a fun place to be.
Eliminate temptation to waste time
[You may want to see my blog post on deliberately crippling technology to boost productivity.]
I developed a post-9/11 online news-reading addiction. I read everything: mainstream media sites, forum sites, voting sites, blogs, etc. My default behavior when I wasn't doing something else became to reflexively type cnn.com, fark.com, reddit.com or boingboing.net into my browser.
To stop losing time to these sites, I started blocking access
to them completely by redirecting them in my
But, inevitably, I'd want to check the news for a big story, so I'd unblock a site, and I'd fall quickly back into my reading addiction. As always, learning moderation is key. Three techniques have helped me manage the habit:
- Restrict access to optimal hours. My brain is slowest in the morning and after I get home from work around 6pm - 7pm. I used to use LeechBlock for Firefox, StayFocusd for Chrome and SafariBlock to limit browsing time-wasters to exactly these time periods. Lately, I've taken this to an extreme: permanently blocking all time-wasters on my laptop. After withdrawal symptoms subsided, it's been great.
Dump polling as a web-surfing style.
Polling web sites for updates is inefficient
You may check a site 100 times with no updates, but on the 101st
check, you get a news nugget, and the habit gets reinforced.
Psychologists have known that randomly rewarding a subject for
good behavior leads to the strongest conditioning, with the
longest period to extinction when the reward is removed.
(It takes months to break the habit on mindlessly pounding out
your favorite URLs even once they're blocked.)
Use RSS and
Google Readerdigg reader to funnel all of the sites you read into a single stream. With an RSS aggregator, you can tear through all your regular sites in a fraction of the time, once a day.
- Subscribe to dead-tree newspapers. I skim the print version of The Wall Street Jounal every morning, and a pick up a copy of the New York Times on campus for reading in the afternoon.
When breaking a browsing habit: prepare for withdrawal symptoms. I found myself sorely tempted to circumvent my own blocks on an hourly basis after I first put them in place.
Utilize every anti-circumvention feature available at first, and slowly disable them once you've "detoxed."
Salvage dead time with technology
Life is full of dead time: waiting in offices, waiting in airports, waiting before a lecture, waiting on the bus. Dead time adds up.
Fortunately, there are low-transaction-cost devices which make it easy for an academic to be productive the moment dead time begins: eReaders like the Kindle, the iPhone and, of course, the iPad.
Carrying around a thin tablet holding all of the research papers you have read (and the ones you want to read) salvages otherwise wasted time.
Storing these papers in the cloud makes access easy.
For cloud storage, I really like Copy's simple interface, generous free space and fair-sharing policy.
These devices reclaim a lot of dead time with productive reading, particularly peer-reviewing for conferences and journals.
For extended reading on the iPad, use the Accessibility controls to invert the display to white on black. Your eyes will thank you.
Get rid of your TV
I don't miss TV at all.
Consolidate email accounts
All of my email accounts forward into GMail, so I have one place to check, and I don't miss emails. Through IMAP, I keep all of my emails synchronized with my iPhone and backed up to my hard drive with Apple Mail. I even uploaded eight years of email history to GMail so it would all be quickly and easily searchable.
For years, I tried about one new email client each year: Outlook, hotmail, pine, Evolution, Thunderbird, Apple Mail, mutt. Originally, I set up GMail as a spam filter for mutt, but I quickly grew to prefer its interface. For the last four years, I've been totally satisfied with GMail:
- GMail takes a major step out of migration to new computers.
- Accessing email while away is easy, and a lost/stolen laptop is less catastrophic.
- GMail can view PDF, Word, Excel and PowerPoint files without an external viewer.
- GMail respects power users with flexible filters and keyboard shortcuts.
- GMail has a public, documented Greasemonkey scripting interface. If something about GMail bothers you, you can fix it rather quickly. Many Greasemonkey scripts for GMail already exist.
- GMail allows export through POP, so you can keep personal backups of all your email.
- GMail allows synchronization through IMAP, so you can share the same view of your email through multiple computers and multiple clients. For instance, if I send, read or sort email on my iPhone, the changes are reflected immediately on GMail and vice versa.
- Labels are strictly more powerful than folders for email cataloging.
- GMail has excellent spam filters. I get 100,000 spams per month. About 100 of those reach my inbox.
- Google Apps is a simple way to manage email for a private domain (like might.net). Until recently, I used to run my own SMTP/POP servers for my domains. Then, my virtual server went down after four years of uptime, taking half a day's email with it. I had all my domains back up and running within a couple hours after setting them up on Google Apps. This makes it a lot easier to upgrade my server now, too.
The same advice for web-browsing also applies to email. Install a notification tool (like GMail notifier), so you only check your email when you get a new one. Constantly checking email wastes time.
Note to privacy hounds: If you object to handing a company like Google all of your email, realize that your incoming and outgoing email passes unencrypted through multiple intermediate servers and routers. Your ISP already harvests all of your packets for advertisers. Google, and anyone else that wants it, already has most of your email. Prove this to yourself by sitting near a public wi-fi access point and running wireshark.
If you "care about privacy" but you're sending or receiving anything sensitive over email without encrypting it with something like PGP, you are doing it wrong. If you have sensitive email (or any sensitive information, really) on your laptop, and you're not encrypting your hard drive with strong encryption and a good password, ditto. Properly encrypting your data is the only way to keep it safe from prying eyes.
I use pre-emptive encryption for the same reason I wear my seatbelt: I hope I'm never glad that I used it.
Work from a laptop
- When choosing a laptop, optimize size and battery life for mobility; maximize hard-drive space. Use a server for number-crunching.
- Get an external keyboard, mouse and monitor. Big second monitors boost productivity.
- Make your laptop your centralized data store to avoid synchronization headaches. While I still had a desktop, I exported my home directory over NFS from my laptop to my desktop. SAMBA or AFS works about as well.
- Use your laptop as your primary hard drive, and backup your laptop on a weekly basis. Apple's built-in Time Machine software makes backing up completely automatic and transparent.
- Buy a separate power adapter for every location where you regularly use a laptop.
Use a calendar system
As a graduate student, life was simple enough that I could keep what I had to do and all the major deadlines in my head. As a professor and a father, my schedule is packed with a random assortment of appointments and places to be. My wife and I synchronize our calendars using Google Calendar.
Synchronizing calenders takes the coordination overhead out of staying organized that the rushed are prone to avoid.
Power-use a smartphone
Smartphones like the iPhone and those running Android are a quantum leap ahead of their predecessors in terms of capabilities. I'm partial to the iPhone, in part because there are apps available to do just about anything you can think of doing on a small, net-connected portable device with access to GPS.
Turn off instant messaging
Instant messaging technology is great, but it makes it too easy to be interrupted, and in science, interruptions are fatal to good research. The people that actually need to be in touch with you can call, SMS or email.
Minimize collaboration costs
- Running a research group is a lot like running as small business. Make it real by branding your research group: give it a name. (Like U Combinator!) If you're working a project, give the project a product name or a code name.
- Exploit collaboration tools for writing papers. CVS was the old standard. Subversion (SVN) has been accepted across many academic disciplines. Tools like SVN and CVS allow multiple people to work on the same document simultaneously. Most of the time, it can integrate changes without asking the user what to do when two people modified the same file.
- Set up a virtual dedicated server to run services (ssh, email, shared disk, web sites, forums, wikis, svn) for your research group. I recommend whatever the cheapest plan on linode.com is for this purpose.
Use a citation/paper-management system
In grad school, I managed a BibTeX file by hand. Whenever I started working on multiple projects with multiple people, this system would start to collapse, and my BibTeX file would get out of sync. Fortunately, there are great citation-management tools to automate much of the hassle now. I've tried Mendeley, Zotero and CiteULike. Of those three, I prefer CiteULike:
- CiteULike supports importing citation information automatically from many existing scientific databases.
- CiteULike does the best job of accurately importing citation information.
- CiteULike makes group collaboration easy.
- CiteULike BibTeX files for a user or group can be pulled
from a URL on the command line with tools like
- CiteULike exports in plaintext, so you can freely move or collaborate with another citation-management system like BibDesk.
If you must procrastinate, try to procrastinate on something with a later deadline rather than something frivolous. I often spend the day before a submission deadline working on my next paper or grant proposal.
If you can't bring yourself to procrastinate on work, try procrastinating on meta-work like trying out things from the Academic Productivity Blog.
Iterate toward perfection
Treat perfection like a process, not an achievable state. Perfectionism is crippling to productivity. I've known academics that can't even start projects because of perfectionism. I know some academics that defend their lack of productivity by proudly proclaiming themselves to be perfectionists. I'm not so sure one should be proud of perfectionism. I don't think it's bad to want perfection; I just think it's unrealistic to expect it.
The metric academics need to hit is "good enough," and after that, "better than good enough," if time permits. Forget that the word perfect exists. Otherwise, one can sink endless amounts of time into a project long after the scientific mission was accomplished. One good-enough paper that got submitted is worth an infinite number of perfect papers that don't exist.
The publication structure of computer science even rewards the iterative process, as I'm sure it does in other fields as well.
- Mold an idea until it's well-formed; provide some examples and motivate intuition; if there's time, do preliminary empirical validation. Send this to a workshop to get feedback on the idea. Also, keep in mind that workshops are meant for preliminary research, not preliminary papers. A workshop paper still has to be a complete, well-written paper.
- If the idea looks like a good one, empirically validate it and firm up the theory. Send this to a good conference. [In computer science, RPT is based on good conferences rather than good journals.]
- If enthusiasm for the idea is high, write the journal article a year or so later, when you've had time to distill the essence and the impact of the work.
To achieve an iterative work-flow, make iterations easy:
- Once you know you're going to do something, start on it right away: create a blank document file, create a blank presentation file, start drafting the email (with To: field blank). Then, if at any point in the future, you're moved to work on it, the transaction cost of doing a little more work is near-zero.
- Work on a project whenever you're moved to work on it. Don't pay attention to deadline ordering unless it's an n-day project, and only n free days are left.