<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>{compound;statement;}</title>
	<atom:link href="http://compoundstatement.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://compoundstatement.wordpress.com</link>
	<description>musings sans imperative</description>
	<lastBuildDate>Mon, 30 Nov 2009 23:52:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='compoundstatement.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/a0ee5944156adb5ee509748696f5183e?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>{compound;statement;}</title>
		<link>http://compoundstatement.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://compoundstatement.wordpress.com/osd.xml" title="{compound;statement;}" />
	<atom:link rel='hub' href='http://compoundstatement.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Google Maps / The Obligatory &#8220;Coming Soon&#8221; Post.</title>
		<link>http://compoundstatement.wordpress.com/2009/11/30/the-obligatory-coming-soon-post/</link>
		<comments>http://compoundstatement.wordpress.com/2009/11/30/the-obligatory-coming-soon-post/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 23:52:55 +0000</pubDate>
		<dc:creator>jessiespaghetti</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=176</guid>
		<description><![CDATA[No posts in six months! Tom and I have been slack. We&#8217;re off to linux.conf.au (LCA) in New Zealand with a couple of friends in January so we should have plenty to write about then. I&#8217;m currently finishing up my semester of university in Sweden, and will have some musings about that shortly (by &#8220;shortly&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=176&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No posts in six months! Tom and I have been slack. We&#8217;re off to linux.conf.au (LCA) in New Zealand with a couple of friends in January so we should have plenty to write about then.</p>
<p>I&#8217;m currently finishing up my semester of university in Sweden, and will have some musings about that shortly (by &#8220;shortly&#8221; I mean in the next couple of months.. hopefully).</p>
<p>In the meantime.. <a href="http://digitaldj.net/">Grant</a> may have been photographed by a Google van on Hindley Street in Adelaide, which is both hilarious and upsetting &#8211; hilarious for the obvious reasons, but upsetting because this means they could be <strong>replacing</strong> their current street view images of Australia. And there are some good images on Google Street View, there&#8217;s one image in particular that I&#8217;m quite fond of and wouldn&#8217;t like to see replaced&#8230;</p>
<p>Without any further ado, here&#8217;s my mother on Google Street View:</p>
<div id="attachment_178" class="wp-caption aligncenter" style="width: 510px"><a href="http://compoundstatement.files.wordpress.com/2009/11/mum-on-google-maps1.png"><img class="size-full wp-image-178" title="google street view" src="http://compoundstatement.files.wordpress.com/2009/11/mum-on-google-maps1.png?w=497" alt=""   /></a><p class="wp-caption-text">Check out that seamless exit from the vehicle. Fantastic.</p></div>
<p>That&#8217;s all for now. Bring on LCA!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/176/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/176/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/176/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=176&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/11/30/the-obligatory-coming-soon-post/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ee1a6c6715df86973c8aa7920dbbebf4?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">jessiespaghetti</media:title>
		</media:content>

		<media:content url="http://compoundstatement.files.wordpress.com/2009/11/mum-on-google-maps1.png" medium="image">
			<media:title type="html">google street view</media:title>
		</media:content>
	</item>
		<item>
		<title>Solving ENGN3211 with Minizinc</title>
		<link>http://compoundstatement.wordpress.com/2009/06/25/solving-engn3211/</link>
		<comments>http://compoundstatement.wordpress.com/2009/06/25/solving-engn3211/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 09:29:23 +0000</pubDate>
		<dc:creator>sargegoodweather</dc:creator>
				<category><![CDATA[Assignments]]></category>
		<category><![CDATA[Economics]]></category>
		<category><![CDATA[Exams]]></category>
		<category><![CDATA[Minizinc]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Uni]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=114</guid>
		<description><![CDATA[It is compulsory for engineering students at the university I attend to complete an introductory course in economics and accounting (ENGN3211). With exams in full-swing, I&#8217;ve been going through the course material for ENGN3211, revising for the exam. After labouriously going through each of the ENGN3211 assignments yesterday, something quite self-evident became apparent: economic type [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=114&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It is compulsory for engineering students at the university I attend to complete an introductory course in economics and accounting (ENGN3211).  With exams in full-swing, I&#8217;ve been going through the course material for ENGN3211, revising for the exam.  After labouriously going through each of the ENGN3211 assignments yesterday, something quite self-evident became apparent: economic type problems are particularly well suited to constraint programming.  Having become increasingly interested in constraint programming lately through Jess&#8217; posts on Minizinc, I decided to see how easy it would be to &#8216;solve&#8217; problems from the ENGN3211 assignments by describing them in Minizinc.  <span id="more-114"></span>  Having noted that the problems encountered in the course are particularly well suited to Minizinc, there were some more qualitative problems that have been omitted from the Minizinc treatment here.</p>
<p>We begin with a look at problem 1 from assignment 3:</p>
<blockquote><p>The market for tickets to the symphony can be described by the following demand and supply curves:<br />
D = 20000 &#8211; 90P<br />
S = 10000 + 110P</p>
<ol>
<li>What are the equilibrium price and quantity in the ticket market?</li>
<li>Lovers of classical music persuade the government to impose a price ceiling of $40 per ticket.  How many tickets are now sold in the market?</li>
</ol>
</blockquote>
<p>This problem maps fairly directly to Minizinc code, we pretty much just write out the equations already given to us:</p>
<p><pre class="brush: css;">
%Include standard definitions:
include &quot;globals.mzn&quot;;

%From variables described in problem statement:
var int: P;
var int: D = 20000 - 90*P;
var int: S = 10000 + 110*P;

%To solve for equilibrium supply and demand, simply remove this constraint.
%The government imposes a $40 ceiling:
constraint P  &lt; = 40;

%Solve for as close to equilibrium supply and demand as possible:
solve minimize abs(D-S);

%Print our solution:
output[&quot;The price is $&quot;, show(P), &quot; per ticket and the quantity sold is &quot;,
    show(min(S,D)), &quot; tickets.\n&quot;];
</pre></p>
</p>
<p>with the output for respective cases being:</p>
<blockquote><p>
The price is $50 per ticket and the quantity sold is 15500 tickets.<br />
The price is $40 per ticket and the quantity sold is 14400 tickets.</p>
</blockquote>
<p>This problem was very straight-forward to solve in Minizinc, emphasizing just how great this language is for the typical supply-demand problems you come across in an introductory economics textbook.  However, I feel that by using Minizinc to solve a problem as simple as this, we do not achieve much of a productivity gain compared to the traditional approach of solving through algebraic manipulations.</p>
<p>Furthermore, there does not seem to be any way to solve for two or more subtly different cases of the same problem, one after the other.  One solution to this short-coming is to rely on the user to conditionally comment-out some constraints for different cases and run the program multiple times.  This is not ideal.  There may be some feature of Minizinc (that I am not aware of) that simplifies this situation but as one of the design goals is to create a minimal language, this is unlikely.  Keeping the rationale behind Minizinc in mind, not being able to solve for different cases in the same program is hardly something to feel sore about.</p>
<p>Moving along, we want to solve assignment 3, problem 2:</p>
<blockquote><p>Suppose the demand curve for pizza can be represented by the equation D = 20 &#8211; 2P, where D is the quantity demanded and P is the price.  The supply curve for pizza can be represented by the equation S=P-1, where S is the quantity supplied.<br />
Suppose the government imposes a $3 tax per pizza.  How much more will consumers now pay for a pizza?</p>
</blockquote>
<p>which can be mapped to Minizinc as:</p>
<p><pre class="brush: css;">
%Include standard definitions:
include &quot;globals.mzn&quot;;

%From variables described in problem statement:
var int: PD;
var int: PS;
var int: D = 20 - 2*PD;
var int: S = PS - 1;

%Without a tax:
%constraint PD = PS;
%With a $3 tax:
constraint PD = PS + 3;

%Market is at equilibrium:
constraint D = S;

%Solve for equilibrium supply and demand:
solve satisfy;

%Print our solution:
output[&quot;Consumers will pay $&quot;, show(PD), &quot; per pizza.\n&quot;];
</pre></p>
<p>with the output for the respective cases being:</p>
<blockquote><p>
Consumers will pay $7 per pizza.<br />
Consumers will pay $8 per pizza.
</p>
</blockquote>
<p>Again, the process of mapping the problem to Minizinc code is fairly straight-forward.  Unlike the previous problem, this problem was actually easier for me and quicker to solve with Minizinc than doing algebra.  Especially since I had a bit of a template to go off by using the code I wrote for the previous problem.  Yet again, we rely on the user to conditionally comment certain constraints but this is fairly trivial for a savvy user.</p>
<p>Now, on to assignment 4, question 1:</p>
<blockquote><p>The Pristine River has two polluting firms on its banks.  Acme Industrial and Creative Chemicals each dump 100 tonnes of glop into the river each year.  The cost of reducing glop emissions per tonne equals $10 for Acme and $100 for Creative.  The local government wants to reduce overall pollution from 200 tonnes to 50 tonnes.</p>
<ol>
<li>If the government knew the cost of reduction for each firm, what reductions would it impose in order to reach its overall goal?  What would be the cost to each firm and the total cost to the firms together?</li>
<li>In a more typical situation, the government would not know the cost of pollution reduction at each firm.  If the government decided to reach its overall goal by imposing uniform reductions on the firms, calculate the reduction made by each firm, and the total cost to the firms together.</li>
</ol>
</blockquote>
<p>Which we write in Minizinc as:</p>
<p><pre class="brush: css;">
include &quot;globals.mzn&quot;;

%Adapted from all_different
predicate all_same(array[int] of var int: x) =
	forall(i,j in index_set(x) where i  j) ( x[i] = x[j]);

%Set the number of companies involved:
int : n = 2;
set of int: companies = 1..n;

%Arrays for data on each firm:
array[companies] of int : reductionCostPerTonnes = [10, 100];
array[companies] of int : pollutionTonnes = [100,100];
array[companies] of var int : reductionTonnes;
array[companies] of var int : reductionCost =
   ([ reductionTonnes[c] * reductionCostPerTonnes[c] | c in companies]);

%The sum of the differences in reductionCost between
%one firm and the consecutive firm in the array for each firm:
var int : reductionCostDelta = sum
   ([ abs(reductionCost[c] - reductionCost[c+1]) | c in 1..(n-1)]);

%The sum of each firms reductionTonnes:
var int : totalReduction = sum ([reductionTonnes[c] | c in companies]);

%The sum of each firms reductionCost:
var int : totalCost = sum ([reductionCost[c] | c in companies]);

%We want to reduce our current pollution down to 50 tonnes.
int : pollutionGoal = 50;
var int : reductionGoal = (sum
   ([pollutionTonnes[c] | c in companies])) - pollutionGoal;

%Cannot reduce pollutionTonnes beyond pollutionTonnes we are currently producing.
constraint forall ([ reductionTonnes[c]  &lt; = pollutionTonnes [c] | c in companies]);
%PollutionTonnes must not be reduced by a negative amount, this does not make sense.
constraint forall ([ reductionTonnes[c] &gt;= 0 | c in companies]);
%The total reduction in pollutionTonnes must meet our reductionGoal
constraint totalReduction = reductionGoal;

%If we know how much reducing pollution costs each firm,
%we minimize the difference in pollution reduction costs between firms.
solve minimize reductionCostDelta;
%If we do not know how much reducing pollution costs each firm,
%we simply get them to reduce pollution by the same amount regardless of cost.
%constraint all_same(reductionTonnes);
%solve satisfy;

%Print our solution:
output [&quot;reductionGoal = &quot;, show(reductionGoal), &quot;\n&quot;,
	&quot;reductionTonnes = &quot;, show(reductionTonnes), &quot;\n&quot;,
	&quot;reductionCostPerTonnes = &quot;, show(reductionCostPerTonnes), &quot;\n&quot;,
	&quot;reductionCost = &quot;, show(reductionCost), &quot;\n&quot;,
	&quot;totalCost = &quot;, show(totalCost), &quot;\n&quot;];
</pre></p>
<p>with the output:</p>
<blockquote><p>reductionGoal = 150<br />
reductionTonnes = [100, 50]<br />
reductionCostPerTonnes = [10, 100]<br />
reductionCost = [1000, 5000]<br />
totalCost = 6000<br />
reductionGoal = 150<br />
reductionTonnes = [75, 75]<br />
reductionCostPerTonnes = [10, 100]<br />
reductionCost = [750, 7500]<br />
totalCost = 8250</p>
</blockquote>
<p>This problem was actually the hardest for me to write in Minizinc.  It certainly demonstrates that Minizinc can be used for solving less trivial problems but more effort is needed.  I really like that array comprehensions are possible in Minizinc and have used them way more than what is really advisable.</p>
<p>And finally, assignment 4, question 2:</p>
<blockquote><p>Suppose that 10 people live on the street and that each of them is willing to pay $2 for each extra streetlight, regardless of the number of streetlights provided.  The cost of providing L streetlights is given by c(L)=L*L.  What is the most efficient number of streetlights to provide from the point of view of a central planner?</p>
</blockquote>
<p>which we solve with:</p>
<p><pre class="brush: css;">
%Include standard definitions:
include &quot;globals.mzn&quot;;

%From the problem statement:
int: numberOfResidents = 10;
int: contributionPerLight = 2;

%The 0..10000 is to stop integer overflows resulting from the solver,
%this is not a limit given to us in the problem statement.
%The number of streetlights on the street:
var 0..10000 : numberOfLights;

%The cost for a particular number of streetlights:
var int: cost = numberOfLights * numberOfLights;
%The contribution from a single resident:
var int: contribution = contributionPerLight * numberOfLights;
%The aggregate contribution from the whole street:
var int: aggregateContribution = contribution * numberOfResidents;

%Adding 0 extra streetlights could be a solution, but not the one we are after.
constraint numberOfLights &gt; 0;

%Maximize the central planner's profit realized by providing extra streetlights:
solve maximize aggregateContribution - cost;

%Print our solution:
output[&quot;Most efficient number of streetlights is &quot;, show(numberOfLights), &quot;\n&quot;,
   &quot;As cost is &quot;, show(cost), &quot;\n&quot;,
   &quot;And contributions is &quot;, show(aggregateContribution), &quot;\n&quot;];
</pre></p>
<p>with the output:</p>
<blockquote><p>Most efficient number of streetlights is 10<br />
As cost is 100<br />
And contributions is 200</p>
</blockquote>
<p>In this example, we have run into another problem: certain constraints or definitions can result in overflow when the program is executed.  Luckily, the compiler can detect these situations, giving the programmer sufficient notice that the code needs to be altered.  Whilst this is commendable in a compiler, in my opinion, a &#8216;smarter&#8217; solver would be able to avoid overflow for the problem above.  Admittedly, solvers are hard enough to implement, especially given performance, soundness and other concerns, without trying to make them &#8216;smarter&#8217;.</p>
<p>For this example, we have managed to get around integer overflow by restricting the domain for numberOfLights.  This could probably be done automatically but even then, it would still be prudent to alert the user that the domain of variables in the problem and thus, their potential solutions have been restricted.</p>
<p>In conclusion, Minizinc is a fantastic language to use for constraint type problems and is true to its minimalist design goal.  At times, this minimalism can be trying; especially if you simply want to piece together a quick solution to a given problem.  However, this minimalism also makes a thorough analysis of the language much easier.  Many types of problems would be unsuited to constraint programming and Minizinc, and therefore quite difficult to solve with Minizinc code.  As always, it is important to identify which tool is the right one for the task at hand.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=114&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/06/25/solving-engn3211/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/85bff6d2aead20c8528d1faeea228235?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">sargegoodweather</media:title>
		</media:content>
	</item>
		<item>
		<title>Eight Queens Problem in Minizinc</title>
		<link>http://compoundstatement.wordpress.com/2009/06/22/eight-queens-problem-in-minizinc/</link>
		<comments>http://compoundstatement.wordpress.com/2009/06/22/eight-queens-problem-in-minizinc/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 04:57:36 +0000</pubDate>
		<dc:creator>jessiespaghetti</dc:creator>
				<category><![CDATA[Minizinc]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=102</guid>
		<description><![CDATA[There&#8217;s a few things that I&#8217;m really good at, and one of them is procrastination. I can find anything to do that will delay me getting inevitable tasks done. Today it&#8217;s because I have an exam tomorrow and still have a lot of studying that I should do for that. I have also been given [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=102&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a few things that I&#8217;m really good at, and one of them is procrastination. I can find anything to do that will delay me getting inevitable tasks done. Today it&#8217;s because I have an exam tomorrow and still have a lot of studying that I should do for that. I have also been given a research task to do.</p>
<p>Instead of doing either of those tasks, I&#8217;ve knocked up a solution to the eight queens problem using the Minizinc constraints programming language. The eight queens problem simply is, how to arrange eight queens on a chessboard so that none of them are in check.</p>
<p>Not sure if it works correctly &#8211; did it in about two seconds flat &#8211; so bonus points if you can find problems with it.</p>
<p><pre class="brush: cpp;">
include &quot;globals.mzn&quot;;

array[1..8] of var 1..8: xpos;
array[1..8] of var 1..8: ypos;

%no two queens can have the same xvalue
constraint
    forall (i in 1..8) (
        forall (j in 1..8 where j!=i) (
            xpos[i] != xpos[j]
        )
    );

%no two queens can have the same yvalue
constraint
    forall (i in 1..8) (
        forall (j in 1..8 where j!=i) (
            ypos[i] != ypos[j]
        )
    );

%none on the diagonals
constraint
    forall (i in 1..8) (
        forall (j in 1..8 where j!=i) (
            (xpos[i] - xpos[j] != ypos[i] - ypos[j]) /\
            (xpos[i] - xpos[j] != ypos[j] - ypos[i]) /\
            (xpos[j] - xpos[i] != ypos[i] - ypos[j])
        )
    );

solve satisfy;

output [ &quot;X: &quot; ++ show(xpos[i]) ++ &quot; &quot; ++
         &quot;Y: &quot; ++ show(ypos[i]) ++ &quot;\n&quot; | i in 1..8 ];
</pre></p>
<p>The output that I get is:</p>
<p>X: 4    Y: 8<br />
X: 2    Y: 7<br />
X: 7    Y: 6<br />
X: 3    Y: 5<br />
X: 6    Y: 4<br />
X: 8    Y: 3<br />
X: 5    Y: 2<br />
X: 1    Y: 1</p>
<p>Now to find something else to procrastinate with..</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=102&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/06/22/eight-queens-problem-in-minizinc/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ee1a6c6715df86973c8aa7920dbbebf4?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">jessiespaghetti</media:title>
		</media:content>
	</item>
		<item>
		<title>Free (To Make Your Own Choices)</title>
		<link>http://compoundstatement.wordpress.com/2009/06/19/free-to-make-your-own-choices/</link>
		<comments>http://compoundstatement.wordpress.com/2009/06/19/free-to-make-your-own-choices/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 12:34:51 +0000</pubDate>
		<dc:creator>jessiespaghetti</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=93</guid>
		<description><![CDATA[Firstly, I have to say that I support open source software. Now, one of my courses at uni this semester is Operating Systems. I don&#8217;t mind the course; I realised with slight shock while reading over the lecture slides for the upcoming exam that I actually found most &#8211; if not all &#8211; of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=93&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Firstly, I have to say that I support open source software.</p>
<p>Now, one of my courses at uni this semester is Operating Systems. I don&#8217;t mind the course; I realised with slight shock while reading over the lecture slides for the upcoming exam that I actually found most &#8211; if not all &#8211; of the content of the course quite interesting. I like it.</p>
<p>But, one of the lectures was a bit interesting in another way. Towards the beginning of the course we were given a lecture entitled &#8220;System Software&#8221;. A very ambiguous title. As it turned out, the aim of this lecture was to convince any proprietary-software-loving folk in the audience that their views were wrong.</p>
<p>The lecture was incredibly biased, here are a spattering of memorable quotes from the lecture, (Module 2 &#8211; System Software, Operating Systems, University of South Australia):<br />
&#8220;<em>Free software is&#8230; the freedom to use your computer, the way YOU want, not the way the marketing and legal department wants</em>&#8221; (Very colourful words there, yeah, screw the system!)</p>
<p>(Regarding the EULA for Windows XP) &#8220;<em>.. you have the right to do not all that much. You are barely allowed to even run it</em> [the operating system]&#8221; (Barely allowed to even run it? If you install and run Windows on the average home computer, you are not breaking the EULA &#8211; and yes, I have read it).</p>
<p>&#8220;<em>Most vendors do not give you source code, so you cannot make changes to it or inspect it for security flaws</em>&#8221; (Okay, I consider myself a decent programmer, average at the least &#8211; and I have never, ever even felt the need to go through the source code of an open source operating system to &#8220;inspect it for security flaws&#8221;. Who does that? Not me. If that&#8217;s one of the reasons to use open source, we must be scraping the bottom of the barrell..)</p>
<div id="attachment_94" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-94" title="OS" src="http://compoundstatement.files.wordpress.com/2009/06/clipboard01.png?w=497" alt="OS"   /><p class="wp-caption-text">This is a third year Operating Systems lecture slide. No joke.</p></div>
<p>&#8220;<em>There are lots of software engineers out there that do not have a clue, do you trust them with your airplane/life? Someone could put spying tools into the software they give you</em>&#8221; (Scare tactics, much?)</p>
<p>&#8220;<em>Copy protection can stop you from using software you have legally purchased. What if the next version of Windows prevents a hardware dongle from working because there are no drivers. You may need to illegally crack your software to use software you are legally allowed to use!?!?!</em>&#8221; (There really was that much punctuation, and the lecture failed to state the actual intent of copy protection).</p>
<p>&#8220;<em>The cost is free and you are not held to ransom by other companies who seek to control you for your money</em>&#8221; (What&#8230;? Very colourful words again).</p>
<p>The lecture also gives a run down on Richard Stallman and names him as a visionary. But, of course, there&#8217;s no mention of the Steves, or Bill Gates, have they not contributed anything to operating systems over the years? Anything pre-Linux doesn&#8217;t exist.</p>
<p>The lecture continues to hammer in the point about free software being amazing, but why is there no mention of any other alternatives? Instead of the colourful words, why not give people some facts and figures, and some info about this horrible, deathly &#8220;proprietary software&#8221; thing, which is barely mentioned?</p>
<p>I&#8217;m all for open source, but I&#8217;m also for people being free to make their own decisions.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=93&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/06/19/free-to-make-your-own-choices/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ee1a6c6715df86973c8aa7920dbbebf4?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">jessiespaghetti</media:title>
		</media:content>

		<media:content url="http://compoundstatement.files.wordpress.com/2009/06/clipboard01.png" medium="image">
			<media:title type="html">OS</media:title>
		</media:content>
	</item>
		<item>
		<title>BASH and Rundle Mall</title>
		<link>http://compoundstatement.wordpress.com/2009/05/12/bash-and-rundle-mall/</link>
		<comments>http://compoundstatement.wordpress.com/2009/05/12/bash-and-rundle-mall/#comments</comments>
		<pubDate>Tue, 12 May 2009 11:28:21 +0000</pubDate>
		<dc:creator>sargegoodweather</dc:creator>
				<category><![CDATA[Automation]]></category>
		<category><![CDATA[BASH]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=82</guid>
		<description><![CDATA[So&#8230; I am going to Adelaide very soon.  On Friday, to be precise.  (I am very excited!)  Searching through tourist information on the city, I came across a publicly accessible web-cam feed for Rundle Mall.  After finding this, I thought to myself &#8220;Wouldn&#8217;t it be cool if when I was in Adelaide, I got a photo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=82&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So&#8230; I am going to Adelaide very soon.  On Friday, to be precise.  (I am very excited!)  Searching through tourist information on the city, I came across a publicly accessible web-cam feed for <a title="Rundle Mall" href="http://www.cityofadelaide.com.au/scripts/nc.dll?ADCCBRAND:STANDARD::pc=PC_39" target="_self">Rundle Mall</a>.  After finding this, I thought to myself &#8220;Wouldn&#8217;t it be cool if when I was in Adelaide, I got a photo of me and my friends taken by this web-cam.&#8221;  Unfortunately, there is a bit of a logistical problem here: How can I save the current web-cam shot when I am standing in Rundle Mall?</p>
<p>Enter BASH scripting.  With a few lines of BASH code, it is possible to save the current web-cam shot at a set interval for an indefinite period.</p>
<p><pre class="brush: bash;">
#!/bin/bash

#A short script to download timed snapshots of a file that undergoes regular updates.

#The url of the file
url=&quot;http://www.adelaidecitycouncil.com/netcatapps/webcam/images/rundle.jpg&quot;
#This expression extracts the suffix part of the url from the url
suffixpart=${url##*.}
#The interval at which the file is fetched.
#N.B. Some sites may not take kindly to short intervals.
interval=5s

#Determine which command should be used for downloading given the current platform.
systemname=`uname -s || uname`
case $systemname in
    *Linux)
        cmd=&quot;wget $url -O&quot;
        ;;
    *Darwin)
        cmd=&quot;curl $url -o&quot;
        ;;
    *)
        cmd=&quot;wget $url -O&quot;
        ;;
esac

#Infinite loop that does the downloading.
#The script must manually be interrupted to halt. 
while [ 1 ]
do
    datepart=`date &quot;+%H%M%S&quot;`
    $cmd $datepart.$suffixpart
    sleep $interval
done
</pre></p>
<p>The URL of the web-cam feed that the script downloads is easily changed by setting <em>url</em> (line 6) to a different URL string.  Changing the interval at which snapshots are taken is similarly simple.  I&#8217;ve made an effort to ensure that the script is compatible with a variety of platforms by performing a run-time check but it is likely that the script may not work on platforms other than Darwin (Mac OSX) as this was the testing platform.</p>
<p>Now all that remains is to leave this script running on a friend&#8217;s computer with web-access whilst visiting Rundle Mall.  By syncing a watch to the system time on the computer, it will even be possible to know which shots are relevant without viewing all the snapshots individually (as the filename for each snapshot reflects when it was taken).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=82&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/05/12/bash-and-rundle-mall/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/85bff6d2aead20c8528d1faeea228235?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">sargegoodweather</media:title>
		</media:content>
	</item>
		<item>
		<title>My Old Console Addiction (Part II)</title>
		<link>http://compoundstatement.wordpress.com/2009/04/24/my-old-console-addiction-part-ii/</link>
		<comments>http://compoundstatement.wordpress.com/2009/04/24/my-old-console-addiction-part-ii/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 13:36:19 +0000</pubDate>
		<dc:creator>jessiespaghetti</dc:creator>
				<category><![CDATA[Game Consoles]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=74</guid>
		<description><![CDATA[I have quite a few old game consoles*, but I only want to write about a couple that I really enjoy. The Gameboy Pocket has already been written about, so this is my other favourite out of my old consoles &#8211; the Atari 2600! This was the first gaming console that I ever played. I&#8217;d [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=74&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have quite a few old game consoles*, but I only want to write about a couple that I really enjoy. The Gameboy Pocket has already been written about, so this is my other favourite out of my old consoles &#8211; the Atari 2600!</p>
<div id="attachment_76" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-76" title="p10000171" src="http://compoundstatement.files.wordpress.com/2009/04/p10000171.png?w=497" alt="This 2600 is referred to as a &quot;Vader&quot; console, you can also get another 2600 which is black/gray and looks quite different (but plays the same cartridges, however)."   /><p class="wp-caption-text">This 2600 is referred to as a &quot;Vader&quot; console, you can also get another 2600 which is black/gray and looks quite different (but plays the same cartridges, however).</p></div>
<p>This was the first gaming console that I ever played. I&#8217;d even go as far as to say that this machine allowed me to play the first video games that I&#8217;d ever played &#8211; PC, console or otherwise. I believe this Atari 2600 was selling in the early eighties, and I remember playing it when I was around three &#8211; five years old in 1990-1992, so it would have been a little outdated when I had it.</p>
<p>Unfortunately, the console that I&#8217;ve got now, the one pictured, isn&#8217;t the one I played as a kid, but rather just another one that I purchased of the exact same model that I had. The one I had as a kid was taken to a pawn shop to make way for the next console that my family purchased (the Sega Mega Drive, and I do still have that very one)</p>
<p>I had to get my hands on one of these, there&#8217;s just something so cool about it to me &#8211; and I&#8217;m probably one of the only people who get excited about stuff like this &#8211; but how cool is it that this was once the <strong>best </strong>gaming console out? I played this for hours on end the same way that kids today play the PS3, and it seemed really exciting for the time &#8211; it&#8217;s a piece of gaming history! But even if you don&#8217;t think that&#8217;s as cool as I do, the games are still pretty wicked. Space Invaders still remains too hard for me, despite me being at least five times the age of when I first played it.</p>
<p>Here&#8217;s a shot of the games I have for it at the moment:</p>
<div id="attachment_79" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-79" title="p10000162" src="http://compoundstatement.files.wordpress.com/2009/04/p10000162.png?w=497" alt="Games!"   /><p class="wp-caption-text">Games: Berzerk, Pacman, Bowling, Space Invaders, Othello, Missile Command, Basketball, Combat, Sprintmaster, Asteroids, River Raid II, Outlaw, Human Cannonball, Indy 500, Freeway, Slot Machine, Seaquest, Asteroids (again), Crystal Castles. And Kung-Fu Master, Summer &amp; Winter Games.</p></div>
<p>Berzerk remains my favourite game; it&#8217;s just a classic running around with a gun shooting mindless robots kind of game. It used to scare me a bit as a kid, but it&#8217;s quite fun. It&#8217;s also noted as the first video game that someone has died playing (I think two did, actually). Another version of Berzerk on another console (don&#8217;t remember which one) was also one of the first (if not, <strong><em>the </em></strong>first) games to have voices in it.</p>
<p>Anyway, that&#8217;s enough mindless babbling for now.</p>
<p>*Other consoles I own include Sega Mega Drive II, Super Nintendo, Gameboy Color, Nintendo 64 and GameCube.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=74&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/04/24/my-old-console-addiction-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ee1a6c6715df86973c8aa7920dbbebf4?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">jessiespaghetti</media:title>
		</media:content>

		<media:content url="http://compoundstatement.files.wordpress.com/2009/04/p10000171.png" medium="image">
			<media:title type="html">p10000171</media:title>
		</media:content>

		<media:content url="http://compoundstatement.files.wordpress.com/2009/04/p10000162.png" medium="image">
			<media:title type="html">p10000162</media:title>
		</media:content>
	</item>
		<item>
		<title>Super Mushroom!</title>
		<link>http://compoundstatement.wordpress.com/2009/04/01/super-mushroom/</link>
		<comments>http://compoundstatement.wordpress.com/2009/04/01/super-mushroom/#comments</comments>
		<pubDate>Wed, 01 Apr 2009 14:27:07 +0000</pubDate>
		<dc:creator>jessiespaghetti</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=72</guid>
		<description><![CDATA[So, in a feat of amazing procrastination, Grant introducted me to CubeCraft. And the product of that is this Mushroom from Mario! I should have been sleeping an hour ago, but it was worth it.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=72&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, in a feat of amazing procrastination, <a href="http://tumblr.digitaldj.net/">Grant</a> introducted me to <a href="http://www.cubeecraft.com/">CubeCraft</a>. And the product of that is this Mushroom from Mario!</p>
<div id="attachment_71" class="wp-caption aligncenter" style="width: 490px"><img class="size-full wp-image-71" title="Mario Mushroom" src="http://compoundstatement.files.wordpress.com/2009/04/sa400310.png?w=497" alt="It's a Super Mushroom from Mario! (If you don't know what it is, get off this blog. Now.)"   /><p class="wp-caption-text">If you don&#39;t know what it is, then you don&#39;t belong here.</p></div>
<p>I should have been sleeping an hour ago, but it was worth it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=72&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/04/01/super-mushroom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ee1a6c6715df86973c8aa7920dbbebf4?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">jessiespaghetti</media:title>
		</media:content>

		<media:content url="http://compoundstatement.files.wordpress.com/2009/04/sa400310.png" medium="image">
			<media:title type="html">Mario Mushroom</media:title>
		</media:content>
	</item>
		<item>
		<title>My Old Console Addiction (Part I)</title>
		<link>http://compoundstatement.wordpress.com/2009/03/20/my-old-console-addiction-part-i/</link>
		<comments>http://compoundstatement.wordpress.com/2009/03/20/my-old-console-addiction-part-i/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 10:35:15 +0000</pubDate>
		<dc:creator>jessiespaghetti</dc:creator>
				<category><![CDATA[Game Consoles]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=64</guid>
		<description><![CDATA[When I was a kid I had one of the original Gameboys, the big grey one. We only had a few games, I think because we quickly moved onto a Sega Mega Drive and other consoles, and thus didn&#8217;t use the Gameboy as much. But I thought it was awesome. Unfortunately, my younger sisters completely [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=64&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>When I was a kid I had one of the original Gameboys, the big grey one. We only had a few games, I think because we quickly moved onto a Sega Mega Drive and other consoles, and thus didn&#8217;t use the Gameboy as much. But I thought it was awesome. Unfortunately, my younger sisters completely screwed that nice old chunky grey one, but I got myself this off ebay just a couple of months ago:</p>
<div id="attachment_65" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-65" title="Mah Gameboy" src="http://compoundstatement.files.wordpress.com/2009/03/gameboy1.png?w=497" alt="Mah Gameboy"   /><p class="wp-caption-text">Note the clear plastic still over the screen; no screen scratches!</p></div>
<p>I always wanted a coloured one when I was younger, instead of that grey one, and I&#8217;ve finally got one. The pocket is much more handy than the original one, too; much lighter and easier to hold. With little to no scratches on the actual console, and none on the screen because of the protective plastic, I think I&#8217;ll hang on to this for a while &#8211; it&#8217;s in great condition, and I&#8217;m having fun playing games with it. Five games came with the console, and I managed to find one around the house. So the games I have are:</p>
<div id="attachment_67" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-67" title="Gameboy Games" src="http://compoundstatement.files.wordpress.com/2009/03/gameboy2.png?w=497" alt="Five of the games came with the console when I bought it, and the game in the top left was one that I found around the house from our old Gameboy"   /><p class="wp-caption-text">L-R, T-B: Bill and Ted&#39;s Excellent Adventure (I found that in our pantry, there&#39;s all kinds of crazy stuff in there), Lamborghini American Challenge, Super Mario Land 2: Six Golden Coins, Donkey Kong Land 2, Warioland 2, Yoshi&#39;s Cookie.</p></div>
<p>I <em><strong>know </strong></em>there&#8217;s at least another two games around my house, but I can&#8217;t find them. I blame my younger siblings for that.</p>
<p>But anyway, I&#8217;m so glad I found Bill and Ted&#8217;s Excellent Adventure, I used to watch those movies over and over as a kid, and I never owned them, just borrowed them excessively from the local video store (way back when they actually had videos and not dvds, woah). So, of course, I also played Bill and Ted&#8217;s Excellent Adventure on Gameboy quite a bit. It didn&#8217;t tie in heaps with the movies, but it&#8217;s still a decent game &#8211; just collect all of the coins in a level and a telephone booth will spawn, go to that and it&#8217;ll take you to the next level. Not too bad at all.</p>
<p>My plan is to look around at pawn shops and at Cash Converters around Adelaide in search of some of the cooler games on Gameboy. Some that I would like to get are Paperboy, Lemmings, NBA Jam, and just anything that seems awesome, really.</p>
<p>I don&#8217;t think this is the last old console that I&#8217;ll get. I also would love to get my hands on the Atari 2600 &#8211; the first console I ever played. There&#8217;s a few drifting around Ebay so I will try to get my hands on one for some awesome Space Invaders and Frogger action. I also have a Sega Mega Drive and a Super Nintendo. I wouldn&#8217;t mind getting a Sega Saturn &#8211; I never had one as a kid (I don&#8217;t think many people did, it kinda didn&#8217;t take off) but I was always a bigger fan of Sega rather than Nintendo so owning one would be awesome.</p>
<p>Thankyou, Ebay, for allowing me to spend my hard earned cash on old consoles.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=64&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/03/20/my-old-console-addiction-part-i/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ee1a6c6715df86973c8aa7920dbbebf4?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">jessiespaghetti</media:title>
		</media:content>

		<media:content url="http://compoundstatement.files.wordpress.com/2009/03/gameboy1.png" medium="image">
			<media:title type="html">Mah Gameboy</media:title>
		</media:content>

		<media:content url="http://compoundstatement.files.wordpress.com/2009/03/gameboy2.png" medium="image">
			<media:title type="html">Gameboy Games</media:title>
		</media:content>
	</item>
		<item>
		<title>Fixing Facebook</title>
		<link>http://compoundstatement.wordpress.com/2009/03/15/fixing-facebook/</link>
		<comments>http://compoundstatement.wordpress.com/2009/03/15/fixing-facebook/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 05:50:45 +0000</pubDate>
		<dc:creator>sargegoodweather</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=62</guid>
		<description><![CDATA[So Facebook is having a bad-hair day.  However, with a little custom CSS, some aspects of the site can be restored to how they were previously.  Most web browsers allow the user to over-ride parts of a site&#8217;s style-sheet with those from a user-supplied style-sheet.  For instructions on how to set the user style-sheet for your browser, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=62&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So Facebook is having a bad-hair day.  However, with a little custom CSS, some aspects of the site can be restored to how they were previously.  Most web browsers allow the user to over-ride parts of a site&#8217;s style-sheet with those from a user-supplied style-sheet.  For instructions on how to set the user style-sheet for your browser, see <a title="User Stylesheets" href="http://wiki.noljads.com/User_Stylesheets">User Stylesheets</a>.</p>
<p>Among the changes that are most irksome aesthetically are the rounded corners on thumbnails and the now overly large wall font.  These changes can be negated with the following CSS over-rides:</p>
<p>.UIRoundedImage_Corners{display:none !important;}<br />
.UIIntentionalStory_Message{font-size: 11px !important;}</p>
<p>There are a lot of other changes to Facebook that I find annoying, and when I find the spare-time, I&#8217;ll probably find ways to overcome these.  In the mean-time, check-out <a title="userstyles.org" href="http://userstyles.org/">userstyles.org</a> for more comprehensive user style-sheets.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=62&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/03/15/fixing-facebook/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/85bff6d2aead20c8528d1faeea228235?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">sargegoodweather</media:title>
		</media:content>
	</item>
		<item>
		<title>Hunt The Wumpus</title>
		<link>http://compoundstatement.wordpress.com/2009/03/12/hunt-the-wumpus/</link>
		<comments>http://compoundstatement.wordpress.com/2009/03/12/hunt-the-wumpus/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 14:05:28 +0000</pubDate>
		<dc:creator>jessiespaghetti</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Uni]]></category>

		<guid isPermaLink="false">http://compoundstatement.wordpress.com/?p=58</guid>
		<description><![CDATA[Of course, everyone loves a weird text based game implemented in Java, and that&#8217;s why I&#8217;m pleased to provide Hunt The Wumpus. It&#8217;s a very simple game that I completed in first year uni. Basically, you move around some rooms and try to kill a monster called a wumpus and avoid it and other monsters. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=58&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Of course, everyone loves a weird text based game implemented in Java, and that&#8217;s why I&#8217;m pleased to provide Hunt The Wumpus.</p>
<p>It&#8217;s a very simple game that I completed in first year uni. Basically, you move around some rooms and try to kill a monster called a wumpus and avoid it and other monsters.</p>
<p>There&#8217;s  20 or so rooms and they each connect up to three of the other rooms. For example, from room 0 you can get to rooms 1, 4 and 7. When in a room, if there&#8217;s a monster in a joining room, then you&#8217;ll get a warning (eg, &#8220;I smell a Wumpus&#8221;).</p>
<p>There&#8217;s three monsters -  a wumpus that&#8217;ll eat you as soon as you set foot into the room it&#8217;s in, a bottomless pit (maybe not so much of a monster, but still) which you&#8217;ll fall into and die if you step into that room, and a Superbat, which will move you to another random room if you enter the room that it&#8217;s in &#8211; and that random room may be a room with another monster in it! The wumpus also moves around occasionally, you&#8217;ll get warnings if it&#8217;s moved into another room, too.</p>
<p>You&#8217;re armed with two arrows. The goal is to shoot and kill the wumpus by shooting into a connecting room, so for example, shooting into room 1 from room 0, if you think that the wumpus is in that room. You&#8217;re supposed to work out which room he&#8217;s in from the warnings when he&#8217;s in an adjacent room. Shooting him with two arrows gives a better chance of actually killing him than shooting him with just one.</p>
<p>Grab all the class files in a zip from <a title="HTW" href="http://www.sendspace.com/file/sfld15" target="_blank">here</a>. The HuntTheWunpus class the one to be run. All files created by me except for the map generator, created by Adam Jenkins. Contact me if you really want the source. I&#8217;m a bit hesitant to put it up until I find out for sure if I have the rights to it.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/compoundstatement.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/compoundstatement.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/compoundstatement.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/compoundstatement.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/compoundstatement.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/compoundstatement.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/compoundstatement.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/compoundstatement.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/compoundstatement.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/compoundstatement.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/compoundstatement.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/compoundstatement.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/compoundstatement.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/compoundstatement.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=compoundstatement.wordpress.com&amp;blog=6496230&amp;post=58&amp;subd=compoundstatement&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://compoundstatement.wordpress.com/2009/03/12/hunt-the-wumpus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ee1a6c6715df86973c8aa7920dbbebf4?s=96&#38;d=wavatar&#38;r=PG" medium="image">
			<media:title type="html">jessiespaghetti</media:title>
		</media:content>
	</item>
	</channel>
</rss>
