Category: personal automation

My Reading List Short Code for WordPress is Available on GitHub

A while back, I posted about how I use a simple text file to track my reading list, and then use that as my authoritative source for tracking my reading. I showed, for instance, how I use a short code in WordPress to neatly format that text file so that I never have to update WordPress  when I add a new book to my list. It updates automatically.

A few people asked if I would share my code, and now that I’ve had a chance to write up some simple instructions, I’ve made the code available on GitHub.

As always, this code is use-at-your-own-risk. It has worked without a problem since I started using it last month. While you can use this code right in your main theme, I recommend using it as part of a child-theme, as it is much easier to maintain.

Feel free to use it, and modify it as you like!

My New “Analytics” Desktop

Every now and then, I need a change of scenery, and that includes what I see on my computer desktop. I spent this afternoon giving my desktop a long-overdue makeover. And thanks to the fact that my to-do list is based on text files, and that I use text files for many other things, it was fairly easy to include some real-time analytics embedded into my desktop via GeekTool. Here is what my new desktop looks like. Click on the image to see a larger version.

Analytics Desktop
Click to enlarge

I have a 27″ iMac so my screen is pretty big. I use multiple “desktops” but all of them have the same basic look as above. I found a cool typing paper background and an old typewriter font to give it some flavor. You’ll note I’ve made 3 annotations on the image. I’ll discuss each of these below.

1. My to-do list rundown

I use todo.txt to manage my to-do list, and there is a little add on that takes your to-do list and produces a rundown. basically, it shows you what you completed yesterday (or the last day on which you completed a task) and what is still on your list. I embedded this into my desktop using GeekTool, and it updates automatically as my to-do list changes. This means that I never have to look further than my desktop to see what is on my to-do list.

2. Date/time/weather

GeekTool allows you to run shell commands and render the results as widgets that are embedded into your desktop. I used three different simple shell scripts to produce the date/time/weather section of my desktop:

For the date:

date +"%A, %b. %d"

For the time:

date +"%l:%M"

and for the weather:

curl --silent "" | grep -E '(Current Conditions:|F<BR)' | sed -e 's/Current Conditions://' -e 's/<br \/>//' -e 's/<b>//' -e 's/<\/b>//' -e 's/<BR \/>//' -e 's/<description>//' -e 's/\(.*\) F/\1° F/' -e 's/<\/>//'

I got the latter from a repository of GeekTool scripts. It basically parses Yahoo’s weather for your zip code and produces a simple result.

Reading/writing metrics

Books read this year

I’ve explained how my main reading list is a plain text file that I keep in Dropbox. Because it is plain text, it can be easily manipulated. I can parse it to produce my formatted reading list page. And I can also use simple UNIX commands to extract additional information. To produce the number of books that I’ve read so far in the current year is as simple as running the following command:

grep `date '+%Y'` ~/Dropbox/Public/reading.txt | wc -l

For those who don’t speak UNIX, all this command does is searches for anything in my reading.txt file that contains the current year. It then filters the results through the “wc” command, which is the word count command. The -l says to count the number of lines int he results. Since I have one book per line, whatever that number of resulting lines is represents the number of books I’ve read so far this year.

What I’m currently reading

I wrote yesterday of how I keep a now.txt file that contains the title, author and Amazon product code of the book I’m currently reading. To produce this information on my desktop, I run a command that parses the contents of that file:

cat /Users/jamietr/Dropbox/Public/now.txt | sed 's/(.*)\(.*\)/\1/'

Read more

How Text Files Help Me Automate Common Text Expansions

I‘ve discussed how I use TextExpander to speed up commonly typed things (like my email address). Or things that I can’t always remember (like my home phone number). Recently, I’ve been taking a closer look at what I type over and over again, and have done some automation that allows me to automatically expand another common thing I type: what book I am currently reading.

