MathJax

Friday, January 31, 2014

Sharing tribal knowledge in N easy steps!

Fun for the whole team! You'll need:

  • a decent spectrum of junior and senior team members
  • a whiteboard
  • markers

These sessions can last for about an hour at a time, weekly or biweekly.

  1. Prepare the discussion by having two seniors discuss a design detail for a contemporary change to the system.
  2. Write the domain-specific terms on the whiteboard as they come up.
  3. When there's a good amount of terms on the whiteboard, go around the room from the newest to most tenured member of the group. Everyone takes a turn explaining as many terms as he can as accurately as he can. The next person may correct or augment the explanations of previous explanators before tackling terms that have not yet been discussed.
Try this when you have an influx of new teammates or just as an occasional refresher to keep everyone on the same page. These discussions have a way of fitting their groups like a glove. Open question: Does this work with teaching new games to board game groups?

Wednesday, January 29, 2014

A month with Daily Planner

My theme for 2014 is reclaiming time in my personal life. There's one app that has made all the difference so far.

Daily Planner
Daily Planner is awesome.

There's a lot I'd like to do in my life, and only so much time. Just like we have bills and budgets for our money, we have schedules and to-do lists for our time. Just like the best camera is the one you have with you, the best to-do list is the one you use.

This app doesn't do much, but what it does it does well. Its interface is clean and it has support for replenishing lists you make for tasks that recur daily and weekly (so the task to make my bed is waiting for me in the morning, rather than me having to add it).

To-do lists are important enough for your employer to want you to use them. How much more should you be using a list to keep track of your own life?

Perhaps you fear becoming a robot, a slave to a list? Consider this: we all have 24 hours in a day, and we spend those hours somehow. Planning for what you want in your life and augmenting your discipline with tools to get you there just means that you're filling the one filling out your list rather than someone else (reddit/Facebook/Netflix/Wikipedia binges/your media of choice). In many ways, using a to-do list is less robotic because you're choosing how to behave, rather than riding a wave of dopamine from systems that optimize for diffuse attention. What's more robotic: writing, eating breakfast, practicing the piano, having a clean house, and taking care of those long-procrastinated tasks, or clicking through even the highest-quality list-based articles with animated gifs and hyperbolic headlines? Anyway, that's just my response to the potential "robot" straw-man.

(It just took me about 30 seconds to recall the word "procrastination." I'm choosing to interpret this as an indicator that my productivity has indeed increased.)

Your time is valuable, so here is the short version of the other reasons I love using this app:

  • Urgent tasks rob me of time and freedom. Having a list allows me to optimize the completion of tasks I need to get done before they become urgent.
  • Having a list lets me take advantage of time that would be otherwise wasted.
  • Web browsing is no longer something I do for its own sake, but something I do in the service of working through items on my list.
  • Checking things off the list is quite causes me to experience less guilt and more freedom.
  • Seeing the things I don't get to reminds me that time is limited. Having a list prioritized keeps me focused on what I most want and helps me stop myself from overcommitting.

So try it for yourself. Install Daily Planner or some equivalent app to your smartphone. Place the app's icon where Facebook's icon used to be (now you have muscle memory working for you rather than against you!). If you hate it, go back in a week. I doubt you'll hate it.

Welcome to the life you meant to live.

Monday, January 27, 2014

Every little bit counts

My junior year high school English teacher expertly seared certain moments into the class's brain. He would talk about how he had room for a finite number of friends and that no new spots were available. He would talk about how he could draw a perfect circle for the zero he would give us for papers which contained the passive voice, any conjugation of "to be" and any "thing" words.

A student skeptical of the benefits of Notehand (an abbreviated handwriting style we learned) asked Mr. Bounds how much time Notehand actually saves. "Tons," he replied.

If you have aspirations to speak to software, you will learn to interact with the command line. A handy tool of the *nix command line (though you can sort of do this in Windows) is the alias command, which allows you to define your own shorthand commands. Here are a few of the aliases I use for git:
alias g='git'
alias gs='git status'
alias gcm='git commit'
alias gch='git checkout'
alias gb='git branch'
alias gl='git log'
alias gm='git merge'
alias gr='git rebase'
With these aliases in my .zshrc file, I can spend more time examining the state of my repository on the command line and less time in the mental limbo between seeking information and accurately typing the request. Time saved: Tons.

Example 2: Google Chrome allows you to set up various "search engines" if you go to Settings > Search > Manage search engines... . This lets you do a Google search by typing into your address bar with a prefix you specify, e.g. "google" for Google, "yahoo" for Yahoo, or "bing" for Bing. Of course, it's much faster to change these from these outrageous defaults to g, y, and b respectively.

Here's another point to consider: Google Chrome can treat any URL as a "search engine." "Search engine" to Chrome just means, "here's a URL template. It's got a '%s' in there somewhere. When you type your keyword, what follows will be substituted for the %s and your browser will go to that URL." This means, for us with a company intranet, that many of the intranet pages and lookups can be greatly, greatly simplified.

As an aviation example, using "metar" for "http://aviationweather.gov/adds/metars/?station_ids=%s&std_trans=standard&chk_metars=on&hoursStr=most+recent+only&chk_tafs=on&submitmet=Submit" allows me to look up the current weather conditions at Friday Harbor by typing "metar kfhr". This isn't nearly as cool as my work examples, but has the huge benefit of containing no confidential information.

Look for other little things. Watch the time saved add up. Enjoy!

"Hello there, Miss Doesn't-find-me-sexually-attractive-anymore. I just tripled my productivity." - The Simpsons, "King Size Homer"