Experiments in Life Because Sometimes Science Screws Up!

23May/090

Weight Tracking – Part 2

So, in writing the previous post on my Weight Tracking spreadsheet, I came upon a bit of a conundrum. I wanted to export my graph as an image, but I could not figure out how to do that in Numbers. I am sure that there is a way to do so, but it was not immediately obvious, even with a brief Google search. So, being a good engineer, I decided to roll my own weight tracking script.

Writing my own script has several advantages. First, writing my own script gave me a simple project to begin learning Ruby, something I have been wanting to do. Second, it allows me to extend the script with functionality that might be clumsy in a spreadsheet. Right now, I am just keeping track of the same information that I did in the spreadsheet, dates and weights, only I track it in a simple text file. The script calculates the sliding average for me. If needed, I can easily munge the data in other ways or pull together a secondary text file with other information like my workout routine. I know that I could do the same thing in a spreadsheet, but I like the flexibility that a full programming language gives me over the comparative restraint that I feel when I am hacking together formulas in a spreadsheet. Additionally, my data is kept in a simple text file instead of being tied to a Numbers spreadsheet.

Finally, and most importantly, I was easily able to pull in a library that allowed me to plot my weight and the sliding average of my weight over time and export it as an image file.

Weight vs. Time

There are two obvious improvements that I will likely implement. First, I am calculating the sliding window average of my weight as an integer. That is what causes the strange steps on the graph. I will probably change to calculating the average as a real number, just to make the graph a little smoother. Second, I think that I want to have more points on the X-axis of the graph. Looking at it, I think that the first of each month should be marked on the graph, possibly with lines of demarcation running in the Y-direction at each monthly border. I will have to play around with it and see what all I can do with the graphing library. That is the great thing about being a programmer; if the software you are using does not do what you want it to do, you can either fix it or write your own version.

16May/090

Weight Tracking

In late March, I decided to do something about the abysmal shape I was in. On the exercise front, I started doing push-ups, sit-ups, and walking/running six days a week. Long before I started any of that, I began putting my data collection skills to use by tracking my daily weight. So, in the last few days of March, I set up a simple spreadsheet to log my weight every day just before I get in the shower. I graph my weight versus time off to the side of the spreadsheet. Additionally, I calculate a 7-day sliding window average of my weight to try and smooth out the little fluctuations that occur from day to day. I also graph this and overlay it on the raw weight data.

In the early April time frame, I was very carefully watching what I ate and, as the month moved on, I noticed my weight graph showing a nice, downward trend. Then, as I began seriously working through the push-ups and sit-ups, before I began walking and running, I started to notice the graph sloping back up. At the moment, I am attributing that to the muscle-building workout that I have been doing, since I have not changed my eating habits in the past several weeks. Starting the walking and running seems to have curbed the incline, but I am still not doing a large enough amount of cardio exercise to push the trend back downwards.

I am considering augmenting my spreadsheet with push-up, sit-up, and walking/running data per day to see if I can correlate a decrease in my weight to increases in my workout routine. If everything is going well, I would expect to see that correlation. If not, I suppose that means that my eating habits have changed and I just have not noticed.

9May/091

Task Management – Task Tracking

As I mentioned before, Tasks has its share of warts, but it seems to work well enough for me at the moment. In keeping with the GTD tradition, I split my tasks into two categories — projects and actions. Tasks does not have the concept of projects; it only has the concept of tasks. However, I can assign sub-tasks to a task. Additionally, I assign a tag of my choice to a task. So, I combine those to features to give me project support:

  • A project is defined as: a root-level task that is tagged with 'project' OR a root-level task that is tagged with 'someday'
  • An action is defined as: either a sub-task of a project OR a root-level task that is not tagged with 'project' or 'someday' and has a date assigned to it.

I use these conventions to help me do my weekly review every Sunday morning. First, I scan the actions associated with my projects and try to schedule actions for the upcoming week. Next, I scan my someday projects and decide whether I want to promote them to projects or not. This all works fairly well in Tasks because I can look at my tasks by tag.

On a daily basis, I tend to heavily use the Upcoming screen in Tasks. The upcoming screen nicely breaks down in Overdue tasks, Due Today tasks, and Due within 7 Days tasks. So, at any point, I can see what I need to get done that day and in the near future. If, in some strange twist of fate, I run out of tasks to work on that are either overdue or due that day, I fall back to tags again. All of my actions are tagged with a context like 'home', 'work', 'web', 'errands', etc. When nothing else is pressing, I check the tag for the appropriate context I am in and try to see if there is anything that I have the energy to work on. If so, I work on that. Otherwise, I can rest.

   

Pages

Categories

Blogroll

Archive

Meta