<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Rob Hubbard&#039;s Blog</title>
	<atom:link href="http://rhubbarb.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://rhubbarb.wordpress.com</link>
	<description>Mathematics — Algorithms — Version Control</description>
	<lastBuildDate>Tue, 20 Dec 2011 21:49:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='rhubbarb.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/bd2bdbd1044670427753e0e9fd8e9246?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Rob Hubbard&#039;s Blog</title>
		<link>http://rhubbarb.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://rhubbarb.wordpress.com/osd.xml" title="Rob Hubbard&#039;s Blog" />
	<atom:link rel='hub' href='http://rhubbarb.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Stuck in the Avast SafeZone</title>
		<link>http://rhubbarb.wordpress.com/2011/11/29/avast-safe-zone/</link>
		<comments>http://rhubbarb.wordpress.com/2011/11/29/avast-safe-zone/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 23:54:32 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Commercial Software]]></category>
		<category><![CDATA[Free Software]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1276</guid>
		<description><![CDATA[Here&#8217;s another post that I hope may help someone else to solve a problem that took me a couple of hours to get to the bottom of. My kids share a very basic laptop, on which I installed Avast! free version as the anti-virus solution (with which I am generally very pleased). However, whilst playing [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1276&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s another post that I hope may help someone else to solve a problem that took me a couple of hours to get to the bottom of.</p>
<p>My kids share a very basic laptop, on which I installed Avast! free version as the anti-virus solution (with which I am generally very pleased). However, whilst playing with the gadgets, one of the kids managed to get the machine into the SafeZone, and there it seemed stuck: both &#8220;Switch back&#8221; and &#8220;Turn off SafeZone&#8221; briefly exit but immediately return to the SafeZone.</p>
<p>I found that others have had this problem, but the suggestions I found did not help in my case. I really didn&#8217;t want to un-install and re-install Avast, and so I hunted around a bit for an alternative fix. Here&#8217;s what I found.</p>
<p><span id="more-1276"></span></p>
<p>The problem may be at least partly due to the SafeZone Browser not being part of the free version.</p>
<p>My solution requires being able to successfully enter Windows Safe Mode (e.g. F8 during boot), and so might not help everyone. Therefore you might also like to take a look at the other articles I found on the <a title="Avast forum: Topic: Stuck in SafeZone - Critical Error" href="http://forum.avast.com/index.php?topic=85107.0">Avast forum</a> and on <a title="TechArena: can't switch back to normal browser from safezone browser of avast antivirus" href="http://forums.techarena.in/networking-security/1437725.htm">TechArena</a>.</p>
<p>Some of the suggestions did not help in my case as the laptop in question is very basic, and does not appear to have a virtualisation setting in the BIOS (e.g. F2 during boot).</p>
<p>For me, the problem appeared to be due to the Avast Gadget installed in the Windows SideBar on a Windows 7 machine.</p>
<p>Steps:</p>
<p>Boot into Windows SafeMode (perhaps with Networking, if you wish to use your Web Browser).</p>
<p>Open Windows Explorer (e.g. &lt;Windows&gt;+E).</p>
<p>Navigate to the directory / folder</p>
<p style="padding-left:30px;">C:\Users\&lt;YourProfile&gt;\AppData\Local\Microsoft\Windows Sidebar\</p>
<p>noting that AppData will be hidden by default.</p>
<p>Open the file</p>
<p style="padding-left:30px;">Settings.ini</p>
<p>in Notepad. (Also, make a copy of this file, just in case.)</p>
<p>Search for a</p>
<p style="padding-left:30px;">[Section &lt;N&gt;]</p>
<p>with a mention of</p>
<p style="padding-left:30px;"><strong>aswSidebar.gadget</strong></p>
<p>Note the number, and delete the entire section.</p>
<p>Now look in the</p>
<p style="padding-left:30px;">[Root]</p>
<p>section, and delete just the line</p>
<p style="padding-left:30px;">Section&lt;K&gt;=&#8221;&lt;N&gt;&#8221;</p>
<p>If &lt;K&gt; is not the last value, the other entries may need to be renumbered to keep the sequence contiguous (but I don&#8217;t know).</p>
<p>Now you should be able to restart the machine, and it should be &#8216;cured&#8217;.</p>
<p>Here&#8217;s are example extracts from my file:</p>
<pre style="padding-left:30px;">[Root]
Section0="2"
Section1="4"
Section2="5"
Section3="6"
<span style="color:#ff0000;">Section4="7"</span>

[Hashes]
; ...

[Section 2]
; ...

[Section 4]
; ...

[Section 5]
; ...

[Section 6]
; ...

<span style="color:#ff0000;">[Section 7]</span>
<span style="color:#ff0000;">PrivateSetting_GadgetName="C:%5CProgram%20Files%5CWindows%20Sidebar%5CShared%20Gadgets%5C<strong>aswSidebar.gadget</strong>"</span>
<span style="color:#ff0000;">PrivateSetting_GadgetOpacity="95"</span>
<span style="color:#ff0000;">PrivateSetting_GadgetSize="large"</span>
<span style="color:#ff0000;">executed="True"</span>
<span style="color:#ff0000;">PrivateSetting_GadgetDropLocationX="1206"</span>
<span style="color:#ff0000;">PrivateSetting_GadgetDropLocationY="374"</span>
</pre>
<p>The lines in <span style="color:#ff0000;">red</span> were the ones I deleted. (I also deleted a line from the [Hashes] section, but that reappeared.)</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1276/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1276/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1276/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1276&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/11/29/avast-safe-zone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>How to Set VLC as the Default DVD Player (Windows 7)</title>
		<link>http://rhubbarb.wordpress.com/2011/09/23/vlc-dvd-w7/</link>
		<comments>http://rhubbarb.wordpress.com/2011/09/23/vlc-dvd-w7/#comments</comments>
		<pubDate>Fri, 23 Sep 2011 23:24:15 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Config]]></category>
		<category><![CDATA[Free Software]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1265</guid>
		<description><![CDATA[Having spent some time searching the web for an answer to this question, I found the same partial information repeated many times. I prefer to keep auto-play disabled. However, I was still finding that Windows Media Player would always start when I double-clicked the DVD drive icon. Eventually, I decided to have a bit of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1265&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Having spent some time searching the web for an answer to this question, I found the same partial information repeated many times. I prefer to keep auto-play disabled. However, I was still finding that Windows Media Player would always start when I double-clicked the DVD drive icon.</p>
<p>Eventually, I decided to have a bit of a dig around in the system.</p>
<p><span id="more-1265"></span>Here&#8217;s my suggestion:</p>
<ul>
<li>Open regedit: enter &#8220;regedit&#8221; into the search box on the Start button&#8217;s pop-up dialog</li>
<li>Navigate to the key &lt;HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DVD\shell\play\command&gt;</li>
<li>Note that &lt;(Default)&gt; is set to &#8220;%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe&#8221; /prefetch:4 /device:DVD &#8220;%L&#8221;</li>
<li>Take a look instead at &lt;HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DVD\shell\PlayWithVLC\command&gt;</li>
<li>Note that &lt;(Default)&gt; is set to &#8220;C:\Program Files (x86)\VideoLAN\VLC\vlc.exe&#8221; &#8211;started-from-file dvd://%1</li>
<li>Copy the latter value into the former entry</li>
</ul>
<p>This can alternatively be achieved via a registry import. Copy the following into a file called, say, &lt;VLC_for_DVD.reg&gt;:</p>
<pre style="padding-left:30px;">Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DVD\shell\play\command]
@="\"C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe\" --started-from-file dvd://%1"</pre>
<p>(That&#8217;s for a 64-bit Windows 7 system; you may need to adjust that for 32-bit systems, or other editions of Windows.)</p>
<p>Double click on the file&#8217;s icon to import the values into the registry.</p>
<p>For reference, my search revealed the following suggested partial solutions</p>
<ul>
<li>Open VLC</li>
<li>From the Tools menu select Preferences</li>
<li>Select the Interface page (if not already selected)</li>
<li>Scroll down to find the Set up associations&#8230; button, and click it</li>
<li>Select all or any required extensions</li>
<li>Save</li>
</ul>
<p>and</p>
<ul>
<li>From the Start button, select Control Panel</li>
<li>[if list view] Select AutoPlay</li>
<li>[if category view] Select Hardware and Sound, and then AutoPlay</li>
<li>Select VLC in the combobox for DVD movie</li>
<li>set AutoPlay for all media devices as preferred</li>
</ul>
<p>HTH</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1265/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1265/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1265/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1265&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/09/23/vlc-dvd-w7/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>C++ Style</title>
		<link>http://rhubbarb.wordpress.com/2011/07/12/c-style/</link>
		<comments>http://rhubbarb.wordpress.com/2011/07/12/c-style/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 23:18:58 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Contribution]]></category>
		<category><![CDATA[Style]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1254</guid>
		<description><![CDATA[There are plenty of resources concerning C++ coding style, or coding style more generally. Here I describe some of my own programming style preferences that I have not seen described elsewhere. Delimiting Comments with Blocks Sometimes it is possible to surround the scope of a comment with braces: //here's a comment { statement one; statement [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1254&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are plenty of resources concerning C++ coding style, or coding style more generally.</p>
<p>Here I describe some of my own programming style preferences that I have not seen described elsewhere.</p>
<p><span id="more-1254"></span></p>
<h2>Delimiting Comments with Blocks</h2>
<p>Sometimes it is possible to surround the scope of a comment with braces:</p>
<pre>//here's a comment
{
  statement one;
  statement two;
}</pre>
<p>However, this is not always possible. It may not be possible, for instance, if the sequence of statements includes declarations.</p>
<h2>Limiting the Scope of Variables</h2>
<p>Code might be clearer if the scope of variables is kept as short as possible. This is particularly applicable to temporary variables containing intermediate values.</p>
<pre>int dist2;
{
  int temp_x2 = x * x;
  int temp_y2 = y * y;
  dist2 = temp_x2 + temp_y2;
  // [scope of temp_x2 and temp_y2 ends here]
}</pre>
<p>Again, this is not always possible. For example, if the main variable is a constant, it can not be declared and defined separately in C++.</p>
<h2>Multiple Exit Points</h2>
<p>Usually, I prefer to have only a single return statement in a function.</p>
<p>Sometimes it is convenient also to have a return statement at the beginning of a function (perhaps checking some pre-conditions). In that case it is still clear what is happening in the code, and in this case the return might be preferable to a long conditional with its additional indentation.</p>
<p>On rare occasions, it may be genuinely clearer and simpler to have multiple exit points throughout the body of a function. In this case, the presence of these should be stated at each end of the function body:</p>
<pre>int my_function (int x)
{
  // &lt;multiple exit points&gt;
  // ...
  return 0;
  // ...
  return f(x);
  // ...
  // &lt;multiple exit points&gt;
}</pre>
<p>These comments should be included whether or not the return statements have an expression (i.e. whether or not the function has void return type).</p>
<p>Similarly, if a loop body contains exit or skip points, that should also be clearly marked:</p>
<pre>for (int i = 0; i &lt; x; ++ i)
{
  // &lt;has break&gt;
  // ...
  if (condition)
  {
    break;
  }
  // ...
  // &lt;has break&gt;
}</pre>
<p>Likewise for &#8216;continue&#8217;, or even &#8216;return&#8217; from inside a loop within a function body.</p>
<h2>Switch Fall-through</h2>
<p>Usually, each case of a switch statement will have its own break.</p>
<p>I like to ensure that even the final case has a break. If another case is appended, it is then less likely that the required break will be forgotten.</p>
<p>If it is intended that the body of one case should be executed after that of the previous case, then this should be highlighted by a comment. This will clarify the intent, and will prevent &#8216;hyper-correction&#8217; of the code (when someone adds a break that they assume was forgotten).</p>
<pre>switch (var)
{
case 1:
  // ...
break;
case 2:
  // ...
// &lt;fall-through&gt;
case 3:
  // ...
break;
}</pre>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1254/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1254&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/07/12/c-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>BitRock Style: Miscellaneous Notes on Coding Style for BitRock InstallBuilder</title>
		<link>http://rhubbarb.wordpress.com/2011/07/12/bitrock-style-misc/</link>
		<comments>http://rhubbarb.wordpress.com/2011/07/12/bitrock-style-misc/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 23:02:51 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Commercial Software]]></category>
		<category><![CDATA[Installer]]></category>
		<category><![CDATA[Style]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1249</guid>
		<description><![CDATA[Although BitRock InstallBuilder has a GUI, it is also practical to edit the sources, which are XML files, in an editor. Beware that when you save the sources from the GUI, hand-edited files may be reorganised. For example, in many cases element siblings are rearranged into a sorted order. (Also beware that hand-edited files are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1249&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Although BitRock InstallBuilder has a GUI, it is also practical to edit the sources, which are XML files, in an editor.</p>
<p>Beware that when you save the sources from the GUI, hand-edited files may be reorganised. For example, in many cases element siblings are rearranged into a sorted order. (Also beware that hand-edited files are not automatically re-loaded by the GUI; you must do this explicitly.)</p>
<p>Here I make some suggestions for trying to keep BitRock sources readable.</p>
<p><span id="more-1249"></span></p>
<h2>Comments</h2>
<p>In most places, comments will be preserved.</p>
<p>Use XML-style comments to help explain sections of the installer. These may even be viewed in the GUI when you &#8220;edit the XML code&#8221;.</p>
<pre>&lt;!-- use comments to provide additional information or explanation --&gt;</pre>
<h2>Blocks</h2>
<p>There are places where a group can be used. Often this marks a semantic boundary, is associated with control flow, or allows a compound construct in a context where a simple construct is expected.</p>
<p>However, a block could also be used to help delimit the scope of a comment.</p>
<p>For example:</p>
<pre>&lt;actionList&gt;
  &lt;!-- Write the configuration files --&gt;
  &lt;writeFile ... /&gt;
  &lt;writeFile ... /&gt;
  &lt;writeFile ... /&gt;
  &lt;!-- Write the sample files --&gt;
  &lt;writeFile ... /&gt;
  &lt;writeFile ... /&gt;
  &lt;writeFile ... /&gt;
&lt;/actionList&gt;</pre>
<p>might be more clearly re-written</p>
<pre>&lt;postInstallationActionList&gt;
  &lt;actionGroup&gt;
    &lt;!-- Write the configuration files --&gt;
    &lt;actionList&gt;
      &lt;writeFile ... /&gt;
      &lt;writeFile ... /&gt;
      &lt;writeFile ... /&gt;
    &lt;/actionList&gt;
  &lt;/actionGroup&gt;
  &lt;actionGroup&gt;
    &lt;!-- Write the sample files --&gt;
    &lt;actionList&gt;
      &lt;writeFile ... /&gt;
      &lt;writeFile ... /&gt;
      &lt;writeFile ... /&gt;
    &lt;/actionList&gt;
  &lt;/actionGroup&gt;
&lt;/postInstallationActionList&gt;</pre>
<p>although this is obviously more verbose. Such grouping is reflected in the GUI, which could make the tree-view of the project more manageable.</p>
<p>Even without comments, it may be clearer to group related items (parameters, actions,…) in this way.</p>
<h2>Child or Attribute?</h2>
<p>In BitRock elements, properties may often be expressed either as a child or as an attribute.</p>
<p>For example</p>
<pre>&lt;setInstallerVariable <strong>name="versionMajor"</strong>&gt;
  &lt;value&gt;1&lt;/value&gt;
&lt;/setInstallerVariable&gt;</pre>
<p>is equivalent to</p>
<pre>&lt;setInstallerVariable&gt;
  <strong>&lt;name&gt;versionMajor&lt;/name&gt;</strong>
  &lt;value&gt;1&lt;/value&gt;
&lt;/setInstallerVariable&gt;</pre>
<p>I tend to use the former to <em>declare</em>, <em>define</em> or <em>initialise</em> an important symbol (parameter, variable, function,…), and the latter for ordinary <em>assignments</em> and for temporary, local or minor symbols. This tends to be useful when searching the sources.</p>
<h2>Compound Rules</h2>
<p>The evaluation logic for a rule list may be expressed in a sibling as, e.g.</p>
<pre>&lt;ruleEvaluationLogic&gt;or&lt;/ruleEvaluationLogic&gt;
&lt;ruleList&gt;
  &lt;compareText logic="equals" text="" value="${verMajor}"/&gt;
  &lt;compareText logic="equals" text="" value="${verMinor}"/&gt;
  &lt;compareText logic="equals" text="" value="${verPatch}"/&gt;
&lt;/ruleList&gt;</pre>
<p>but this may also be expressed on an attribute of a rule group</p>
<pre>&lt;ruleList&gt;
  &lt;ruleGroup ruleEvaluationLogic="or"&gt;
    &lt;ruleList&gt;
      &lt;compareText logic="equals" text="" value="${verMajor}"/&gt;
      &lt;compareText logic="equals" text="" value="${verMinor}"/&gt;
      &lt;compareText logic="equals" text="" value="${verPatch}"/&gt;
    &lt;/ruleList&gt;
  &lt;/ruleGroup&gt;
&lt;/ruleList&gt;</pre>
<p>I tend to use the latter, even though it&#8217;s a little more verbose, as siblings tend to get separated (sometimes even if the tag names are alphabetically close). The latter will always keep the related logic together.</p>
<h2>Function Names</h2>
<p>It is possible to define common actions in functions. I tend to name my functions with &#8216;function&#8217; as a prefix, and to place my functions in a file named closely to the function&#8217;s name.</p>
<p>This helps distinguish user-defined functions from any built-in functionality.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1249/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1249&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/07/12/bitrock-style-misc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>BitRock Tip: Determination of Architecture + Platform</title>
		<link>http://rhubbarb.wordpress.com/2011/07/12/bitrock-architecture/</link>
		<comments>http://rhubbarb.wordpress.com/2011/07/12/bitrock-architecture/#comments</comments>
		<pubDate>Tue, 12 Jul 2011 19:48:03 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Commercial Software]]></category>
		<category><![CDATA[Installer]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1239</guid>
		<description><![CDATA[In BitRock InstallBuilder, defining folders specific to 32-bit and/or 64-bit architectures and Linux and/or Windows is simple but not entirely obvious. Here are some recipes. Platform + Architecture Detection (for Folders) The &#60;folder/&#62; construct takes a &#60;platforms/&#62; child, but only with a limited range of values. Amongst the values are linux — meaning &#8221;any&#8221; Linux [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1239&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In BitRock InstallBuilder, defining folders specific to 32-bit and/or 64-bit architectures and Linux and/or Windows is simple but not entirely obvious. Here are some recipes.</p>
<p><span id="more-1239"></span></p>
<h2>Platform + Architecture Detection (for Folders)</h2>
<p>The &lt;folder/&gt; construct takes a &lt;platforms/&gt; child, but only with a limited range of values.</p>
<p>Amongst the values are</p>
<ul>
<li>linux — meaning &#8221;any&#8221; Linux</li>
<li>linux-x64</li>
<li>windows — meaning &#8221;any&#8221; Windows</li>
</ul>
<p>but not</p>
<ul>
<li>linux-x86</li>
<li>windows-x86</li>
<li>windows-x64</li>
</ul>
<p>However, the &lt;folder/&gt; construct can also accept &lt;ruleList/&gt; which can accept &lt;platformTest/&gt; (see the <a title="Which types does the platformTest rule accept?" href="http://support.bitrock.com/article/which-types-does-the-platformtest-rule-accept">BitRock knowledge base</a> for the full list of platforms).</p>
<p>Even that does not accept</p>
<ul>
<li>linux-x86</li>
</ul>
<p>Therefore, it is possible to express the various platforms as follows</p>
<h3>Linux x86 and x86-64</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;linux&lt;/platforms&gt;
&lt;/folder&gt;</pre>
<h3>Linux x86</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;linux&lt;/platforms&gt;
  &lt;ruleList&gt;
    &lt;platformTest type="linux"/&gt;
    &lt;platformTest negate="1" type="linux-x64"/&gt;
  &lt;/ruleList&gt;
&lt;/folder&gt;</pre>
<h3>Linux x86-64</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;linux-x64&lt;/platforms&gt;
&lt;/folder&gt;</pre>
<h3>Windows x86 and x86-64</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;windows&lt;/platforms&gt;
&lt;/folder&gt;</pre>
<h3>Windows x86</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;windows&lt;/platforms&gt;
  &lt;ruleList&gt;
    &lt;platformTest type="windows-x86"/&gt;
  &lt;/ruleList&gt;
&lt;/folder&gt;</pre>
<h3>Windows x86-64</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;windows&lt;/platforms&gt;
  &lt;ruleList&gt;
    &lt;platformTest type="windows-x64"/&gt;
  &lt;/ruleList&gt;
&lt;/folder&gt;</pre>
<h2>Architecture Detection (for Folders)</h2>
<p>It is possible to combine these to express achitectures as follows.</p>
<h3>x86 and x86_64 (Linux or Windows)</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;linux windows&lt;/platforms&gt;
&lt;/folder&gt;</pre>
<h3>x86 (Linux or Windows)</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;linux windows&lt;/platforms&gt;
  &lt;ruleList&gt;
    &lt;ruleGroup ruleEvaluationLogic="or"&gt;
      &lt;ruleList&gt;
        &lt;ruleGroup ruleEvaluationLogic="and"&gt;
          &lt;ruleList&gt;
            &lt;platformTest type="linux"/&gt;
            &lt;platformTest negate="1" type="linux-x64"/&gt;
          &lt;/ruleList&gt;
        &lt;/ruleGroup&gt;
        &lt;ruleGroup ruleEvaluationLogic="and"&gt;
          &lt;ruleList&gt;
            &lt;platformTest type="windows-x86"/&gt;
          &lt;/ruleList&gt;
        &lt;/ruleGroup&gt;
      &lt;/ruleList&gt;
    &lt;/ruleGroup&gt;
  &lt;/ruleList&gt;
&lt;/folder&gt;</pre>
<h3>x86_64 (Linux or Windows)</h3>
<pre>&lt;folder name="..."&gt;
  &lt;platforms&gt;linux windows&lt;/platforms&gt;
  &lt;ruleList&gt;
    &lt;ruleGroup ruleEvaluationLogic="or"&gt;
      &lt;ruleList&gt;
        &lt;platformTest type="linux-x64"/&gt;
        &lt;platformTest type="windows-x64"/&gt;
      &lt;/ruleList&gt;
    &lt;/ruleGroup&gt;
  &lt;/ruleList&gt;
&lt;/folder&gt;</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1239/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1239/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1239/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1239&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/07/12/bitrock-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>What to Look for in a (Free, Open-source) Software Download</title>
		<link>http://rhubbarb.wordpress.com/2011/02/13/software-download-keypoints/</link>
		<comments>http://rhubbarb.wordpress.com/2011/02/13/software-download-keypoints/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 00:18:22 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Subjective]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1194</guid>
		<description><![CDATA[There is a huge amount of free software available. But you need to take care. Downloading, installing and running any software carries a risk, so ensure that you have an anti-virus tool, but don&#8217;t rely on it totally (there are always new viruses and other malware not yet in your anti-virus tool&#8217;s table of signatures) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1194&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There is a huge amount of free software available. But you need to take care.</p>
<p><span id="more-1194"></span>Downloading, installing and running any software carries a risk, so</p>
<ul>
<li>ensure that you have an anti-virus tool, but don&#8217;t rely on it totally (there are always new viruses and other malware not yet in your anti-virus tool&#8217;s table of signatures)</li>
<li>ensure that you also have anti-spyware</li>
<li>beware website clones (look at the URL)</li>
<li>remember that a program does not need to be a virus to be harmful; you simply do not know what a program will do when you run it before you run it</li>
</ul>
<p>in particular</p>
<ul>
<li>just because a program claims to be virus-free, adware-free, spyware-free doesn&#8217;t mean it actually is</li>
<li>if you&#8217;re looking for anti-virus solutions, beware that some malware even poses as anti-virus software; so take <strong>special</strong> care when choosing anti-virus software</li>
<li>beware that &#8220;free to download&#8221; is not always &#8220;free to use&#8221;; often a &#8220;free download&#8221; is trial evaluation software which is feature and/or time-limited; if it&#8217;s open-s0urce, that&#8217;s a good sign</li>
</ul>
<p>Sometimes there is a huge variety of packages available</p>
<ul>
<li>compare the features; there may be a list or comparison available on <a href="http://en.wikipedia.org/wiki/">Wikipedia</a>;<br />
(for example, for text editors, there is this <a title="List of Text Editors" href="http://en.wikipedia.org/wiki/List_of_text_editors">list</a> and this <a title="Comparison of Text Editors" href="http://en.wikipedia.org/wiki/Comparison_of_text_editors">comparison</a>)</li>
<li>see if the developer recommends other related packages or projects; that is often a <strong>good</strong> sign</li>
</ul>
<p>and gauge whether the website (and products) are</p>
<ul>
<li>well-established</li>
<li>well-regarded</li>
<li>professional-looking, including grammar and spelling; a website need not look like a commercial website, but poor design and sloppy language on the website give you some indication that there will also be a lack of the care taken with the source code</li>
<li>well-linked or referenced from elsewhere</li>
</ul>
<p>Then ensure that plenty of resources are available in addition to the software itself, such as:</p>
<ul>
<li>documentation (online HTML and offline PDFs)</li>
<li>forum or mailing list (or use <a title="Stack Overflow" href="http://stackoverflow.com/">Stack Overflow</a>)</li>
<li>compatibility with commercial offerings&#8217; file formats (read and write)</li>
<li>cross-platform availability</li>
<li>ease of installation; availability and thoroughness of the uninstaller</li>
<li>papers on best practice</li>
<li>theoretical papers on algorithms</li>
</ul>
<p>these characteristics are important for gauging ease of use of the tools, but also the legitimacy of the website.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1194/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1194/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1194/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1194&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/02/13/software-download-keypoints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>Why Free Open-source Software is Better than Commerical Software</title>
		<link>http://rhubbarb.wordpress.com/2011/02/12/free-better-than-commerical/</link>
		<comments>http://rhubbarb.wordpress.com/2011/02/12/free-better-than-commerical/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 23:48:31 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[Subjective]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1192</guid>
		<description><![CDATA[Well, that&#8217;s a slightly unfair title. Here are some reasons why free, open-source software can be, and often is, better than commercial software. The developers of the software tend to be directly interested in producing a high-quality, well thought-out tool; it is often s0mething that they will be using themselves. Open-s0urce, means that the code [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1192&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, that&#8217;s a <em>slightly</em> unfair title. Here are some reasons why free, open-source software can be, and often is, better than commercial software.</p>
<p><span id="more-1192"></span></p>
<ul>
<li>The developers of the software tend to be directly interested in producing a high-quality, well thought-out tool; it is often s0mething that they will be using themselves.</li>
<li>Open-s0urce, means that the code is open to scrutiny, criticism, review and update.</li>
<li>Likewise, the documentation is usually available for scrutiny. All technical details and capabilities are published.</li>
<li>Being free shows a pure honest motive for development, and also encourages widespread adoption.</li>
<li>Usually, the software will be developed by a reasonably large community of developers. Usually, the development remains active.</li>
<li>Often, the software is supported by a community of users and developers through an open forum or mailing list.</li>
</ul>
<p>&nbsp;</p>
<p>There is very little you need to buy. I know of <a title="Non-free Software" href="/2011/02/03/non-free-software/">few areas</a> where there&#8217;s not an excellent <a href="/2010/12/21/free-software/">free tool</a> available as an alternative to a commercial one. In many cases, the best of the free, open-source tools are actually superior in stability and functionality to the industry-standard commercial tool.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1192/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1192&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/02/12/free-better-than-commerical/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>Stack Exchange</title>
		<link>http://rhubbarb.wordpress.com/2011/02/12/stack-exchange/</link>
		<comments>http://rhubbarb.wordpress.com/2011/02/12/stack-exchange/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 23:03:13 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Subjective]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1210</guid>
		<description><![CDATA[The is now a plethora of incredibly useful question-and-answer sites available. Here are a few that I like. Computing Stack Overflow Programmers Superuser Computer Science Theory Code Puzzles Code Review TeX and LaTeX Linux and Unix Web Webmaster Mathematics / Numerate Math Overflow Maths [Meta] [Math Overflow versus Maths] Statistics Science Physics English English Writers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1210&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The is now a plethora of incredibly useful question-and-answer sites available. Here are a few that I like.</p>
<p><span id="more-1210"></span></p>
<h2>Computing</h2>
<p><a href="http://stackoverflow.com/">Stack Overflow</a><br />
<a href="http://programmers.stackexchange.com/">Programmers<br />
</a><a href="http://superuser.com/">Superuser</a><br />
<a href="http://cstheory.stackexchange.com/">Computer Science Theory</a><br />
<a href="http://codegolf.stackexchange.com/">Code Puzzles</a><br />
<a href="http://codereview.stackexchange.com/">Code Review</a></p>
<p><a href="http://tex.stackexchange.com/">TeX and LaTeX</a><br />
<a href="http://unix.stackexchange.com/"> Linux and Unix</a><br />
<a href="http://webapps.stackexchange.com/">Web</a><br />
<a href="http://webmasters.stackexchange.com/"> Webmaster</a></p>
<h2>Mathematics / Numerate</h2>
<p><a href="http://mathoverflow.net/">Math Overflow</a><br />
<a title="Mathematics (Stack Exchange)" href="http://math.stackexchange.com/"> Maths</a> [<a title="Mathematics meta" href="http://meta.math.stackexchange.com/">Meta</a>] [Math Overflow <a title="Differences between mathoverflow and math.stackexchange" href="http://meta.math.stackexchange.com/questions/41/differences-between-mathoverflow-and-math-stackexchange">versus</a> Maths]<br />
<a href="http://stats.stackexchange.com/"> Statistics</a></p>
<h2>Science</h2>
<p><a href="http://physics.stackexchange.com/">Physics</a></p>
<h2>English</h2>
<p><a href="http://english.stackexchange.com/">English</a><br />
<a href="http://writers.stackexchange.com/"> Writers</a></p>
<h2>Other</h2>
<p><a href="http://gis.stackexchange.com/">Mapping</a><br />
<a href="http://bicycles.stackexchange.com/"> Bicycles</a><br />
<a href="http://boardgames.stackexchange.com/"> Games</a><br />
<a href="http://photo.stackexchange.com/"> Images</a></p>
<h2>More</h2>
<p><a href="http://stackexchange.com/sites">Stack Exchange</a><br />
<a href="http://area51.stackexchange.com/">Area 51</a></p>
<h2>Proposed</h2>
<p><a href="http://area51.stackexchange.com/proposals/27541/math-software">Maths Software</a></p>
<p><a href="http://area51.stackexchange.com/proposals/8766/theoretical-computer-science">Theoretical Computing</a><br />
<a href="http://area51.stackexchange.com/proposals/28815/computational-science">Computation</a><br />
<a href="http://area51.stackexchange.com/proposals/11464/code-review">Code Review</a><br />
<a href="http://area51.stackexchange.com/proposals/15811/cryptography">Cryptography</a><br />
<a href="http://area51.stackexchange.com/proposals/10447/game-theory">Game Theory</a></p>
<p><a href="http://area51.stackexchange.com/proposals/23848/theoretical-physics">Theoretical Physics</a><br />
<a href="http://area51.stackexchange.com/proposals/51/astronomy">Astronomy</a></p>
<p><a href="http://area51.stackexchange.com/proposals/6673/linguistics">Linguistics</a></p>
<p><a href="http://area51.stackexchange.com/proposals/16410/puzzling">Puzzles</a><br />
<a href="http://area51.stackexchange.com/proposals/15025/how-stuff-works">How Stuff Works</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1210&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/02/12/stack-exchange/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>English Letter Names</title>
		<link>http://rhubbarb.wordpress.com/2011/02/12/english-letter-names/</link>
		<comments>http://rhubbarb.wordpress.com/2011/02/12/english-letter-names/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 22:30:51 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[English]]></category>
		<category><![CDATA[Simple]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1149</guid>
		<description><![CDATA[Table&#8230; symbol singular name plural name A a aes B bee bees C cee cees D dee dees E e ees F ef efs G gee gees H aitch aitches I i ies J jay jy jays jys K kay kays L el ell els ells M em ems N en ens O o oes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1149&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Table&#8230;</p>
<p><span id="more-1149"></span></p>
<table style="border-collapse:collapse;" border="1">
<tbody>
<tr>
<th>symbol</th>
<th>singular name</th>
<th>plural name</th>
</tr>
<tr>
<td>A</td>
<td>a</td>
<td>aes</td>
</tr>
<tr>
<td>B</td>
<td>bee</td>
<td>bees</td>
</tr>
<tr>
<td>C</td>
<td>cee</td>
<td>cees</td>
</tr>
<tr>
<td>D</td>
<td>dee</td>
<td>dees</td>
</tr>
<tr>
<td>E</td>
<td>e</td>
<td>ees</td>
</tr>
<tr>
<td>F</td>
<td>ef</td>
<td>efs</td>
</tr>
<tr>
<td>G</td>
<td>gee</td>
<td>gees</td>
</tr>
<tr>
<td>H</td>
<td>aitch</td>
<td>aitches</td>
</tr>
<tr>
<td>I</td>
<td>i</td>
<td>ies</td>
</tr>
<tr>
<td>J</td>
<td>jay<br />
jy</td>
<td>jays<br />
jys</td>
</tr>
<tr>
<td>K</td>
<td>kay</td>
<td>kays</td>
</tr>
<tr>
<td>L</td>
<td>el<br />
ell</td>
<td>els<br />
ells</td>
</tr>
<tr>
<td>M</td>
<td>em</td>
<td>ems</td>
</tr>
<tr>
<td>N</td>
<td>en</td>
<td>ens</td>
</tr>
<tr>
<td>O</td>
<td>o</td>
<td>oes</td>
</tr>
<tr>
<td>P</td>
<td>pee</td>
<td>pees</td>
</tr>
<tr>
<td>Q</td>
<td>cue</td>
<td>cues</td>
</tr>
<tr>
<td>R</td>
<td>ar</td>
<td>ars</td>
</tr>
<tr>
<td>S</td>
<td>ess</td>
<td>esses</td>
</tr>
<tr>
<td>T</td>
<td>tee</td>
<td>tees</td>
</tr>
<tr>
<td>U</td>
<td>u</td>
<td>ues</td>
</tr>
<tr>
<td>V</td>
<td>vee</td>
<td>vees</td>
</tr>
<tr>
<td>W</td>
<td>double-u</td>
<td>double-ues</td>
</tr>
<tr>
<td>X</td>
<td>ex</td>
<td>exes</td>
</tr>
<tr>
<td>Y</td>
<td>wye<br />
wy</td>
<td>wyes</td>
</tr>
<tr>
<td>Z</td>
<td>zed</td>
<td>zeds</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1149/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1149&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/02/12/english-letter-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
		<item>
		<title>SVN Tip: Find/Grep but excluding .svn (Linux)</title>
		<link>http://rhubbarb.wordpress.com/2011/02/05/svn-tip-findgrep/</link>
		<comments>http://rhubbarb.wordpress.com/2011/02/05/svn-tip-findgrep/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 01:51:08 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Config]]></category>
		<category><![CDATA[Cookbook]]></category>
		<category><![CDATA[Regexes]]></category>
		<category><![CDATA[Shells]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://rhubbarb.wordpress.com/?p=1187</guid>
		<description><![CDATA[Here I give Linux commands to allow the searching for filenames or strings within files without descending into the &#60;.svn&#62; subdirectories. The following, in a file called &#60;wc_find_grep.sh&#62;: #!/bin/bash ### Find and Grep for Working Copies ### $1 = start directory ### $2 = file glob ### $3 = string pattern if [ "$3" == [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1187&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here I give Linux commands to allow the searching for filenames or strings within files without descending into the &lt;.svn&gt; subdirectories.</p>
<p><span id="more-1187"></span>The following, in a file called &lt;wc_find_grep.sh&gt;:</p>
<pre style="padding-left:30px;">#!/bin/bash

### Find and Grep for Working Copies

### $1 = start directory
### $2 = file glob
### $3 = string pattern

if [ "$3" == "" ] ; then
 echo "working-copy find and grep"
 echo "syntax: ./wc_find_grep \${start_dir} \${file_glob} \${string_pattern}"
else
 find "$1" -regextype posix-extended \
 -regex ".*(\.svn)" \
 -prune -or \
 -iname "$2" \
 -exec grep --with-filename --line-number "$3" \{\} \;
fi</pre>
<p>may be used to find strings within files with names matching a certain pattern, using a command</p>
<pre style="padding-left:30px;">./wc_find_grep.sh . "<em>filename_glob</em>" "<em>string_regex</em>"
</pre>
<p>(You may need to type</p>
<pre style="padding-left:30px;">chmod a+x wc_find_grep.sh</pre>
<p>to ensure that the script has appropriate execution attributes.)</p>
<p>Similarly, the simpler lines, in a file called &lt;wc_find.sh&gt;:</p>
<pre style="padding-left:30px;">#!/bin/bash

### Find for Working Copies

### $1 = start directory
### $2 = file glob

if [ "$2" == "" ] ; then
 echo "working-copy find"
 echo "syntax: ./wc_find \${start_dir} \${file_glob}"
else
 find "$1" -regextype posix-extended \
 -regex ".*(\.svn)" \
 -prune -or \
 -iname "$2" \
 -print
fi</pre>
<p>may be used to perform just the filename search.</p>
<p>(Or, you might prefer to have both functions in the same script.)</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rhubbarb.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rhubbarb.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/rhubbarb.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/rhubbarb.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/rhubbarb.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/rhubbarb.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/rhubbarb.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/rhubbarb.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/rhubbarb.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/rhubbarb.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/rhubbarb.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/rhubbarb.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/rhubbarb.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/rhubbarb.wordpress.com/1187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=rhubbarb.wordpress.com&amp;blog=6742252&amp;post=1187&amp;subd=rhubbarb&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://rhubbarb.wordpress.com/2011/02/05/svn-tip-findgrep/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/4cdd69cab14e1aba27bf6e02e62413ee?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">rhubbarb</media:title>
		</media:content>
	</item>
	</channel>
</rss>