A while back, I explained why I love plain text files, and gave an example of how I use them to maintain my reading list. One of the text files I have in my public dropbox folder is what I call now.txt. The contents of now.txt is nothing more than what I am currently reading, in a simple format. Today, the entire file looks like this:

John Adams by David McCullough (B000FC0QHA)

where the code in parentheses is the Amazon product code.

Whenever I start a new book, I update my now.txt file with what I am currently reading, and include the Amazon product code. I type it into this file once, and never have to type again.

That is because I have taught TextExpander to read the file and parse it into one of four different snippets. Reading and parsing the file is simple. Since the now.txt resides in my public Dropbox folder, and since that folder is synchronized with my Mac, the file is always accessible from my Mac. So I wrote some simple UNIX bash scripts to parse the file.

TextExpander allows you to create expansions out of shell scripts, and so I can easily call my UNIX bash script as an expansion in TextExpander. The four expansions I have created are:

1. ;;book: Whenever I type this shortcut, it expands into a line of text containing the title and author of the book that I am currently reading (the one that is in my now.txt file.) It expands wherever TextExpander works, which on my Mac is everywhere. So I never have to retype the book I am currently reading. If someone asks in email what I am currently reading, I can reply and use my shortcut, which will expand to whatever my shell script parses out of my text file. Right now, when I type the shortcut, it expands to this:

John Adams by David McCullough

Of course, if I change the contents of the file, the results of the shortcut expansion changes as well. Here is the shell script I run for the text expansion:

cat /Users/<login>/Dropbox/Public/now.txt | sed 's/(.*)\(.*\)/\1/' %<

I won’t bore you with what it all means. Just understand that if the text is in the format I listed way up above, this will parse it correctly. Also, substitute your login name where it says <login> in the path. In TextExpander, it looks like this:

TextExpander Current Book snippet

2. ;;title: This expands to just the title of the current book I’m reading, as opposed to title and author. So right now, it expands to:

John Adams

The code for this snippet is:

cat /Users/<login>/Dropbox/Public/now.txt | sed 's/\(.*\).*by.*/\1/' %<

3. ;;author: This expands to just the author of the book I’m currently reading. Right now it expands to:

David McCullough

The code for this snippet is:

cat /Users/<login>/Dropbox/Public/now.txt | sed 's/.*.*by.\(.*\).(.*/\1/' %<

4. ;;amazonlink: Sometimes people ask for more information, or I decide to embed a link to the book in Amazon. This usually requires me looking up the book in Amazon, and copying the link. I sometimes do this a dozen times. Rather than do that, I include the product code in my now.txt file. Typing this shortcut then expands to the full URL to the book in Amazon:

The code for this snippet is:

cat /Users/<login>/Dropbox/Public/now.txt | sed 's/.*.*by.*(\(.*\))/http:\/\/www\.amazon\.com\/gp\/product\/\1/' %<

This means that I only need type the information about what I am currently reading once, in my now.txt file. After that, so long as I keep that file up-to-date, my text expansions will always expand using the values in that file. You can imagine plenty of other examples of this for common information you type regularly, but that also changes fairly regularly.

Enjoy these posts? – Tell a friend

Recommending readers is one of the highest compliments you can pay to a writer. If you enjoy what you read here, or you find the posts useful, tell a friend! Find me online here:

Twitter | Facebook | Google+ | Blog | RSS

Or use one of the share buttons below. Thanks for reading!

FAQ: How Do You Do It All?

One of the more frequently asked questions I get, and one that inevitably surprises me, is the question, “How do you do all that you do?” It surprises me because I am always feeling like I could have packed a little more into my day if I really tried. I suppose it also surprises me because I am used to working how I work, and what I do is just what I do.

But, since some of my Arlington Writers Group comrades have asked the question, and since I didn’t have a recent post giving an answer, it seemed best to answer it here so that I could point others to this post when the inevitably question comes in. Here, then, are my 5 secrets to how I think I do it all. I could be wrong.

