Announcement: RedBook v0.5.0 released
Posted by h3rald Sun, 16 Dec 2007 15:07:00 GMT
This new beta release of RedBook introduces quite a few changes when it comes to configuration and setup. Here’s some highlights…
Read more...Posted by h3rald Sun, 16 Dec 2007 15:07:00 GMT
This new beta release of RedBook introduces quite a few changes when it comes to configuration and setup. Here’s some highlights…
Read more...Posted by h3rald Wed, 28 Nov 2007 15:34:00 GMT
I’m pleased to announce a new release of the RedBook daily logging and time tracking script. This release introduces two new operations, four stats-related directives and a brand new Windows Installer able to setup RedBook in a blink, with (almost) no configuration at all.
Let’s have a closer look…
Read more...Posted by h3rald Thu, 25 Oct 2007 13:18:00 GMT
It’s time for a new beta release of RedBook. This was actually going to be a fairly modest release in terms of features, but I actually ended up implementing a lot more than expected, even things which were planned for the first production release 1.0. So, let’s see what’s new
I had a look at the names I choose for the operations and I noticed that they were either not intuitive enough or too verbose. So I decided to change a fair few of them (thus breaking compatibility with previous versions, but after all that’s what beta releases are for, right?):
| OLD | NEW |
|---|---|
| :complete | :finish |
| :load | :select |
| :load_config | :config |
| :load_log | :refresh |
| :timecalc | :calc |
| :stop | :quit |
A while ago I discovered TiddlyWiki, but as a matter of fact I never used it for anything practical. From last week though, I started using it a work for taking notes and create short memos, and then I thought of using it to replace RedBook’s standard README file (which was made in a hurry and was kinda cryptical). Now a brand new “manual.html” ships with RedBook—308 KB (30 of actual docs and 278 of Javascript/HTML/CSS magic) with everything you need to know about it. Additionally, an online version is available at the following address:
OK this is not good news for people (like me) who use RedBook on Windows, but I promise you’ll forgive me when you read about the other new features below. I discovered by chance that the Win32::Console library (which was used to get colors working on Windows) seems not to handle international characters properly and also seems to be conflicting in some way with the Readline library I decided to include (see below). I don’t know whether this is a problem of the actual library or just of the gem used to pack it.
The config.yml file has been renamed to rbconfig.yml. Additionally, if you place a file with this name in your $HOME directory it will override the one in your RedBook folder (This was done in preparation for the RedBook RubyGem).
The following new operations are available:
Some Mac users originally complained that the backspace key wasn’t working in RedBook (and it didn’t in Linux either). Fortunately the solution to this was easy enough: include the GNU Readline library. Readline is now being used in RedBook to:
Finally, I decided to implement another feature which was originally planned for the 1.0 release: international characters support. This is possible using the Iconv Ruby extension (requires GNU libiconv) which can convert strings between different character sets. The character sets needs to be configured via the rbconfig.yml file.
For more information, check out the ChangeLog
Posted by h3rald Mon, 08 Oct 2007 11:05:00 GMT
“Release Early, Release Often” —Eric S. Raymond, The Cathedral and the Bazaar
In other words, time for another (early) release of RedBook. There are quite a few new features which are worth examining, in particular:
This was actually already available before, just if you inputted a search string which was not a regexp, you’d get an unhandled exception (more or less). This exception is now handled propertly so you get a pretty message instead, if an error occurs when parsing the search string.
A new :backup keyword is available to quickly backup your log file. Here’s what it does:
Handy, especially if there was a similar keyword to restore the last backup, which is planned for later on.
This is perhaps the most important feature introduced by this release. It is now possible to configure more than one log file by adding any number of :data_<alias>: settings inside your config.yml file, where alias is the name of your log file. So, for example, if your config.yml file contains the following:
:data_test: “testlog.yml”
You can load the “test” log by typing
:use test
(:use is a shorthand for :load_log). Similarly, another new keyword :dest has been introduced to be able to log a message to a different log file without loading it into memory, like this:
:log This message will be saved to testlog.yml :dest test
Finally, a :refresh keyword has been introduced as an alias to reloading the current log.
Right when I was coding the :timecalc operation, I thought it would be nice to be able to log the start and end of a task without having to type it twice. Now this is possible using the :complete keyword:
:log Testing feature X in product Y
:complete
:complete will re-log the last message prepended with [COMPLETED]:
4 Mon Oct 08 2007 – 10:47:45 AM Testing feature X in product Y
5 Mon Oct 08 2007 – 10:54:31 AM [COMPLETED] Testing feature X in product Y
What if I start another task before completing the first one? No problem, it is sufficient to load the last activities using a :load command and then issuing :complete <number> where <number> is the index of the loaded activity. This nifty little feature will become more and more important when (starting from release 0.4) I’ll implement more time tracking functions, and it will be possible to track completed tasks in a specific timeframe and/or marked with a specific tag.
To conclude, as someone pointed out that it would be cool to use RedBook from launchers like Launchy or Quicksilver, I made another standalone script (redbooklet.rb or redbooklet.exe) which is just able to parse a log command and write a message to the specified log file. To use it with Launchy, for example, all you have to do is the following:
That’s all folks! As usual, if you have any comment or suggestion feel free to reply to this post or email me. For a list of the planned features and releases, check out the Milestones page.
Posted by h3rald Sat, 29 Sep 2007 20:05:00 GMT
Logging your daily activities is important. If you don’t believe me you’d better check at least these three posts on LifeHacker, which feature different scripts and applications:
I had a look at each one of them, and I believe they are quite useful, although I didn’t really find what I was looking for. Why? Well, for example:
That’s why I thought I’d roll out my own: meet RedBook. Let me say it’s nothing fancy: I’m not a full-time programmer but I do like playing with Ruby during my lunch breaks at work, so that’s why RedBook is just a humble, tiny Ruby script. This automatically makes it cross-platform: you can install Ruby very easily on Linux & alikes, Mac OS X and Windows. Furthermore, if you are on Windows and for some weird reason you don’t want to install Ruby, you can just try out the packed EXE file (made with RubyScript2Exe)—it’s about 2MB, but you won’t need anything else.
Read more...Posted by h3rald Sat, 29 Sep 2007 08:12:00 GMT
I’m somehow pleased to announce the opening of a new section on this site. Nothing too big actually, it’s just a page with a few (one for now) brief descriptions of open source programs and scripts I made and I’d like to share with my readers.
Don’t expect fancy stuff: (luckily) I don’t code for a living, I code for pleasure and I code small things. Lately I’ve been trying to write a small Ruby program able to log my daily activities and also display them in a pleasant enough way, so I started using my lunch breaks at work more constructively and I came up with RedBook an interactive command-line program written in Ruby.
Main features:
All done via command line via simple commands:
:log This is a test message :tags test
:load :last 30 :from last week
:timecalc 2 5
:save test.txt
Thanks to the wonderful Chronic library, you can specify your time frames using natural language expressions like “8 in the morning”, “this tuesday”, “last month” and so on…
Here’s a screenshot showing RedBook in action:

RedBook is of course free, open source software licensed under the terms of the BSD license. It can be installed on any machine able to run Ruby and there’s also an EXE version for the lazy windows folks who don’t want to install Ruby, packed with RubyScript2Exe. A more in-depth article explaining how RedBook works will hopefully be completed soon is available :here