<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>
A blog about my rants and opinions….. the perfect noise!


Bits and pieces of random Internet awesomeness, mixed with some opinionated ranting and just a dash of useful code.


new TWTR.Widget({
  version: 2,
  type: 'profile',
  rpp: 4,
  interval: 6000,
  width: 200,
  height: 300,
  theme: {
    shell: {
      background: '#333333',
      color: '#ffffff'
    },
    tweets: {
      background: '#000000',
      color: '#ffffff',
      links: '#4aed05'
    }
  },
  features: {
    scrollbar: false,
    loop: false,
    live: false,
    hashtags: true,
    timestamp: true,
    avatars: false,
    behavior: 'all'
  }
}).render().setUser('puredistortion').start();
</description><title>PUREdISTORTION</title><generator>Tumblr (3.0; @puredistortion)</generator><link>http://puredistortion.com/</link><item><title>Getting the area of complex polygons</title><description>&lt;a href="http://paulbourke.net/geometry/polyarea/"&gt;Getting the area of complex polygons&lt;/a&gt;: &lt;p&gt;A great article with code examples on the theory on generating the area of complex polygons in code. &lt;/p&gt;
&lt;p&gt;The article includes examples in:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Javascript&lt;/li&gt;
&lt;li&gt;C&lt;/li&gt;
&lt;li&gt;Java&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I have implemented and tested the python code and it works really well but the more points there are the longer it will take to execute. &lt;/p&gt;</description><link>http://puredistortion.com/post/16854298646</link><guid>http://puredistortion.com/post/16854298646</guid><pubDate>Wed, 01 Feb 2012 17:24:00 +1100</pubDate><category>python</category><category>javascript</category><category>spatial</category><category>geometry</category><category>polygon</category><category>java</category><category>development</category><category>programming</category></item><item><title>GITHUB: satchmo-apost-satchel-shipping</title><description>&lt;p&gt;Just a quick post to let you guys know about my forst shipping module that I have released for the ecommerce module &lt;a href="http://www.satchmoproject.com" target="_blank"&gt;Satchmo&lt;/a&gt; for &lt;a href="https://www.djangoproject.com" target="_blank"&gt;Django&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The module is called satchmo-apost-satchel-shipping and handles shipping calculations based on the fixed price satchels. This module will calculate the maximum amount of satchels required and bill accordingly.&lt;/p&gt;
&lt;p&gt;Also as a requirement it will handle free shipping for single item orders based on the SKU code that is supplied.&lt;/p&gt;
&lt;p&gt;Check it out I would love to get some feedback.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/puredistortion/satchmo-apost-satchel-shipping" title="https://github.com/puredistortion/satchmo-apost-satchel-shipping" target="_blank"&gt;&lt;a href="https://github.com/puredistortion/satchmo-apost-satchel-shipping" target="_blank"&gt;https://github.com/puredistortion/satchmo-apost-satchel-shipping&lt;/a&gt;&lt;/a&gt; &lt;/p&gt;</description><link>http://puredistortion.com/post/16753738076</link><guid>http://puredistortion.com/post/16753738076</guid><pubDate>Mon, 30 Jan 2012 19:54:57 +1100</pubDate><category>github</category><category>django</category><category>programming</category><category>python</category><category>satchmo</category></item><item><title>Error starting Eclipse Indigo</title><description>&lt;p&gt;I have been using eclipse for a few years now for the majority of my development now fr all of my development, recenly I upgraded to the Indigo release of Eclipse. This morning on the train I was presented with a popup directing me to a logfile with the error below:&lt;/p&gt;
&lt;pre&gt;!ENTRY org.eclipse.osgi 4 0 2011-10-27 07:41:06.158
!MESSAGE Startup error
!STACK 1
java.lang.ExceptionInInitializerError
	at org.eclipse.osgi.framework.internal.core.Framework.initializeProperties(Framework.java:378)
	at org.eclipse.osgi.framework.internal.core.Framework.initialize(Framework.java:200)
	at org.eclipse.osgi.framework.internal.core.Framework.(Framework.java:162)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:261)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
	at java.net.InetAddress.getLocalHost(InetAddress.java:1356)
	at org.eclipse.osgi.framework.internal.core.UniversalUniqueIdentifier.getIPAddress(UniversalUniqueIdentifier.java:146)
	at org.eclipse.osgi.framework.internal.core.UniversalUniqueIdentifier.computeNodeAddress(UniversalUniqueIdentifier.java:113)
	at org.eclipse.osgi.framework.internal.core.UniversalUniqueIdentifier.(UniversalUniqueIdentifier.java:35)
	... 12 more&lt;/pre&gt;