1. First big secret: I work incrementally

This “secret” is not going to please people who are looking for a quick way of increasing their productivity, but I include it because it really does make huge difference. I work incrementally. What that means is that, over time–and often over long spans of time–I steadily increase the amount of work I do. These steady increases go almost unnoticed, but they are also fairly regular, and that means that over periods of years, I find that I am doing a lot more than I used to do.

When I discuss this, I often refer to Milo of Croton1, the ancient Greek body-builder. The story is probably apocryphal, but it gives the flavor of what I mean. Milo was a body builder who had a unique method of training. He would supposedly lift a newborn calf everyday, until, eventually, he was lifting a full-grown cow.

The small, day-to-day variances aren’t noticeable by themselves, but when compared over longer spans of time, the differences emerge.

I do a fair amount of blogging, and it is just built into my day, without much thought. I know how to write post. Much of it is formed in my head before I type out the first words, and when I begin typing, it is more dictation than anything else. That said, I’ve now been blogging for nearly ten years on a fairly regular basis I’ve written close to 6,000 posts. It is muscle memory at this point, and takes little mental effort, only the time to squeeze it in here or there.

The same is true with lots of other things that I take on.

2. Second big secret: automate what is repeatable

I’ve been doing this more and more, and I’ve written about it on a number of occasions, but I get the sense that it doesn’t always register. Let me be blunt: if I have to do something more than once, I try hard to find a way to automate it. This is easy for me for 2 reasons:

  1. Much of what I do is on computer and that lends itself naturally to automation.
  2. I’ve spend the last 20 years as an application developer/IT guy, and have the knowledge it takes to automate without having to spend time learning new technology.

Of course, the automation happens incrementally. I’ve added all kinds of TextExpander snippets over the years so that I don’t have to keep typing the same things over and over again. But seriously automate where I can. For instance:

  • I use services like IFTTT to automate routine integrations between different online apps.
  • Going paperless has helped tremendously in my ability to automate things.
  • I never spend time formatting manuscripts. I write, and then when I’m ready to submit, I run a script that formats the manuscript for the intended market and generates a cover letter.
  • I have saved searches that collect all of my tax-related documents so that I need to spend only about 5 minutes of my time gathering documents to send to my accountant.
  • I have process that scan my meeting notes for action items and automatically add them to my to-do list.
  • I’ve automated all bill payments.
  • I have tons of canned email responses I sent out.

These are just a few examples of the way that I’ve automated things. And they add up. The time that I am not spending on all of these things frees up time for me to spend with the family, or to write, or read, or whatever it is I’d rather be doing. This goes for my day job as well as the rest of my life.

It helps to keep things simple, which is why I prefer to use things like text files for lists, or Google Docs for writing. The result is that I can seem like I do a lot more than I really do myself, simply because there are a lot of automated processes out there doing the work for me.

Read more

  1. I first learned of Milo in an Isaac Asimov book, although which one slips my mind at the moment.

What “Overload” Looks Like: The Personal Analytics of Being Too Busy

These last few weeks have been just crazy for me. In addition to an usually busy period at the day job, with projects coming to rollout while others are just starting up, and others still need extra help, I’ve also been preparing for the seminar I gave earlier this week, reading and writing for my book review column, continuing to work on my current novella, and, of course, doing family stuff. I have had time for almost nothing else, and when you look at the numbers, it shows.

Here is what a fairly typical week of walking looks like for me:

Typical Week Walking

You can see that on most days, I hit my goal of 15,000 steps (about 7.5 miles) each day. More often than not, I exceed it. The last few weeks, however, I’ve just been too busy to take the time to walk. My weeks have looked more like this:

Busy Week Walking

Here, on the majority of the days, I barely hit 5,000 steps, less than a third of what I aim for. Granted, the cold weather has played a factor, but it was cold today and still managed over 17,000 steps. The bigger factor has been being so busy!

