<?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>Strangeparty</title>
	<atom:link href="http://www.strangeparty.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.strangeparty.com</link>
	<description>A blog about life, linux and photography</description>
	<lastBuildDate>Sat, 07 Aug 2010 10:34:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Who came up with eBook pricing</title>
		<link>http://www.strangeparty.com/2010/08/07/who-came-up-with-ebook-pricing/</link>
		<comments>http://www.strangeparty.com/2010/08/07/who-came-up-with-ebook-pricing/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 10:34:09 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[kindle]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=737</guid>
		<description><![CDATA[<p>Seriously&#8230; Who decided how to price eBooks?</p>
<p>A friend at work recently recommended I read Richard Morgan&#8217;s Altered Carbon. The Kindle app on android allowed me to find it quickly and download the first 3 chapters free to read &#8211; I loved it and decided I wanted to read the rest of it&#8230; However when checking the <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/08/07/who-came-up-with-ebook-pricing/">Who came up with eBook pricing</a></span>]]></description>
			<content:encoded><![CDATA[<p>Seriously&#8230; Who decided how to price eBooks?</p>
<p>A friend at work recently recommended I read Richard Morgan&#8217;s Altered Carbon. The Kindle app on android allowed me to find it quickly and download the first 3 chapters free to read &#8211; I loved it and decided I wanted to read the rest of it&#8230; However when checking the prices I was left the feeling that eBooks are just too expensive for what they are</p>
<p><a href="http://www.play.com/Books/Books/4-/196726/Altered-Carbon/Product.html">Play.com £5.99</a><br />
<a href="http://www.amazon.co.uk/Altered-Carbon-Gollancz-Richard-Morgan/dp/0575081244/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1281176341&amp;sr=8-1">Amazon UK £5.19<br />
</a><span style="font-size: 13.3333px;"><a href="http://www.amazon.co.uk/Orion-Publishing-Group-Altered-Carbon/dp/B002U3CBZM/ref=sr_1_2?ie=UTF8&amp;s=digital-text&amp;qid=1281176341&amp;sr=8-2">Kindle (Amazon UK) £4.88</a></span></p>
<p><span style="font-size: 13.3333px;">I went with Play as their free delivery normally takes about 2 days, so that was great. But seriously, nearly the same price for Kindle? For a book I cannot resell, lend or give away?</span></p>
<p><span style="font-size: 13.3333px;">Digital books should be much, much cheaper &#8211; There is no printing cost involved, so the book should be significantly cheaper, but this is not what I am seeing.</span></p>
<p><span style="font-size: 13.3333px;">If I choose to keep the book and reread it again in a few years, the price may be fine. But I am more likely to read it once, and then give it to a friend to read. Why should i pay nearly the same price for something I cannot lend, sell, or give to a charity shop?</span></p>
<p><span style="font-size: 13.3333px;">Also, how on earth does a paper book qualify for no VAT, yet as soon as that book has no paper involved I have to pay VAT?!?</span></p>
<p>There are lots of Kindle books for £3 or less, and for these I will probably just buy it digitally as its incredibly cheap. But if I wanted to buy a recent release, then I really am paying a lot more for a digital book just to have it early? Why?<br />
I can understand pricing getting lower for older books as they have to compete with people lending books, libraries and second-hand sales, however none of that is possible for DRM protected eBooks, so they should all be priced the same as older releases</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/08/07/who-came-up-with-ebook-pricing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>App Inventor for Android</title>
		<link>http://www.strangeparty.com/2010/07/26/app-inventor-for-android/</link>
		<comments>http://www.strangeparty.com/2010/07/26/app-inventor-for-android/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:41:20 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=724</guid>
		<description><![CDATA[<p>Saw this recently on the Google blog:</p>
<p>App Inventor is a new tool in Google Labs that makes it easy for anyone—programmers and non-programmers, professionals and students—to create mobile applications for Android-powered devices. And today, we’re extending invitations to the general public.</p>
<p>via Official Google Blog: App Inventor for Android.</p>
<p>It looks really cool, and allows really quick generation <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/07/26/app-inventor-for-android/">App Inventor for Android</a></span>]]></description>
			<content:encoded><![CDATA[<p>Saw this recently on the Google blog:</p>
<blockquote><p>App Inventor is a new tool in Google Labs that makes it easy for anyone—programmers and non-programmers, professionals and students—to create mobile applications for Android-powered devices. And today, we’re extending invitations to the general public.</p>
<p>via <a href="http://googleblog.blogspot.com/2010/07/app-inventor-for-android.html">Official Google Blog: App Inventor for Android</a>.</p></blockquote>
<p>It looks really cool, and allows really quick generation of apps via a gui interface which is powered by <a href="http://dspace.mit.edu/handle/1721.1/41550">MIT&#8217;s Open Blocks</a> framework which sounds like a really cool way to get children and students into programming</p>
<p>I can&#8217;t wait to get my invite to try it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/07/26/app-inventor-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>eBooks on Android</title>
		<link>http://www.strangeparty.com/2010/07/23/ebooks-on-android/</link>
		<comments>http://www.strangeparty.com/2010/07/23/ebooks-on-android/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 18:29:37 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[Rights]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=718</guid>
		<description><![CDATA[<p>Since buying an Android phone I have been starting to think about using it to read books. The screen isn&#8217;t bad, and it turns out that there is some good software out there</p>
<p>Aldiko is a fantastic program for reading free ePub books, so I am working my way through a few H. G. Wells books as <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/07/23/ebooks-on-android/">eBooks on Android</a></span>]]></description>
			<content:encoded><![CDATA[<p>Since buying an Android phone I have been starting to think about using it to read books. The screen isn&#8217;t bad, and it turns out that there is some good software out there</p>
<p><a href="http://www.aldiko.com/">Aldiko</a> is a fantastic program for reading free ePub books, so I am working my way through a few H. G. Wells books as they are now public domain and available directly through the program (along with many other free books). The software has good options for font styling, line spacing, page turning, black on white vs. white on black as well as quick shortcuts for changing the brightness.</p>
<p>One thing I have yet to figure out though, is buying eBooks.</p>
<p>Sure, there are loads of places out there that sell them, many including their own software (available for Android) for reading the books with DRM. However it is almost impossible to work out which ones use which DRM systems, and what the restrictions are on them (some may even be per-book)</p>
<p>Why am I worried about DRM? Well, what if I want to read the book on a train on a laptop, or what if my phone dies and I get a different phone? Can I transfer it to another device? What if I decide to buy a hardware eBook reader? Will I be able to copy my books to it and read them there?</p>
<p>I haven&#8217;t even addressed the idea of lending the book to my wife without giving her my phone.</p>
<p>DRM worries me greatly, and so I doubt I will buy an eBook anytime soon unless it comes without DRM (but no sites make it very clear that they are DRM-free). Why can&#8217;t they come to the same conclusions as online music distributors and realise that DRM-free means more sales?</p>
<p>I guess it is paper books for the forseeeable future</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/07/23/ebooks-on-android/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WebSphere Message Broker Fix Pack 7.0.0.1 available</title>
		<link>http://www.strangeparty.com/2010/07/22/websphere-message-broker-fix-pack-7-0-0-1-available/</link>
		<comments>http://www.strangeparty.com/2010/07/22/websphere-message-broker-fix-pack-7-0-0-1-available/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 09:21:08 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[IBM]]></category>
		<category><![CDATA[Message Broker]]></category>
		<category><![CDATA[My Job]]></category>
		<category><![CDATA[messagebroker]]></category>
		<category><![CDATA[wmb]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=726</guid>
		<description><![CDATA[<p>Finally &#8211; All that hard work has paid off and the release is available!</p>
<p>Fix Pack 7.0.0.1 (V7.0 Fix Pack 1) for WebSphere Message Broker v7.0 is now available.
http://www-01.ibm.com/support/docview.wss?&#38;uid=swg24027267</p>
<p>You can see what is new in 7.0.0.1 by looking in the Information Center</p>


Simplicity and productivity

User-defined patterns
Solar Pattern Authoring sample
Service Access from WebSphere MQ: one-way pattern
Using a subflow as a user-defined <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/07/22/websphere-message-broker-fix-pack-7-0-0-1-available/">WebSphere Message Broker Fix Pack 7.0.0.1 available</a></span>]]></description>
			<content:encoded><![CDATA[<p>Finally &#8211; All that hard work has paid off and the release is available!</p>
<blockquote><p>Fix Pack 7.0.0.1 (V7.0 Fix Pack 1) for WebSphere Message Broker v7.0 is now available.<br />
<a href="http://www-01.ibm.com/support/docview.wss?&amp;uid=swg24027267">http://www-01.ibm.com/support/docview.wss?&amp;uid=swg24027267</a></p></blockquote>
<p>You can <a href="http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/bb22390_.htm ">see what is new in 7.0.0.1 by looking in the Information Center</a></p>
<ul>
<blockquote>
<li><strong>Si</strong><strong>mplicity and productivity</strong>
<ul>
<li>User-defined patterns</li>
<li>Solar Pattern Authoring sample</li>
<li>Service Access from <span class="ph">WebSphere MQ</span>: one-way pattern</li>
<li>Using a subflow as a user-defined node</li>
</ul>
</li>
<li><strong>Universal connectivity for SOA</strong>
<ul>
<li>New <span class="ph">CORBARequest</span> node</li>
<li>New <span class="ph">CICSRequest</span> node</li>
<li>New <span class="ph">WebSphere MQ File Transfer Edition</span> nodes</li>
<li>New <span class="ph">DatabaseInput</span> node</li>
<li>New <span class="ph">SecurityPEP</span> node</li>
<li>JMS transport for SOAP nodes</li>
<li>Querying WSDL with ?wsdl</li>
<li>HTTP nodes can use the embedded listener in an execution group</li>
<li>New HTTP Timeout terminal on <span class="ph">HTTPInput</span> and <span class="ph">SOAPInput</span> nodes</li>
<li>Securing the connection to IMS™ by using SSL</li>
<li>Propagating security credentials to IMS</li>
<li>Closing unused connections to Enterprise Information Systems</li>
<li>Propagating security credentials to SAP</li>
</ul>
</li>
<ul>
<li>New WS-Trust V1.3 compliant security token server (STS) support for message flow security</li>
</ul>
</blockquote>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/07/22/websphere-message-broker-fix-pack-7-0-0-1-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu in Business</title>
		<link>http://www.strangeparty.com/2010/07/15/ubuntu-in-business/</link>
		<comments>http://www.strangeparty.com/2010/07/15/ubuntu-in-business/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 14:33:01 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=712</guid>
		<description><![CDATA[<p>On Tuesday I attended the Ubuntu in Business event run by the Ubuntu UK Community and Canonical, and unlike Proactive Paul I really enjoyed the day and thought it was a success.</p>
<p>I will agree and say that there should have been more introductory talks on Ubuntu and Open Source for those people that were not familiar, especially <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/07/15/ubuntu-in-business/">Ubuntu in Business</a></span>]]></description>
			<content:encoded><![CDATA[<p>On Tuesday I attended the Ubuntu in Business event run by the Ubuntu UK Community and Canonical, and unlike <a href="http://www.dontreadmyblog.com/?p=2969">Proactive Paul</a> I really enjoyed the day and thought it was a success.</p>
<p>I will agree and say that there should have been more introductory talks on Ubuntu and Open Source for those people that were not familiar, especially as they were trying to target new and potential users, however given half the audience was already running Ubuntu I am not sure if that would have been a waste. Certainly introduction demo&#8217;s are always good and especially for someone new to Ubuntu or Linux this would show that really it is not very different from using windows and is certainly not scary!</p>
<p>The talks and targetted demo&#8217;s were good, in particular I was curious about the <a href="http://www.ubuntu.com/cloud">Ubuntu Cloud</a> and <a href="http://www.canonical.com/enterprise-services/landscape">Landscape</a> which both seem really good. For me the best part of the day was when the guest speakers and Canonical hosts got up on a panel and were interviewed by <a href="http://en.wikipedia.org/wiki/Glyn_Moody">Glyn Moody</a> which resulted in some fantastic discussion, excellent answers and some good questions and responses from the audience.</p>
<p>Of course the <a href="https://wiki.ubuntu.com/ubuntini">ubuntini</a> cocktail afterwards was interesting too &#8211; not really my thing, but was nice to try.</p>
<p>The conversation after the cocktail was possibly the best part of the evening &#8211; actually getting to talk to some of the Canonical folks and forging a few new links. Some good conversations about IBM and Ubuntu, hopefully it won&#8217;t take too long for sanity to break-out and IBM to consider Ubuntu seriously<br />
(If you are a business buying IBM software and want to use it on Ubuntu, make sure you tell your salesman this &#8211; If IBM doesn&#8217;t hear people asking for software on Ubuntu then there is no reason to ship it for Ubuntu).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/07/15/ubuntu-in-business/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Running a personal server</title>
		<link>http://www.strangeparty.com/2010/06/27/running-a-personal-server/</link>
		<comments>http://www.strangeparty.com/2010/06/27/running-a-personal-server/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 18:18:00 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[exim]]></category>
		<category><![CDATA[logwatch]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[maintenance]]></category>
		<category><![CDATA[munin]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=693</guid>
		<description><![CDATA[<p>Maybe you read some of my posts on software raid and lvm, or maybe you have a spare pc lying around and want a box you can use as a small personal server and are wondering about some tips for running it with less hassle. I am sharing a few things that I have learnt about <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/06/27/running-a-personal-server/">Running a personal server</a></span>]]></description>
			<content:encoded><![CDATA[<p>Maybe you read some of my posts on <a href="http://www.strangeparty.com/2008/05/24/software-raid1-and-lvm-on-debian-etch/">software raid and lvm</a>, or maybe you have a spare pc lying around and want a box you can use as a small personal server and are wondering about some tips for running it with less hassle. I am sharing a few things that I have learnt about running a personal server (though some will apply to any Linux server or always-on machine) that make my life as a part-time admin easier. This is by no means an exhaustive list, nor necessarily the <em>correct way</em> to run a box, but it works well for me and so should be useful to others as well.<br />
<span id="more-693"></span></p>
<h2>ADSL port forwarding</h2>
<p>If your box is behind an ADSL modem (and unless you have a professional server and datacentre to put it in, it probably is) then by default the NAT addressing and firewall will mean that you cannot get in remotely to your box. This may be fine if you don&#8217;t want anything from the box accessible, but I tend to like being able to ssh in from anywhere, so you need to set up some port forwarding from your ADSL router/modem to get into your box</p>
<p>I wont attempt to describe how your ADSL modem/router config works, you&#8217;ll have to read it&#8217;s manual, but the ports you probably want are:</p>
<blockquote><p>ssh 22 &#8211; if you want to log from outside your home network with ssh<br />
smtp 25 &#8211; if you want your box to be able to receive email<br />
ftp 21 &#8211; if you want ftp (though I recommend sftp or scp which use ssh and therefore encrypt your password and data)<br />
http 80 &#8211; if you want webpages visible from the internet<br />
https 443 &#8211; if you want webpages visible from the internet and want to use https encrypted http</p></blockquote>
<h2>Dynamic DNS</h2>
<p>Unless you have a fixed IP address from your ISP, you will probably want some sort of Dynamic DNS system that sets a hostname to have your current IP address. I use <a href="http://dyndns.afraid.org">http://dyndns.afraid.org</a> as they are free, you can host your own domain there and there are plenty of domains you can use for sub-domains if you don&#8217;t want to buy a domain. They provide lots of scripts to help you keep your IP address recorded correctly whenever it changes</p>
<h2>Mail</h2>
<p>I really want mail configured for delivery, as that is one of the easiest ways to get alerts from your machine (though twitter could be cool too though). If you have a email to smms gateway or smartphone with push email then these alerts can be very fast and direct.</p>
<p>I use exim, not because it is the fastest or most configurable mail system available, but because it is very easy to get configured and running on Debian or Ubuntu. Simply install the exim4 package and the debconf wizard will get you up and running.</p>
<blockquote><pre>sudo aptitude install exim4</pre>
</blockquote>
<p>The wizard, which can be re-run with the command <em>sudo dpkg-reconfigure exim4-config</em>, asks you how you want to configure exim. Normally you select the first or second option (&#8220;internet site; mail is sent and received directly using SMTP&#8221; or &#8220;mail sent by smarthost; received via SMTP or fetchmail&#8221;). Most of the questions come with sensible defaults. If you selected the second option you will get asked what your smarthost for sending mail is, in many cases this is just mail.your.isp or you can use google if you have an account, but it will require authentication which  which is a little more complicated to set up.</p>
<p>Next you want to set all email for &#8216;root&#8217; to forward to you preferred email address.<br />
Edit <em>/root/.forward</em> to look like this</p>
<blockquote><pre># Exim filter   &lt; &lt;== do not edit or remove this line!

if error_message then finish endif

deliver me@myemail.com</pre>
</blockquote>
<p>You can test sending email with a simple command line of <em>mail root -s test</em> followed by a message and then CTRL+d. You should get the email at your address set above.</p>
<h2>Logwatch</h2>
<p>I like to know what is happening on my boxes, and logwatch does a great job at summarising the changes that have happened very day. Install logwatch with</p>
<pre>sudo aptitude install logwatch</pre>
<p>and it will email root every day with a summary of log changes and other useful info.</p>
<p>As I don&#8217;t actually want this information every day, I moved the cronjob for logwatch from daily to weekly with</p>
<blockquote><pre>sudo mv /etc/cron.daily/00logwatch /etc/cron.weekly/00logwatch</pre>
</blockquote>
<p>so now I get a weekly summary for my box, which is good enough for me</p>
<h2>Raid emails</h2>
<p>As I use software raid to make my disks a little more redundant (Warning: RAID is not a backup strategy. 2 disks CAN (and sod&#8217;s law / murphey&#8217;s law says that at the worst possible time they actually will) both die at the same time. RAID simply gives you an extra chance to get a new disk without having to get your data from a backup)</p>
<p>If you use software RAID, make sure your raid config<br />
<em>cat /etc/mdadm/mdadm.conf</em><br />
has the following lines set appropriately</p>
<blockquote><pre>MAILADDR root
MAILFROM raid@myserver.com</pre>
</blockquote>
<h2>Smart disk monitoring</h2>
<p>As I don&#8217;t trust disks (and you shouldn&#8217;t either, as they will die on you at the most annoying time) I like to have the S.M.A.R.T disk monitoring installed, which does occasional tests on the disks, and can warn you if the disk starts showing bad sectors. If your disk does have bad sectors, it is probably best to replace it pretty soon, though sometimes you can just get a very small set of bad sectors and live with the disk for a long time.</p>
<p>Install smart with</p>
<blockquote><pre>sudo aptitude install smartmontools</pre>
</blockquote>
<p>and if you have logwatch installed too, then the SMART reports get added to your logwatch summaries (including disk temperatures which can be a good indication of airflow in your box)</p>
<h2>Toughening SSH</h2>
<p>I found that I had a lot of attempted logins on my box because SSH was open on the default port. One solution is to move the default port, but I am likely to forget to use that port number and just confuse myself&#8230; So I started looking at other ways to reduce the risk of having someone brute-force their way into an account.</p>
<p>You can use some really good stuff like fail2ban to take failed logins and firewall that IP off for a while, but I decided that I wanted something even stronger. I disabled password logins completely via SSH! To do this you will need  to have created a ssh keypair and set up the public key on your server and make sure it works to log you in BEFORE you disable password logins.</p>
<p>To disable password logins, simply edit<br />
<em>/etc/ssh/sshd_config</em><br />
and change</p>
<blockquote><pre>PasswordAuthentication yes</pre>
</blockquote>
<p>to say &#8220;no&#8221; instead. This will mean that you can never log in with a password, and have to use a ssh key. This will be almost impossible to brute-force, though you do have to keep your private ssh keyfile secure.</p>
<p>As a minimum, you may want to think about setting</p>
<blockquote><pre>PermitRootLogin no</pre>
</blockquote>
<p>in your sshd config so that the root account cannot be brute-forced, as this is probably the most common account that attempts are made on.</p>
<h2>Monitoring with Munin</h2>
<p>To keep an idea of how busy the box is, the cpu and ram usage, disk usage and many more things I have installed munin to monitor my servers. Munin logs system activity and automatically creates web-accessible charts of the status of your box. An example is online at <a href="http://munin.ping.uio.no">http://munin.ping.uio.no/</a>. I have set mine as password protected via an apache htaccess file with htpassword (there are plenty of resources online for how to do this), so that only I can see how busy my box is.</p>
<p>If you also install <em>sensord</em> and <em>lm-sensors</em> then munin can also chart things like fan speeds and temperatures</p>
<h2>Security updates</h2>
<p>Whether you are running Debian, Ubuntu or any other linux OS, make sure you check how to setup security updates for your distribution and install updates regularly. Having old packages is possibly the easiest way to get your box exploited.</p>
<p>If you don&#8217;t like having to remember to install packages you can install <em>cron-apt</em> to download the packages and tell you, so you can install them, or even install them for you (however it is generally a good idea to know what is going onto your system before it goes in, just in case anything looks suspicious or might break something)</p>
<h2>/etc in revision control</h2>
<p>Have you ever made a change to your system config, then realised not long later that it was a bad change, but can&#8217;t remember what you did?</p>
<p>Introducing <em>etckeeper</em>. etckeeper is a very clever package that takes /etc and puts it all in git. It can easily be configured to automatically commit every time you install or remove a package, so that all you have to do if you found something in /etc is broken is check the recent changes!</p>
<p>Simply install it with<br />
<blockquote>
<pre>sudo aptitude install etckeeper</pre>
</blockquote>
<p> and it pretty much works out of the box (It also supports other code control tools other than git, but the default is git)</p>
<h2>Anything Else?</h2>
<p>This list is by no means complete, and there are probably many more common tweaks you can do &#8211; Please leave a comment if you think of anything else that fits in or anything I might be doing wrong (hey, nobody&#8217;s perfect!) as I am always looking to improve how I run my little servers.</p>
<p>If you have several machines and static IP addresses then you can configure syslog to log to across the network, which would be cool as you could have errors logged from a box that has had bad disk crashes and dies and still know why. However I don&#8217;t have static IP&#8217;s so have not looked into this much</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/06/27/running-a-personal-server/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>A Debian Packaging Howto</title>
		<link>http://www.strangeparty.com/2010/06/17/a-debian-packaging-howto/</link>
		<comments>http://www.strangeparty.com/2010/06/17/a-debian-packaging-howto/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 18:59:36 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[packaging]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=665</guid>
		<description><![CDATA[<p>I do a fair bit of Debian/Ubuntu packaging at work (kind of on the side) and have had several people tell me that although the New Maintainer&#8217;s guide (http://www.debian.org/doc/maint-guide/ or it is available offline in the package maint-guide and also has some translations) does do an introduction it is a bit hard to follow, particularly if <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/06/17/a-debian-packaging-howto/">A Debian Packaging Howto</a></span>]]></description>
			<content:encoded><![CDATA[<p>I do a fair bit of Debian/Ubuntu packaging at work (kind of on the side) and have had several people tell me that although the New Maintainer&#8217;s guide (<a href="http://www.debian.org/doc/maint-guide/">http://www.debian.org/doc/maint-guide/</a> or it is available offline in the package <em>maint-guide</em> and also has some translations) does do an introduction it is a bit hard to follow, particularly if you have a really simple program you want to package up and release. The New Maintainer&#8217;s guide does assume you have an existing tarball to work from, and that is often not the case if you just want to package up something you have made so I thought I would write a detailed walkthrough of packaging up something simple.<br />
<span id="more-665"></span><strong>Edit: 2010/06/07 </strong><em>I initially wrote this post to use &#8220;cdbs&#8221;, but have since rewritten it to use debhelper 7 as I am told that it is far more popular among Debian Developers and slightly more powerful. cdbs is still used in some places, but I understand debhelper 7 is used far more</em></p>
<p>While you can just use something like dpkg-deb to turn the right files into a .deb, this only works for already-compiled files and loses some of the great features about Debian-based systems such as changelogs, so I am only going to describe how to make a full source-format package that is built using the Debian tools</p>
<h4>Prereqs</h4>
<p>You will want to install a few packages before you go any further &#8211; these are very useful helper tools for packaging. Install <strong>dh-make</strong>, <strong>dpkg-dev</strong>, <strong>debhelper </strong>and <strong>devscripts<br />
</strong></p>
<p><em>sudo aptitude install dh-make dpkg-dev debhelper devscripts</em></p>
<p>I chose debhelper here as it is a very powerful and yet often simple way of quickly creating packages. It takes a lot of the slow work away from the packager and does very sensible default things. My example package does not really need compiling so it could be simple to just create it by hand, but using debhelper to do the default packaging rules gives you more time to do other things</p>
<p>It is worth mentioning here that all aspects of the parts of a Debian package are covered in detail in the Debian Policy document (<a href="http://www.debian.org/doc/debian-policy/">http://www.debian.org/doc/debian-policy/</a>, which although Debian specific will not steer you wrong for getting started with Ubuntu packages (the Ubuntu Policy Manual appears to be at<a href="http://people.canonical.com/~cjwatson/ubuntu-policy/policy.html/">http://people.canonical.com/~cjwatson/ubuntu-policy/policy.html/</a>). (The Policy is also packaged up in the package <em>debian-policy</em>, though <em>ubuntu-policy</em> might be of interest too<em>)</em></p>
<h4>Lets Begin</h4>
<p>So, where do we start. Let&#8217;s start at the point where you have a simple program, perhaps a shell/perl/python script that you simply want to package up as a deb for easy installation. The first thing we want to do is make a folder formed out of the package name and version, and put the script in it in the correct place.</p>
<p>Here is my example folder with me example program (called simple-program):</p>
<blockquote><p><em>simple-package-0.1/usr/bin/simple-program</em></p></blockquote>
<p><em></em>Note that the folder is the package name followed by a hyphen and a version number (simple point versions are the easiest to work with, so stick with them if possible)</p>
<p>Now, all work is done from within the package folder normally, so cd into that folder<br />
<em></em></p>
<blockquote><p><em>cd simple-package-0.1</em></p></blockquote>
<p>So far, all we have is just a folder with a binary in the place we want it to end up in. Now we have to &#8220;Debianise&#8221; (or Debianize if you prefer) this into a package<br />
<em></em></p>
<blockquote><p><em><code>dh_make --single  --createorig</code></em></p></blockquote>
<p>This command takes a source tree and turns it into a Debian source package format. The first flag tells dh_make that our source package is only going to build a single binary package (which is the most common). The second argument tells it that we do not have a tarball of our package so it should create a new one for us.</p>
<p>Now if you look in the current folder, you will see a debian/ folder. This is where all the Debian-specific magic happens.</p>
<p>The next thing we do is edit debian/rules</p>
<p>The rules file is the main makefile (or build script) which is run by &#8220;make&#8221; to produce your package. Everything starts from here.<br />
(If you have a new version of dh-make, then your rules file may already look like this, if your dh-make is older then you will end up with a longer file, so edit it to look like this )</p>
<blockquote><p><em><code>$ cat debian/rules<br />
#!/usr/bin/make -f<br />
# -*- makefile -*-<br />
# Sample debian/rules that uses debhelper.<br />
# This file was originally written by Joey Hess and Craig Small.<br />
# As a special exception, when this file is copied by dh-make into a<br />
# dh-make output file, you may use that output file without restriction.<br />
# This special exception was added by Craig Small in version 0.37 of dh-make.</p>
<p># Uncomment this to turn on verbose mode.<br />
#export DH_VERBOSE=1<br />
%:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dh $@<br />
</code></em></p></blockquote>
<p>Note that on the last line, the indent is a TAB character. Make sure you use a tab and not several spaces, as make is very particular about tabs</p>
<p>This debian/rules is really simple &#8211; all it does is says &#8220;whatever I was asked to do, tell the command &#8216;dh&#8217; to do it instead&#8221;. dh has sensible default rules, and you can find more about dh by running the command &#8220;man dh&#8221; to look at it&#8217;s manpage</p>
<p>(If you ever want lots more detail about what each step of building is doing, you can uncomment the line &#8220;export DH_VERBOSE=1&#8243; and each helper script will print out more info)</p>
<p>As the above build file doesn&#8217;t say anywhere which files to copy to the output package, we have to do something to make that happen. We are going to use the debhelper script called dh_install  to do this.</p>
<p>Edit a new file at <em>debian/simple-package.install</em></p>
<p>dh_install looks for this file (actually, it will also look for just <em>debian/install</em>) and will copy any files listed in it into your package. In this file we will put a list of files we want installed, one per line (wildcards work too, but I will list our only file for explicitness)</p>
<blockquote><p><em>$ cat debian/simple-package.install<br />
usr/bin/simple-program</em></p></blockquote>
<p>Notice that we do not have a leading &#8216;/&#8217;, this is deliberate. Also, if you check <em>man dh_install</em> then you will notice that dh_install will not move files to other directories as it is expected that your makefile will do this for you. For now I will assume that your simple package comes with all the files in the correct places.</p>
<h4>Building</h4>
<p>Now let&#8217;s try building. Run <em>dpkg-buildpackage</em> and this will turn your little folder into a Debian source package and then go and create a .deb (It is worth mentioning that the command <em>debuild</em> is also available, but as it is a wrapper around dpkg-buildpackage and other tools I will write more about it later, and just start simply with dpkg-buildpackage)</p>
<p>Have a look:</p>
<blockquote><p><em>$ ls ../simple-package_0.1-1_i386.deb<br />
../simple-package_0.1-1_i386.deb</em></p></blockquote>
<p>See &#8211; you have a .deb</p>
<p>Now let&#8217;s have a look inside it (this is just converting the file to a tar and then asking tar to list it&#8217;s contents):</p>
<blockquote><p><em>$ dpkg &#8211;fsys-tarfile ../simple-package_0.1-1_i386.deb |tar -tv<br />
tar: Record size = 8 blocks<br />
drwxr-xr-x root/root         0 2010-06-16 18:48 ./<br />
drwxr-xr-x root/root         0 2010-06-16 18:48 ./usr/<br />
drwxr-xr-x root/root         0 2010-06-16 18:48 ./usr/sbin/<br />
drwxr-xr-x root/root         0 2010-06-16 17:41 ./usr/bin/<br />
-rwxr-xr-x root/root         0 2010-06-16 17:41 ./usr/bin/simple-program<br />
drwxr-xr-x root/root         0 2010-06-16 18:48 ./usr/share/<br />
drwxr-xr-x root/root         0 2010-06-16 18:48 ./usr/share/doc/<br />
drwxr-xr-x root/root         0 2010-06-16 18:48 ./usr/share/doc/simple-package/<br />
-rw-r&#8211;r&#8211; root/root       193 2010-06-16 17:44 ./usr/share/doc/simple-package/README.Debian<br />
-rw-r&#8211;r&#8211; root/root       178 2010-06-16 17:44 ./usr/share/doc/simple-package/changelog.Debian.gz<br />
-rw-r&#8211;r&#8211; root/root       693 2010-06-16 17:44 ./usr/share/doc/simple-package/copyright<br />
</em></p></blockquote>
<p>Notice that your program is listed in <em>./usr/bin/simple-program</em>, and also that there is a changelog, a readme and a copyright file &#8211; I will come on to those later.</p>
<p>So, we&#8217;re done? I can just give this to people?</p>
<p>Erm, no&#8230; Not really</p>
<p>While you may have a package, you will notice that it is a rather dumb package</p>
<blockquote><p><em>$ dpkg-deb -I ../simple-package_0.1-1_i386.deb<br />
new debian package, version 2.0.<br />
size 1730 bytes: control archive= 524 bytes.<br />
303 bytes,    10 lines   control<br />
290 bytes,     4 lines   md5sums<br />
Package: simple-package<br />
Version: 0.1-1<br />
Architecture: i386<br />
Maintainer: anton &lt;anton@unknown&gt;<br />
Installed-Size: 32<br />
Section: unknown<br />
Priority: extra<br />
Homepage: &lt;insert the upstream URL, if relevant&gt;<br />
Description: &lt;insert up to 60 chars description&gt;<br />
&lt;insert long description, indented with spaces&gt;</em></p></blockquote>
<p>See &#8211; it really is a but dumb as we have not configured much about it. Lets start fixing that now as we really don&#8217;t want to be giving this to everyone in it&#8217;s current state</p>
<h4>Package control files</h4>
<p>Let&#8217;s start with the file <em>debian/control</em></p>
<blockquote><p><em><br />
$ cat debian/control<br />
Source: simple-package<br />
Section: unknown<br />
Priority: extra<br />
Maintainer: anton &lt;anton@unknown&gt;<br />
Build-Depends: debhelper (&gt;= 7)<br />
Standards-Version: 3.8.1<br />
Homepage: &lt;insert the upstream URL, if relevant&gt;</em></p>
<p><em> </em><em>Package: simple-package<br />
Architecture: any<br />
Depends: ${shlibs:Depends}, ${misc:Depends}<br />
Description: &lt;insert up to 60 chars description&gt;<br />
&lt;insert long description, indented with spaces&gt;<br />
</em></p></blockquote>
<p>We will want to edit several of these fields. Of course these are all explained in <a href="http://www.debian.org/doc/debian-policy/ch-controlfields.html">Chapter 5 of the Debian Policy</a>. The first thing to note is that the first chunk applies to the source package. Here we want to set our Maintainer name and email.<br />
The build-depends are a default guess too, and should be enough for us for now (build-depends is all the packages needed to build this program, which often include any extra libraries you might need or extra tools such as unzip).<br />
<span style="font-size: 13.3333px;"><strong>Important:</strong> As we are using a somewhat new debhelper way of building, and this might not exist on older boxes, we really need the line here that says to use version 7 or newer of debhelper (otherwise someone might try building with only version 6 and it will fail badly)</span></p>
<p>The homepage is also worth filling in if your package has one, but the whole line can be deleted if not required. The section and priority I will leave you to look up in the Debian policy manual if you want to know more about them, but can be left as-is for now</p>
<p>The second block is all about the binary .deb we want to produce. Note that the Package: section has the same name &#8211; This is the default for a &#8220;single package&#8221; that we asked dh_make to create for us, though you can have more than one block if your source package should produce multiple debs.<br />
The Architecture: fields is worth getting correct. You can put in values like <em>i386</em> or <em>amd64</em> if your package will only work there, or if it should compile and work on any architecture you use <em>any</em>. As my package is a simple script-type application, it is actually slightly more special than that and only needs building once and will not need recompiling for any architecture, so I am going to change this to <em>all</em>. &#8220;all&#8221; has a special meaning, telling dpkg-buildpackage to only compile it once and use that on any architecture.</p>
<p>The Depends: field is also another important field to get correct. This says what you will need installed to actually use this package. So if your package is written in Python, then you want to put the correct Python package name in here (and a version in brackets like &#8220;<em>python (&gt;=2.6)</em>&#8220;﻿ if your package needs a minimum level of that package. You can also do OR&#8217;s if you use a pipe &#8220;|&#8221;.<br />
The two magic variable depends are filled in by various debhelper scripts and can be left alone (in this case they will end up empty.</p>
<p>The Description: field has a special formatting. The first line is a short description of less than 60 characters, and then after that is a long description where each line starts with a space. If you want to put an empty line in your long description put a space then a period/dot ( &#8220;.&#8221;) on this line (do not use an empty line). Full explanation is in the Debian Policy.</p>
<p>&#8220;Where do I set the version number&#8221; I hear you ask&#8230; well, I&#8217;m coming to that now</p>
<h4>debian/changelog</h4>
<p>Package versioning is controlled from the <em>debian/changelog</em> file. You can edit this file directly, but it is often easier to use the command <em>dch</em> as it will fill in various fields for you, and can even do simple increments and comments completely from the command line. If you run <em>dch</em> from the main folder of your package it will launch the default editor with a new comment line created for you. If you want to quickly increment the version you can use <em>dch -i</em> and this will do the same, but increment the version number for you first (creating a new changelog entry in doing so).</p>
<p>Let&#8217;s have a quick look at a changelog (you might want to look at <a href="http://www.debian.org/doc/debian-policy/ch-source.html#s-dpkgchangelog">Section 4.4 of the Debian Policy</a> too)</p>
<blockquote><p><em>$ cat debian/changelog<br />
simple-package (1.0-1) unstable; urgency=low</em></p>
<p><em>* Initial release (Closes: #nnnn)</em></p>
<p><em> </em><em> &#8212; anton &lt;anton@unknown&gt;   Wed, 16 Jun 2010 19:32:10 +0100<br />
</em></p></blockquote>
<p>A changelog file is a colletion of repeated blocks like the above. The first line of a block shows the package name, then the version in brackets, then the release this package was built for and then it&#8217;s urgency. The version here is what comes out when we build our package. The release is only really used when uploading a package as the build-systems look for this field to work out where your package should go (in Debian you would have something like stable or testing, whereas in Ubuntu you would use the release name such as lucid or maverick)</p>
<p>Then we have a set of specially formatted bullet points. You can have many of these, but check the policy for allowed formatting. Notice that we have a Closes section here. This is used by bugtrackers that are attached to the package building systems, and unless you are uploading to one of these is probably simplest to remove.</p>
<p>Then we have the signature line which should have your name and email address, followed by two spaces and a timestamp. If you use <em>dch -i</em> then dch will create all this for you, and if you check the man page for it you can see how to set environment variables in your shell so that you do not have to tell it your correct name or email address. (It is worth mentioning the -v flag to dch. This lets you set a specific version to be put in the changelog, which is useful when you want to go up to version 2.0 or similar.)</p>
<p>It is perhaps worth mentioning that there are two types of source packages.</p>
<p>The usual type of package has version numbers that have a hyphen in them and the part before the hyphen is the upstream number, and the part after is the Debian revision. This is used to show that the upstream code has a specific version number but allows us to have our own incremented versions that clearly show that we are not shipping a new version of the upstream code but merely patches or even just packaging fixes which do not change the upstream code at all.<br />
When built, these types of packages output a .orig.tar.gz file and a .diff.gz file. This allows the upstream code only to be in the orig.tar.gz, and the diff.tar.gz to be a diff file of all the changes we have made, including the entire contents of the debian/ folder</p>
<p>The second type of package is a &#8220;native Debian&#8221; package. This package has simpler version numbers and only builds a .tar.gz file. This format is normally only used for packages that are entirely owned by Debian (or Ubuntu) and the source code was created entirely for use in Debian (or Ubuntu).</p>
<p>You can choose which type of package your&#8217;s is by how the version number is structured. Without a hyphen it will be a &#8220;native&#8221; package, however I recommend you use the first type by default (you can also force the type with flags to dpkg-buildpackage).<br />
The advantage of the first type of package is that because you have a .diff.gz and a .orig.tar.gz if you are uploading a very large package you only need to upload the .orig.tar.gz if the code in it has changed. If you are just making packaging fixes, or small patches then these are all in the .diff.gz and will be a much smaller upload.</p>
<h4>Other files</h4>
<p>Of course there are many other files in debian/ which are mostly templates created by dh_make. I will only explain a few here as they are all pretty well covered in the Debian Policy</p>
<p><em>debian/copyright</em> &#8211; You should put a full license in this file so that people know what license your code is under (see S<a href="http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile">ection 12.5 of the Debian Policy manual</a>)</p>
<p><em>debian/README.Debian</em> &#8211; This file is a readme file that is normally used to supplement any upstream readme file. It is copied out to /usr/share/doc/package-name/ as you saw above in the .deb. It should explain anything you have to do to make this package work that may be different from the upstream readme (if any) and normally contains the &#8220;Debian way&#8221; of getting your program running.</p>
<p><em>debian/compat</em> &#8211; This file sets the compatibility level of the debhelper tools &#8211; you normally don&#8217;t need to change this</p>
<p><em>debian/package-name.dirs</em> or <em>debian/dirs</em> &#8211; This file will create empty directories that your package might need. Note that you rarely ever need this as dh_install will create any directories that will be needed to hold the files it copies (I mention this as I frequently see it being used unnecessarily)</p>
<p><em>debian/preinst, debian/postinst, debian/prerm, debian/postrm</em> &#8211; These files (also can be done as package-name.preinst) are the Pre and Post install/remove scripts. I won&#8217;t talk much about them now as you shouldn&#8217;t need to use them in simple packages. Note that dh_make creates some .ex files as example scripts. As usual see the Debian Policy if you need these</p>
<p><em>debian/docs</em> &#8211; This file lists any doc files you want copied into the /usr/share/doc/package-name/ in your package. It works like dh_install but see the manpage of  dh_installdocs for more information</p>
<p>That is probably all the interesting files for now, you can probably remove all the other files as they are simply template or example files.</p>
<h4>Other build output files</h4>
<p>You might have noticed that when you built your package, as well as the .orig.tar.gz, the diff.gz and the .deb you also got a .dsc file and a .changes file.</p>
<p>The .changes file is used to describe this version of your package, and contains the latest chunk of your changelog. It also is used by tools such as dput to describe which files to upload and contains the checksums/hashes of these files. This file is usually signed with gpg to prove that this package was built by you.</p>
<p>The .dsc file is kind of similar, except it is purely about the source package. It has the checksums of the source files and is also signed. It also contains details such as the build-dependencies of your package so that systems can use it to work out what needs to be installed to build your package correctly.</p>
<p>You will probably only need either of these files if you are uploading files to some sort of repository, as they are mostly consumed by other programs.</p>
<p>If you try getting the source of a package, try <em>apt-get source hostname</em> then you will see that this downloads the .dsc file, and the releveant source files. If you want to unpack the source, you can use <em>dpkg-source -x *.dsc</em> (or if you want to build the binary package straight away, try <em>apt-get -b source hostname</em> and it will download and build though you might need to run <em>apt-get build-dep hostname</em> to install all the build packages needed for the hostname package)</p>
<h4>Advanced building</h4>
<p>So you can now create a simple package, you know how to set all the control files and how to increment the version in the changelog (hopefully using <em>dch</em>). Let&#8217;s look briefly at some more advanced building with dpkg-buildpackage.</p>
<p>Some packages want to be root to build. What they really want is to feel like they are root, so you can use the program <em>fakeroot</em> to build a package that complains it is not root (this way you don&#8217;t actually need root)<br />
<em>$ fakeroot dpkg-buildpackage</em> &#8230;.</p>
<p>If you have gpg set up, then you will have noticed that every time you build a package dpkg-buildpackage asks you to enter your passphrase. While this is great for giving the package to others, it can be really annoying if you are doing test builds. The flags <em>-us</em> and <em>-uc</em> (unsigned source, unsigned changes) will stop it asking you.</p>
<p>If you just want to build the source package you can use <em>-S</em> to force that.<br />
Similarly to just build the binary use the <em>-b</em> flag.</p>
<p>If your package is a non-native package, then dpkg-buildpackage will only put the .orig.tar.gz in the .changes file if the version ends in &#8220;-1&#8243;, otherwise it assumes your .orig.tar.gz is already on the server you are going to copy to (normally using dput). If you want to force it to include the .orig.tar.gz use the <em>-sa</em> flag</p>
<p>One thing worth doing if you do much packaging, is creating a chroot for building in. This way you will know that your build-depends are complete and that if you give the package to someone else (or use another computer) it will definitely build (it is easy to forget all the packages you installed on your box to make it build).</p>
<p>The simplest way to do this is to setup either a pbuilder environment or an sbuild environment, but I will leave an explanation of this for another post.</p>
<p>Enjoy creating your new .deb packages</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/06/17/a-debian-packaging-howto/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>HTC Desire &#8211; Android rocks!</title>
		<link>http://www.strangeparty.com/2010/06/09/htc-desire-android-rocks/</link>
		<comments>http://www.strangeparty.com/2010/06/09/htc-desire-android-rocks/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 18:32:31 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[phones]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=659</guid>
		<description><![CDATA[<p>I gave in to the whole &#8220;smart phone&#8221; thing on the a week ago and ordered a HTC Desire online. The phone arrived last Tuesday and has barely been out of my hand since.</p>
<p>The hardware is fairly similar to the iPhone in shape, but a matt-black back casing and sort of purplish-metallic looking trim. The screen <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/06/09/htc-desire-android-rocks/">HTC Desire &#8211; Android rocks!</a></span>]]></description>
			<content:encoded><![CDATA[<p>I gave in to the whole &#8220;smart phone&#8221; thing on the a week ago and ordered a HTC Desire online. The phone arrived last Tuesday and has barely been out of my hand since.</p>
<p>The hardware is fairly similar to the iPhone in shape, but a matt-black back casing and sort of purplish-metallic looking trim. The screen may be slightly taller than the iPhone, but only just.</p>
<p>Android is quite a cool OS, though I cannot tell how much is core Android and how much is &#8220;HTC Sense&#8221; which comes as part of the phone. One thing to say is that while an iPhone feels like a phone with lots of pages of buttons, the Desire is somewhat more like a computer. Technically it IS a computer &#8211; It is running a 2.6.29 Linux Kernel and you <em>can</em> hack a root account on it, though I have not done so (yet? Yeah, I surprised even myself here &#8211; I thought I would be hacking it and upgrading it to the latest Android straight away, but I am just enjoying all it can do right now)</p>
<p>I have 7 desktop screens, and swiping left or right moves between them. Each one can be filled up with application icons or shortcuts, or many applications also have &#8220;widgets&#8221; such as a clock with weather forcasting on it (clicking on the weather opens the weather app showing the weeks forecast).</p>
<p>Similarly I have a calendar widget showing me what is coming up from my Google calendar, and clicking on it takes me to the Google calendar application.</p>
<p>The touch-screen is a capacitive type and behaves wonderfully, though typing on the keyboard does take some getting used to.</p>
<p>The integration of the phone is quite incredible. Adding a twitter account and setting to get alerts whenever someone mentions me and now my phone beeps, vibrates and shows a twitter update in the pull-down status panel alongside text messages.</p>
<p>Facebook and Google integration however are far more impressive. Setting a Facebook and Google account and once it syncs I can see all the people I know in Facebook and all my Contacts in Google on my phone. Not only are they visible, but if it can it links the accounts (you can manually set links too) so that all the data shows up together. So for example, I have friends that I only had a mobile number in my phone, and email address in Google, and now that all shows up together along with their Facebook profile photo and more details from Facebook! (If only I could then force all that data back into my online Google address book)</p>
<p>I suspect the iPhone appstore is slightly better stocked than the Android Market, however there are still plenty of very good apps out there, and many are free (yes, there is a free lightsabre app if you really need it)</p>
<p>Google Maps is rather cool, and even has &#8220;Navigation&#8221;, which gives voice directions while driving (or walking) &#8211; It even pronounces the names of streets, though not particularly well.<br />
If you are walking the route, at the touch of a button you can see the route through Google&#8217;s street-view so that you can see where the turns really are, though I suggest not trying this while driving.</p>
<p>As I am with 3 as my provider, I fought my way through their website to get the MSN and Skype applications, which once found were easy to install. One odd thing is that both Skype and MSN only work if you have good 3 signal AND have turned off wireless. It seems strange to me as there is no harm in letting you use wireless, but I guess they have their reasons (I believe that the Skype app actually uses a GSM phone call to do the voice to their server which should be easier on their network than VOIP, but that doesnt exaplain why wifi couldnt be used)</p>
<p>Google Earth is pretty cool to see running on a device in your hand, but perhaps even cooler is the Google Sky app which not only uses GPS to work out where on the Earth you are, but also uses the Compass to work out which way you are facing, and the tilt/accelerometer thingy to work out which way your phone is facing. Holding the phone in front of you, as you would taking a picture, it shows the stars, planets and constellations that are visible in that direction. As I know almost nothing about star constellations this is rather interesting to me.</p>
<p>Okay, so Google have influenced the apps a lot, but they did write a lot of the OS, and it is perfectly fine to use without a Google account (it does POP/IMAP and Exchange for email), but I think you get more out of it if you use Google already.</p>
<p>One thing I have yet to try is application development: I&#8217;ve only had it a few days &#8211; come on!<br />
Looking at the developer docs it looks pretty straightforward &#8211; Eclipse IDE, Java classes provided, you should even be able to debug your app running on your phone via the USB cable. The only downside I have heard is that the GPS libraries require licensing, though apparently it will work in debug mode on your phone. It also appears that there is a $25 signup fee for the Android Market, but that doesn&#8217;t seem too extreme (especially when you compare it to $99 per year for the Apple app store)</p>
<p><strong>One thing worth checking</strong>: I found (as did many other people if you search for it) that having the Twitter account enabled for updates (for example in Friend Stream) caused the calendar to continually poll for updates. This uses lots of battery (and probably bandwidth). It seems that <em>calendar</em> is the task responsible for nearly all background updates, so don&#8217;t just assume that it is your calendar using all your power or bandwidth, it is probably something asking calendar to do lots of updates</p>
<p>If you think something is using too much battery power, download the app &#8220;Spare Parts&#8221; from the Android market, and in it select &#8220;Battery History-&gt;Partial Wake Usage&#8221; and see what comes top. Mine used to show Calendar, but after removing the flickr account settings from the core OS &#8220;Settings-&gt;Accounts &amp; Sync-&gt;Flickr-&gt;remove&#8221; and restarting the phone the bars are all very much smaller (and Calendar barely features on the usage)</p>
<p>Spare Parts looks incredibly useful, as you can also track bandwidth usage.</p>
<p><span id="post_sig">Posted from WordPress for Android</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/06/09/htc-desire-android-rocks/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Wales</title>
		<link>http://www.strangeparty.com/2010/06/09/wales/</link>
		<comments>http://www.strangeparty.com/2010/06/09/wales/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 18:27:26 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[travel]]></category>
		<category><![CDATA[walking]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[snowdon]]></category>
		<category><![CDATA[wales]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=651</guid>
		<description><![CDATA[On the first May bank holiday this year a few friends from work, and some of their partners, decided that as most of us had not climbed Snowdon before that this would be a good time to do it (of course Andy had planned the trip months before and found an awesome cottage for the seven <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/06/09/wales/">Wales</a></span>]]></description>
			<content:encoded><![CDATA[<h2><span style="font-weight: normal; font-size: 13.3333px;">On the first May bank holiday this year a few friends from work, and some of their partners, decided that as most of us had not climbed Snowdon before that this would be a good time to do it (of course Andy had planned the trip months before and found an awesome cottage for the seven of us to stay in)</span></h2>
<p>John and I arrived quite late on Friday night and spent a little while driving round the farm until we came across the correct farmhouse. Saturday saw the weather looking slightly worse than Sunday, so we decided (see photo of planning below) to do another walk &#8211; We ended up walking in a national park in Dyffryn</p>
<p><a title="img_11298" href="http://farm5.static.flickr.com/4062/4584938080_0c15f17be4_b.jpg"><img src="http://farm5.static.flickr.com/4062/4584938080_0c15f17be4_m.jpg" border="0" alt="img_11298" width="240" height="160" /></a></p>
<h2><a href="http://www.everytrail.com/view_trip.php?trip_id=603458">Dyffryn</a></h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="FlashVars" value="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603458&amp;startLat=52.797417641&amp;startLon=-4.110131264&amp;mapType=Terrain&amp;" /><param name="src" value="http://www.everytrail.com/swf/widget.swf" /><param name="flashvars" value="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603458&amp;startLat=52.797417641&amp;startLon=-4.110131264&amp;mapType=Terrain&amp;" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://www.everytrail.com/swf/widget.swf" quality="high" flashvars="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603458&amp;startLat=52.797417641&amp;startLon=-4.110131264&amp;mapType=Terrain&amp;"></embed></object></p>
<p><a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11407" href="http://farm5.static.flickr.com/4054/4584355661_bf5210ec9b_b.jpg"><img src="http://farm5.static.flickr.com/4054/4584355661_bf5210ec9b_m.jpg" border="0" alt="img_11407" width="160" height="240" /></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11411" href="http://farm5.static.flickr.com/4036/4584357593_2ec525971b_b.jpg"><img src="http://farm5.static.flickr.com/4036/4584357593_2ec525971b_m.jpg" border="0" alt="img_11411" width="160" height="240" /></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11388" href="http://farm5.static.flickr.com/4035/4584974940_e415a16e3c_b.jpg"><img src="http://farm5.static.flickr.com/4035/4584974940_e415a16e3c_m.jpg" border="0" alt="img_11388" width="160" height="240" /></a></p>
<p><a title="img_11360" href="http://farm5.static.flickr.com/4033/4584335003_5728e1530a_b.jpg"><img src="http://farm5.static.flickr.com/4033/4584335003_5728e1530a_m.jpg" border="0" alt="img_11360" width="240" height="160" /></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11341" href="http://farm5.static.flickr.com/4033/4584955024_e64f367dcf_b.jpg"><img src="http://farm5.static.flickr.com/4033/4584955024_e64f367dcf_m.jpg" border="0" alt="img_11341" width="240" height="160" /></a></p>
<p><a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11322" href="http://farm5.static.flickr.com/4059/4584318183_2216d3f74a_b.jpg"><img src="http://farm5.static.flickr.com/4059/4584318183_2216d3f74a_m.jpg" border="0" alt="img_11322" width="240" height="160" /></a> <span style="font-size: 13.3333px;"><a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11316" href="http://farm5.static.flickr.com/4037/4584943182_110e5a8f8f_b.jpg"><img src="http://farm5.static.flickr.com/4037/4584943182_110e5a8f8f_m.jpg" border="0" alt="img_11316" width="240" height="160" /></a></span></p>
<p><a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11346" href="http://farm5.static.flickr.com/4066/4584957110_430e0b2806_b.jpg"><img src="http://farm5.static.flickr.com/4066/4584957110_430e0b2806_m.jpg" border="0" alt="img_11346" width="240" height="160" /></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11345" href="http://farm5.static.flickr.com/4003/4584329139_5f9467f8e8_b.jpg"><img src="http://farm5.static.flickr.com/4003/4584329139_5f9467f8e8_m.jpg" border="0" alt="img_11345" width="240" height="160" /></a></p>
<p><a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11300" href="http://farm5.static.flickr.com/4007/4584938966_fbc873914c_b.jpg"><img src="http://farm5.static.flickr.com/4007/4584938966_fbc873914c_m.jpg" border="0" alt="img_11300" width="160" height="240" /></a></p>
<p>On Sunday we actually did the walk up Snowdon, which although I found a bit tiring (probably the limit I could realistically do in my current state of unfitness) was also incredibly enjoyable</p>
<h2><a href="http://www.everytrail.com/view_trip.php?trip_id=603454">Snowdon</a></h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="FlashVars" value="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603454&amp;startLat=53.080444336&amp;startLon=-4.020867348&amp;mapType=Terrain&amp;" /><param name="src" value="http://www.everytrail.com/swf/widget.swf" /><param name="flashvars" value="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603454&amp;startLat=53.080444336&amp;startLon=-4.020867348&amp;mapType=Terrain&amp;" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://www.everytrail.com/swf/widget.swf" quality="high" flashvars="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603454&amp;startLat=53.080444336&amp;startLon=-4.020867348&amp;mapType=Terrain&amp;"></embed></object></p>
<div class="wp-caption alignnone" style="width: 343px"><a title="img_11564" href="http://farm5.static.flickr.com/4065/4584402069_21f0acc308_b.jpg"><img style="border: 0px initial initial;" src="http://farm5.static.flickr.com/4065/4584402069_21f0acc308.jpg" border="0" alt="img_11564" width="333" height="500" /></a><p class="wp-caption-text">Note the small dog in the man&#39;s right hand</p></div>
<p><a class="tt-flickr tt-flickr tt-flickr-Medium" title="img_11544" href="http://farm4.static.flickr.com/3312/4584394277_13e2eab031_b.jpg"><img src="http://farm4.static.flickr.com/3312/4584394277_13e2eab031.jpg" border="0" alt="img_11544" width="500" height="333" /></a></p>
<p><a title="img_11491" href="http://farm5.static.flickr.com/4037/4585011136_e509b5afeb_b.jpg"><img src="http://farm5.static.flickr.com/4037/4585011136_e509b5afeb_m.jpg" border="0" alt="img_11491" width="240" height="160" /></a> <a title="img_11446" href="http://farm5.static.flickr.com/4061/4584372059_c42a0940e3_b.jpg"><img src="http://farm5.static.flickr.com/4061/4584372059_c42a0940e3_m.jpg" border="0" alt="img_11446" width="240" height="160" /></a></p>
<p><a title="img_11532" href="http://farm5.static.flickr.com/4055/4585020678_8d60d486bc_b.jpg"><img src="http://farm5.static.flickr.com/4055/4585020678_8d60d486bc_m.jpg" border="0" alt="img_11532" width="240" height="160" /></a></p>
<p><a title="img_11421" href="http://farm5.static.flickr.com/4044/4584988176_4fd80e5ac4_b.jpg"><img src="http://farm5.static.flickr.com/4044/4584988176_4fd80e5ac4_m.jpg" border="0" alt="img_11421" width="160" height="240" /></a> <a title="img_11416" href="http://farm5.static.flickr.com/4011/4584986336_9aa2310822_b.jpg"><img src="http://farm5.static.flickr.com/4011/4584986336_9aa2310822_m.jpg" border="0" alt="img_11416" width="160" height="240" /></a></p>
<p><a title="img_11422" href="http://farm5.static.flickr.com/4067/4584988646_f681ee5a71_b.jpg"><img src="http://farm5.static.flickr.com/4067/4584988646_f681ee5a71_m.jpg" border="0" alt="img_11422" width="160" height="240" /></a> <a title="img_11570" href="http://farm5.static.flickr.com/4037/4585032670_97d7f95dea_b.jpg"><img src="http://farm5.static.flickr.com/4037/4585032670_97d7f95dea_m.jpg" border="0" alt="img_11570" width="160" height="240" /></a></p>
<p>On Monday we decided we didn&#8217;t really want to head home early, so walked across the long foot/rail bridge at Barmouth before turning back when we realised the pub that was &#8220;just over the bridge&#8221; was actually ten miles further&#8230;</p>
<h2><a href="http://www.everytrail.com/view_trip.php?trip_id=603456">Barmouth</a></h2>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="300" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="FlashVars" value="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603456&amp;startLat=52.720148563&amp;startLon=-4.054684639&amp;mapType=Terrain&amp;" /><param name="src" value="http://www.everytrail.com/swf/widget.swf" /><param name="flashvars" value="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603456&amp;startLat=52.720148563&amp;startLon=-4.054684639&amp;mapType=Terrain&amp;" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="400" height="300" src="http://www.everytrail.com/swf/widget.swf" quality="high" flashvars="units=metric&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;viewMode=3&amp;tripId=603456&amp;startLat=52.720148563&amp;startLon=-4.054684639&amp;mapType=Terrain&amp;"></embed></object></p>
<p><a title="img_11585" href="http://farm5.static.flickr.com/4026/4585039144_3b5f58d890_b.jpg"><img src="http://farm5.static.flickr.com/4026/4585039144_3b5f58d890_m.jpg" border="0" alt="img_11585" width="240" height="160" /></a> <a title="img_11606" href="http://farm5.static.flickr.com/4039/4584418871_ea1d409d89_b.jpg"><img src="http://farm5.static.flickr.com/4039/4584418871_ea1d409d89_m.jpg" border="0" alt="img_11606" width="240" height="160" /></a></p>
<p>All the rest of the photos are on flickr (<a title="Wales" href="http://www.strangeparty.com/photos/album/72157624006898258/wales.html"><img src="http://farm5.static.flickr.com/4005/4584394795_9e8e9cf43c_s.jpg" border="0" alt="Wales" width="75" height="75" /></a>), and if you can find the flickr map link you can browse around and where each photo was taken, as they are all geotagged (probably a first for me having had my GPS for a year)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/06/09/wales/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Australia</title>
		<link>http://www.strangeparty.com/2010/05/25/australia/</link>
		<comments>http://www.strangeparty.com/2010/05/25/australia/#comments</comments>
		<pubDate>Tue, 25 May 2010 14:23:42 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=648</guid>
		<description><![CDATA[<p>I recently got the chance to go back to Australia for the first time in several years, only this time my Wife came with me. Loads of photos from Melbourne to Sydney which we drove over about a week. A fantastic way to see the place, and despite being a very long drive was rather pleasant <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/05/25/australia/">Australia</a></span>]]></description>
			<content:encoded><![CDATA[<p>I recently got the chance to go back to Australia for the first time in several years, only this time my Wife came with me. Loads of photos from Melbourne to Sydney which we drove over about a week. A fantastic way to see the place, and despite being a very long drive was rather pleasant (presumably because it is such a long way that few people drive it often, so no commuter traffic for most of it &#8211; whereas in the UK it is almost impossible to drive anywhere without being stuck in commuter traffic jams)</p>
<p>Too many photos (thought I did get a few <a href="http://www.flickr.com/photos/antonpiatek/sets/72157603861658914/">Infra-Red</a> ones) all in a set on flickr: <a class="tt-flickr tt-flickr-Square" title="Australia 2010" href="http://www.strangeparty.com/photos/album/72157623928441219/australia-2010.html"><img src="http://farm2.static.flickr.com/1108/4603419145_a3967ec748_s.jpg" border="0" alt="Australia 2010" width="75" height="75" /></a> or a brief selection below</p>
<p><a class="tt-flickr tt-flickr-Square" title="Australia 2010" href="http://www.strangeparty.com/photos/album/72157623928441219/australia-2010.html"></a><a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11254" href="http://farm5.static.flickr.com/4023/4603434885_1a308400ec_b.jpg"><img src="http://farm5.static.flickr.com/4023/4603434885_1a308400ec_m.jpg" border="0" alt="img_11254" width="240" height="160" /></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11279" href="http://farm4.static.flickr.com/3572/4603438137_b842ec30e2_b.jpg"><img src="http://farm4.static.flickr.com/3572/4603438137_b842ec30e2_m.jpg" border="0" alt="img_11279" width="240" height="160" /></a></p>
<p><a class="tt-flickr tt-flickr tt-flickr-Small" title="crw_99813" href="http://farm2.static.flickr.com/1341/4603333321_282d437a1f_b.jpg"><img src="http://farm2.static.flickr.com/1341/4603333321_282d437a1f_m.jpg" border="0" alt="crw_99813" width="240" height="102" /></a> <a title="img_11241" href="http://farm2.static.flickr.com/1421/4604048584_14a08dcd93_b.jpg"><img src="http://farm2.static.flickr.com/1421/4604048584_14a08dcd93_m.jpg" border="0" alt="img_11241" width="240" height="102" /></a></p>
<p><a class="tt-flickr tt-flickr tt-flickr-Small" title="crw_99813" href="http://farm2.static.flickr.com/1341/4603333321_282d437a1f_b.jpg"></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="crw_99844" href="http://farm5.static.flickr.com/4005/4603971364_b32bd22ff2_b.jpg"><img src="http://farm5.static.flickr.com/4005/4603971364_b32bd22ff2_m.jpg" border="0" alt="crw_99844" width="240" height="160" /></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="crw_99845" href="http://farm2.static.flickr.com/1414/4603971516_180d66fd91_b.jpg"><img src="http://farm2.static.flickr.com/1414/4603971516_180d66fd91_m.jpg" border="0" alt="crw_99845" width="240" height="160" /></a></p>
<p><a class="tt-flickr tt-flickr tt-flickr-Small" title="crw_99845" href="http://farm2.static.flickr.com/1414/4603971516_180d66fd91_b.jpg"></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="img_11171" href="http://farm2.static.flickr.com/1124/4603421011_214d46ba97_b.jpg"><img src="http://farm2.static.flickr.com/1124/4603421011_214d46ba97_m.jpg" border="0" alt="img_11171" width="240" height="160" /></a> <a class="tt-flickr tt-flickr tt-flickr-Small" title="Sydney skyline at twilight" href="http://farm2.static.flickr.com/1220/4603433531_50cb66189c_b.jpg"><img src="http://farm2.static.flickr.com/1220/4603433531_50cb66189c_m.jpg" border="0" alt="Sydney skyline at twilight" width="240" height="160" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/05/25/australia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing broken LVM and Sofware Raid on Linux</title>
		<link>http://www.strangeparty.com/2010/05/23/fixing-broken-lvm-and-sofware-raid-on-linux/</link>
		<comments>http://www.strangeparty.com/2010/05/23/fixing-broken-lvm-and-sofware-raid-on-linux/#comments</comments>
		<pubDate>Sun, 23 May 2010 14:23:17 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[lvm]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=632</guid>
		<description><![CDATA[<p>I have been building a backup pc our of mostly spare parts, including several old disks. To get the most reliability and space our of the disks, which are all different sizes, I decided to use software raid to mirror each chunk of data in pairs (raid 0) and then use LVM on top of each <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/05/23/fixing-broken-lvm-and-sofware-raid-on-linux/">Fixing broken LVM and Sofware Raid on Linux</a></span>]]></description>
			<content:encoded><![CDATA[<p>I have been building a backup pc our of mostly spare parts, including several old disks. To get the most reliability and space our of the disks, which are all different sizes, I decided to use software raid to mirror each chunk of data in pairs (raid 0) and then use LVM on top of each piece of raid to make all the raid volumes appear as one storage device to the linux OS.</p>
<p>The disks are as follows: 250G, 200G, 160G 120G, so to get the most space out of them I divided them as follows (Note: this is a simplification for the purpose of explanation, the real disk also has a raid 0, mirrored /boot/ partition which is not mentioned below. You need this because LVM is not supported by GRUB, so you can&#8217;t boot from a LVM volume):<br />
250G: A (200G), C (40G)<br />
200G: A (200G)<br />
160G: B (120G) C (40G)<br />
120G: B (120G)</p>
<p>A,B,C are partitions on the disks for software raid &#8211; I then set up software raid for each pair of A,B,C and set the created LVM physical volumes on top of them, which then are grouped together into one large volume group, giving me around 360G (actually less once you convert to base 2 rather than 10) of mirrored data storage. Note that I can lose any one disk and still have all my data (though I wouldn&#8217;t want to hang around too long replacing the disk as a second disk failing could mean you lose most of your data).</p>
<p>I actually created 3 LVM logical volumes, one for mounting each of / (the root of the disk for all OS data), /home (for all the stuff I actually really care about), and a volume for swap that doesn&#8217;t really need to be in lvm or raid, but it was just easier to do.</p>
<p>I previously wrote instructions about <a href="http://">how to setup LVM and software raid</a>, but this time round managed to completely screw the whole lot up just near the end. I forgot to define one of the raid devices in /etc/mdadm/mdadm.conf so next time I rebooted this raid device was not found in the early boot stages. As this raid volume is needed to create the full set of LVMs for my root filesystem, the system stopped booting right at the beginning because the LVM array was incomplete.</p>
<p>Fixing it was actually not to difficult, but I mention it here in case it is of help to anyone else (or in case I manage to do it again, which is probably likely)</p>
<p>Fist I booted a Ubuntu Live CD (actually a USB stick image created from my running Ubuntu laptop and a spare Ubuntu CD), but nearly any live cd should do. Once booted, I had to install (in the live session) mdadm and lvm2 as Ubuntu does not have these installed by default. Once you have these tools you can start your recovery (note that this needs to be done with root permissions, so <em>sudo -s</em> or similar to get a root shell)</p>
<p>Find the raid devices with <em>mdadm &#8211;assemble &#8211;scan</em> and then use <em>pvscan</em> and <em>lvscan</em> as required until your system has found your lvm config, then mount it (don&#8217;t forget to mount /boot/ too as we will need to rebuild the initrd)</p>
<pre>mkdir /tmp/root
mount /dev/mapper/main-root /tmp/root
mount /dev/md0 /tmp/root/boot
chroot /tmp/root</pre>
<p>Now you should be pretty much inside your root filesystem on your lvm array. Now we need to make sure all the raid arrays are configured in /etc/mdadm/mdadm.conf</p>
<p>Run <em>mdadm &#8211;detail &#8211;scan</em> to generate the lines for the config file, and make sure each array is listed in /etc/mdadm/mdadm.conf</p>
<p>From here it is pretty simple, all we have to do is rebuild the initrd so that it knows how to find all the raid and lvm devices needed during boot. <em>dpkg-reconfigure linux-image-&lt;your current kernel version&gt; </em>It is imporant to<em> </em>make sure that you get the right kernel, so have a look in /boot to check you get the right version (<em>uname -r</em> wont work here because you have booted your live cd image and not the kernel your box will run)</p>
<p>I got several warnings about /proc/ not being mounted, but this did not appear to be a problem.</p>
<p>Reboot, and you should be ok. You may want to make a copy of your current kernel in case you accidentally break it, just copy the linux-image&#8230;gz and initrd&#8230;gz from /boot/ to new names and run <em>update-grub</em> and that should give you two kernels to choose from (hopefully booting choosing them in the right order, the order should be based on the version numbers in your kernel files so adjust if needed)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/05/23/fixing-broken-lvm-and-sofware-raid-on-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google announces Google TV</title>
		<link>http://www.strangeparty.com/2010/05/21/google-announces-google-tv/</link>
		<comments>http://www.strangeparty.com/2010/05/21/google-announces-google-tv/#comments</comments>
		<pubDate>Fri, 21 May 2010 07:36:34 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=645</guid>
		<description><![CDATA[<p>I am surprised it has taken someone so long to try and merge the web and tv&#8217;s successfully (ignoring hobby projects like MythTv). I am slightly suprised it was Google, but given they own youtube maybe I shouldn&#8217;t have been so surprised</p>
<p></p>
<p>See the official announcement <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/05/21/google-announces-google-tv/">Google announces Google TV</a></span>]]></description>
			<content:encoded><![CDATA[<p>I am surprised it has taken someone so long to try and merge the web and tv&#8217;s successfully (ignoring hobby projects like <a href="http://www.mythtv.org/">MythTv</a>). I am slightly suprised it was Google, but given they own <a href="http://www.youtube.com/">youtube</a> maybe I shouldn&#8217;t have been so surprised</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/diTpeYoqAhc&amp;color1=0x5d1719&amp;color2=0xcd311b&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/diTpeYoqAhc&amp;color1=0x5d1719&amp;color2=0xcd311b&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>See the <a href="http://googleblog.blogspot.com/2010/05/announcing-google-tv-tv-meets-web-web.html">official announcement for more</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/05/21/google-announces-google-tv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>O2 Joggler</title>
		<link>http://www.strangeparty.com/2010/05/19/o2-joggler/</link>
		<comments>http://www.strangeparty.com/2010/05/19/o2-joggler/#comments</comments>
		<pubDate>Wed, 19 May 2010 17:08:27 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[joggler]]></category>
		<category><![CDATA[o2]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=640</guid>
		<description><![CDATA[<p>My O2 Joggler just arrived and it is quite an interesting piece of kit.</p>
<p>I&#8217;ve not had much time to play with it yet, but the O2 software stack seems a bit limited. Google calendar can be installed, but no mail, and I&#8217;m not sure the calendar will pop-up if something is approaching.
No web browser was a <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/05/19/o2-joggler/">O2 Joggler</a></span>]]></description>
			<content:encoded><![CDATA[<p>My O2 Joggler just arrived and it is quite an interesting piece of kit.</p>
<p>I&#8217;ve not had much time to play with it yet, but the O2 software stack seems a bit limited. Google calendar can be installed, but no mail, and I&#8217;m not sure the calendar will pop-up if something is approaching.<br />
No web browser was a major failing in my opinion &#8211; Sure you get Sky News, but the interface for that is rather simple and I expected better (feels like WAP on a phone!)</p>
<p>The weather apps (for some reason there are two) are ok, but the default one seems to show some odd forecasts (<a title="Joggler weather fail on Twitpic" href="http://twitpic.com/1p6s0h"><img src="http://twitpic.com/show/thumb/1p6s0h.jpg" alt="Joggler weather fail on Twitpic" width="150" height="150" /></a>Friday, Thursday, Saturday with Friday and Thursday showing night forecasts for some reason)</p>
<p>I have yet to try uPnP for pictures and music, but the internet radio plays BBC stations fine.</p>
<p>The traffic app looks a bit simple, though the google maps app is nice. The messaging could be interesting as it can send/receive texts, but as I can&#8217;t see me using it much. The O2 calendar I have yet to try.</p>
<p>After poking that far, I decided to boot Ubuntu, so following <a href="http://www.stephenford.org/joggler/">http://www.stephenford.org/joggler/</a> I downloaded the Ubuntu image that has been customised for the Joggler, copied it to my usb key and it booted fine.</p>
<p>Getting wireless up was ok (at least I could copy and paste the wpa2 key from a file I put on the USB key before booting it, rather than typing the rather long random string I have on the on-screen keyboard as I had to for the O2 software), but I did find that using the touch-screen is not a good alternative to a mouse (and the on-screen keyboard can be really annoying!)</p>
<p>At least Ubuntu gives you a web browser (Chrome and Midori are installed by default in this image), but it is still tricky to use.<br />
I had to increase the font sizes just to get windows that I could click the menus on.</p>
<p>So far the only thing it is actually great for is solitaire &#8211; which is a rather expensive deck of cards!</p>
<p>I need to try some of the hacks at <a href="http://www.jogglerwiki.info/">http://www.jogglerwiki.info/</a> like installing telnet/ssh and then see what I can hack on top of the O2 software, as it seems better built for a touchscreen and keyboard-less device, though I am not sure what I will be able to get working. It does appear to have flash running on it, and one site suggests that <a href="http://www.joggler.info/forum/viewtopic.php?f=5&amp;t=78">any flash .swf file can be launched easily</a></p>
<p>Update: Good review at <a href="http://jtlog.wordpress.com/2010/05/20/new-clock-radio/">http://jtlog.wordpress.com/2010/05/20/new-clock-radio/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/05/19/o2-joggler/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Book review: Python 3 for Absolute Beginners</title>
		<link>http://www.strangeparty.com/2010/04/02/review-python3/</link>
		<comments>http://www.strangeparty.com/2010/04/02/review-python3/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 11:08:34 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Reading]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=635</guid>
		<description><![CDATA[<p>Python 3 for Absolute Beginners, Tim Hall and J-P Stacey, Apress (ISBN: 978-1-4302-1632-2)</p>
<p>Disclaimer: I was asked to review this book through the Hampshire Linux User Group. I did not receive any instruction for the outcome of the review nor any payment for the review (though I did get to keep the book).</p>
<p> I believe it is <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/04/02/review-python3/">Book review: Python 3 for Absolute Beginners</a></span>]]></description>
			<content:encoded><![CDATA[<p>Python 3 for Absolute Beginners, Tim Hall and J-P Stacey, Apress (ISBN: 978-1-4302-1632-2)</p>
<p><em>Disclaimer: I was asked to review this book through the Hampshire Linux User Group. I did not receive any instruction for the outcome of the review nor any payment for the review (though I did get to keep the book).</em></p>
<p><em></em> I believe it is important to know something about a reviewer of a book, so that the statements made can be fully appreciated. I am a Software Developer, so spend most of my day reading and writing code. These days it is mostly Perl and Java, though some days it is all C++. I have never written Python before, though I have poked at about two scripts (and even made a fix to one), but it is probably fair to say that I have spent less than an hour looking at Python code before reading this book.</p>
<p>The book does actually mention that the source code examples are available for download from Apress.com however it is mentioned on the first inside page where all the copyright information is (and which you normally skip over automatically). If you want the exapmles, they are at <a href="http://apress.com/book/downloadfile/4500﻿﻿﻿">http://apress.com/book/downloadfile/4500﻿﻿﻿</a></p>
<p>The book opens fairly well for a beginners book, and seems strongly aimed at someone who has never programmed before (I have heard lots of people recommending Python as a good language to teach yourself programming with and can understand why). I was pleased to an early reference to <a href="http://en.wikipedia.org/wiki/Monty_Python">Monty Python</a> as well, as <a href="http://en.wikipedia.org/wiki/Python_(programming_language)#Neologisms">this is where the name Python comes from</a>.</p>
<p>The use of Python&#8217;s interactive interpreter is excellent and it makes for great examples of simple parts of the language, while also being so short that you actually want to type them into your computer and try them out! In particular the author&#8217;s use of Pythons interpreter to print out details of a data-type or variable, and even the outcome of comparisons (e.g. entering &#8220;1==2&#8243; into the Python interpreter returns &#8220;False&#8221; without having to actually use a print statement or any other debug methods which I think is fantastic for a new programmer and a real time saver)</p>
<p>It is a shame that the author fails to stress the differences between Python 2.x and 3.x strongly enough. While some code will work on both versions, there are very large changes and it should have been made more clear early on that Python 2.x code is unlikely to work in Python 3.x, and vice-versa, as I would expect users to also seek examples on the web and it will just be confusing if the examples don&#8217;t work because of changes between versions of Python.</p>
<p>By chapter two some software design principles have been introduced alongside the first actual program, which is of course &#8220;hello world&#8221;. The author spends a long time talking about Software Engineering and Design principles, which is all valuable information, but I doubt many readers will actually spend time reading this and will instead skip over it. It does cover pretty much everything from design approaches (inside-out vs top-down) all the way to code control, versioning, comments, documentation, etc so certainly tries to cover all the bases.</p>
<p>The book then moves on to explaining variables and datatypes, operators and precedence, integers vs floats and all the core basics of a language. I initially thought that explanations of Octal and Hexadecimal values were perhaps a little advanced for a book aimed at &#8220;Absolute Beginners&#8221;, but the author did make a good point that these are often used in file permissions and html colours and this makes them very useful to know.</p>
<p>The examples in the book start off short and sweet, but at some point the author had the idea to continually rework a text-based RPG game he invented for the book. The only problem with this is that you end up staring at several pages of code, and all you want to do then is skip over it, and then start skipping the explanations of this long code. I think the author was trying to teach some good refactoring techniques throughout the book by using this larger piece of code, however I feel that shorter, separate examples would have been easier to understand.</p>
<p>At one point the example programs start using  &#8217;#! /usr/bin/env python&#8217; as the first line of the code but without any explanation. My personal opinion is that &#8216;#!/usr/bin/python&#8217; is more common however even that has its problems. As Python 3 is still very new, pretty much all current Linux systems will have Python 2.x installed as /usr/bin/python so both of these methods would attempt to run the code with Python 2.x and not 3.x. Many of the example source files from the website are also the same, and because they do not define python3 as the interpreter via the hash-bang (#!) line they will not run if you just try to execute them, which is a real shame. Some of the downloaded source code gets very close with &#8217;#! /usr/bin/env python3.0&#8242;, however on Ubuntu Karmic the current Python 3.x version is 3.1, so this code still fails to run unless you explicitely call it with Python3.1 or edit the line to just have &#8220;#!/usr/bin/env python3&#8242; which is symlinked to 3.1  Some of the short examples, particularly around regular expressions, refer back to variables that were last shown to the reader four or give pages previously. This makes it very hard</p>
<p>Other than the above minor problems with the book, it makes a very thorough introduction to programming and Python 3. If you have never programmed, then this is a very good book to start with. If you have programmed, but never in Python then this book is still very good, though you will find yourself skipping sections here and there. If you already know Python 2.x then this book is probably not for you, as it only explains a few changes between version 2.x and 3, and you will probably know the rest already.</p>
<p>One thing to mention is that Python 3 is still very new, and in fact 2.6 is the default for the Ubuntu Lucid Lynx release as well as (at this stage) Debian Squeeze. I expect Python 3 is still a few good years from becoming the default &#8211; This is either a good thing as you have more time to learn version 3, or it can be seen as a bad thing as most existing code is based on 2.x and will need quite a bit of changing to work in version 3 (and vice-versa).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/04/02/review-python3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amusing Mathematics videos</title>
		<link>http://www.strangeparty.com/2010/01/25/amusing-mathematics-videos/</link>
		<comments>http://www.strangeparty.com/2010/01/25/amusing-mathematics-videos/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 20:00:11 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[videos]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=633</guid>
		<description><![CDATA[<p>So while I am sat on the sofa, my wife is watching mathematics videos from http://mrbartonmaths.com/youtube.htm. There are some rather amusing and clever videos so have a look when you get a chance.</p>
<p>Particularly clever are The Mathematics Love Song which attempts to explain love using group theory (which I vaguely remember from my degree)</p>
<p>Amazing Maths trick that <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/01/25/amusing-mathematics-videos/">Amusing Mathematics videos</a></span>]]></description>
			<content:encoded><![CDATA[<p>So while I am sat on the sofa, my wife is watching mathematics videos from <a href="http://mrbartonmaths.com/youtube.htm">http://mrbartonmaths.com/youtube.htm</a>. There are some rather amusing and clever videos so have a look when you get a chance.</p>
<p>Particularly clever are <a href="http://www.youtube.com/watch?v=Vba9eV8RS6M&amp;feature=player_embedded">The Mathematics Love Song</a> which attempts to explain love using group theory (which I vaguely remember from my degree)</p>
<p><a href="http://www.youtube.com/watch?v=RkSow7FtWmA&amp;feature=player_embedded">Amazing Maths trick that proves 1=2</a> is one I have seen many times before<br />
(in case you wondered, the proof fails because it is invalid to divide by 0 [strictly speaking you get an undefined result], so the proof must have an initial restriciton of <em>a != b</em> at the beginning to be valid (and therefore does not prove 1=2))</p>
<p><a href="http://www.youtube.com/watch?v=o2Z6tDSb6c8&amp;feature=player_embedded">James Blunt also sings his Triangle song for Sesame Street</a>, which is rather odd to listen to.</p>
<p><a href="http://www.youtube.com/watch?v=hJJJmQojcLM&amp;feature=player_embedded">Mathematical Pie</a> is rather interesting too (yes, it is a mathematical cover of American Pie)</p>
<p>Of course you shouldn&#8217;t miss the <a href="http://www.youtube.com/watch?v=omyUncKI7oU&amp;feature=player_embedded">Abbott and Costello maths</a> which is phoenomenal</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/01/25/amusing-mathematics-videos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPS scripts</title>
		<link>http://www.strangeparty.com/2010/01/10/gps-scripts/</link>
		<comments>http://www.strangeparty.com/2010/01/10/gps-scripts/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 14:21:56 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[walking]]></category>
		<category><![CDATA[geotagging]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=617</guid>
		<description><![CDATA[<p>I have a simple walking GPS (Garmin Etrex H) which is great for walks, hiking etc. I wrote about using it under Ubuntu earlier.</p>
<p>I can input waypoints and use it to direct me where to go and it can be set to tell you where you are in BNG (British National Grid, i.e. Ordnance Survey map <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/01/10/gps-scripts/">GPS scripts</a></span>]]></description>
			<content:encoded><![CDATA[<p>I have a simple walking GPS (Garmin Etrex H) which is great for walks, hiking etc. I wrote about <a href="http://www.strangeparty.com/2009/11/09/garmin-etrex-h-on-ubuntu/">using it under Ubuntu</a> earlier.</p>
<p>I can input waypoints and use it to direct me where to go and it can be set to tell you where you are in BNG (British National Grid, i.e. Ordnance Survey map coordinates) so working with a map becomes almost trivial. One thing I found I needed was a way of creating a GPX file to upload to the GPS which is formed from these BNG coordinates. Some of the walking books I have give BNG waypoints but you can&#8217;t just upload that data into the GPS (unless someone knows better? I never got it to work).</p>
<p>So I set out writing a script to do this &#8211; <a href="﻿http://github.com/antonpiatek/gps/tree/master/BNG_to_gpx_route/">BNG_to_gpx_route</a> allows you to enter a list of BNG waypoints and it either outputs the GPX file (to file or stdout) or even writes direct to your GPS if you have gpsbabel installed!</p>
<p>I may well write a few more scripts to help me with my gps as I come across the need (though if you have a need maybe I will too, so let me know if you have a thought for a useful util for your gps).</p>
<p>Another good way to plan a route is with <a href="http://www.marengo-ltd.com/map/">Marengo GPS Route Planner</a>, which allows you to draw a path with a google-maps interface, and then simply download a GPX file which can again be uploaded to your GPS with gpsbabel</p>
<p>My GPS also records where you have walked which is known as a track. This can be used for finding your way back if the walk was difficult, or giving to someone else to follow your walk. One other use is for geotagging your photos, which means you run a script against your photos to add to the &#8220;meta-data&#8221; which describes details of your photos, and with the track file from your gps it adds the coordinates to the file, so when you upload them to flickr or zoomr they know where the photo was taken!</p>
<p>Like many others, I wondered if I would have to write this myself but it turns out there is a really good script called <a href="http://www.carto.net/projects/photoTools/gpsPhoto/">gpsPhoto</a> (thanks to <a href="http://blog.bluemonki.net/2008/07/16/how-to-automaticallyautomagically-geotag-your-photos-using-open-source-stuffs/">bluemonki</a> for pointing it out) which already does this!</p>
<p>It is pretty simple, you just need to give it the path to a gps file, or directory of files, and a list of photos or a directory of photos, along with a time offset (in case your gps time and camera are different (i.e. a few minutes out, or even an hour out for daylight savings time etc)) and it will add the gps coordinates to your photos. Apparently it even works on Canon raw files, so hopefully I could just tag photos as I get them from the camera and then any time I create a new jpg from them they should automatically have the gps data in them!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/01/10/gps-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Walking in the new forest</title>
		<link>http://www.strangeparty.com/2010/01/04/walking-in-the-new-forest/</link>
		<comments>http://www.strangeparty.com/2010/01/04/walking-in-the-new-forest/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 11:13:26 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[walking]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[hampshire]]></category>
		<category><![CDATA[ice]]></category>
		<category><![CDATA[new forest]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=606</guid>
		<description><![CDATA[<p>On new year&#8217;s eve we decided to go for a walk to try and shake off some of those calories from Christmas, so we went out to Brockenhurst in the New Forest.</p>
<p>
Trip recored in EveryTrail, view full trip</p>
<p>Following Walk #22 from Hampshire and The New Forest Walks (Pathfinder Guides) we had a nice time, though the recent <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/01/04/walking-in-the-new-forest/">Walking in the new forest</a></span>]]></description>
			<content:encoded><![CDATA[<p>On new year&#8217;s eve we decided to go for a walk to try and shake off some of those calories from Christmas, so we went out to Brockenhurst in the New Forest.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="500" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="FlashVars" value="tripId=453763&amp;units=&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;startLat=50.821123123&amp;startLon=-1.552784443&amp;stats=off&amp;userId=29403&amp;mapType=Terrain" /><param name="src" value="http://www.everytrail.com/swf/widget.swf" /><param name="flashvars" value="tripId=453763&amp;units=&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;startLat=50.821123123&amp;startLon=-1.552784443&amp;stats=off&amp;userId=29403&amp;mapType=Terrain" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="400" height="500" src="http://www.everytrail.com/swf/widget.swf" quality="high" flashvars="tripId=453763&amp;units=&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;startLat=50.821123123&amp;startLon=-1.552784443&amp;stats=off&amp;userId=29403&amp;mapType=Terrain"></embed></object><br />
Trip recored in <a href="http://www.everytrail.com">EveryTrail</a>, <a href="http://www.everytrail.com/view_trip.php?trip_id=453763">view full trip</a></p>
<p>Following Walk #22 from <a href="http://www.crimsonpublishing.co.uk/book/details/9780711706095/jenny-plunknett-david-foster/hampshire-amp-the-new-forest-walks">Hampshire and The New Forest Walks</a> (Pathfinder Guides) we had a nice time, though the recent wet weather meant the walk involved lots of avoiding puddles (some near lake proportions!). While I mention the book, I should say that it is a rather nice walking book as it not only has waypoint data that can be entered into a gps (though not really complete enough to just follow the gps), it also has excerpts of Ordnance Survey maps which are much better than the sketches some books use. The route description is also clear and easy to follow.</p>
<p>At the end of the walk we saw a herd of close to 30 deer, though the photos I attempted to take were really rubbish as they were quite a distance away and it was an overcast day so not much light to take photos in (not to mention lots of trees in the way)</p>
<p>Then on the 2nd Jan we decided to head out for another walk in the New Forest, this time near Ashurst (walk #6 from the same book if you are curious, but we deviated a little)</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="500" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="FlashVars" value="tripId=455839&amp;units=&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;startLat=50.891568661&amp;startLon=-1.524159908&amp;stats=off&amp;userId=29403&amp;mapType=Terrain" /><param name="src" value="http://www.everytrail.com/swf/widget.swf" /><param name="flashvars" value="tripId=455839&amp;units=&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;startLat=50.891568661&amp;startLon=-1.524159908&amp;stats=off&amp;userId=29403&amp;mapType=Terrain" /><param name="quality" value="high" /><embed type="application/x-shockwave-flash" width="400" height="500" src="http://www.everytrail.com/swf/widget.swf" quality="high" flashvars="tripId=455839&amp;units=&amp;mode=0&amp;key=ABQIAAAAggE6oX7o-2CFkLBRN20X9BTCaWgBOrVzmDbJc0e41WeTNzCWNBSYkdZ8D6iOk2yqQd-kgDCXfoqiUQ&amp;startLat=50.891568661&amp;startLon=-1.524159908&amp;stats=off&amp;userId=29403&amp;mapType=Terrain"></embed></object></p>
<p>Trip recored in <a href="http://www.everytrail.com">EveryTrail</a>,  <a href="http://www.everytrail.com/view_trip.php?trip_id=455839">view full trip</a></p>
<p>This walk would probably have been just as muddy, however as we had a cold night the ground was mostly frozen and covered with lots of frost in the morning so was pretty firm. No deer this time, but a few new forest ponies and some wonderful patterns in the ice</p>
<p style="text-align: center;"><a class="tt-flickr tt-flickr tt-flickr-Medium" title="Ice patterns" href="http://farm5.static.flickr.com/4071/4240613391_dce3591b03_b.jpg"><img src="http://farm5.static.flickr.com/4071/4240613391_dce3591b03.jpg" border="0" alt="Ice patterns" width="500" height="333" /></a> <a class="tt-flickr tt-flickr tt-flickr-Medium" title="Ice patterns" href="http://farm5.static.flickr.com/4009/4241386910_0321e788dc_b.jpg"><img src="http://farm5.static.flickr.com/4009/4241386910_0321e788dc.jpg" border="0" alt="Ice patterns" width="500" height="333" /></a> <a class="tt-flickr tt-flickr tt-flickr-Medium" title="Ice patterns" href="http://farm3.static.flickr.com/2525/4241382790_b7dd1b6ec0_b.jpg"><img src="http://farm3.static.flickr.com/2525/4241382790_b7dd1b6ec0.jpg" border="0" alt="Ice patterns" width="500" height="333" /></a> <a class="tt-flickr tt-flickr tt-flickr-Medium" title="Ice patterns" href="http://farm3.static.flickr.com/2525/4241384066_a10dc52a2e_b.jpg"><img class="aligncenter" src="http://farm3.static.flickr.com/2525/4241384066_a10dc52a2e.jpg" border="0" alt="Ice patterns" width="333" height="500" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/01/04/walking-in-the-new-forest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The saga of seven suns</title>
		<link>http://www.strangeparty.com/2010/01/03/the-saga-of-seven-suns/</link>
		<comments>http://www.strangeparty.com/2010/01/03/the-saga-of-seven-suns/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 12:41:04 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Reading]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[science fiction]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=603</guid>
		<description><![CDATA[<p>It has been a little quiet here lately, the reason being is I have been completely consumed by reading the saga of seven suns by Kevin J Anderson.</p>
<p>It is a seven book series of sci-fi, and I was completely addicted to it. I am not sure what I am going to do now that I have <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2010/01/03/the-saga-of-seven-suns/">The saga of seven suns</a></span>]]></description>
			<content:encoded><![CDATA[<p>It has been a little quiet here lately, the reason being is I have been completely consumed by reading <a href="http://en.wikipedia.org/wiki/Saga_of_Seven_Suns">the saga of seven suns</a> by Kevin J Anderson.</p>
<p>It is a seven book series of sci-fi, and I was completely addicted to it. I am not sure what I am going to do now that I have finished all seven (large) books, but it should leave me more time so long as I don&#8217;t have withdrawl symptoms from it&#8230;</p>
<p>If you enjoy science fiction books, I strongly recommend reading this series!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2010/01/03/the-saga-of-seven-suns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Stormtroopers do on Their Day Off</title>
		<link>http://www.strangeparty.com/2009/12/21/what-stormtroopers-do-on-their-day-off/</link>
		<comments>http://www.strangeparty.com/2009/12/21/what-stormtroopers-do-on-their-day-off/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 14:49:33 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=601</guid>
		<description><![CDATA[<p>When you are bored and have some time, see what Stormtroopers get up to in their free time</p>
<p>What Stormtroopers do on Their Day Off &#124; WildAmmo.com</p>
<p>Fantastic photos &#8211; makes me wish I had some stormtrooper action figures to try the <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2009/12/21/what-stormtroopers-do-on-their-day-off/">What Stormtroopers do on Their Day Off</a></span>]]></description>
			<content:encoded><![CDATA[<p>When you are bored and have some time, see what Stormtroopers get up to in their free time</p>
<p><a href="http://wildammo.com/2009/08/09/what-stormtroopers-do-on-their-day-off/">What Stormtroopers do on Their Day Off | WildAmmo.com</a></p>
<p>Fantastic photos &#8211; makes me wish I had some stormtrooper action figures to try the same with</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2009/12/21/what-stormtroopers-do-on-their-day-off/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not X-Factor for Xmas No 1&#8230;</title>
		<link>http://www.strangeparty.com/2009/12/14/not-x-factor-for-xmas-no-1/</link>
		<comments>http://www.strangeparty.com/2009/12/14/not-x-factor-for-xmas-no-1/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 08:50:13 +0000</pubDate>
		<dc:creator>Anton Piatek</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[TV]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[ratm]]></category>
		<category><![CDATA[xfactor]]></category>

		<guid isPermaLink="false">http://www.strangeparty.com/?p=597</guid>
		<description><![CDATA[<p>So, some of you may have heard of the campaign for getting Rage Against the Machine to no1 in the UK charts for Christmas.</p>
<p>If you want to take part, have a look at the Facebook page for where you can buy a digital download of the track &#8220;Killing In The Name Of&#8221;</p>
<p>Now, part of me thinks <span style="color:#777"> . . . &#8594; Read More: <a href="http://www.strangeparty.com/2009/12/14/not-x-factor-for-xmas-no-1/">Not X-Factor for Xmas No 1&#8230;</a></span>]]></description>
			<content:encoded><![CDATA[<p>So, some of you may have heard of the campaign for getting Rage Against the Machine to no1 in the UK charts for Christmas.</p>
<p>If you want to take part, have a look at the <a href="http://www.facebook.com/group.php?gid=2228594104">Facebook</a> page for where you can buy a digital download of the track &#8220;Killing In The Name Of&#8221;</p>
<p>Now, part of me thinks this is great, lets get a real band to christmas number one (I don&#8217;t think I can remember what the last *real* band to do so was once you ignore all the Xfactor winners, tellytubbies and bob-the-builders). Another part of me thinks that perhaps this is just a publicity stunt for Rage Against the Machine. It is a real shame the band did not decide to give all money they got this week to charity!</p>
<p>Another part of me wonders if this is a bit of a social experiment, to see if the internet is more popular and influential than Simon Cowell and XFactor&#8230;</p>
<p><strong>*Edit 17th Dec*</strong></p>
<p>Interview on Radio 5:</p>
<p><strong><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/GiiQPqmYE1A&amp;feature" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/GiiQPqmYE1A&amp;feature"></embed></object></strong></p>
<p>Apparently Rage Against of the Machine are giving &#8220;the windfall&#8221; of proceeds from Killing in the name of to <a href="http://www.shelter.org.uk">shelter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangeparty.com/2009/12/14/not-x-factor-for-xmas-no-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
