<?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>Import Soul</title>
	<atom:link href="http://www.importsoul.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.importsoul.net</link>
	<description>Wouldn’t it be nice if things just worked</description>
	<lastBuildDate>Tue, 07 Feb 2012 22:54:19 +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>The programmers itch</title>
		<link>http://www.importsoul.net/python/the-programmers-itch/</link>
		<comments>http://www.importsoul.net/python/the-programmers-itch/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 22:49:11 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Continue Testing]]></category>
		<category><![CDATA[dilbert]]></category>
		<category><![CDATA[itch]]></category>
		<category><![CDATA[programmer]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=803</guid>
		<description><![CDATA[As one could easily tell by reading the articles on this site, almost all of which revolve around computing or programming I take great enjoyment in having just enough skills with a computer to be able to whip out a laptop and peck out a quick program to solve some mundane problem. I have been [...]]]></description>
			<content:encoded><![CDATA[<p>As one could easily tell by reading the articles on this site, almost all of which revolve around computing or programming I take great enjoyment in having just enough skills with a computer to be able to whip out a laptop and peck out a quick program to solve some mundane problem.</p>
<p>I have been seen to pull out my laptop, on the bus on the way to a ski-trip to create a program to gather statistics on my skiing day, during family holidays to make up a spreadsheet to easily score and graph the progress of games of cards, to come up with scripts to get out of having to go though pages of paper to count up different things and many other occasions.</p>
<p>Just recently I have discovered how strong this "itch" to write programs to solve  silly programs to solve every day problems, when lying in bed, flicking though comics and I came across this.</p>
<p><a href="http://www.dilbert.com/2012-02-07/"><img class="alignnone" title="Dilbert Daily Comic" src="http://www.dilbert.com/dyn/str_strip/000000000/00000000/0000000/100000/50000/1000/200/151217/151217.strip.gif" alt="" width="500" /></a></p>
<p>While the regular person may be amused by the joke, or think it isn't funny at all the programmer in me instantly thought, <em>It couldn't be <strong>that </strong>hard to figure out what he said. </em>So of I went, ending up with this little program.</p>
<pre class="brush: jscript:nocontrols">from collections import defaultdict

def strip(word):
    out = ""
    for letter in word:
        if letter in "aeiou":
            out += letter
    return out

def paths(tree,base=''):
    for leaf in tree[0]:
        if len(tree)==1:
            yield base + " " + leaf
        else:
            for branch in paths(tree[1:],base + " " + leaf):
                yield branch

words = defaultdict(list)
f = open("words.txt")
for line in f:
    line = line.strip().lower()
    stripped = strip(line)
    if stripped:
        words[stripped].append(line)
f.close()

col_width = 10

raw_sentence = "A UI AOE UIE OU EAI"
sentence = raw_sentence.lower().split(" ")

sentence_tree = []
for word in sentence:
    sentence_tree.append(words[word])

for result in paths(sentence_tree):
    print result</pre>
<p>I am quite proud of some parts of my code, like the nice little recursive function/generator for traversing the tree, but I was a bit lacking foresight as to what kind of, or should i say how many results my program would produce. To try and figure out exactly how many results I began with adding a rather naive counter to the final loop and commenting out the print statement. 20 minutes latter and still with no results, I realized how this approach was not going to be a success. That gave rise to this line, which is able to calculate instantly how many possible things could have been said in the comic.</p>
<pre class="brush: jscript:nocontrols">print reduce(lambda a,b:a*b,map(len,sentence_tree)), "possible arrangments"</pre>
<p>And this makes it fairly obvious why it was taking so long to list the results with 24299547659100 possible arrangements. Naturally this led on to looking up different topics such as language parsing so that I would be able to determine how much grammatical sense a sentence makes. Only at this point did I realize that I had got rather sidetracked on trying to get to sleep, and gave up on finding out what he could have said as a problem for another day. Maybe in the next couple of days I will get really interested in the problem again and try and write a program where I can outsource to the internet and have it present people with a sentence and have them say yes or no to if it makes sense.</p>
<p>And that's what has led me to write up this article, this "itch" to think you are able to come up with a clever way to try and figure out what the majority of people would not even consider.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/python/the-programmers-itch/&amp;title=The+programmers+itch" title="Add 'The programmers itch' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'The programmers itch' to digg" alt="Add 'The programmers itch' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/python/the-programmers-itch/&amp;title=The+programmers+itch" title="Add 'The programmers itch' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'The programmers itch' to Stumble Upon" alt="Add 'The programmers itch' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/python/the-programmers-itch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interactive Donation Box &#8211; Folio</title>
		<link>http://www.importsoul.net/mp/dt-mp/interactive-donation-box-folio/</link>
		<comments>http://www.importsoul.net/mp/dt-mp/interactive-donation-box-folio/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 00:49:25 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[D&T Major Project]]></category>
		<category><![CDATA[Major Project]]></category>
		<category><![CDATA[design and technology]]></category>
		<category><![CDATA[folio]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[sample]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=784</guid>
		<description><![CDATA[I just thought that i would post up my project's portfolio here for people wanting to read about its development, or for people who are doing D&#038;T for their HSC and need a bit more of an idea on what needs to go into a portfolio. A bit of a disclaimer though if you fall [...]]]></description>
			<content:encoded><![CDATA[<p>I just thought that i would post up my project's portfolio here for people wanting to read about its development, or for people who are doing D&#038;T for their HSC and need a bit more of an idea on what needs to go into a portfolio. A bit of a disclaimer though if you fall into this category, is i have got no marks back yet for this project so i cannot guarantee it is what the DET is looking for in a portfolio.</p>
<a href="http://www.importsoul.net/file/DT-Portfolio.pdf" title="Downloaded 93 times">D&T-Portfolio - V1</a>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/mp/dt-mp/interactive-donation-box-folio/&amp;title=Interactive+Donation+Box+%26%238211%3B+Folio" title="Add 'Interactive Donation Box &#8211; Folio' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Interactive Donation Box &#8211; Folio' to digg" alt="Add 'Interactive Donation Box &#8211; Folio' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/mp/dt-mp/interactive-donation-box-folio/&amp;title=Interactive+Donation+Box+%26%238211%3B+Folio" title="Add 'Interactive Donation Box &#8211; Folio' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Interactive Donation Box &#8211; Folio' to Stumble Upon" alt="Add 'Interactive Donation Box &#8211; Folio' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/mp/dt-mp/interactive-donation-box-folio/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Interactive Donation Box &#8211; Behind the scenes</title>
		<link>http://www.importsoul.net/arduino/interactive-donation-box-behind-the-scenes/</link>
		<comments>http://www.importsoul.net/arduino/interactive-donation-box-behind-the-scenes/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 00:08:34 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[D&T Major Project]]></category>
		<category><![CDATA[Major Project]]></category>
		<category><![CDATA[Woodwork]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=775</guid>
		<description><![CDATA[This is a follow up article to explain the inner working of my interactive donation box if you don't have a clue what this is see my other post HERE. Besides all the visible track elements who's operation is clearly visible there are a number of hidden aspects of the machine. The main part of [...]]]></description>
			<content:encoded><![CDATA[<p>This is a follow up article to explain the inner working of my interactive donation box if you don't have a clue what this is see my other post <a href="http://www.importsoul.net/uncategorized/interactive-donation-box-2/">HERE</a>. Besides all the visible track elements who's operation is clearly visible there are a number of hidden aspects of the machine.</p>
<p>The main part of this is the mechanism for sorting and counting coins (See video below). For this i used a mechanical system of sorting the coins based upon their size. I had originally used this system in a money box that sorted coins into different trays, and knew of a few things that would greatly improve its performance. Firstly to make the back rest out of some kind of plastic material so that its finish will remain much more constant than with wood which  gradually changed over time as the finish was absorbed or rubbed off, the other improvement to be made was to use rectangular holes for the coins to fall though instead of circular holes, this just allows the coins longer to fall though their holes, making it virtually impossible for them to miss their hole.</p>
<div id="attachment_776" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.importsoul.net/wp-content/uploads/2011/10/Money-box.jpg"><img src="http://www.importsoul.net/wp-content/uploads/2011/10/Money-box-550x411.jpg" alt="" title="Money box" width="550" height="411" class="size-medium wp-image-776" /></a><p class="wp-caption-text">A coin sorting money box that i made for a junior D&#038;T course</p></div>
<p>After the creation of this video i made a few change to the sorter to improved it's reliability, mainly replacing the front guide that stops coins jumping off their tracks with a stiffer version to stop 20c coins sometimes escaping off the front.</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/PRXbwIWRF_I?hd=1" frameborder="0" allowfullscreen></iframe></p>
<p>To detect the coins after they had been sorted i decided upon using a beam break system as this would mean i could reliably detect the coins even without having to worry about if the coins were heavy enough to set off a micro-switch. So i simply have a row of leds on one side of the slots the coins fall though after being sorted and a row of Light dependent resistors on the other, these are hooked up to analog in pins on the arduino controlling the system.</p>
<p>After a coin has been detected the program is quite simple, a certain value is added to the counter depending on what coin has been inserted, the lift i turned on whenever this value is non-zero and the counter is decremented whenever a marble passes a micro-switch hidden within one of the lift guides.</p>
<p>There are only a few things that i would like to do in the future, the main being to reclaim my arduino out of the back of the display, probably replacing it with a <a href="http://e2e.ti.com/group/msp430launchpad/w/default.aspx">MSP430</a> chip as these are very cheap (under a dollar) meaning i could reclaim my arduino for future projects.</p>
<p>Edit: If you are interested on more details on the construction of this project i have now made my portfolio available <a href="http://www.importsoul.net/mp/dt-mp/interactive-donation-box-folio/">HERE</a>.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/arduino/interactive-donation-box-behind-the-scenes/&amp;title=Interactive+Donation+Box+%26%238211%3B+Behind+the+scenes" title="Add 'Interactive Donation Box &#8211; Behind the scenes' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Interactive Donation Box &#8211; Behind the scenes' to digg" alt="Add 'Interactive Donation Box &#8211; Behind the scenes' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/arduino/interactive-donation-box-behind-the-scenes/&amp;title=Interactive+Donation+Box+%26%238211%3B+Behind+the+scenes" title="Add 'Interactive Donation Box &#8211; Behind the scenes' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Interactive Donation Box &#8211; Behind the scenes' to Stumble Upon" alt="Add 'Interactive Donation Box &#8211; Behind the scenes' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/arduino/interactive-donation-box-behind-the-scenes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Interactive Donation Box</title>
		<link>http://www.importsoul.net/arduino/interactive-donation-box-2/</link>
		<comments>http://www.importsoul.net/arduino/interactive-donation-box-2/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 13:26:45 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[D&T Major Project]]></category>
		<category><![CDATA[Major Project]]></category>
		<category><![CDATA[Woodwork]]></category>
		<category><![CDATA[coin sorter]]></category>
		<category><![CDATA[coins]]></category>
		<category><![CDATA[design and technology]]></category>
		<category><![CDATA[donation]]></category>
		<category><![CDATA[donation box]]></category>
		<category><![CDATA[wood]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=738</guid>
		<description><![CDATA[Well it was right down to the line but i managed to get my Design and Technology project finished and ready for marking, just... I only had confirmation that all the parts of the project played nicely together after rapidly programming it and getting to put coins into it for the first time at 3AM [...]]]></description>
			<content:encoded><![CDATA[<p>Well it was right down to the line but i managed to get my Design and Technology project finished and ready for marking, just... I only had confirmation that all the parts of the project played nicely together after rapidly programming it and getting to put coins into it for the first time at 3AM on the morning it was due. After a quick dash to office works at 7AM i was ready at school to hand my project in on time at 9AM.</p>
<p>Even though the projects design had to be greatly modified from its original 3 window design a I am really happy with how well the project has turned out and with all of the really positive responses I have got from other students and teachers. Without any more words here is the project.</p>
<p><a href="http://www.importsoul.net/wp-content/uploads/2011/09/Box1.jpg"><img class="aligncenter size-medium wp-image-739" title="Interactive donation box" src="http://www.importsoul.net/wp-content/uploads/2011/09/Box1-550x295.jpg" alt="" width="550" height="295" /></a></p>
<p>Just in-case you haven't read my previous posts from way back about what the donation box actually is, here is a quick summary.</p>
<p>When somebody puts a coin into the machine it is sorted by currency and depending on the value of the coin a certain number of marbles are sent though a marble run (i decided on the rate of 1 marble per 10c). The idea of the project is that if it is made more interesting for people to donate then people are much more likely to make a contribution.</p>
<p>To better display this here is a video of the project in action</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/o9x67hMLXt8" frameborder="0" allowfullscreen></iframe></p>
<p>Also thanks to MWandel of <a href="woodgears.ca">woodgears.ca</a> for his gear template generator and general articles on marble machines that made me pick this as a project</p>
<p><del datetime="2011-10-14T00:11:22+00:00">After i finish up with UNI preferences and scholarship applications i will hopefully have some more info up on what goes on behind the project</del></p>
<p>Edit: I now have another post up detailing some of the inner workings of the project <a href="http://www.importsoul.net/arduino/interactive-donation-box-behind-the-scenes/">HERE</a></p>
<p>Edit: If you are interested on more details on the construction of this project i have now made my portfolio available <a href="http://www.importsoul.net/mp/dt-mp/interactive-donation-box-folio/">HERE</a>.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/arduino/interactive-donation-box-2/&amp;title=Interactive+Donation+Box" title="Add 'Interactive Donation Box' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Interactive Donation Box' to digg" alt="Add 'Interactive Donation Box' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/arduino/interactive-donation-box-2/&amp;title=Interactive+Donation+Box" title="Add 'Interactive Donation Box' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Interactive Donation Box' to Stumble Upon" alt="Add 'Interactive Donation Box' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/arduino/interactive-donation-box-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Analyzing Skiing Data</title>
		<link>http://www.importsoul.net/python/analyzing-skiing-data/</link>
		<comments>http://www.importsoul.net/python/analyzing-skiing-data/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 07:56:41 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[google earth]]></category>
		<category><![CDATA[gps]]></category>
		<category><![CDATA[gpx]]></category>
		<category><![CDATA[parse]]></category>
		<category><![CDATA[Skiing]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=733</guid>
		<description><![CDATA[My favorite sport would have to be skiing by far, nothing can match the awesome thrill and relaxation that it provides. Over the past few years I have begun skiing with a handheld GPS so that I have been able to record things like distance traveled, max speed ect. While this has provided some interesting [...]]]></description>
			<content:encoded><![CDATA[<p>My favorite sport would have to be skiing by far, nothing can match the awesome thrill and relaxation that it provides. Over the past few years I have begun skiing with a handheld GPS so that I have been able to record things like distance traveled, max speed ect.</p>
<p>While this has provided some interesting stats over the years such as and overall top speed of 88.8 km/h or a total distance traveled in a single day as 81km, I have always wanted to be able to see more detail on my day's skiing.</p>
<p>This year I have finally got around to having a crack at making a program to analyze GPX file that my GPS records and trying to separate data from lifts and ski-runs. After a few hours procrastinating during exam week and a few hours on a bus on the way to our school ski trip i have managed to come up with a woefully inefficient but reasonably effective program that is able to do just that.</p>
<p>My program takes the GPX file and outputs a range of statistics on runs and lifts as well as outputting a KML with the ski-runs separated from lifts. Here is some example data from my current version of the program generated from last day of skiing on the trip.</p>
<pre class="brush:plain">Runs:			| 28
Lifts:			| 24
-------------------------------------------------------------------------------
Max run speed		| 94.06
Ave run speed		| 10.035
-------------------------------------------------------------------------------
Max run length:		| 3568
Min run length:		| 49
Ave run length:		| 1459
Total run length:	| 40877
-------------------------------------------------------------------------------
Max lift length:	| 1763
Min lift length:	| 389
Ave lift length:	| 921
Total lift length:	| 28319.7737391</pre>
<p>This data is reasonably accurate except for the maximum speed which is only measured as an inaccurate point speed (I will soon average speeds over a few data-points) and the discrepancy between the number of runs and the number of lifts is caused by things like the loss of GPS reception when I went into a restaurant for lunch.</p>
<p>To accompany the raw data here are some screen shots from within Google Earth. In the pictures chairlifts are represented by the solid read lines and the runs are represented by the squiggly blue lines. The pins in the middle of each lift are click-able and provide statistics on the lift when clicked.</p>
<div id="attachment_724" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.importsoul.net/wp-content/uploads/2011/08/screen035.jpg"><img class="size-medium wp-image-724" title="makeTracks - 2" src="http://www.importsoul.net/wp-content/uploads/2011/08/screen035-550x358.jpg" alt="" width="550" height="358" /></a><p class="wp-caption-text">Direct top down view</p></div>
<div id="attachment_725" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.importsoul.net/wp-content/uploads/2011/08/screen036.jpg"><img class="size-medium wp-image-725" title="makeTracks - 3" src="http://www.importsoul.net/wp-content/uploads/2011/08/screen036-550x370.jpg" alt="" width="550" height="370" /></a><p class="wp-caption-text">A slightly side on view</p></div>
<div id="attachment_734" class="wp-caption aligncenter" style="width: 282px"><a href="http://www.importsoul.net/wp-content/uploads/2011/09/screen038.png"><img class="size-full wp-image-734" title="makeTracks - 4" src="http://www.importsoul.net/wp-content/uploads/2011/09/screen038.png" alt="" width="272" height="290" /></a><p class="wp-caption-text">A closeup of the lift data</p></div>
<p>Unfortunately there is no version of this program that i deem suitable for download at the current time. In the future i plan to work on this further making it more efficient as well as turning it into a website where people are able to upload their skiing data to generate their own maps and statistics as well as including some social aspects into the process.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/python/analyzing-skiing-data/&amp;title=Analyzing+Skiing+Data" title="Add 'Analyzing Skiing Data' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Analyzing Skiing Data' to digg" alt="Add 'Analyzing Skiing Data' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/python/analyzing-skiing-data/&amp;title=Analyzing+Skiing+Data" title="Add 'Analyzing Skiing Data' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Analyzing Skiing Data' to Stumble Upon" alt="Add 'Analyzing Skiing Data' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/python/analyzing-skiing-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pyweek 2011 &#8211; citySquare</title>
		<link>http://www.importsoul.net/python/pyweek-2011-citysquare/</link>
		<comments>http://www.importsoul.net/python/pyweek-2011-citysquare/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 07:31:20 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Major Project]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Pyweek]]></category>
		<category><![CDATA[Pyweek 12 - April 2011]]></category>
		<category><![CDATA[SDD Major Project]]></category>
		<category><![CDATA[citySquare]]></category>
		<category><![CDATA[pyglet]]></category>
		<category><![CDATA[pyweek]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=697</guid>
		<description><![CDATA[This year I entered into pyweek. Pyweek is a python game programming competition where the competitors are given a theme and have a week to make a game on it. The theme that was voted in this time was "Nine Times" I wasn't really sure what I could do with this theme, and as a [...]]]></description>
			<content:encoded><![CDATA[<p>This year I entered into pyweek. <a href="www.pyweek.org/">Pyweek</a> is a python game programming competition where the competitors are given a theme and have a week to make a game on it.  The theme that was voted in this time was "Nine Times" I wasn't really  sure what I could do with this theme, and as a result my game is only very loosely linked to the theme.</p>
<p>The game that i came up with is a simple puzzle game where one must lay tiles within a grid to earn points. It plays out a bit of a mildly irritating single player version of Carcassonne. However I was reasonably happy with the game that i ended up with after a week of development.</p>
<p>I was also happy enough with the quality of the game that produced to use it as part of a project in the software design and development course that I am currently doing at school, for this I added a little bit more polish to the menus and gameplay and ironed out its few bugs. My teacher was luckily very impressed by the game and I ended up scoring full marks for the assignment (the game + a ton of documentation)</p>
<p>If after reading though all of that you would still like to play the game there download links and further instructions below</p>
<h4>Downloads</h4>
<p>The latest version of the game can be downloaded from github <a title="DOWNLOADS" href="http://https://github.com/Hugoagogo/citySquare/downloads">HERE</a></p>
<h4>Objectives</h4>
<p>The key objective to citySquare is to arrange all of the tiles in the right-hand tray on the grid to the left. The tiles that you have to match are comprised of three different types of terrain: roads, cities and plain old grass.</p>
<p><a href="http://www.importsoul.net/wp-content/uploads/2011/09/squares.png"><img class="aligncenter size-thumbnail wp-image-728" src="http://www.importsoul.net/wp-content/uploads/2011/09/squares-300x299.png" alt="" width="300" height="299" /></a></p>
<h4>Controls</h4>
<p>A tile can be picked up and put down by left clicking. While being held you can either right click or scroll to rotate the tile. The arrow keys can be used to shift all of the tiles around the grid and you can hold tab to view a breakdown of your score.<br />
To return to the menus from gameplay simply press escape, while on menus you can also toggle full screen mode by pressing F4</p>
<h4>Rules</h4>
<p>Tiles must be placed so that the edges of each square match up with the squares around it. The entire edge of the grid should be grass and have NO roads or cities touching it.</p>
<h4>Scoring</h4>
<p>Points are scored based on completed roads and cities, however cities are scored in a way that will reward you for building larger cities. For example one city made up of four tiles would be worth much more than two cities made up of two tiles.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/python/pyweek-2011-citysquare/&amp;title=Pyweek+2011+%26%238211%3B+citySquare" title="Add 'Pyweek 2011 &#8211; citySquare' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Pyweek 2011 &#8211; citySquare' to digg" alt="Add 'Pyweek 2011 &#8211; citySquare' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/python/pyweek-2011-citysquare/&amp;title=Pyweek+2011+%26%238211%3B+citySquare" title="Add 'Pyweek 2011 &#8211; citySquare' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Pyweek 2011 &#8211; citySquare' to Stumble Upon" alt="Add 'Pyweek 2011 &#8211; citySquare' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/python/pyweek-2011-citysquare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pyGitBook</title>
		<link>http://www.importsoul.net/python/pygitbook/</link>
		<comments>http://www.importsoul.net/python/pygitbook/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 07:16:09 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Major Project]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SDD Major Project]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Jinja2]]></category>
		<category><![CDATA[Logbook]]></category>
		<category><![CDATA[Template]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=715</guid>
		<description><![CDATA[As part of doing the report for my Software Design and Development project i tried to find an easy tool that i could use to convert all of my git history into a basic (but nice looking) logbook that i could hand in as part of the project. Unfortunately i couldn't find any tools that [...]]]></description>
			<content:encoded><![CDATA[<p>As part of doing the report for my Software Design and Development project i tried to find an easy tool that i could use to convert all of my git history into a basic (but nice looking) logbook that i could hand in as part of the project.</p>
<p>Unfortunately i couldn't find any tools that would do this for me. The closest i could find was the commit log that git-hub provided something similar to what i was after but provided alot of stuff such as avatars and commit hashes that i didn't need.</p>
<p>So i decided to quickly whip up a script to pass output from git-log and turn it into a nicely crafted logbook.</p>
<p>To interface with git i originally looked into GitPython but it proved to be rather buggy and hard to work with so i ended up going the much more low tech method of just parsing the output of a standard git-log command.</p>
<p>For the output i decided that using HTML via <a title="Jinja2 Templating library" href="http://jinja.pocoo.org/docs/">Jinja2</a> would be the easiest method as it would allow the template to be updated very easily down the track.</p>
<p>Eventually i came up with a system that i am reasonably happy with, it could do with a bit more work but it will do for now, at least until i have got all my projects out of the way.</p>
<p>An example of the output can be seen <a title="Example" href="http://www.importsoul.net/wp-content/uploads/2011/06/gitBook.html">HERE</a></p>
<p>The script is available on github at <a href="https://github.com/Hugoagogo/pyGitBook">https://github.com/Hugoagogo/pyGitBook</a></p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/python/pygitbook/&amp;title=pyGitBook" title="Add 'pyGitBook' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'pyGitBook' to digg" alt="Add 'pyGitBook' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/python/pygitbook/&amp;title=pyGitBook" title="Add 'pyGitBook' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'pyGitBook' to Stumble Upon" alt="Add 'pyGitBook' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/python/pygitbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cleaning up the itunes media directory</title>
		<link>http://www.importsoul.net/python/cleaning-up-the-itunes-media-directory/</link>
		<comments>http://www.importsoul.net/python/cleaning-up-the-itunes-media-directory/#comments</comments>
		<pubDate>Tue, 17 May 2011 07:57:09 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[clean]]></category>
		<category><![CDATA[duplicates]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=707</guid>
		<description><![CDATA[In the process of moving my iTunes library to my new laptop (well its not so new anymore), iTunes has somehow managed to duplicate my entire library, creating a copy of every track, movie, tv show ect, and giving the duplicate some obfuscated name, i.e. ABCD.mp4 Besides being a large bunch of unnecessary files, they [...]]]></description>
			<content:encoded><![CDATA[<p>In the process of moving my iTunes library to my new laptop (well its not so new anymore), iTunes has somehow managed to duplicate my entire library, creating a copy of every track, movie, tv show ect, and giving the duplicate some obfuscated name, i.e. ABCD.mp4</p>
<p>Besides being a large bunch of unnecessary files, they eat up a lot of HDD space, around 100GB.</p>
<p>After finally finding out what was eating up my HDD space it was easy to write a quick little python script to find and remove all of these files.</p>
<pre class="brush: python">
import re, shutil, os

CLEAN_FROM = r"C:\Users\Hugh\Music\iTunes\iTunes Media"
CLEAN_TO = r"C:\Users\Hugh\Desktop\junk"

FILETYPES = ["mp4","m4a"]

if not os.path.exists(CLEAN_TO):
    os.makedirs(CLEAN_TO)

pat = re.compile("[A-Z]{4}[.](%s)"%"|".join(FILETYPES))

print "Starting"
for dirpath, dirnames, filenames in os.walk(CLEAN_FROM):
    for fname in filenames:
        if re.match(pat,fname):
            shutil.move(os.path.join(dirpath,fname),os.path.join(CLEAN_TO,fname))
            print "Moved: "+fname
print "Done"
</pre>
<p>I do not guarantee this script will work for you and check what you actually delete before you actually do it</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/python/cleaning-up-the-itunes-media-directory/&amp;title=Cleaning+up+the+itunes+media+directory" title="Add 'Cleaning up the itunes media directory' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Cleaning up the itunes media directory' to digg" alt="Add 'Cleaning up the itunes media directory' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/python/cleaning-up-the-itunes-media-directory/&amp;title=Cleaning+up+the+itunes+media+directory" title="Add 'Cleaning up the itunes media directory' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Cleaning up the itunes media directory' to Stumble Upon" alt="Add 'Cleaning up the itunes media directory' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/python/cleaning-up-the-itunes-media-directory/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Marble run plans complete</title>
		<link>http://www.importsoul.net/uncategorized/marble-run-plans-complete/</link>
		<comments>http://www.importsoul.net/uncategorized/marble-run-plans-complete/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 12:22:35 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[D&T Major Project]]></category>
		<category><![CDATA[Major Project]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Woodwork]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=695</guid>
		<description><![CDATA[Well after lots of screwing around in Autodesk Inventor I finally have the final plan drawn up for the marble run portion of the machine. I have also made a major change to my expected overall design, making it a much flatter design, making for simpler parts and less supports needed. I started just doing [...]]]></description>
			<content:encoded><![CDATA[<p>Well after lots of screwing around in Autodesk Inventor I finally have the final plan drawn up for the marble run portion of the machine.</p>
<p>I have also made a major change to my expected overall design, making it a much flatter design, making for simpler parts and less supports needed.</p>
<p>I started just doing one small portion of the mechanism i decided to call the dripper because it "drips" marbles, from this i also had a go at running dynamic simulations and managed to run and test the "dripper" and render a video of how it went.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="349" 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/HRKctB-Ex38?fs=1&amp;hl=en_US&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="349" src="http://www.youtube.com/v/HRKctB-Ex38?fs=1&amp;hl=en_US&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>More recently I have also rendered an image of the whole setup (without the cabinet, pivots ect) and can be found <a href="http://www.importsoul.net/wp-content/uploads/2011/04/setup.jpg">HERE</a> (my thumbnail generator is not working properly)</p>
<p>I have printed out templates for all of the pieces and plan on cutting these out as MDF templates some time next week.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/uncategorized/marble-run-plans-complete/&amp;title=Marble+run+plans+complete" title="Add 'Marble run plans complete' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Marble run plans complete' to digg" alt="Add 'Marble run plans complete' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/uncategorized/marble-run-plans-complete/&amp;title=Marble+run+plans+complete" title="Add 'Marble run plans complete' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Marble run plans complete' to Stumble Upon" alt="Add 'Marble run plans complete' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/uncategorized/marble-run-plans-complete/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Squiglet &#8211; Now with examples</title>
		<link>http://www.importsoul.net/python/squiglet-now-with-examples/</link>
		<comments>http://www.importsoul.net/python/squiglet-now-with-examples/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 05:19:38 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Major Project]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SDD Major Project]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=688</guid>
		<description><![CDATA[Just a little progress report to say that my vector library is nearing V1 and i will soon be able to resume work on Saga of Sol. As of yet i just need to tweak the draw function of the vectors to fix an odd bug where the lines will have gaps near the corners [...]]]></description>
			<content:encoded><![CDATA[<p>Just a little progress report to say that my vector library is nearing V1 and i will soon be able to resume work on Saga of Sol.</p>
<p>As of yet i just need to tweak the draw function of the vectors to fix an odd bug where the lines will have gaps near the corners of some shapes as well as adding some more functionality to the editor.</p>
<div id="attachment_689" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.importsoul.net/wp-content/uploads/2011/03/ScreenClip-2.png"><img class="size-thumbnail wp-image-689" title="Squiglet - editor view" src="http://www.importsoul.net/wp-content/uploads/2011/03/ScreenClip-2-300x235.png" alt="" width="300" height="235" /></a><p class="wp-caption-text">Editor View</p></div>
<div id="attachment_690" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.importsoul.net/wp-content/uploads/2011/03/ScreenClip.png"><img class="size-thumbnail wp-image-690" title="Squiglet - Example View" src="http://www.importsoul.net/wp-content/uploads/2011/03/ScreenClip-300x235.png" alt="" width="300" height="235" /></a><p class="wp-caption-text">Example View</p></div>
<p>As usual the project is available<a href="https://github.com/Hugoagogo/squiglet"> HERE</a></p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/python/squiglet-now-with-examples/&amp;title=Squiglet+%26%238211%3B+Now+with+examples" title="Add 'Squiglet &#8211; Now with examples' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Squiglet &#8211; Now with examples' to digg" alt="Add 'Squiglet &#8211; Now with examples' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/python/squiglet-now-with-examples/&amp;title=Squiglet+%26%238211%3B+Now+with+examples" title="Add 'Squiglet &#8211; Now with examples' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Squiglet &#8211; Now with examples' to Stumble Upon" alt="Add 'Squiglet &#8211; Now with examples' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/python/squiglet-now-with-examples/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>book-expander</title>
		<link>http://www.importsoul.net/python/book-expander/</link>
		<comments>http://www.importsoul.net/python/book-expander/#comments</comments>
		<pubDate>Thu, 10 Mar 2011 08:02:25 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[ebooks]]></category>
		<category><![CDATA[kindle]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[spaces]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=684</guid>
		<description><![CDATA[As messing around getting some ebooks onto my nice new kindle, i have run across the problem where some books have been poorly OCRed and have lost a few spaces along the way. i.e. "Monty python" may become "Montypython" To combat this i have written up a little script that will search though and try [...]]]></description>
			<content:encoded><![CDATA[<p>As messing around getting some ebooks onto my nice new kindle, i have run across the problem where some books have been poorly OCRed and have lost a few spaces along the way. i.e. "<em>Monty python</em>" may become "<em>Montypython</em>"</p>
<p>To combat this i have written up a little script that will search though and try to identify and correct where this has happened.</p>
<p>Currently i have it all setup and hard-coded for use on ZIP/HTML exports from calibre returning a new zip that can be re imported. If you are interested in using the functionality on just plain text feel free to download it and use the clean_book function.</p>
<p>All the code and bug tracker can be found <a title="book-expander" href="https://github.com/Hugoagogo/book-expander">HERE</a> on GitHub</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/python/book-expander/&amp;title=book-expander" title="Add 'book-expander' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'book-expander' to digg" alt="Add 'book-expander' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/python/book-expander/&amp;title=book-expander" title="Add 'book-expander' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'book-expander' to Stumble Upon" alt="Add 'book-expander' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/python/book-expander/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enter Squiglet</title>
		<link>http://www.importsoul.net/python/enter-squiglet/</link>
		<comments>http://www.importsoul.net/python/enter-squiglet/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 10:47:55 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[SDD Major Project]]></category>
		<category><![CDATA[squiglet]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[pyglet]]></category>
		<category><![CDATA[vector]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=677</guid>
		<description><![CDATA[The graphics style i have chosen for the game i am working on, Saga of Sol, is very simple. The majority of the graphics such as ships, buildings, will be composed only of plain old white on black lines, with some "highlight" or "feature" lines being drawn a different colour to denote what team it [...]]]></description>
			<content:encoded><![CDATA[<p>The graphics style i have chosen for the game i am working on, Saga of Sol, is very simple. The majority of the graphics such as ships, buildings, will be composed only of plain old white on black lines, with some "highlight" or "feature" lines being drawn a different colour to denote what team it is on.</p>
<p>I didn't think that it was appropriate to go for a full on vector/SVG library for pyglet such as <a href="http://www.pyweek.org/d/1783/">Squirtle</a>. So i have begun the creation of my own much simpler vector library "squiglet" that will handle the graphics for my game.</p>
<p>As of yet i have the basis of most of the vector classes complete (no functions yet to draw them into the game) and am about 80% of the way done on my own editor for the vectors.</p>
<p>If your interested in the project it can be found on GitHub at <a href="https://github.com/Hugoagogo/squiglet">https://github.com/Hugoagogo/squiglet</a> or you can follow along on my blog <a href="http://www.importsoul.net/category/python/squiglet/">HERE</a></p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/python/enter-squiglet/&amp;title=Enter+Squiglet" title="Add 'Enter Squiglet' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Enter Squiglet' to digg" alt="Add 'Enter Squiglet' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/python/enter-squiglet/&amp;title=Enter+Squiglet" title="Add 'Enter Squiglet' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Enter Squiglet' to Stumble Upon" alt="Add 'Enter Squiglet' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/python/enter-squiglet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weeks Unknown – Scaling Troubles</title>
		<link>http://www.importsoul.net/mp/sdd-mp/weeks-unknown-%e2%80%93-scaling-troubles/</link>
		<comments>http://www.importsoul.net/mp/sdd-mp/weeks-unknown-%e2%80%93-scaling-troubles/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 07:29:37 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[Major Project]]></category>
		<category><![CDATA[SDD Major Project]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[pygame]]></category>
		<category><![CDATA[pyglet]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[scroll]]></category>
		<category><![CDATA[SDD]]></category>
		<category><![CDATA[zoom]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=660</guid>
		<description><![CDATA[After many disruptions, holidays and general laziness i finally got around to doing some more work on Saga of Sol. To start off the term i had begun setting up the framework and basics of the local planet view. This is the view that when you are playing the game you are going to spend the most [...]]]></description>
			<content:encoded><![CDATA[<p>After many disruptions, holidays and general laziness i finally got around to doing some more work on Saga of Sol. To start off the term i had begun setting up the framework and basics of the local planet view. This is the view that when you are playing the game you are going to spend the most time in, building your armies and crushing your foes, and so on and so forth.</p>
<p>However not long into the programming i hit the barrier of software surface transformations. The simple effect being that when zoomed out a long way or scrolling quickly. Looking around at getting pygame to correctly take advantage of hardware surfaces, i quickly found that the general consensus is, dont bother and i got redirected to pyglet.</p>
<p>Pyglet is another python graphics library based around opengl and makes good use of hardware surfaces by default. In learning pylet i stumbled upon some basic guides on <a title="Creating a game with PyGlet and Python" href="http://www.learningpython.com/2007/11/10/creating-a-game-with-pyglet-and-python/">game desgin</a> and another <a title="Stretching pyglet’s Wings" href="http://tartley.com/?p=378">guide</a> that provides a basic camera class for me to base my scrolling and zooming upon.</p>
<p>After lots of modification i have got to a point where one is able to zoom in and out towards a point on a map and scroll around in general <a title="Real-time Strategy" href="http://en.wikipedia.org/wiki/Real-time_strategy">RTS</a> style. More difficult was trying to convert between screen and opengl (world) coordinates so you are able to identify whereabouts in game space your cursor is.</p>
<div id="attachment_671" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.importsoul.net/wp-content/uploads/2011/02/pyglet-camera-demo.png"><img class="size-medium wp-image-671" title="pyglet-camera-demo" src="http://www.importsoul.net/wp-content/uploads/2011/02/pyglet-camera-demo-550x409.png" alt="" width="550" height="409" /></a><p class="wp-caption-text">A screen-cap of the running trial, the scribble is made by moving the mouse to show correct conversion between screen and opengl coordinates</p></div>
<p>I will hopefully have some code up soon for those that are interested, as soon as it is tidied up and commented</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/mp/sdd-mp/weeks-unknown-%e2%80%93-scaling-troubles/&amp;title=Weeks+Unknown+%E2%80%93+Scaling+Troubles" title="Add 'Weeks Unknown – Scaling Troubles' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Weeks Unknown – Scaling Troubles' to digg" alt="Add 'Weeks Unknown – Scaling Troubles' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/mp/sdd-mp/weeks-unknown-%e2%80%93-scaling-troubles/&amp;title=Weeks+Unknown+%E2%80%93+Scaling+Troubles" title="Add 'Weeks Unknown – Scaling Troubles' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Weeks Unknown – Scaling Troubles' to Stumble Upon" alt="Add 'Weeks Unknown – Scaling Troubles' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/mp/sdd-mp/weeks-unknown-%e2%80%93-scaling-troubles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Donation box prototypes</title>
		<link>http://www.importsoul.net/mp/dt-mp/donation-box-prototypes/</link>
		<comments>http://www.importsoul.net/mp/dt-mp/donation-box-prototypes/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 10:41:38 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[D&T Major Project]]></category>
		<category><![CDATA[Major Project]]></category>
		<category><![CDATA[cardboard]]></category>
		<category><![CDATA[D&T]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[prototypes]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=650</guid>
		<description><![CDATA[I have begun to plan and design some aspects of the marble run window of my interactive donation box. There are two main aspects i have been focusing on so far are, ways to lift the marbles back to the starting point and different track elements for on the way down. For both of these [...]]]></description>
			<content:encoded><![CDATA[<p>I have begun to plan and design some aspects of the marble run window of my interactive donation box. There are two main aspects i have been focusing on so far are, ways to lift the marbles back to the starting point and different track elements for on the way down. For both of these i have begun the construction of cardboard prototypes.</p>
<p><strong>Marble lift</strong></p>
<p>There are a few different methods that are used to lift marbles, the main ones being screw based or disk based, i have decided that it would be much easier to go with the disk design as it would be much easier to manufacture out of predominantly wood</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" 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/-u06hUAGa-c?hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/-u06hUAGa-c?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>This video shows my prototype, the final version will have 5 of the wheels and gears to keep the wheels in sync</p>
<p><strong>Track Elements</strong></p>
<p>For my cardboard prototypes it is very difficult to produce any shape with much of a curve, so i have focused on the moving elements of the track. These designs are based off many other marble runs on youtube. This setup is designed to be the elements that will fill one side of the display. In the final version there will be more simple and decorative elements such as spirals and twists to connect the moving elements.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" 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/2j40h8wzr_o?hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/2j40h8wzr_o?hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>I will hopefully have some more videos of prototypes up in the next few weeks as i work on them.</p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/mp/dt-mp/donation-box-prototypes/&amp;title=Donation+box+prototypes" title="Add 'Donation box prototypes' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Donation box prototypes' to digg" alt="Add 'Donation box prototypes' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/mp/dt-mp/donation-box-prototypes/&amp;title=Donation+box+prototypes" title="Add 'Donation box prototypes' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Donation box prototypes' to Stumble Upon" alt="Add 'Donation box prototypes' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/mp/dt-mp/donation-box-prototypes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interactive donation box</title>
		<link>http://www.importsoul.net/mp/dt-mp/interactive-donation-box/</link>
		<comments>http://www.importsoul.net/mp/dt-mp/interactive-donation-box/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 10:04:04 +0000</pubDate>
		<dc:creator>Hugoagogo</dc:creator>
				<category><![CDATA[D&T Major Project]]></category>
		<category><![CDATA[Major Project]]></category>
		<category><![CDATA[D&T]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[display]]></category>
		<category><![CDATA[donation]]></category>
		<category><![CDATA[donation box]]></category>
		<category><![CDATA[marble]]></category>
		<category><![CDATA[marble run]]></category>

		<guid isPermaLink="false">http://www.importsoul.net/?p=645</guid>
		<description><![CDATA[Besides doing a major project for software design and development, i am also working on a major project for design and technology. For this project i have started designing an interactive donation box. The main idea is that when a coin is put in it is sorted according to its denomination, depending on the value [...]]]></description>
			<content:encoded><![CDATA[<p>Besides doing a major project for software design and development, i am also working on a major project for design and technology. For this project i have started designing an interactive donation box.</p>
<p>The main idea is that when a coin is put in it is sorted according to its denomination, depending on the value of the coin a given number of marbles will be sent through a marble run. The front of the cabinet will also feature an area to promote what you are trying to attract donations for as well as a display showing how far they are to reaching their fund raising goal.</p>
<p><a href="http://www.importsoul.net/wp-content/uploads/2011/02/Picture1.png"><img class="aligncenter size-thumbnail wp-image-646" title="D&amp;T - Diagram" src="http://www.importsoul.net/wp-content/uploads/2011/02/Picture1-300x224.png" alt="" width="300" height="224" /></a></p>
<!-- Social Bookmarking Reloaded BEGIN --><div class="social_bookmark"><em><hr>Add to</em><br /><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.importsoul.net/mp/dt-mp/interactive-donation-box/&amp;title=Interactive+donation+box" title="Add 'Interactive donation box' to digg"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/digg.png" title="Add 'Interactive donation box' to digg" alt="Add 'Interactive donation box' to digg" /></a><a class="social_img" onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,border=0,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http://www.importsoul.net/mp/dt-mp/interactive-donation-box/&amp;title=Interactive+donation+box" title="Add 'Interactive donation box' to Stumble Upon"><img src="http://www.importsoul.net/wp-content/plugins/social-bookmarking-reloaded/stumbleupon.png" title="Add 'Interactive donation box' to Stumble Upon" alt="Add 'Interactive donation box' to Stumble Upon" /></a></div>
<!-- Social Bookmarking Reloaded END -->]]></content:encoded>
			<wfw:commentRss>http://www.importsoul.net/mp/dt-mp/interactive-donation-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