Another way to see this is to look at my fiction writing. Here is a rolling 7-day average of my fiction writing over the last 30 days:

30 Day Moving Average

The red line represents my daily goal (currently 700 words/day). For the first time in a long time, my 7-day moving average has fallen below my daily goal. You can see that this busy phase really took off around January 4th, and has just continued to hammer me. That said, I still have managed to write every day, even if it is less. As of today, I’ve written for 193 consecutive days, and 336 out of the last 338 days. But these last few weeks, the daily totals have been dropping–not because I don’t have the desire, but because I don’t have the time.

So where is all of the time going? Earlier this month, I started using RescueTime, which is about the best tool I could find for tracking your time on the computer in great detail without any effort on your part. According to RescueTime, I logged over 70 hours on computers last week:

RescueTime Productivity

The red represents my non-productive time, but more than 69% of my time was in highly productive work–you can see the breakdown for yourself. (RescueTime goes into far more detail, but there’s no need to do so here.)

This week is looking very much the same as last, but I think things are finally starting to ease up. Also, I’m beginning to say “no” to some things. (I was asked to do a radio interview this evening, but I said no, simply because I didn’t need the added stress.)

I find it interesting to bring all of this data and see what the picture looks like when I feel overwhelmed. In a way, I can extract some data from all of these numbers and build a kind of early-warning system that alerts me when things are moving in this direction again–and perhaps that will help me to better identify when to slow down a little bit sooner.

(P.S.: I do plan to write a more extensive post on RescueTime, which is amazing, but: I’m kinda busy right now.)

Automating My Reading List: A Case Study in the Versatility of Text Files

I try to keep things simple. Back in 1996 when I started keeping a list of the books I read, I did so using a plain text file. I was very much into Linux, which, at the time, was to computer geeks what model trains were to train enthusiasts. So at the beginning of January 1996, I started a text file called “reading.txt” and began keeping a list of the books I read. I kept my rules for the text file fairly simple as well. They boiled down to this:

  1. One book per line.
  2. Record only those books that I actually finished reading.
  3. Capture the title, author, and the date that I finished reading the book.

That was it. Eighteen years later, that text file still exists. Today, it has 558 books listed in it. It has a few refinements as well, but they are all fairly simple. When I first started keeping my list there were no e-books of note. Audible did not exist. These days, I have 4 symbols I will add to the end of a title, that provide a little more information:

  • * for a book that was a particularly good one
  • ^ for a book that I’ve read more than once.
  • + if I read the e-book version.
  • @ if I listened to the audio book.

A quick glance at a section of my reading.txt file, therefore, would look like this:

The Wind Through the Keyhole@* by Stephen King (11/5/2013)
Starhawk@ by Jack McDevitt (11/9/2013)
Old Mars+ edited by Gardner Dozois and George R. R. Martin (11/10/2013)
The Langoliers@ by Stephen King (11/15/2013)

When I started using Dropbox, I put this file in my Public dropbox folder so that I could easily access it from anywhere, but also others who wanted to see it could access it as well. Because the file is plain-text, it requires no special tools to look at it. You can look at it in a web browser. You can open it with Notepad. You cat cat it from a UNIX command line. Any tool you prefer will work with plain text.

When I started using WordPress, I created a version of this list as a page in WordPress. That was convenient because I now had a nicely formatted listing of what I’ve read to which I could point people. But it was also inconvenient in the sense that I had to keep two lists up-to-date, my reading.txt file and my WordPress page.

Not any more. Yesterday, I automated the process entirely so that my reading.txt file is the authoritative source for my reading list. Any updates to that file are now automatically reflected in WordPress.

Automating my reading list

The beauty of text files rests in their simplicity. They may not look as pretty as a Word document, but they are far more versatile. I thought I’d describe how I automated my reading list so that updates in my reading.txt file appear on my WordPress reading list page as an example of the kind of automation text files allow.

1. Public availability.

