<?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>Gareth Halfacree &#187; linux</title>
	<atom:link href="http://gareth.halfacree.co.uk/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://gareth.halfacree.co.uk</link>
	<description>&#34;Work hard, have fun, enjoy.&#34;</description>
	<lastBuildDate>Thu, 02 Sep 2010 07:19:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Android Rooting: Pre-Installing Apps</title>
		<link>http://gareth.halfacree.co.uk/2010/09/android-rooting-pre-installing-apps</link>
		<comments>http://gareth.halfacree.co.uk/2010/09/android-rooting-pre-installing-apps#comments</comments>
		<pubDate>Wed, 01 Sep 2010 11:40:11 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[/data]]></category>
		<category><![CDATA[/system]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[df]]></category>
		<category><![CDATA[droid]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[ls]]></category>
		<category><![CDATA[milestone]]></category>
		<category><![CDATA[motorola]]></category>
		<category><![CDATA[mount]]></category>
		<category><![CDATA[remount]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[rooted]]></category>
		<category><![CDATA[rooting]]></category>
		<category><![CDATA[rooting android]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://gareth.halfacree.co.uk/?p=647</guid>
		<description><![CDATA[Rooting your Android smartphone can offer some pretty amazing benefits, from simple things like the ability to take screenshots to the option to use your handset as a Wi-Fi hotspot.  Perhaps the most impressive, however, is the option to change the apps that are pre-installed on your &#8216;phone, and replace them with your own. In [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gareth.halfacree.co.uk/wp-content/uploads/2010/09/android-terminal.jpg" rel="lightbox[647]"><img class="alignright size-medium wp-image-648" title="Android Terminal Emulator" src="http://gareth.halfacree.co.uk/wp-content/uploads/2010/09/android-terminal-300x168.jpg" alt="Android Terminal Emulator running on a Milestone" width="300" height="168" /></a>Rooting your Android smartphone can offer some pretty amazing benefits,  from simple things like the ability to take screenshots to the option to  use your handset as a Wi-Fi hotspot.  Perhaps the most impressive, however, is the option to change the apps that are pre-installed on your &#8216;phone, and replace them with your own.</p>
<p>In the case of my handset, a Motorola Milestone, app memory is at a premium: with just 196MiB  of user-accessible storage on-board, larger apps can often mean having  to remove something that&#8217;s already installed.  Thankfully, there&#8217;s a  cheater&#8217;s way of freeing up some much-needed space: turn your optional  apps into pre-installed versions.</p>
<p>First  things first: you&#8217;re going to need a rooted handset.  If it&#8217;s not  rooted, this tutorial will get you nowhere.  If you&#8217;re new to rooting,  try the <a title="AppBrain: Easy Root Compatibility Test" href="http://www.appbrain.com/app/com.unstableapps.easyroottest" target="_blank">Easy Root Compatibility Test</a> which offers certain &#8216;phones a  one-stop solution.  If your handset isn&#8217;t supported, try one of the many  <a title="Droid Life: How to Root Android 2.1" href="http://www.google.com/url?sa=t&amp;source=web&amp;cd=4&amp;ved=0CCgQFjAD&amp;url=http%3A%2F%2Fwww.droid-life.com%2F2010%2F04%2F05%2Fhow-to-root-android-2-1%2F&amp;rct=j&amp;q=how%20to%20root%20android&amp;ei=Ujp-TIjEGNiW4gbv75zNBg&amp;usg=AFQjCNGeY5K57aBFWMKq3eC335kdmmXQLQ&amp;sig2=El1A8tCxgMOX7H59UQZnQQ&amp;cad=rja" target="_blank">guides</a> on-line.</p>
<p>Once you&#8217;re rooted, you&#8217;re going to need a  <a title="AppBrain: Android Terminal Emulator" href="http://www.appbrain.com/app/jackpal.androidterm" target="_blank">terminal emulator</a>.  Install that, and you can get access to a shell &#8211;  which is where the fun begins.</p>
<p>Step one &#8211; find out what&#8217;s mounted where with the command</p>
<pre> mount</pre>
<p>You&#8217;ll see that we have a bunch of devices mounted in a bunch of locations, but the one we care about is <em>/dev/mtdblock6</em>, mounted as <em>/system</em>.  It&#8217;s in this special directory that Android stores all its internal gubbins &#8211; and to stop you from fiddling around with it, Google has very sensibly made it read-only.</p>
<p>Sadly,  that also stops us from moving apps from the very limited user memory  into the otherwise wasted system memory &#8211; and from deleting unwanted pre-installed apps, such as the Motorola-branded sat nav package that comes with the Milestone or the Facebook app that arrived unexpectedly as part of Android 2.1.</p>
<p>So, what can we do?  Easy: we re-mount the device as read-write.  You&#8217;ll need to become root using <em>su</em>, after which you can remount the block device.  Just type the following commands in to the terminal:</p>
<pre>su -
mount -o remount,rw /dev/mdtblock6 /system</pre>
<p>Now we have full read-write access to the <em>/system</em> file system. Bring up a directory listing of <em>/system/app/</em> with:</p>
<pre>ls -l /system/app/</pre>
<p>You&#8217;ll notice that all the <em>.apk</em> files for the pre-installed apps are here.  Delete any <em>.apk</em> with <em>rm</em> and it&#8217;s gone for good &#8211; so for goodness&#8217; sake <em>be careful.</em></p>
<p>We can use the same command to take  a look at the <em>.apk</em> files for the apps we&#8217;ve got installed in user memory, too:</p>
<pre>ls -l /data/app/</pre>
<p><em> </em></p>
<p>To move a package from user memory to system memory, making it &#8216;pre-installed&#8217; and freeing up useful user memory, just do the following:</p>
<pre>cp -f /data/app/<em>com.publisher.packagename</em>.apk</pre>
<p>The  file will be automatically removed from user memory and appear to  vanish &#8211; but when you restart your &#8216;phone, it will re-appear as a pre-installed &#8216;system&#8217; application.  Do this with a larger app, and you can free up a lot of valuable space.</p>
<p>A note about updating: because <em>/system</em> is mounted as read-only, the Android Market can&#8217;t write to it in order to update packages.  Instead, if an update for a pre-installed package is available, it will write the data back into user memory.  So, if you&#8217;ve saved 4MiB by moving Google Maps into <em>/system</em>, you&#8217;ll lose it all again the next time Google releases an update.</p>
<p>While it&#8217;s possible to get the space back &#8211; simply repeat the method of moving the file to <em>/system</em> again &#8211; it&#8217;s probably better to move applications that don&#8217;t get updated all that often.</p>
<p>That&#8217;s it: you can now enjoy significantly more space for apps!</p>
]]></content:encoded>
			<wfw:commentRss>http://gareth.halfacree.co.uk/2010/09/android-rooting-pre-installing-apps/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>aRSSduino</title>
		<link>http://gareth.halfacree.co.uk/2010/08/arssduino</link>
		<comments>http://gareth.halfacree.co.uk/2010/08/arssduino#comments</comments>
		<pubDate>Mon, 30 Aug 2010 11:48:54 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[arssduino]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rss reader]]></category>
		<category><![CDATA[wiring]]></category>

		<guid isPermaLink="false">http://gareth.halfacree.co.uk/?p=642</guid>
		<description><![CDATA[The aRSSduino is a simple project for the Arduino microcontroller, designed to display RSS feed entries on a 16&#215;2 LCD.  It&#8217;s still in the early stages, with the following outstanding: To Do: Support for larger LCDs To Improve: Better UTF-8 character handling To Do: Multiple RSS feed support For now, however, it&#8217;s a pretty neat [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gareth.halfacree.co.uk/wp-content/uploads/2010/08/arssduino.jpg" rel="lightbox[642]"><img class="alignright size-medium wp-image-643" title="aRSSduino" src="http://gareth.halfacree.co.uk/wp-content/uploads/2010/08/arssduino-300x240.jpg" alt="The aRSSduino in action" width="300" height="240" /></a>The aRSSduino is a simple project for the Arduino microcontroller, designed to display RSS feed entries on a 16&#215;2 LCD.  It&#8217;s still in the early stages, with the following outstanding:</p>
<ul>
<li>To Do: Support for larger LCDs</li>
<li>To Improve: Better UTF-8 character handling</li>
<li>To Do: Multiple RSS feed support</li>
</ul>
<p>For now, however, it&#8217;s a pretty neat hack &#8211; and an alternative back-end allows it to display Twitter @ replies instead, with the person&#8217;s username on the top line of the display and the message below.</p>
<p>The aRSSduino relies on a USB connection between the Arduino and the host PC &#8211; it&#8217;s not a stand-alone project.  Currently, the Python back-end is written to run on a Linux-based host &#8211; although it should be relatively simple to port to Windows, I have no plans to do so at present.</p>
<p>You can download the project source code &#8211; both for the Arduino sketch and for the Python-based back-end <a title="Download aRSSduino v0.1.4" href="http://gareth.halfacree.co.uk/code/arssduino/arssduino_0.1.4.tar.bz2" target="_self">here</a>.  If you improve upon it, let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://gareth.halfacree.co.uk/2010/08/arssduino/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Firefox issues on Ubuntu 10.04</title>
		<link>http://gareth.halfacree.co.uk/2010/03/firefox-issues-on-ubuntu-10-04</link>
		<comments>http://gareth.halfacree.co.uk/2010/03/firefox-issues-on-ubuntu-10-04#comments</comments>
		<pubDate>Thu, 25 Mar 2010 09:23:26 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://gareth.halfacree.co.uk/?p=396</guid>
		<description><![CDATA[Having finished my articles this morning, I figured it was time for an apt-get dist-upgrade on the laptop to ensure I was running the latest versions of everything.  A quick download and install later, and it was time to reboot. At which point Firefox broke completely. No starty, no error &#8211; even when launched from [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gareth.halfacree.co.uk/wp-content/uploads/2010/03/Screenshot-Add-ons.png" rel="lightbox[396]"><img class="alignright size-thumbnail wp-image-401" title="Screenshot: Firefox Add-ons" src="http://gareth.halfacree.co.uk/wp-content/uploads/2010/03/Screenshot-Add-ons-150x150.png" alt="" width="150" height="150" /></a>Having finished my articles this morning, I figured it was time for an <em>apt-get dist-upgrade</em> on the laptop to ensure I was running the latest versions of everything.  A quick download and install later, and it was time to reboot.</p>
<p>At which point Firefox broke completely. No starty, no error &#8211; even when launched from the shell.</p>
<p>It&#8217;s taken me a little while, but I&#8217;ve tracked down the culprit: the Prism plugin.  If you&#8217;ve got Prism &#8211; a stand-alone Mozilla-based browser for creating desktop-style access to web apps &#8211; then the chances are you&#8217;ll be bitten by this bug, as installing Prism automatically installs the plugin into Firefox.</p>
<p>Thankfully, the fix is simple: go to Tools -&gt; Add-Ons and disable Prism.</p>
<p>What&#8217;s that?  You can&#8217;t load Firefox in order to disable the Prism plugin?  There&#8217;s a fix for that, too.  Load a shell (Applications -&gt; Accessories -&gt; Terminal) and type:</p>
<blockquote>
<pre>cd ~/.mozilla/firefox
ls</pre>
</blockquote>
<p>That&#8217;ll give you a listing of the directory &#8211; with a single entry, which is your profile folder.  Use <em>cd</em> to change to this directory, then type:</p>
<blockquote>
<pre>rm compatibility.ini</pre>
</blockquote>
<p>Once you&#8217;ve done that, Firefox should start fine and you&#8217;ll be able to disable the add-on.</p>
<p>If you&#8217;re curious, there&#8217;s a bug filed on Launchpad over <a title="Launchpad: Bug 518422" href="https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/518422">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gareth.halfacree.co.uk/2010/03/firefox-issues-on-ubuntu-10-04/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Xbox 360 and miniDLNA</title>
		<link>http://gareth.halfacree.co.uk/2009/09/xbox-360-and-minidlna</link>
		<comments>http://gareth.halfacree.co.uk/2009/09/xbox-360-and-minidlna#comments</comments>
		<pubDate>Sun, 20 Sep 2009 13:34:45 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[upnp]]></category>

		<guid isPermaLink="false">http://gareth.halfacree.co.uk/?p=348</guid>
		<description><![CDATA[Since my PC blew up &#8211; and took Windows with it &#8211; I&#8217;ve been gradually making the switch to using Linux as my everyday desktop operating system.  Although I&#8217;ve been using it on my laptops and netbooks for years, I&#8217;ve usually kept Windows on the desktop for one simple reason: TVersity. TVersity is an excellent [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gareth.halfacree.co.uk/wp-content/uploads/2009/09/minidlna.png" rel="lightbox[348]"><img class="alignright size-thumbnail wp-image-349" title="miniDNLA config" src="http://gareth.halfacree.co.uk/wp-content/uploads/2009/09/minidlna-150x150.png" alt="miniDNLA config" width="150" height="150" /></a>Since my PC blew up &#8211; and took Windows with it &#8211; I&#8217;ve been gradually making the switch to using Linux as my everyday desktop operating system.  Although I&#8217;ve been using it on my laptops and netbooks for years, I&#8217;ve usually kept Windows on the desktop for one simple reason: <a title="TVersity" href="http://tversity.com/" target="_blank">TVersity</a>.</p>
<p>TVersity is an excellent UPnP media server which works perfectly with my media playback devices &#8211; the PS3, the Xbox 360, and the Roku SoundBridge in the bedroom.  Sadly, it&#8217;s Windows only &#8211; and most of the Linux equivalents have left me cold.</p>
<p>I stumbled across a small daemon called <a title="SourceForge - MiniDLNA" href="http://sourceforge.net/projects/minidlna/" target="_self">miniDLNA</a>, written by a Netgear engineer for the company&#8217;s ReadyNAS range of network attached storage devices, which works like a charm as a TVersity replacement, with one exception &#8211; the damn thing refuses to be seen by the Xbox 360.  Thankfully, I&#8217;ve figured out why.</p>
<p>In the configuration file &#8211; /etc/minidlna.conf &#8211; the software makes reference to a &#8220;presentation URL,&#8221; which by default is commented out.  This results in an invalid default of http://192.168.0.1:80/, which everything <em>except</em> the Xbox 360 happily ignores.  The 360, however, decides to go visit this URL &#8211; and falls over.</p>
<p>To fix the issue, simply change the line to the IP address of your server and the port you&#8217;ve got miniDLNA working on &#8211; 8200 by default.  The entire line should end up reading:</p>
<blockquote><p><code lang="bash"># default presentation url is http address on port 80<br />
presentation_url=http://192.168.0.20:8200/</code></p></blockquote>
<p>Once that&#8217;s done, restart miniDLNA and everything should spring into life.</p>
]]></content:encoded>
			<wfw:commentRss>http://gareth.halfacree.co.uk/2009/09/xbox-360-and-minidlna/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Powered by Ubuntu</title>
		<link>http://gareth.halfacree.co.uk/2009/04/powered-by-ubuntu</link>
		<comments>http://gareth.halfacree.co.uk/2009/04/powered-by-ubuntu#comments</comments>
		<pubDate>Sun, 05 Apr 2009 15:28:53 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[stickers]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://gareth.halfacree.co.uk/?p=278</guid>
		<description><![CDATA[My laptop is now officially Powered by Ubuntu, thanks to System 76 and the Linux Emporium. To snag yourself some free Ubuntu stickers, simply pop a self addressed envelope across to: The Linux Emporium Bridge House 17a Maybrook Road Sutton Coldfield Birmingham B76 1AL UK They&#8217;ll drop a pack of four by return of post.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://gareth.halfacree.co.uk/wp-content/uploads/2009/04/poweredbyubuntu.jpg" rel="lightbox[278]"><img class="alignright size-thumbnail wp-image-279" title="Powered by Ubuntu sticker" src="http://gareth.halfacree.co.uk/wp-content/uploads/2009/04/poweredbyubuntu-150x150.jpg" alt="Powered by Ubuntu sticker" width="150" height="150" /></a>My laptop is now <em>officially</em> Powered by <a title="Ubuntu Linux" href="http://www.ubuntu.com" target="_blank">Ubuntu</a>, thanks to <a title="System 76 - Ubuntu Stickers" href="http://system76.com/article_info.php?articles_id=9" target="_blank">System 76</a> and the <a title="The Linux Emporium - UK" href="http://www.linuxemporium.co.uk/" target="_blank">Linux Emporium</a>.</p>
<p>To snag yourself some free Ubuntu stickers, simply pop a self addressed envelope across to:</p>
<blockquote><p>The Linux Emporium<br />
Bridge House<br />
17a Maybrook Road<br />
Sutton Coldfield<br />
Birmingham<br />
B76 1AL   UK</p></blockquote>
<p>They&#8217;ll drop a pack of four by return of post.  I think you&#8217;ll agree that it looks much nicer than the old &#8220;Designed for Windows Vista&#8221; sticker it replaces.</p>
]]></content:encoded>
			<wfw:commentRss>http://gareth.halfacree.co.uk/2009/04/powered-by-ubuntu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu &amp; Eee Wireless</title>
		<link>http://gareth.halfacree.co.uk/2009/01/ubuntu-eee-wireless</link>
		<comments>http://gareth.halfacree.co.uk/2009/01/ubuntu-eee-wireless#comments</comments>
		<pubDate>Thu, 01 Jan 2009 22:16:03 +0000</pubDate>
		<dc:creator>Gareth</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[eeepc]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://gareth.halfacree.co.uk/?p=168</guid>
		<description><![CDATA[Being a huge fan of Ubuntu, I&#8217;ve been using the OS on most of my hardware for quite some time &#8211; including my first release spec Eee PC 701. Originally running Ubuntu 7.04 and then upgraded to 7.10, it&#8217;s always been a bit &#8216;finicky&#8217; &#8211; mainly as a result of the non-standard hacks I&#8217;ve had [...]]]></description>
			<content:encoded><![CDATA[<p>Being a huge fan of Ubuntu, I&#8217;ve been using the OS on most of my hardware for quite some time &#8211; including my first release spec Eee PC 701.  Originally running Ubuntu 7.04 and then upgraded to 7.10, it&#8217;s always been a bit &#8216;finicky&#8217; &#8211; mainly as a result of the non-standard hacks I&#8217;ve had to implement to get things like the shortcut keys working.</p>
<p>I decided the time had come to move to something a bit newer, however, and have just finished installing Ubuntu 8.04.  Using the ISO from the <a title="Ubuntu Eee Project" href="http://www.ubuntu-eee.com/" target="_blank">Ubuntu Eee</a> website, it was a fairly painless install.  I was disappointed to see that the installer didn&#8217;t set up <em>fstab</em> in the manner I prefer &#8211; with a limited number of writes on the internal SSD available, I like to put <em>/tmp</em>, <em>/var</em>, and others on a <em>tmpfs</em> mount &#8211; but that was easily sorted.</p>
<p>What wasn&#8217;t quite so easy was the wireless.  Unfortunately, Asus have opted to use one of Atheros&#8217;s less supported wireless chipsets in the Eee &#8211; with no official Linux driver available.  The <em>madwifi-ng</em> driver included as part of the Ubuntu-Eee package <em>sort of</em> worked, but tended to drop out rather frequently &#8211; oddly, when the signal was at its strongest rather than its weakest.</p>
<p><span id="more-168"></span></p>
<p>Rather than put up with a spotty signal, I grabbed the <em>madwifi-ng</em> build I had from the original Ubuntu 7.04 install and compiled it on 8.04.  A quick reboot later and the wireless is back to its old reliable self again.  This way, I get the best of both words &#8211; the reliable wireless from Ubuntu 7.04, and the shiny new Compiz Fusion desktop effects from Ubuntu 8.04.</p>
<p>The driver I used for this is available <a title="Ubuntu Eee WiFi Driver Download" href="http://gareth.halfacree.co.uk/downloads/eeewifi.tar.gz" target="_self">here</a>, so if you want to do the same as I did simply download the file and extract it as so:</p>
<blockquote>
<pre>tar xfvz eeewifi.tar.gz</pre>
</blockquote>
<p>Then start the compilation and installation process thusly:</p>
<blockquote>
<pre>cd madwifi-ng-r2756-20071018
make clean
sudo make install</pre>
</blockquote>
<p>Reboot, and your wireless should be working a treat!</p>
]]></content:encoded>
			<wfw:commentRss>http://gareth.halfacree.co.uk/2009/01/ubuntu-eee-wireless/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
