<?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/"
	>

<channel>
	<title>Rob Searles &#187; Linux</title>
	<atom:link href="http://www.robsearles.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.robsearles.com</link>
	<description>Musing on the business of and development for "The Web"</description>
	<lastBuildDate>Thu, 02 Feb 2012 15:36:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Arch Linux Virtualbox Update</title>
		<link>http://www.robsearles.com/2011/11/29/arch-linux-virtualbox-update/</link>
		<comments>http://www.robsearles.com/2011/11/29/arch-linux-virtualbox-update/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 14:07:08 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[arch]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=306</guid>
		<description><![CDATA[
Gosh! I just found this in my list of draft posts (originally written in early 2010). I thought I might as well post it as it could be useful to someone out there?
Again, this is one of those posts more for me, but hopefully other people might find it useful.
Recently I updated my Arch Linux [...]]]></description>
			<content:encoded><![CDATA[<div style="background: #E0ECF8; margin: 10px 0 0 0; padding: 5px 10px; border: 1px solid #ccc;">
Gosh! I just found this in my list of draft posts (originally written in early 2010). I thought I might as well post it as it could be useful to someone out there?</div>
<p>Again, this is one of those posts more for me, but hopefully other people might find it useful.</p>
<p>Recently I updated my Arch Linux box</p>
<p># pacman -Syu</p>
<p>and during this update a new kernel was added &#8211; which meant that my VirtualBox installation didn&#8217;t work any more, chucking out the following message</p>
<p>The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Re-setup the kernel module by executing</p>
<p>&#8216;/etc/init.d/vboxdrv setup&#8217;</p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=306&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2011/11/29/arch-linux-virtualbox-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon S3: easily bulk delete buckets</title>
		<link>http://www.robsearles.com/2011/05/11/amazon-s3-easily-bulk-delete-buckets/</link>
		<comments>http://www.robsearles.com/2011/05/11/amazon-s3-easily-bulk-delete-buckets/#comments</comments>
		<pubDate>Wed, 11 May 2011 13:19:47 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[aws]]></category>
		<category><![CDATA[ec2]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=466</guid>
		<description><![CDATA[If you need to delete your S3 buckets but they contain hundreds, thousands or even millions of images, then fire up an instance and run s3nukem.]]></description>
			<content:encoded><![CDATA[<p>With <a href="http://www.jabbakam.com" target="_blank">Jabbakam</a> we save a <strong>lot</strong> of images. All these images are stored in Amazon&#8217;s S3. Recently I thought I&#8217;d delete some of the test buckets.</p>
<p>Not as easy as I first thought. It turns out that you have to empty buckets before you can delete them. Fair enough, but there didn&#8217;t seem to be a way to easily bulk delete hundreds of images.</p>
<p>After some Googling I found <a href="https://github.com/lathanh/s3nukem" target="_blank">Robert LaThanh&#8217;s S3Nukem</a> which looked like it would do the job. All I needed to do now was fire up an EC2 instance, install and run. The steps were as follows:</p>
<ol>
<li>Create an EC2 instance on AWS (I used Ubuntu on a medium instance)</li>
<li>make sure it is all up-to-date

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> update
<span style="color: #c20cb9; font-weight: bold;">apt-get</span> upgrade</pre></div></div>

</li>
<li>install ruby (if not already installed)

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ruby1.8 ruby1.8-dev</pre></div></div>

<p>(not sure about ruby1.8-dev, but added just in case)</li>
<li>install Ruby Gems

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> rubygems</pre></div></div>

</li>
<li>install right_aws and s3nukem

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">gem <span style="color: #c20cb9; font-weight: bold;">install</span> right_aws
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>tmp
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>lathanh<span style="color: #000000; font-weight: bold;">/</span>s3nukem<span style="color: #000000; font-weight: bold;">/</span>raw<span style="color: #000000; font-weight: bold;">/</span>master<span style="color: #000000; font-weight: bold;">/</span>s3nukem <span style="color: #660033;">--no-check-certificate</span>
<span style="color: #c20cb9; font-weight: bold;">chmod</span> +x s3nukem</pre></div></div>

</li>
<li>run

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>s3nukem <span style="color: #660033;">-t</span> <span style="color: #000000;">20</span> <span style="color: #660033;">-a</span>  <span style="color: #660033;">-s</span></pre></div></div>

</li>
</ol>
<p>Several hours and over 15 million deleted images later it was all done and I shut down the instance.</p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=466&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2011/05/11/amazon-s3-easily-bulk-delete-buckets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Awesome WM Clicky Widget</title>
		<link>http://www.robsearles.com/2011/04/06/awesome-wm-clicky-widget/</link>
		<comments>http://www.robsearles.com/2011/04/06/awesome-wm-clicky-widget/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 14:02:03 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[lua]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=420</guid>
		<description><![CDATA[After a couple of hours playing around with Awesome Window Manager, Lua and the Clicky API I hack together a Clicky widget for Awesome.  ]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-444" title="Awesome WM Clicky Widget" src="http://www.robsearles.com/wp-content/uploads/2011/04/2011-04-07-130830_266x105_scrot.png" alt="Awesome WM Clicky Widget" width="266" height="105" />As some of you know, whilst Emacs is my editor (<a href="http://en.wiktionary.org/wiki/et_al." target="_blank">et al.</a>) of choice my favourite window manger is <a href="http://awesome.naquadah.org/" target="_blank">Awesome</a>. Awesome is, according to the website,</p>
<blockquote><p>.. extremely fast, small, dynamic and <strong>heavily extensible</strong> using the <strong><a style="color: #347272;" href="http://www.lua.org/">Lua</a> programming language</strong></p></blockquote>
<p>I&#8217;ve never delved into Lua before, but since using Awesome I&#8217;ve had to play around with a bunch of config files. They have always looked very clean and simple so, this weekend, with a spare couple of hours to kill I thought I&#8217;d have a play around with Lua and see if Awesome really is as &#8220;heavily extensible&#8221; as the claims make out.</p>
<p>A couple of weeks ago I set up real time web analytics on a number of sites with <a href="http://getclicky.com/" target="_blank">Clicky</a>. Clicky have an <a href="http://getclicky.com/help/api" target="_blank">incredibly simple API</a> which I thought would be perfect to play around with.</p>
<p>I decided to try and build a widget that displays the total visitors and actions for a specified website. Really simple, but also quite useful. I had never written anything in Lua before, or even played around with widgets too much in Awesome. Fortunately both Awesome and Lua made the whole thing fantastically easy and fun. What follows is the code I wrote, use it if you want to, it&#8217;s just an example of what I did with my first attempt, so feel free to extend it as you want.</p>
<p><span id="more-420"></span></p>
<p>First, include the code below in a file called &#8220;clicky.lua&#8221; in your <em>~/.config/awesome</em> directory. Note, you will also need to add the <em>dkjson.lua</em> file there too, which you can find at <a href="http://www-users.rwth-aachen.de/David.Kolf/json-lua">http://www-users.rwth-aachen.de/David.Kolf/json-lua</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="lua lua" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">-- we need the dkjson library</span>
<span style="color: #808080; font-style: italic;">-- can be found here:</span>
<span style="color: #808080; font-style: italic;">-- http://www-users.rwth-aachen.de/David.Kolf/json-lua</span>
json <span style="color: #66cc66;">=</span> <span style="color: #b1b100;">require</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;dkjson&quot;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- Site ID and Key for Clicky</span>
site_id <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;[YOUR-CLICKY-SITE-ID]&quot;</span>
site_key <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;[YOUR-CLICKY-SITE-KEY]&quot;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- the clicky object</span>
Clicky <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#123;</span>
   actions <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;n/a&quot;</span>,
   visitors <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;n/a&quot;</span>,
&nbsp;
   update <span style="color: #66cc66;">=</span> <span style="color: #b1b100;">function</span><span style="color: #66cc66;">&#40;</span>self, widget<span style="color: #66cc66;">&#41;</span>
               j <span style="color: #66cc66;">=</span> self:get_json<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
               self:parse_json<span style="color: #66cc66;">&#40;</span>j<span style="color: #66cc66;">&#41;</span>
               widget.text <span style="color: #66cc66;">=</span> Clicky.visitors .. <span style="color: #ff0000;">&quot;/&quot;</span> .. Clicky.actions
            <span style="color: #b1b100;">end</span>,
&nbsp;
   <span style="color: #808080; font-style: italic;">-- call the Clicky API, expecting JSON in return</span>
   get_json <span style="color: #66cc66;">=</span> <span style="color: #b1b100;">function</span><span style="color: #66cc66;">&#40;</span>self<span style="color: #66cc66;">&#41;</span>
               clicky_url <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;http://api.getclicky.com/api/stats/4?site_id=&quot;</span>..site_id..<span style="color: #ff0000;">&quot;&amp;amp;sitekey=&quot;</span>..site_key..<span style="color: #ff0000;">&quot;&amp;amp;type=visitors,actions&amp;amp;date=today&amp;amp;output=json&quot;</span>
               <span style="color: #808080; font-style: italic;">-- get the visitors and actions for today</span>
               command <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">'curl -s &quot;'</span>..clicky_url..<span style="color: #ff0000;">'&quot;'</span>
               f <span style="color: #66cc66;">=</span> <span style="color: #b1b100;">io</span>.popen<span style="color: #66cc66;">&#40;</span>command<span style="color: #66cc66;">&#41;</span>
               <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">not</span> f<span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">then</span> <span style="color: #b1b100;">return</span> 0 <span style="color: #b1b100;">end</span>
               <span style="color: #808080; font-style: italic;">-- store the returned json as a string</span>
               <span style="color: #b1b100;">return</span> f:<span style="color: #b1b100;">read</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;*all&quot;</span><span style="color: #66cc66;">&#41;</span>
            <span style="color: #b1b100;">end</span>,
&nbsp;
   <span style="color: #808080; font-style: italic;">-- parse the JSON from Clicky</span>
   parse_json <span style="color: #66cc66;">=</span> <span style="color: #b1b100;">function</span><span style="color: #66cc66;">&#40;</span>self, j<span style="color: #66cc66;">&#41;</span>
                   <span style="color: #b1b100;">local</span> obj, pos, err <span style="color: #66cc66;">=</span> json.decode <span style="color: #66cc66;">&#40;</span>j, <span style="color: #cc66cc;">1</span>, <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">&#41;</span>
                   <span style="color: #b1b100;">if</span> err <span style="color: #b1b100;">then</span>
                      self.actions <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;e&quot;</span>
                      self.visitors <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;e&quot;</span>
                   <span style="color: #b1b100;">else</span>
                      <span style="color: #b1b100;">for</span> k,v <span style="color: #b1b100;">in</span> <span style="color: #b1b100;">pairs</span><span style="color: #66cc66;">&#40;</span>obj<span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">do</span>
                         <span style="color: #b1b100;">if</span> v<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;type&quot;</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">&quot;actions&quot;</span> <span style="color: #b1b100;">then</span>
                            self.actions <span style="color: #66cc66;">=</span> v<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;dates&quot;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;items&quot;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;value&quot;</span><span style="color: #66cc66;">&#93;</span>
                         <span style="color: #b1b100;">end</span>
                         <span style="color: #b1b100;">if</span> v<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;type&quot;</span><span style="color: #66cc66;">&#93;</span> <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">&quot;visitors&quot;</span> <span style="color: #b1b100;">then</span>
                            self.visitors <span style="color: #66cc66;">=</span> v<span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;dates&quot;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;items&quot;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;value&quot;</span><span style="color: #66cc66;">&#93;</span>
                         <span style="color: #b1b100;">end</span>
                      <span style="color: #b1b100;">end</span>
                   <span style="color: #b1b100;">end</span>
                <span style="color: #b1b100;">end</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- init the widget</span>
myclickystats <span style="color: #66cc66;">=</span> widget<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> <span style="color: #b1b100;">type</span> <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;textbox&quot;</span>, name <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;clicky&quot;</span>, align <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;right&quot;</span> <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
myclickystats.text <span style="color: #66cc66;">=</span> <span style="color: #ff0000;">&quot;Clicky&quot;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- get the initial update</span>
Clicky:update<span style="color: #66cc66;">&#40;</span>myclickystats<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">-- now poll every 15 minutes</span>
minutes <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">15</span>
myclickytimer <span style="color: #66cc66;">=</span> timer<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> timeout <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">60</span> <span style="color: #66cc66;">*</span> minutes <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
myclickytimer:add_signal<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;timeout&quot;</span>, <span style="color: #b1b100;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> Clicky:update<span style="color: #66cc66;">&#40;</span>myclickystats<span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">end</span><span style="color: #66cc66;">&#41;</span>
myclickytimer:start<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Now, in your <em>~/.config/awesome/rc.lua</em> file you need to insert two snippets.</p>
<p>Towards the top of the file, add</p>

<div class="wp_syntax"><div class="code"><pre class="lua lua" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">-- Include my Clicky stats</span>
<span style="color: #b1b100;">require</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;clicky&quot;</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>and within the screen loop add the <strong>myclickystats</strong> widget</p>

<div class="wp_syntax"><div class="code"><pre class="lua lua" style="font-family:monospace;"><span style="color: #b1b100;">for</span> s <span style="color: #66cc66;">=</span> <span style="color: #cc66cc;">1</span>, screen.count<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">do</span>
   ...
    <span style="color: #808080; font-style: italic;">-- Add widgets to the wibox - order matters</span>
    mywibox<span style="color: #66cc66;">&#91;</span>s<span style="color: #66cc66;">&#93;</span>.widgets <span style="color: #66cc66;">=</span> <span style="color: #66cc66;">&#123;</span>
        ...
        s <span style="color: #66cc66;">==</span> <span style="color: #cc66cc;">1</span> <span style="color: #b1b100;">and</span> myclickystats <span style="color: #b1b100;">or</span> <span style="color: #b1b100;">nil</span>,
        ...
    <span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">end</span></pre></div></div>

<p>and that should be it. Restart awesome with <strong>&lt;Super&gt; &#8211; &lt;Ctrl&gt; &#8211; r</strong> and if you have done everything right you should see something like x/y in the top right of your screen. (Disclaimer: the above setup works for me on Ubuntu 9.10 and Arch, but if Awesome doesn&#8217;t restart you&#8217;re on your own!)</p>
<p>After building this simple widget I have learnt a lot about both Lua and Awesome.</p>
<p>On this, my first impression of Lua, it seems very simple and clean but also probably quite powerful, something I&#8217;ll definitely play with more.</p>
<p><em>Update: added screenshot after <a href="http://twitter.com/getclicky/status/55725963979390978" target="_blank">tweet from @getclicky</a>.</em></p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=420&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2011/04/06/awesome-wm-clicky-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix: Cannot load from mysql.proc. The table is probably corrupted</title>
		<link>http://www.robsearles.com/2011/02/17/fix-cannot-load-from-mysql-proc-the-table-is-probably-corrupted/</link>
		<comments>http://www.robsearles.com/2011/02/17/fix-cannot-load-from-mysql-proc-the-table-is-probably-corrupted/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 12:47:07 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=392</guid>
		<description><![CDATA[Following from my dependency hell problems the other day my new version of MySQL seems to have all its stored procedures corrupted, displaying the following message when any of them are executed:

Cannot load from mysql.proc. The table is probably corrupted

After a bit of research, I found the simple fix is to run

mysql_upgrade

Problem solved. 
Posting it to [...]]]></description>
			<content:encoded><![CDATA[<p>Following from my <a href="http://twitter.com/ibrow/status/35684431238799360" target="_blank">dependency</a> <a href="http://twitter.com/ibrow/status/35721299036733440" target="_blank">hell</a> <a href="http://twitter.com/ibrow/status/36023028169187328" target="_blank">problems</a> the other day my new version of MySQL seems to have all its stored procedures corrupted, displaying the following message when any of them are executed:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">Cannot load from mysql.proc. The table is probably corrupted</pre></div></div>

<p>After a bit of research, I found the simple fix is to run</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">mysql_upgrade</pre></div></div>

<p>Problem solved. </p>
<p>Posting it to my blog as a reminder to me to RTFM, and just in case it is useful to some other poor soul out there.</p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=392&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2011/02/17/fix-cannot-load-from-mysql-proc-the-table-is-probably-corrupted/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Awesome WM &amp; NM Applet: Secret Service Operation Failed</title>
		<link>http://www.robsearles.com/2010/05/15/awesome-wm-nm-applet-secret-service-operation-failed/</link>
		<comments>http://www.robsearles.com/2010/05/15/awesome-wm-nm-applet-secret-service-operation-failed/#comments</comments>
		<pubDate>Sat, 15 May 2010 11:38:23 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=316</guid>
		<description><![CDATA[I am running Awesome window manager on Lucid Lynx and am using the Network Manager applet to manage my wireless connection. There is a strange error that manes that the wireless can never remember my key.
When I initiate the nm_applet from a terminal it displays the following error:

** Message: secret service operation failed: The name org.freedesktop.secrets was [...]]]></description>
			<content:encoded><![CDATA[<p>I am running <a href="http://awesome.naquadah.org/">Awesome window manager</a> on <a href="https://wiki.ubuntu.com/LucidLynx">Lucid Lynx</a> and am using the <a href="http://projects.gnome.org/NetworkManager/">Network Manager applet</a> to manage my wireless connection. There is a strange error that manes that the wireless can never remember my key.</p>
<p>When I initiate the nm_applet from a terminal it displays the following error:</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;">** Message: secret service operation failed: The name org.freedesktop.secrets was not provided by any .service files</pre></div></div>

<p>After some searching around on the internets I found a <a href="https://bugzilla.redhat.com/show_bug.cgi?id=572137#c1">hack that seems to fix the problem</a>.</p>
<p>What you have to do is edit the  <strong>/usr/share/dbus-1/services/org.gnome.keyring.service</strong> file, comment out where it says <strong>Name=org.gnome.keyring<br />
</strong>and add the line<br />
<strong>Name=org.freedesktop.secrets</strong></p>
<p>For example, my <strong>/usr/share/dbus-1/services/org.gnome.keyring.service</strong> file looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">&#91;</span>D-BUS Service<span style="color: #7a0874; font-weight: bold;">&#93;</span>
<span style="color: #666666; font-style: italic;">#Name=org.gnome.keyring</span>
<span style="color: #007800;">Name</span>=org.freedesktop.secrets
<span style="color: #007800;">Exec</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>gnome-keyring-daemon <span style="color: #660033;">--start</span> <span style="color: #660033;">--foreground</span> --<span style="color: #007800;">components</span>=secrets</pre></div></div>

<p>Save this, then you&#8217;re done.</p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=316&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2010/05/15/awesome-wm-nm-applet-secret-service-operation-failed/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My Perfect Desktop Day 1 &#8211; The Base System</title>
		<link>http://www.robsearles.com/2010/03/18/my-perfect-desktop-day-1-the-base-system/</link>
		<comments>http://www.robsearles.com/2010/03/18/my-perfect-desktop-day-1-the-base-system/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 15:23:14 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=292</guid>
		<description><![CDATA[Today I installed the base system on my perfect desktop.]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-296" title="Arch Linux logo" src="http://www.robsearles.com/wp-content/uploads/2010/03/arch-linux-logo1.png" alt="arch-linux-logo" width="200" height="168" />So today is the day I start building <a href="http://www.robsearles.com/2010/03/16/my-perfect-desktop-day-0/">my perfect system</a>. Before getting going,  I had a good think about <a href="http://distrowatch.com/">which distro</a> to use for the base install. I&#8217;ve been using <a href="http://www.ubuntu.com/">Ubuntu</a> for about 2 years now and love the ease of package management with <a href="http://ubuntuforums.org/showthread.php?t=447386">apt and aptitude</a>. I had a bit of a <a href="http://www.robsearles.com/2010/03/17/installing-php5-3-on-ubuntu-karmic/">play around with Ubuntu Karmic yesterday</a> and I must say it looks fantastic, and with Lucid Lynx only a <a href="https://wiki.ubuntu.com/LucidReleaseSchedule">few weeks away</a> it might come as a bit of a surprise to discover that my choice is a distro I&#8217;ve never used before: <a href="http://www.archlinux.org">Arch</a>.</p>
<p><strong>Why Arch?</strong></p>
<p>There are three main reasons I&#8217;ve picked Arch over Ubuntu, or even <a href="http://www.debian.org/">Debian</a>.</p>
<ol>
<li>I really like the idea of Arch&#8217;s rolling release system. My laptop is currently running Jaunty and in order to get the latest packages I would have to upgrade to Karmic. With Arch this is less of an issue.</li>
<li>As mentioned in my initial post, the base system should be small, quick and light. With Arch you can pick and choose exactly what you want at installation time, keeping it bloat free.</li>
<li>Finally, Arch will be something new to play with!</li>
</ol>
<p>After <a href="http://www.archlinux.org/download/">downloading</a> and burning a Net Install ISO I followed the excellent <a href="http://wiki.archlinux.org/index.php/Official_Arch_Linux_Install_Guide">installation guide in the Arch Wiki</a>.</p>
<p>Installation was relatively painless, the only two slight issues being:</p>
<p>I chose Auto prepare for partitioning, but I didn&#8217;t really know what filesystem to choose. Eventually I opted for Ext4, with so far, no ill effects.</p>
<p>During Boot Device Selection, again I wasn&#8217;t really sure what to do, but after some Googling I <a href="http://news.softpedia.com/news/How-to-Install-Arch-Linux-59239.shtml">found this page</a>, whose advice I followed, but just pressing enter.</p>
<p>I restarted and was greeted with a shell prompt. I quickly pinged Google and my network was still up and running through the ethernet on DHCP.</p>
<p>The next step up a non-root user and X. Again, the Arch <a href="http://wiki.archlinux.org/index.php/Beginners'_Guide">documentation</a> is excellent.</p>
<p>Setting up X was relatively simple. I originally decided to not opt for hotplugging, which was a mistake because I only have a USB keyboard and mouse, neither of which I could use in X<em> (muppet of the day award goes to me)</em>. After turning off the machine and setting up hotplugging, all was fine!</p>
<p>I have been using the <a href="http://awesome.naquadah.org/">Awesome window manager</a> for about a month now. Awesome is a tiling window manager which is heavily geared towards being keyboard friendly, and as it&#8217;s name suggests, it is pretty awesome.</p>
<p>Unlike Jaunty, installing the latest stable version of Awesome was a breeze, I simply ran:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># pacman -S awesome</span></pre></div></div>

<p>and edited my ~/.xinitrc file adding:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">exec</span> awesome</pre></div></div>

<p>at the bottom. When I started X again, Awesome was there without any problem.</p>
<p>Sound was equally as simple to install, which was a nice surprise.</p>
<p>So my base system is now setup, with my window manager of choice in place and sound ready and waiting for my music collection. And all this running under 100MB of RAM!</p>
<p>After my first foray into the world of Arch I&#8217;m pretty impressed. <a href="http://wiki.archlinux.org/index.php/Pacman">Pacman</a> is very straight forward to use, after a bit of tweaking here and there it has just worked.</p>
<p>Next time, file management tools.</p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=292&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2010/03/18/my-perfect-desktop-day-1-the-base-system/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Installing PHP5.3 on Ubuntu Karmic</title>
		<link>http://www.robsearles.com/2010/03/17/installing-php5-3-on-ubuntu-karmic/</link>
		<comments>http://www.robsearles.com/2010/03/17/installing-php5-3-on-ubuntu-karmic/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 23:02:53 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=275</guid>
		<description><![CDATA[Following my previous post about installing PHP5.3 on Jaunty, I have had a few requests about installing it on Karmic. I&#8217;ve never used Karmic before so I thought it would be a fun excuse to have a poke about whilst also keeping my blog (sort of) up-to-date.
After freshly installing Karmic (the desktop version looks very [...]]]></description>
			<content:encoded><![CDATA[<p>Following my <a href="http://www.robsearles.com/2009/10/04/installing-php53-on-ubuntu-jaunty">previous post about installing PHP5.3 on Jaunty</a>, I have had a few requests about installing it on Karmic. I&#8217;ve never used Karmic before so I thought it would be a fun excuse to have a poke about whilst also keeping my blog (sort of) up-to-date.</p>
<p>After freshly installing Karmic (the desktop version looks very nice btw) on a new <a href="http://virtualbox.org/">VirtualBox</a> image and then updating with the latest, er, updates I was ready to begin.</p>
<p>The entire installation procedure is very simple, once all dependencies are met.</p>
<p>Firstly you must edit your sources list to include the <a href="http://www.dotdeb.org/">DotDeb package repository</a> and the old Jaunty security packages to meet dependencies.</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">nano</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>apt<span style="color: #000000; font-weight: bold;">/</span>sources.list</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># php5.3</span>
deb http:<span style="color: #000000; font-weight: bold;">//</span>php53.dotdeb.org stable all
deb-src http:<span style="color: #000000; font-weight: bold;">//</span>php53.dotdeb.org stable all
deb http:<span style="color: #000000; font-weight: bold;">//</span>security.ubuntu.com<span style="color: #000000; font-weight: bold;">/</span>ubuntu jaunty-security main</pre></div></div>

<p>Now update and upgrade Ubuntu</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> update
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> upgrade</pre></div></div>

<p>You may find that you get the following warning:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">WARNING: The following packages cannot be authenticated<span style="color: #000000; font-weight: bold;">!</span>
libevent-<span style="color: #000000;">1.4</span>-<span style="color: #000000;">2</span>
Install these packages without verification <span style="color: #7a0874; font-weight: bold;">&#91;</span>y<span style="color: #000000; font-weight: bold;">/</span>N<span style="color: #7a0874; font-weight: bold;">&#93;</span>?</pre></div></div>

<p>I just answered Y and continued as normal</p>
<p>Once successfully upgraded then you can install Apache, MySQL and PHP as normal, feel free to cater the installation line to your tastes.</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">aptitude</span> <span style="color: #c20cb9; font-weight: bold;">install</span> libicu38 apache2 apache2-mpm-prefork mysql-client-<span style="color: #000000;">5.1</span> mysql-server-<span style="color: #000000;">5.1</span> php5 php5-cli php5-mysql libapache2-mod-php5</pre></div></div>

<p>You will get a warning about untrusted packages being installed but this simply means that the PHP5.3 stuff is not signed, so I typed in “yes” and carried on.</p>
<p>Robmorin <a href="http://www.robsearles.com/2009/10/04/installing-php53-on-ubuntu-jaunty/?dsq=40007017#comment-39744535">commented in my Jaunty post</a> that he had issues when installing PHP MCrypt. The answer can be found within the <a href="http://www.dotdeb.org/2009/07/03/php-5-3-0-final-preview-packages-available-for-debian-lenny/#comment-1077">DotDeb comments </a></p>
<p>After you have installed everything you need to, test it out, either command line:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">$ php <span style="color: #660033;">-v</span>
PHP 5.3.2-0.dotdeb.1 with Suhosin-Patch <span style="color: #7a0874; font-weight: bold;">&#40;</span>cli<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span>built: Mar  <span style="color: #000000;">9</span> <span style="color: #000000;">2010</span> <span style="color: #000000;">10</span>:<span style="color: #000000;">14</span>:<span style="color: #000000;">53</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1997</span>-<span style="color: #000000;">2009</span> The PHP Group
Zend Engine v2.3.0, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">1998</span>-<span style="color: #000000;">2010</span> Zend Technologies with Suhosin v0.9.29, Copyright <span style="color: #7a0874; font-weight: bold;">&#40;</span>c<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000;">2007</span>, by SektionEins GmbH</pre></div></div>

<p>Or by using phpinfo() page within your Apache installation:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">nano</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>info.php</pre></div></div>

<p>&lt;?PHP<br />
phpinfo();<br />
?&gt;</p>
<p>then fire up http://localhost/info.php and at the top of the page you should see something along the lines of<br />
<strong>PHP Version 5.3.2-0.dotdeb.1</strong></p>
<p>Note: if your browser asks if you want to download info.php, simply restart Apache and try again:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>apache2 restart</pre></div></div>

<p>All done. Not quite as simple as on Jaunty, but still better than compiling the source!</p>
<p>Post Script: Before starting this post, I did a quick search looking for tutorials to see if the work had already been done, but couldn&#8217;t find anything on installing PHP5.3 on Karmic. As there wasn&#8217;t anything I decided to continue with my tutorial and I ended up struggling for an hour or so with the dependency issues. Typically, after I had figured it out for myself, whilst searching for another dependency issue I found <a href="http://blog.jmoz.co.uk/post/435401471/install-php-5-3-on-ubuntu-karmic-koala-from-dotdeb">this post on the JMOZ blog about installing PH5.3 on Karmic Koala</a>.  No idea why it&#8217;s not in Google, but either way, damn, I could have saved myself an hour or so!</p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=275&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2010/03/17/installing-php5-3-on-ubuntu-karmic/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>My Perfect Desktop &#8211; Day 0</title>
		<link>http://www.robsearles.com/2010/03/16/my-perfect-desktop-day-0/</link>
		<comments>http://www.robsearles.com/2010/03/16/my-perfect-desktop-day-0/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 11:21:34 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=270</guid>
		<description><![CDATA[Join me as I build my perfect desktop, ideal for a Linux based web developer.]]></description>
			<content:encoded><![CDATA[<p>Today is an exciting day. I have in my possession a brand new custom built computer to use exclusively at the office. I currently use the laptop for both home and office work, but since the laptop is getting a bit old and computer components are so cheap these days I decided to build a work station just for me to use at the office. The best thing is that as it is custom built I can put whatever I damn well want on it – no pre-installed Windows or anything else. I can make it absolutely perfect for me.</p>
<p>I&#8217;ll be documenting here in my blog exactly the steps needed to take it from a <a href="http://en.wikipedia.org/wiki/Tabula_rasa">tabula rasa</a> to my perfect desktop system.  Apart from the system being obviously Linux based, there will be a number of things to consider before I get started. If I want it to be perfect, I need to think about what it is that I really need and want from a work only system. So, after a brainstorm this is the breakdown of what I require:</p>
<ol>
<li>
<h4>Keyboard Friendly</h4>
<p>I am becoming less interested in using the mouse. This is for a number of reasons, firstly it is quicker to keep your hands on the keyboard rather than always having to find the mouse and point and click. Secondly, using the mouse greatly exacerbates <a href="http://www.ccohs.ca/oshanswers/ergonomics/office/mouse/mouse_problems.html">RSI and all that jazz</a>. As such a system designed for maximum keyboard usage is important.</li>
<li>
<h4>Great Web Development Tools</h4>
<p>As a web developer this is a no brainer. I need to be able to have the tools for developing websites, testing (at code, server and client level) deployment and client side version control.</li>
<li>
<h4>Base system should be small, quick and light</h4>
<p>Due to point 2, I can see the need for being able to have virtualised instances of Windows running, each running a different version of IE. As such, the base system should be as small, quick and light as possible so it doesn&#8217;t get bogged down when I have one (or more) windows running for testing purposes.</li>
<li>
<h4>Communications</h4>
<p>I have to be able to email, chat, and talk with people via my computer</li>
<li>
<h4>Music and sound</h4>
<p>I need to listen to music at work!</li>
<li>
<h4>Must get on with others</h4>
<p>Some strange people out there still use propriety software. My system needs to be able to read Word and Powerpoint and all that stuff.</li>
<li>
<h4>Not be rude</h4>
<p>This is a strange request, but over the weekend I had a friend staying who is an IT administrator for a large international company. He had to do some work on their Windows based infrastructure, so he powered up Vista on my laptop (which I never use*) to log into their systems via the Remote Desktop. Half way through he had to make a couple of calls. When he came back Vista had rebooted and he had lost everything. We narrowed it down to the fact that Vista had updates, installed them and rebooted without even asking for permission. IMO, that is really fucking rude.</li>
<li>
<h4>Stable</h4>
<p>Last, but by no means least, the system has to be solid. I can&#8217;t have it crashing on me every hour.</li>
</ol>
<p>And that is pretty much it. Follow me over the next week or so whilst I sort out my ideal perfect work station.</p>
<p><em>* I just had to make that point</em></p>
<h4>Building My Perfect Desktop</h4>
<ul>
<li><a href="http://www.robsearles.com/2010/03/18/my-perfect-desktop-day-1-the-base-system/">Day 1 &#8211; The Base System</a><strong><br />
</strong></li>
</ul>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=270&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2010/03/16/my-perfect-desktop-day-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Converting from Mac to Unix line endings</title>
		<link>http://www.robsearles.com/2010/03/10/converting-from-mac-to-unix-line-endings/</link>
		<comments>http://www.robsearles.com/2010/03/10/converting-from-mac-to-unix-line-endings/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 11:12:18 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Emacs]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=263</guid>
		<description><![CDATA[This is more a post for me than anyone else, but I thought I&#8217;d share anyway.
In our team we have a mixture of Linux and Mac users, and we are constantly editing the same files. One of the most irritating things is when a file is saved with Mac line endings instead of Unix line [...]]]></description>
			<content:encoded><![CDATA[<p>This is more a post for me than anyone else, but I thought I&#8217;d share anyway.</p>
<p>In our team we have a mixture of Linux and Mac users, and we are constantly editing the same files. One of the most irritating things is when a file is saved with Mac line endings instead of Unix line endings (displaying as <strong>^M</strong> in <a href="http://www.robsearles.com/2009/10/25/a-week-with-emacs-one-week-later/">Emacs</a>). This happens very rarely, but on the occasion it does I can quickly convert back using the following commands on my Linux box:</p>

<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\r</span>'</span> <span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span> <span style="color: #000000; font-weight: bold;">&lt;</span> file-in-question.txt <span style="color: #000000; font-weight: bold;">&gt;</span> tmp.file
$ <span style="color: #c20cb9; font-weight: bold;">mv</span> tmp.file file-in-question.txt</pre></div></div>

<p>Works perfectly</p>
<p>If you want to find more about the tr (Translate) program, <a href="http://linux.die.net/man/1/tr">visit the man page</a>.</p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=263&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2010/03/10/converting-from-mac-to-unix-line-endings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting a Windows Refund</title>
		<link>http://www.robsearles.com/2009/10/18/getting-a-windows-refund/</link>
		<comments>http://www.robsearles.com/2009/10/18/getting-a-windows-refund/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 10:29:30 +0000</pubDate>
		<dc:creator>Rob Searles</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://www.robsearles.com/?p=184</guid>
		<description><![CDATA[If you don't want Windows, but can't buy a laptop without it pre-installed then claim a refund.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just read quite an interesting article on the <a href="http://www.linuxmint.com/blog/?p=1073" target="_blank">Linux Mint blog</a> courtesy of <a href="http://www.linuxtoday.com/infrastructure/2009101700335OSMSLL" target="_blank">Linux Today</a>. It describes how Clem, a Linux Mint user, managed to get a refund on Windows that was pre-installed on a Dell laptop they purchased, and then donated the money to Linux Mint!</p>
<p>One of the comments tries to argue that Clem shouldn&#8217;t have been entitled to a refund as they knew what they were buying. I don&#8217;t hold with this argument as last time I tried to purchase any laptop that wasn&#8217;t a netbook I found it <strong>impossible</strong> to buy one without Windows pre-installed &#8211; and to make it worse they were pretty much all <a href="http://digital-lifestyles.info/2007/11/22/vista-is-rubbish-comic-video/" target="_blank">Vista</a>!</p>
<p>With people like Clem engaging in this kind of action, and with Ubuntu trying to make <a href="http://www.nytimes.com/2009/01/11/technology/11iht-ubuntu.1.19248024.html" target="_blank">Linux more accessible</a> to the average user, hopefully one day I&#8217;ll be able to purchase a laptop and have a choice of what I put on it.</p>
<img src="http://www.robsearles.com/?ak_action=api_record_view&id=184&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.robsearles.com/2009/10/18/getting-a-windows-refund/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