The first step was to make sure that my reading.txt file was available publicly. This wasn’t a problem since I’ve already had the file on Dropbox for some time. With dropbox, you can get a URL for any file. So grabbed the URL for my reading.txt file on Dropbox as a first step.

2. Create a custom shortcode in WordPress.

The next step was to add a custom shortcode to WordPress. For those who don’t know, shortcodes in WordPress are substitution. You insert a shortcode somewhere in your post or page and it is replaced by something else. In the case of my reading list I created a shortcode called “ReadingList” and when I insert it into a page or post, it expands to my current reading list.

This does require a little programming knowledge, but I kept my code fairly simple. I wrote just enough to parse out the title, author, and date of the book so that I could format it as a numbered list. I also parsed out my symbols so that I could adjust the formatting for favorite books, or color Audible books different from e-books, etc.

Incidentally, I did this as part of my child-theme in such a way that it will not break when my theme is upgraded.

3. Add the shortcode to a page or post.

Finally, I added the shortcode to my reading list page. The entire text of my reading list page now looks like this:

Reading List Text

When you actually go to my reading list, what you see is the expanded list, pulled directly from my reading.txt file on Dropbox, and formatted using the code I wrote for my WordPress shortcode function:

Reading List Page

The power of automation with text files

It used to be that when I finished a book, I’d update my reading.txt file, and then, go into WordPress and update my reading list page there. Updating the reading.txt file takes all of 20 seconds. Updating the WordPress page takes longer, especially if I was doing it from my iPhone.

Read more

A Typical Weekday in 2013 Based on Quantified Self Data

Yesterday, I happened to notice that on my Audible app, I passed 30 days of listening to audiobooks in 2013. That means I spent 1/12th of my year listening to books. I thought that was a pretty amazing statistic, and I wondered how much of my day I could piece together based on data that I collect. Turns out, I have enough data to capture over 80% of what occupied my time on a typical weekday.

Using that data, I put together the following chart. This is what a typical weekday looked like for me in 2013. I used weekday, because there are more than twice as many weekdays as weekends and I generally know that I am working at the day job during the day. Put another way, I have more reliable data for weekdays than weekend.

Typical Weekday in 2013

Working down the list, here are the sources for the data that makes up the chart:

  • Sleeping: data comes from my FitBit Flex. I used the aggregate data for hours slept each night.
  • Reading: data comes from the Audible app. Obviously, this counts only audiobooks and not reading I do using traditional, e-books, or online, but I think it is a pretty good estimate.
  • Writing: data comes from my Google Writing Tracker scripts. Back in October I added some code that allows me to track the time I spend writing. The percentage, not displayed here, is about 3.2% of my day.
  • Working: I typically work 8 hours a day a the day job and that is the number I used here.
  • Walking: data comes from my FitBit Flex. I only used “very active” minutes aggregated for the year. Very active minutes are my “exercise” walks each day. The number does not include the general walking around I do throughout the day outside my walks.
  • Untracked: the 19.6% of my time that is untracked includes everything else that goes on during a typical weekday: commuting to and from work, picking up the kids from school, eating dinner, family time, getting kids ready for bed, etc.

I think this makes a pretty accurate, to say nothing of interesting, picture of a typical weekday in 2013. Even more interesting will be to compare this data to what it will look like for 2014.


My Automated Writing Dashboard

A little something I have been playing around with in the tiny scraps of free time I have is some Google App Scripts that allow me to automate the presentation of some of my writing metrics. Or, in simpler terms: automatically create charts based on my writing data. This is still a work-in-progress, but here is how my automated dashboard is looking as of this morning:

Click to enlarge
Click to enlarge

The biggest benefit of these scripts is that they save me the time of having to create the charts manually from the data. I can open my spreadsheet, click on a menu option, and the charts update automatically. This means that not only is my data collected automatically, while I write, but the charts are now created automatically. And I can spend my time writing instead of manually collecting data and building charts.