&lt;p&gt;The fix that I found to resolve the crash was to delete the preferences (plist) file for Eclipse on the mac. The file is called ‘&lt;em&gt;org.eclipse.eclipse.plist&lt;/em&gt;’ and can be found by navigating to ‘&lt;em&gt;/Users/&lt;username&gt;/Library/Preferences/&lt;/em&gt;’.&lt;/p&gt;
&lt;p&gt;I deleted the file and tried starting Eclipse and it has been smooth sailing from there.&lt;/p&gt;
&lt;p&gt;I would love to know if others are having this issue? and is it something I can expect to be doing often?&lt;/p&gt;</description><link>http://puredistortion.com/post/11961584079</link><guid>http://puredistortion.com/post/11961584079</guid><pubDate>Thu, 27 Oct 2011 08:05:52 +1100</pubDate><category>eclipse</category><category>IDE</category><category>development</category><category>error</category><category>mac</category><category>apple</category></item><item><title>Enable the Facebook timeline</title><description>&lt;a href="http://blazomania.com/2011/09/22/how-to-install-timeline-in-your-facebook-profile-tutorial/"&gt;Enable the Facebook timeline&lt;/a&gt;: &lt;p&gt;This is the how-to that I used to enable the new Facebook timeline&lt;/p&gt;</description><link>http://puredistortion.com/post/11352684280</link><guid>http://puredistortion.com/post/11352684280</guid><pubDate>Thu, 13 Oct 2011 00:16:39 +1100</pubDate><category>facebook</category><category>timeline</category><category>new feature</category></item><item><title>New Avengers trailer is awesome….. is it too early to get...</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/E9cuGZJ9DP0?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;New Avengers trailer is awesome….. is it too early to get excited :P&lt;/p&gt;</description><link>http://puredistortion.com/post/11342540897</link><guid>http://puredistortion.com/post/11342540897</guid><pubDate>Wed, 12 Oct 2011 13:53:31 +1100</pubDate></item><item><title>Diggnation on the train and Sun AWESOME!</title><description>&lt;img src="http://26.media.tumblr.com/tumblr_lr1buao8jU1qj9tjjo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Diggnation on the train and Sun AWESOME!&lt;/p&gt;</description><link>http://puredistortion.com/post/9824209886</link><guid>http://puredistortion.com/post/9824209886</guid><pubDate>Mon, 05 Sep 2011 15:42:10 +1000</pubDate></item><item><title>Python Yield Statements</title><description>&lt;a href="http://stackoverflow.com/questions/231767/the-python-yield-keyword-explained"&gt;Python Yield Statements&lt;/a&gt;: &lt;p&gt;Here is an awesome explaination on what the function of a yield statement is. It also supplies some great examples on using and controlling generator functions. &lt;/p&gt;</description><link>http://puredistortion.com/post/9308748749</link><guid>http://puredistortion.com/post/9308748749</guid><pubDate>Wed, 24 Aug 2011 08:36:27 +1000</pubDate><category>python</category><category>yield</category><category>generator function</category><category>development</category><category>stackoverflow</category></item><item><title>Linking tweets to status updates.</title><description>&lt;p&gt;I have been asked a couple of times lately by friends on how to get your Twitter updates to show up in Facebook as status update. &lt;/p&gt;
&lt;p&gt;I have tried a couple of solutions and this one has worked the best for me:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Goto https://apps.facebook.com/twitter/ and sign into your account.&lt;/li&gt;
&lt;li&gt;Select the “SIgn in with Twitter” button and enter your details&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Now all you need to do is go to one place now to tell the world what you are having for lunch.&lt;/p&gt;
&lt;p&gt;Linking your social networking tools together is a great way to get your message out to all of your Friends, Followers and Plus’ers without having to repeat yourself. &lt;/p&gt;
&lt;p&gt;So give it a try and link Twitter to Facebook for lasier Social Networking.&lt;/p&gt;</description><link>http://puredistortion.com/post/8455453173</link><guid>http://puredistortion.com/post/8455453173</guid><pubDate>Thu, 04 Aug 2011 12:48:55 +1000</pubDate><category>Social Networking</category><category>Twitter</category><category>Facebook</category><category>integration</category></item><item><title>This is my Friday and loving it.</title><description>&lt;img src="http://28.media.tumblr.com/tumblr_lp3jceMvQk1qj9tjjo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;This is my Friday and loving it.&lt;/p&gt;</description><link>http://puredistortion.com/post/8213520285</link><guid>http://puredistortion.com/post/8213520285</guid><pubDate>Fri, 29 Jul 2011 23:12:14 +1000</pubDate></item><item><title>Httplib examples</title><description>&lt;a href="http://gmazzola.com/notes/Python_Httplib.html"&gt;Httplib examples&lt;/a&gt;: &lt;p&gt;Awesome example code for httplib. Cut Paste and away you go, great shortcut!&lt;/p&gt;
&lt;p&gt;Thanks Gregory Mazzola!&lt;/p&gt;</description><link>http://puredistortion.com/post/8160838247</link><guid>http://puredistortion.com/post/8160838247</guid><pubDate>Thu, 28 Jul 2011 15:14:37 +1000</pubDate></item><item><title>Disabling user-agent Stylesheets </title><description>&lt;p&gt;I have been working on te views for a &lt;a target="_blank" href="http://djangoproject.com"&gt;django&lt;/a&gt; web application and was having huge CSS issues with the user agent Stylesheet in Chrome, Firefox and Safari. It was applying styles that were breaking my template.&lt;/p&gt;
&lt;p&gt;After searching around the web for a while I found a solution that seems to negate the styles that browsers are trying to enforce on sites.&lt;/p&gt;
&lt;p&gt;I found it in the User Foruns of Drupal.org a great PHP CMS. &lt;/p&gt;
&lt;pre&gt;/* These are here to override "user-agent" stylesheets */
html{
    color:#000;background:#FCF1D1;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
    margin:0;padding:0;
}
table{
    border-collapse:collapse;border-spacing:0;
}
fieldset,img{
    border:0;
}
address,caption,cite,code,dfn,em,strong,th,var{
    font-style:normal;font-weight:normal;
}
li{
    list-style:none;
}
caption,th{
    text-align:left;
}
h1,h2,h3,h4,h5,h6{
    font-size:100%;font-weight:normal;
}
q:before,q:after{
    content:'';
}
abbr,acronym{
    border:0;font-variant:normal;
}
sup{
    vertical-align:text-top;
}
sub{
    vertical-align:text-bottom;
}
input,textarea,select{
   font-family:inherit;font-size:inherit;font-weight:inherit;
}
input,textarea,select{
*font-size:100%;
}
legend{
color:#000;
}
del,ins{
    text-decoration:none;
}
/* User-aget override end */
&lt;/pre&gt;
&lt;p&gt;A big thanks to the &lt;a target="_blank" href="http://drupal.org"&gt;Drupal&lt;/a&gt; community for coming up with this great solution. The origional thread &lt;a target="_blank" href="http://drupal.org/node/337262"&gt;can be found here&lt;/a&gt;.&lt;/p&gt;</description><link>http://puredistortion.com/post/7301654762</link><guid>http://puredistortion.com/post/7301654762</guid><pubDate>Wed, 06 Jul 2011 23:47:18 +1000</pubDate><category>drupal</category><category>django</category><category>programming</category><category>css</category><category>browser</category></item><item><title>Installing comments on the blog.</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lnrg3nMcCL1qj9tjjo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Installing comments on the blog.&lt;/p&gt;</description><link>http://puredistortion.com/post/7190881247</link><guid>http://puredistortion.com/post/7190881247</guid><pubDate>Sun, 03 Jul 2011 23:57:23 +1000</pubDate></item><item><title>Moved House</title><description>&lt;p&gt;You may have noticed that we have moved to a new platform with a new look.&lt;/p&gt;
&lt;p&gt;This was a necessity as we had some issues with our hosting provider and thought it was better to move to a new platform and provider. We are now using the Tumblr. platform to deliver content so any feedback would be awesome.&lt;/p&gt;
&lt;p&gt;This move has its ups and its downs, we have lost all of our 2011 posts which really sucks, but I will endevour to get what content was there back if I can. Though on the up side have been able to breing in all of our content from blogger in. We will get all of this content tagged ready for your to consume.&lt;/p&gt;
&lt;p&gt;As well as some posts missing the date stamps may all be for yesterday.&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;So enjoy the new look (more changes to come) and more content on Puredistortion. &lt;/p&gt;</description><link>http://puredistortion.com/post/7153700171</link><guid>http://puredistortion.com/post/7153700171</guid><pubDate>Sat, 02 Jul 2011 21:18:08 +1000</pubDate><category>Tumblr</category></item><item><title>Python Image Library Install OSX</title><description>&lt;p&gt;Moving on and starting to develop apps now that I have my Django Dev Environment installed I would get on and do some Django development.&lt;/p&gt;
&lt;p&gt;What I did find is that to use the models.ImageFile() field type in an apps models.py you need to have the Python Image library (PIL) in stalled into your python install.&lt;/p&gt;
&lt;p&gt;After some Googling round I found a compatible package at effbot.org. This is how to install it.&lt;/p&gt;
&lt;pre&gt;# wget &lt;a href="http://effbot.org/downloads/Imaging-1.1.7.tar.gz" target="_blank"&gt;http://effbot.org/downloads/Imaging-1.1.7.tar.gz&lt;/a&gt;
# tar -xzf Imaging-1.1.7.tar.gz
# cd ImagingImaging-1.1.7
# python ./setup.py install
&lt;/pre&gt;
&lt;p&gt;When running setup.py make sure that you call the python install that has Django installed.&lt;/p&gt;
&lt;p&gt;Once you have this module installed you will now be able to have see the image fields in your models work properly.&lt;/p&gt;</description><link>http://puredistortion.com/post/7120287306</link><guid>http://puredistortion.com/post/7120287306</guid><pubDate>Sat, 02 Jul 2011 00:39:47 +1000</pubDate></item><item><title>Setting up a Django Dev environment on OSX</title><description>&lt;p&gt;I have been looking over the past month or so at web development frame works in different languages and decided that Django is the one for me. Not only is it quick and scalable, but it is written in Python and it is a language I am familiar with and even better enjoy coding in.&lt;/p&gt;
&lt;p&gt;For this environment we are going to install Django and integrate it with Eclipse.&lt;/p&gt;
&lt;p&gt;For eclipse got to &lt;a href="http://eclipse.org/downloads/" target="_blank"&gt;http://eclipse.org/downloads/&lt;/a&gt; and down load the Eclipse Classic DMG file and install.&lt;/p&gt;
&lt;p&gt;Next you are going to want to get the Django tarball from &lt;a href="http://www.djangoproject.com/download/1.2.3/tarball/." target="_blank"&gt;http://www.djangoproject.com/download/1.2.3/tarball/.&lt;/a&gt; Once this is down loaded open the Terminal app and do the following:&lt;/p&gt;
&lt;pre&gt;# cd Downloads
# tar -xzf Django-1.2.3.tar.gz
# cd Django-1.2.3
# sudo python ./setup.py install
&lt;/pre&gt;
&lt;p&gt;In the last command i did not declare the full path to the python interpreter. This is so Django is installed into the python version that is in $PATH or found in $PATH first.&lt;/p&gt;
&lt;p&gt;Next we want to move django-admin.py into a directory that is listed in $PATH so it is easily called from the Treminal prompt.&lt;/p&gt;
&lt;pre&gt;# ln -s /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/django-admin.py /opt/local/bin/django-admin.py
&lt;/pre&gt;
&lt;p&gt;Now we have our software installed it is time to integrate the IDE with the Django framework. To do this we are going to plugins into Eclipse, PyDEV a python development environment and the Django Templates Editor.&lt;/p&gt;
&lt;p&gt;To install PyDEV open Eclipse and go to Help &gt; Install New Software. This will open another window. In the ‘Work with’ text area add the URL: &lt;a href="http://pydev.org/updates" target="_blank"&gt;http://pydev.org/updates&lt;/a&gt; then select the ‘Add’ button. This will open the Add repository window, the URL will be populated in the ‘Location’ field and all you need to add is a ‘Name’ for the repo. Once you have done this click OK and Eclipse will list what can be installed from this repository. Select PyDEV and hit next, accept the licence and let the Package Install. Eclipse will ask to restart, once that is done PyDEV is installed.&lt;/p&gt;
&lt;p&gt;Next you need to specify a path to the python interpreter for PyDEV. To do this in Eclipse goto Eclipse &gt; Preferences and select the PyDEV drop down. Select Interpreter – Python and then add a new path by selecting New. This will have a pop up window where you can add a path to your python interpreter that you installed Django in. I used the default python that came with OSX. Bellow are the values that I added.&lt;/p&gt;
&lt;pre&gt;Name: python
Location: /opt/local/Library/Frameworks/Python.framework/Versions/2.6/Resourses/Contents/MacOS/Python
&lt;/pre&gt;
&lt;p&gt;Next you need to install the Django Template Editor you do this the same way as you installed PyDEV except with this URL: &lt;a href="http://eclipse.kacprzak.org/updates." target="_blank"&gt;http://eclipse.kacprzak.org/updates.&lt;/a&gt; Make sure that you select ‘Django Template Editor’ and not ‘Django Editor’.&lt;/p&gt;
&lt;p&gt;Eclipse will ask you for a reboot the same way that it did with PyDEV. Once this is done your Django Dev Environment is done.&lt;/p&gt;</description><link>http://puredistortion.com/post/7120199304</link><guid>http://puredistortion.com/post/7120199304</guid><pubDate>Sat, 02 Jul 2011 00:35:57 +1000</pubDate></item><item><title>Apache Dummy Connections Crashing Plesk HTTP Server</title><description>&lt;p&gt;Been chasing an issue at work the last couple of days where one of the servers has a periods of loading up the server’s CPU with a large percent of processes in a wait state.&lt;/p&gt;
&lt;p&gt;Fishing arround I noticed a whole heap of dummy connections from the apache server after the Apache server was trying to scale back down the number of child processes. I was seeing these in the access_log and on the Extended Status page on the server. What was weird they were hanging round and taking up CPU.  ::1 - - [09/May/2008:14:53:29 -0400] “GET / HTTP/1.0” 200 5043 “-” “Apache (internal dummy connection)”  What I found was that the default HTTP web root page that Plesk configures is a dynamic page and for some reason is taking ages to load. So this causes these dummy processes to get stuck and load up the HTTP server.&lt;/p&gt;
&lt;p&gt;To fix this I used a mod_rewrite solution I found on the linuxweblog.com and integrated it with the Plesk server default HTTP webroot.&lt;/p&gt;
&lt;p&gt;First you need to go to the Plesk HTTP DocumentRoot (this can be found bu looking in /etc/httpd/conf.d/zz010_psa_httpd.conf).&lt;/p&gt;
&lt;pre&gt;# cd /var/www/vhosts/default/
&lt;/pre&gt;
&lt;p&gt;Next we need a quick loading page. I created a blank HTML file fo this rather than editing the existing page.&lt;/p&gt;
&lt;pre&gt;# touch ./blank.html
&lt;/pre&gt;
&lt;p&gt;Next we need to open a .htaccess file in this directory and add the following rewrite rule.&lt;/p&gt;
&lt;pre&gt;RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]
RewriteRule ^/$ /blank.html [L]
&lt;/pre&gt;
&lt;p&gt;Once this was done I was able to monitor the amount of connections and make sure it was all scaling ok with this command.&lt;/p&gt;
&lt;pre&gt;netstat -an | grep '\:\:1' | grep ':80' | wc -l&lt;/pre&gt;</description><link>http://puredistortion.com/post/7120090524</link><guid>http://puredistortion.com/post/7120090524</guid><pubDate>Sat, 02 Jul 2011 00:31:15 +1000</pubDate></item><item><title>
We have been having issues with the Access Point for the...</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_lnns3pi6H31qj9tjjo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;span&gt;
&lt;p&gt;We have been having issues with the Access Point for the wireless at home, so I reconfigured a WRT54GS v.4 that I was using for my Melbourne Wireless Node.&lt;/p&gt;
&lt;p&gt;While dont this I wanted to make sure I was on a channel that did not overlap with any other AP’s in Range. I did this using KisMAC a WiFi scanner I have on my Macbook and the chat I found bellow showing the channels that may over lap and cause interference.&lt;/p&gt;
&lt;/span&gt;&lt;/p&gt;</description><link>http://puredistortion.com/post/7119978879</link><guid>http://puredistortion.com/post/7119978879</guid><pubDate>Sat, 02 Jul 2011 00:26:14 +1000</pubDate></item><item><title>Checkout this awesome link to an episode of the Totally RAD Show...</title><description>&lt;embed class="rev3PlayerEmbed" type="application/x-shockwave-flash" src="http://revision3.com/player-v7259" allowfullscreen="true" quality="high" allowscriptaccess="always" width="400" height="224"&gt;&lt;/embed&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Checkout this awesome link to an episode of the &lt;a target="_blank" href="http://revision3.com/trs"&gt;Totally RAD Show&lt;/a&gt; where they demo the &lt;a target="_blank" href="http://www.microsoft.com/surface/"&gt;Microsoft Surface&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I was blown away by this and if you weren’t you already have one. Not only was there a multiplayer super sprint clone and Settlers of Catan, but you rolled clear dice on the surface and it tells you the results.&lt;/p&gt;
&lt;p&gt;I was inspired to build a multitouch display when I saw the &lt;a target="_blank" href="http://hackaday.com/2010/02/09/porta-touch-portable-multitouch/"&gt;Porta Touch on hackaday.com&lt;/a&gt;. I even went as far as scrounging a couple of 15 inch displays for the project. Then like many of my home hacking projects it faded off into the mist of daily life.&lt;/p&gt;
&lt;p&gt;Time to find the few other parts I need to get this going.&lt;/p&gt;
&lt;p&gt;Keep an eye out here or in the projects for my multitouch adventure coming to the interwebs soon.&lt;/p&gt;</description><link>http://puredistortion.com/post/7119904796</link><guid>http://puredistortion.com/post/7119904796</guid><pubDate>Sat, 02 Jul 2011 00:22:54 +1000</pubDate></item><item><title>Adding system stats to the desktop</title><description>&lt;p&gt;While procrastinating on my home automation code I wanted to get some basic system stats on the desktop to just get an idea of what is going on on my new Macbook.&lt;/p&gt;
&lt;p&gt;Now there are a whole bunch of widgets, dashboard and menu apps for OSX but being the way I am these days I wanted to see what I could achieve and this is what I came up with.&lt;/p&gt;
&lt;p&gt;The first part of my solution to this is a tool called GeekTool. GeekTool integrates with the System Preferences menu and allows you to create areas of desktop to display content. once configured and running this content essentially becomes a dynamic part of the wallpaper so you do not loose any Desktop Real Estate.&lt;/p&gt;
&lt;p&gt;The second part of the solution is a script to get the content. I wanted to display Load, CPU and Memory stats. To do this I called top for one instance and then piped (|) the data through sed and pull the strings that I wanted to display.&lt;/p&gt;
&lt;pre&gt;top -l1 | sed -n -e '3,4p' -e '7p'
&lt;/pre&gt;
&lt;p&gt;I used top as OSX had no /proc filesystem and I was to lazy to find OSX commands to display this stuff at the command line. I would love to hear better ways, so if you have one leave a comment.&lt;/p&gt;
&lt;p&gt;to put it all together is simple go to SystemPreferences &gt; Geek tool. Then drag a Shell object off the window and down onto your desktop. Once this is done in the propertied panel and add the script above to the Command panel. You should get output straight away to verify that the script is working.&lt;/p&gt;</description><link>http://puredistortion.com/post/7119717966</link><guid>http://puredistortion.com/post/7119717966</guid><pubDate>Sat, 02 Jul 2011 00:14:28 +1000</pubDate></item><item><title>Android Preparing SD Card issue</title><description>&lt;p&gt;This morning after plugging my Xperia X10 into my macbook and syncing my daily dose of tech podcasts ready for the commute to work I found that the phone was not mounting the SDCard and the phone kept crashing.&lt;/p&gt;
&lt;p&gt;After a reboot there was a notification saying that the system was preparing the SDcard and was checking for errors.&lt;/p&gt;
&lt;p&gt;I used ‘Android Terminal Emulator’ by Jack Palevich to connect to the terminal of my phone to find out waht it was doing to the phone to fix these errors. I found that the phone was trying to run an fsck on the SDCard.&lt;/p&gt;
&lt;p&gt;My Xperia kept crashing so it would start again, so I removed the card from the phone and mounted it to my Linux PC and used fsck.msdos on my linux machine to fix the disk errors.&lt;/p&gt;
&lt;p&gt;I did this by running the command bellow:&lt;/p&gt;
&lt;pre&gt;fsck.msdos -a&lt;/pre&gt;
&lt;p&gt;once this was completed I was able to remove it and place it straight back into my phone to have it work perfectly.&lt;/p&gt;
&lt;p&gt;This solution allowed me to quickly repair the issue and not loose any data.&lt;/p&gt;</description><link>http://puredistortion.com/post/7119622928</link><guid>http://puredistortion.com/post/7119622928</guid><pubDate>Sat, 02 Jul 2011 00:10:05 +1000</pubDate></item></channel></rss>

