<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>H3RALD: Announcement: RedBook v0.2.0 released</title>
    <link>http://www.h3rald.com/blog/redbook-020-released</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Fabio Cevasco's Writings</description>
    <item>
      <title>Announcement: RedBook v0.2.0 released</title>
      <description>&lt;blockquote&gt;
&lt;em&gt;&amp;#8220;Release Early, Release Often&amp;#8221;&lt;/em&gt;

           &amp;#8212;Eric S. Raymond, &lt;a href="http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html"&gt;The Cathedral and the Bazaar&lt;/a&gt;
&lt;/blockquote&gt;

	&lt;p&gt;In other words, time for another (early) release of &lt;a href="http://www.assembla.com/space/redbook"&gt;RedBook&lt;/a&gt;. There are quite a few new features which are worth examining, in particular:&lt;/p&gt;


	&lt;h3&gt;Regexp search for messages&lt;/h3&gt;


	&lt;p&gt;This was actually already available before, just if you inputted a search string which was not a regexp, you&amp;#8217;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.&lt;/p&gt;


	&lt;h3&gt;Log Backup&lt;/h3&gt;


	&lt;p&gt;A new &lt;strong&gt;&amp;#58;backup&lt;/strong&gt; keyword is available to quickly backup your log file. Here&amp;#8217;s what it does:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Loads all messages silently&lt;/li&gt;
		&lt;li&gt;Writes them to a file in the same directory as the original log file named &amp;lt;log-alias&amp;gt;.bkp.yml.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Handy, especially if there was a similar keyword to restore the last backup, which is planned for &lt;a href="http://www.assembla.com/spaces/milestones/index/bWE7NkzCqr3k25abIlDkbG?spaces_tool_id=ceS8UazCqr3k25abIlDkbG"&gt;later on&lt;/a&gt;.&lt;/p&gt;


	&lt;h3&gt;Support for multiple log files&lt;/h3&gt;


	&lt;p&gt;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 &lt;strong&gt;&amp;#58;data_&amp;lt;alias&amp;gt;&amp;#58;&lt;/strong&gt; 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:&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&amp;#58;data_test&amp;#58; &amp;#8220;testlog.yml&amp;#8221;&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;You can load the &amp;#8220;test&amp;#8221; log by typing&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&amp;#58;use test&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;(&amp;#58;use is a shorthand for &amp;#58;load_log). Similarly, another new keyword &lt;strong&gt;&amp;#58;dest&lt;/strong&gt; has been introduced to be able to log a message to a different log file without loading it into memory, like this:&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&amp;#58;log This message will be saved to testlog.yml &amp;#58;dest test&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Finally, a &lt;strong&gt;&amp;#58;refresh&lt;/strong&gt; keyword has been introduced as an alias to reloading the current log.&lt;/p&gt;


	&lt;h3&gt;(Almost) automatic log of completed activities&lt;/h3&gt;


	&lt;p&gt;Right when I was coding the &lt;strong&gt;&amp;#58;timecalc&lt;/strong&gt; 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 &lt;strong&gt;&amp;#58;complete&lt;/strong&gt; keyword:&lt;/p&gt;


	&lt;p&gt;&amp;#58;log Testing feature X in product Y&lt;/p&gt;


	&lt;p&gt;&amp;#58;complete&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&amp;#58;complete&lt;/strong&gt; will re-log the last message prepended with [COMPLETED]:

	&lt;p&gt;4 Mon Oct 08 2007 &amp;#8211; 10:47:45 AM Testing feature X in product Y&lt;/p&gt;


	&lt;p&gt;5 Mon Oct 08 2007 &amp;#8211; 10:54:31 AM [COMPLETED] Testing feature X in product Y&lt;/p&gt;
&lt;/p&gt;


	&lt;p&gt;What if I start another task before completing the first one? No problem, it is sufficient to load the last activities using a &lt;strong&gt;&amp;#58;load&lt;/strong&gt; command and then issuing &lt;strong&gt;&amp;#58;complete &amp;lt;number&amp;gt;&lt;/strong&gt; where &amp;lt;number&amp;gt; is the index of the loaded activity. 
This nifty little feature will become more and more important when (starting from release 0.4) I&amp;#8217;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.&lt;/p&gt;


	&lt;h3&gt;Easy integration with launchers like Launchy and QuickSilver&lt;/h3&gt;


	&lt;p&gt;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:&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;Create a shortcut to redbooklet.exe (or to a way to execute the corresponding ruby script) named &amp;#8220;log&amp;#8221;.&lt;/li&gt;
		&lt;li&gt;Copy the &amp;#8220;log&amp;#8221; shortcut anywhere in your start menu&lt;/li&gt;
		&lt;li&gt;Bring up launchy (ALT+SPACE) and type in &amp;#8220;log&amp;#8221; &lt;/li&gt;
		&lt;li&gt;Hit tab&lt;/li&gt;
		&lt;li&gt;Type in your log message, optionally with the any &amp;#58;tags or &amp;#58;dest keywords.&lt;/li&gt;
		&lt;li&gt;The message will be logged to your default log file or to the log you specified using the &amp;#58;dest keyword. If an error occurs, it will appear in a command line window for 15 seconds before the program is closed.&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;That&amp;#8217;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 &lt;a href="http://www.assembla.com/spaces/milestones/index/bWE7NkzCqr3k25abIlDkbG?spaces_tool_id=ceS8UazCqr3k25abIlDkbG"&gt;Milestones&lt;/a&gt; page.&lt;/p&gt;


	&lt;p style="text-align:center;"&gt;&lt;strong&gt;&lt;a href="http://www.assembla.com/spaces/files/bWE7NkzCqr3k25abIlDkbG"&gt;&lt;span class="caps"&gt;DOWNLOAD HERE&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 08 Oct 2007 05:05:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:071aae77-a911-4801-8061-3809c648999a</guid>
      <author>h3rald</author>
      <link>http://www.h3rald.com/blog/redbook-020-released</link>
      <category>Blog</category>
      <category>redbook</category>
      <category>ruby</category>
      <category>productivity</category>
      <category>OpenSource</category>
      <trackback:ping>http://www.h3rald.com/trackback/entries/125</trackback:ping>
    </item>
  </channel>
</rss>