By the way, the data for the “Writing Minutes/Day” chart comes from the new scripts I’ve written to track the time I spend writing, in addition to the words.

One Week’s Writing Time, Plotted

Last week, I mentioned how I was testing out modifications to my Google Writing Tracker scripts that allows me to track the time I spend writing, in addition to how much I write. Having collected 8 days worth of data, I now present the initial results of these scripts. There are a few limits to Google Spreadsheets bubble chart function:

  • The y-axis label on the chart below represents the hour of the day (in 24-hours time) that I started my writing session.
  • The x-axis is an internal date designation. Each number on the x-axis represents a day of the week, beginning on November 3. So the number 41,5811 represents November 3, 41,582 represents November 4, etc. all the way through 41,588, which represents yesterday, November 10. That these are numbers and not dates is an artifact of how I am attempting to visualize the data. I hope to be able to fix this so that it displays dates in the future.
  • The size of the bubble represents the duration of the writing session (in minutes) relative to one another. The larger the bubble, the longer the writing session. I also color-coded the bubbles to indicate writing sessions less than one hour and those that lasted an hour or more.

Here is the chart:

Writing Time

A few observations you can make from this data:

  1. The bulk of my writing takes place in the evening. On Sunday, Monday, Tuesday, Thursday and Friday, my writing was generally done after 5 pm (17:00 hours).
  2. On Tuesday evening, I had a long writing session (almost 2 hours). Tuesday evening, Kelly takes the kids out and I have a few hours to write. I use that time wisely.
  3. On Wednesday morning, I have another long writing session (2 hours). I wasn’t feeling well Wednesday and stayed home from work. That time you see is the time I spent finishing the final draft of the story that I sold later that day.
  4. On the weekends, I tend to write earlier in the day.
  5. All but 2 of the writing sessions are blue, indicating that I generally write less than one hour at a time. As I have said before, I have learned to write even when there are only a few minutes available.
  6. On a few days, Thursday, Saturday and Sunday, I wrote more than once each day.
  7. Saturday evening was my shortest session. That small blue dot at about 8pm (20:00) is me writing for 7 minutes.

This is just a sample based on 8-days worth of data that I have collected since modifying my writing scripts to track time. But it is consistent with my experience. I tend to write in the evenings for less than an hour at a time.

I spent a total of 500 minutes writing over the last 8 days, which amounts to about 8 hours and 20 minutes. My average writing session lasted 45 minutes, but those numbers are skewed slightly because of the two unusually long writing sessions I had on Tuesday and Wednesday. Over the course of the 8 days, I had 11 separate writing sessions.

I imagine this data will become more interesting after there is more of it to look at. It will be interesting to see how it looks after I have a complete month’s worth of data. It will also be interesting to overlay this data on how much I write in each session and see what information can be extracted from that.

  1. I believe this number represents the number of days since January 1, 1900.

New Features Coming to My Google Writing Tracker Scripts in January

I am in the process of beta-testing some new features that I have added to my Google Writing Tracker scripts that are currently available on GitHub. The most significant of these features is a means by which to track the time you spend writing, in addition to how much you write.

My scripts currently track how much I write, but they do not track the time I spend writing, something that I am interested in learning. But I don’t want to waste time tracking time. So I have been looking for the least intrusive means for gathering relatively accurate data on how much time I spend on my writing, and I think I’ve got something that finally works.

I am beta-testing the new code myself over the next two months, tweaking it as necessary. If all goes well, I’ll add these scripts to the GitHub repository so that others can use them. I’ll also be able to post the results of some of the data I collect along the way so that folks know what to expect.

Again, these scripts won’t be ready until January, but I thought I’d mention them here in case there was interest in this functionality, in addition to what the scripts already provide.

What I Did in September by the Numbers

Writing and blogging

September 2013 writing

