Customized Day

The Day in the Life example uses rtimelog without any customization to introduce the features of the program and show the details tracking tasks.

The reality is that many of the tasks you will want to track are repeated either in full or in part every day, or multiple times during the day. The Aliasing feature allows you to customize the command line more to your way of working.

How I Would Customize

Shortening the Command Name

The name of the program is too long for me to type multiple times a day. So, I use a shell alias to make it shorter. In the bash shell, that would be:

alias tl=~/.cargo/bin/rtimelog

Tip

Most command line shells support the ability to alias a command with a string of your choosing. I often use this feature to shorten commands I type a lot. For example, I have single character aliases for my editor and for git.

This allows me to use tl on the command line instead of typing 8 characters. I have added this alias to my .bashrc file to make the alias always available.

Using rtimelog Aliases

My ~/.timelogrc configuration file would contain an [alias] section with shorter commands for common tasks. For the example, I’d have probably added at least the following:

[alias]
  email = start +Admin @Email
  foo = start +Foo
  pfoo = push +Foo
  foocode = start +Foo @Code
  foodocs = start +Foo @Docs
  foomtg = start +Foo @ConfCall Team Meeting
  barhelp = push +Bar @Help

Quicker Workday

Note

The following sections are a shortened version of the example from the previous chapter. The text is a shortened form of the description. More importantly, it uses aliases to reduce the typing for the rtimelog commands.

The aliases reduce my task typing to the following:

Morning

Starting the day with email.

  $ tl email

Start on processing module for Foo.

  $ tl foocode processing module

After about an hour and a half, you are pretty comfortable with the changes to the processing module. Make a detour into performance testing

  $ tl pfoo @PerfTest processing module

After half an hour, you’ve identified some performance bottlenecks and return to coding in order to fix what you’ve found. Quick check to verify what’s on top of the stack.

  $ tl stack top
  +Foo @Code processing module

Let’s resume the coding work.

  $ tl resume

When you finish tidying up the performance work, you decide to move on to the database module. Since this is not a temporary diversion, you will use start again.

  $ tl foocode database module

As noon rolls around, it’s time to take a break for lunch. We can use pause to stop what we are doing after pushing the current task on the stack to resume later.

  $ tl pause

Afternoon

When you get back from lunch, you decide to take care of any morning email before your team meeting at 1pm. You start the email task again.

  $ tl email

At 1pm, the conference call with your team begins. You start that task. Since we are going to be talking about the Foo project, make sure to set the project name appropriately.

  $ tl foomtg

When the meeting is over, you need to change tasks. During the meeting, you agreed to do some general work on the manual for the project’s software. Enter the task to begin working on that.

  $ tl foodocs working on manual

About 20 minutes after you start on the manual, Emma comes by to ask about the project you worked on last week. Since this is will be a temporary interruption, we use the push command. Once again, this will make it easier to restore our task when the interruption is over.

  $ tl barhelp Emma questions

When all of Emma’s questions are answered, you go back to the manual work using the resume command.

  $ tl resume

A while later, you’ve finished with the manual for today and want to finish up the work on the database module for the Foo project. Since you paused for lunch, you can once again use resume to pick up where you left off.

Once again, you’ll probably want to check the top of the stack to confirm you didn’t have anything else waiting.

  $ tl stack top
  +Foo @Code database module

Resume the database work.

  $ tl resume

You get some good uninterrupted time on this and finish up the module in time to stop at 5.

  $ tl stop

Conclusion

Using a shorter name for the command and aliasing common tasks make use of rtimelog more efficient to use. The most important thing to keep in mind for your aliases is to pick what works well for you. There are probably tasks you will do a dozen times a week that I can’t imagine. Customize the aliases to make your work easier.