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
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
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 pause
d 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.