I wrote a total of just over 31,000 words of fiction in September, down from a rather remarkable 46,000 words in August. I think the big difference was that in August, I was pushing to finish the first draft of my novel while in September I actually finished it.

I averaged just over 1,000 words/day of fiction in September, and I extended my consecutive day writing streak to 71 consecutive days, making it just over halfway to my record of 140 consecutive days, a streak that broke back in July while I was at Launchpad.

I did finish the first draft of my novel. I also wrote the first draft of a new story that came in at 7,800 words, and which I am now working on the second draft (and for which I am trying to cut quite a bit).

On the blogging front, I wrote just about 20,000 words worth of blog posts in September, down from 28,000 words in August. If you combine the writing and the blogging, it makes for a total of 51,000 words in September, which ain’t too shabby if you ask me.


I listened to a total of 51 hours of audiobooks in September, down from 56 hours in August, an way down from more than 120 in my best month back in March. In September I managed to read:

  • Salinger by David Shields and Shane Salerno
  • Way Station by Clifford D. Simak
  • The Best of Connie Willis by Connie Willis
  • The Very Best of Barry N. Malzberg by Barry N. Malzberg
  • The Girl Who Loved Tom Gordon by Stephen King
  • Doctor Sleep by Stephen King

Reading has been down in large part because writing has been up significantly. I’d like to read more, but I think I’ve found a pretty good balance at the moment. Doctor Sleep was my 41st book of 2013, which is remarkable for me at the end of September.


I walked 437,00 steps in September, up from 420,000 in August. I’ve been pushing myself a little harder lately. 437,000 steps amounts to about 200 miles worth of walking. Much of the 51 hours of listening to audiobooks took place during those 200 miles of walking.

How was your September?

Life-Logging: The Problem with Food and Mood Tracking

So it seems that what I call “personal analytics” or “quantified self” is also called “life-logging” out in the wild. As regular readers know, I have a kind of fascination with this. I collect quite a bit of data about my life:

  • My activity (how much I walk, how active I am, etc.)
  • My writing (how much I write, how much I blog, how many keystrokes I make)
  • My reading (how much I read, how long it takes me, etc.)

I see a lot of people out there tracking other things, and two of the most common other things I see people tracking are food and mood.

I have tried to track both, and have been overwhelmingly unsuccessful. I think there are two reasons for this, one for food and one for mood.

For food, the reason is pretty straightforward: it takes too much time. I’ve tried it with the FitBit app, for instance, and although there is a nice interface and some shortcuts that you can use, it still takes too long to make it worthwhile to capture the data. First, I have to remember to do it. Second, I have to take the time to do it accurately.

For mood, the problem is different: it is entirely subjective, based on subjective measures, like your own opinion about your mood. Unlike steps, or activity levels, which are objective measures of activity, mood can be influenced by, well, mood.

It seems to me that for lifelogging, the things we track fall into two categories:

  1. Automated logging
  2. Manual logging

I steer away from manual logging (with one exception1) because the real beauty of life-logging, or quantified-self, whatever you want to call it, is that when it is done right, you should not have to think about it.

Part of why the FitBit Flex and the Nike Fuel bands are so successful are for this very reason. You wear these devices and you don’t have to take any action. They collect the data, they sync automatically, and if you have some coding skill, you can pull down the data and analyze it in an automated way.

Not so with food track, which requires not only active input from the user, but some way of reminding yourself to track the information. My guess is that, with few exceptions, food tracking datasets are significantly more incomplete than their activity counterparts.

This is not to say that at some point in the future, capturing this information will not be automated. It may be possible. But until it is more automated than it is right now, I won’t be tracking it. It is probably a little easier to track mood and there are dozens of apps available to help you do it, but again, it is a subjective measure, and I have yet to see an application where such a subjective measure provides real value. Indeed, it may be useful to correlate other data, and if so, it may ultimately become unnecessary.

  1. Tracking my reading, the data of which I collected once every 5 days from the Audible app.