<?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>Coordinated Turns</title>
	<atom:link href="http://coordinatedturns.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://coordinatedturns.wordpress.com</link>
	<description>Infrequent and incoherent ramblings on software</description>
	<lastBuildDate>Tue, 09 Jun 2009 17:18:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='coordinatedturns.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Coordinated Turns</title>
		<link>http://coordinatedturns.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://coordinatedturns.wordpress.com/osd.xml" title="Coordinated Turns" />
	<atom:link rel='hub' href='http://coordinatedturns.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Kid languages</title>
		<link>http://coordinatedturns.wordpress.com/2008/06/16/kid-languages/</link>
		<comments>http://coordinatedturns.wordpress.com/2008/06/16/kid-languages/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 11:33:03 +0000</pubDate>
		<dc:creator>coordinatedturns</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Teaching]]></category>

		<guid isPermaLink="false">http://coordinatedturns.wordpress.com/?p=5</guid>
		<description><![CDATA[I&#8217;ve spent the weekend trying to introduce my twelve year old brother to programming. Since he spends most of his days playing games, I&#8217;ve been curious if he&#8217;s ever considered how the games are actually made. Turns out he had, and was keen to learn, so we decided we&#8217;d write a simple game together. After [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coordinatedturns.wordpress.com&amp;blog=3986870&amp;post=5&amp;subd=coordinatedturns&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the weekend trying to introduce my twelve year old brother to programming. Since he spends most of his days playing games, I&#8217;ve been curious if he&#8217;s ever considered how the games are actually made. Turns out he had, and was keen to learn, so we decided we&#8217;d write a simple game together. After lowering expectations a little (<em>&#8220;Lets do Battlefield 3&#8243;</em>), we settled on a simple single-player Pong/Breakout clone.</p>
<p>It was a bit hard coming up with a language and library. Ruby and <a href="http://code.whytheluckystiff.net/shoes/">Shoes</a>? <a href="http://www.squeak.org/">Squeak</a>? Straight C and <a href="http://www.talula.demon.co.uk/allegro/">Allegro</a>? Dig up an old copy of <a href="http://en.wikipedia.org/wiki/AMOS_(programming_language)">AMOS</a>?  Out of curiosity I settled on <a href="http://processing.org">Processing</a>. It&#8217;s a rapid visualization language running on the JVM that I&#8217;ve been curious about since a friend attended a conference about it in Madrid. A quick visit to <a href="http://processing.org">processing.org</a> and 23 megabytes later we were thrown in to a nice looking IDE. And sure enough, it&#8217;s a very nice language for rapid prototyping <em>if you know how to program</em>. Which seems to somewhat contradict its mission statement.</p>
<p>For some reason Processing borrows its semantics and syntax from Java, instead of something more prototype friendly. So it&#8217;s stuck with static typing, and an arbitrary almost-C syntax.</p>
<p>And that makes it so much harder to teach. </p>
<p>I know this is a bit like robbing a burned down house; but since teaching programming is part syntax, part algorithms, and most people will agree that the syntax part&#8217;s mostly a nuisance early on, that makes the core problem algorithmic thinking, which is indeed a difficult skill to pick up. In the paper <a href="http://www.lips.utexas.edu/ee382c-15005/Readings/Readings1/05-Broo87.pdf">No Silver Bullet</a>, Fred Brooks argues for the distinction between accidental and essential complexity in software engineering. And while box-ball collisions are essentially complex for a twelve year old, complex syntax is entirely accidental.</p>
<p>So on one hand the language has sweet features such as an implicit game loop in the <tt>draw()</tt>-construct and easy coordinate transformations. On the other hand, it forces the user to make a distinction between integers and floats (try justifying that to a twelve-year old who hardly knows what a decimal point is). And at least as important, it forces an unwarranted focus on syntax &mdash; was I supposed to put a curly bracket or a parenthesis here? Why is <tt>int</tt> in all lowercase while <tt>String</tt> is capitalized? <sup><a href="#fn-1" id="fn-backref-1">1</a></sup></p>
<p>All of these factors take away from an otherwise very enjoyable experience.</p>
<p>The problem with teaching programming, especially to kids, is that you need some kind of instant gratification. When I taught myself programming in Delphi at his age, it came from the <a href="http://en.wikipedia.org/wiki/Visual_Component_Library">VCL</a> (which for some reason made Pascal worthwhile for me), and for some kids it&#8217;s no doubt hacking together a picture blog to show of for their friends. For my brother, it&#8217;s games. And while Processing offers this, it could be done better.</p>
<p>Since the language is aimed at people with little programming experience, why not take the chance to introduce something with a consistent internal syntax, such as Scheme, or at least de-cruftify it a bit, Ruby or Python style? And come on, drop the types. There are several weakly typed languages running on the JVM already, so i shouldn&#8217;t be an impossible feat to do.</p>
<p>I guess what I really want is advice and tips. Is there a dynamic, untyped language built specifically with graphics prototyping in mind? And in a broader sense: If you were to teach programming to a twelve year old, how&#8217;d you go at it?</p>
<div style="font-size:90%;line-height:1.7;border-top:1px solid #444;padding:8px 0;">
<sup><a href="#fn-backref-1" id="fn-1">1</a></sup> Another more subtle point is the occurrence of mutable state. It&#8217;s not an entirely trivial thing to encounter for the first time. This is a point beautifully illustrated in the paper <a href="http://www.cs.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf">The camel has two humps</a> by Dehnadi and Borna, which studies the trials of first year computer science students in the UK and tries to derive predictors of programmer success.</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coordinatedturns.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coordinatedturns.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coordinatedturns.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coordinatedturns.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coordinatedturns.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coordinatedturns.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coordinatedturns.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coordinatedturns.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coordinatedturns.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coordinatedturns.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coordinatedturns.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coordinatedturns.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coordinatedturns.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coordinatedturns.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coordinatedturns.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coordinatedturns.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coordinatedturns.wordpress.com&amp;blog=3986870&amp;post=5&amp;subd=coordinatedturns&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coordinatedturns.wordpress.com/2008/06/16/kid-languages/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">coordinatedturns</media:title>
		</media:content>
	</item>
		<item>
		<title>Coordinated Turns?</title>
		<link>http://coordinatedturns.wordpress.com/2008/06/16/coordinated-turns/</link>
		<comments>http://coordinatedturns.wordpress.com/2008/06/16/coordinated-turns/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 11:16:53 +0000</pubDate>
		<dc:creator>coordinatedturns</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://coordinatedturns.wordpress.com/?p=3</guid>
		<description><![CDATA[Welcome to Coordinated Turns! This will hopefully act as a dumping ground for all my somewhat tech-related ramblings. And who am I? I&#8217;m Marcus. I currently work as a scrum master and software developer at Atex Polopoly, in Stockholm. Infrequently, I twitter under @marcusf. I have a passion for web development, software quality, theoretical computer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coordinatedturns.wordpress.com&amp;blog=3986870&amp;post=3&amp;subd=coordinatedturns&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to Coordinated Turns! This will hopefully act as a dumping ground for all my somewhat tech-related ramblings.</p>
<h3>And who am I?</h3>
<p>I&#8217;m Marcus. I currently work as a scrum master and software developer at Atex Polopoly, in Stockholm. Infrequently, I twitter under @marcusf. I have a passion for web development, software quality, theoretical computer science, control theory and, somewhat unrelated, cheese.</p>
<p>Some of you may know me from other places on the net. I infrequently blog about music <a href="http://goagrejor.blogspot.com">here</a>, and you can most certainly find me on your favorite local community.</p>
<p>I&#8217;m an avid mac user, with quite some previous experience in <a href="http://cokine.deviantart.com">graphic design</a> and photography, and I spend my free time on about everything from languages to music and aesthetics to signal processing, comic books and beer.</p>
<h3>And what about the title?</h3>
<p>A coordinated turn is a way of modeling reasonable motion in target tracking systems. In continuous time systems with cartesian velocity, the governing equations can be stated as:</p>
<div style="padding-left:6px;"><img src='http://s0.wp.com/latex.php?latex=%5Cdot%7BX%7D+%3D+v_X&amp;bg=000000&amp;fg=808080&amp;s=0' alt='&#92;dot{X} = v_X' title='&#92;dot{X} = v_X' class='latex' /><br />
<img src='http://s0.wp.com/latex.php?latex=%5Cdot%7BY%7D+%3D+v_Y&amp;bg=000000&amp;fg=808080&amp;s=0' alt='&#92;dot{Y} = v_Y' title='&#92;dot{Y} = v_Y' class='latex' /><br />
<img src='http://s0.wp.com/latex.php?latex=%5Cdot%7Bv%7D_X+%3D+-%5Comega+v_X&amp;bg=000000&amp;fg=808080&amp;s=0' alt='&#92;dot{v}_X = -&#92;omega v_X' title='&#92;dot{v}_X = -&#92;omega v_X' class='latex' /><br />
<img src='http://s0.wp.com/latex.php?latex=%5Cdot%7Bv%7D_Y+%3D+%5Comega+v_Y&amp;bg=000000&amp;fg=808080&amp;s=0' alt='&#92;dot{v}_Y = &#92;omega v_Y' title='&#92;dot{v}_Y = &#92;omega v_Y' class='latex' /><br />
<img src='http://s0.wp.com/latex.php?latex=%5Cdot%7B%5Comega%7D+%3D+0&amp;bg=000000&amp;fg=808080&amp;s=0' alt='&#92;dot{&#92;omega} = 0' title='&#92;dot{&#92;omega} = 0' class='latex' /></div>
<p>The title stems from the fact that there&#8217;s a complete lack of blogging on most of my favorite topics today, and I hope to fix that. I plan on write more on everything from marginalized particle filters to the fundamental of lattice theory in the future, if any interest exists. It will, if nothing else, be a good learning exercise for myself.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/coordinatedturns.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/coordinatedturns.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/coordinatedturns.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/coordinatedturns.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/coordinatedturns.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/coordinatedturns.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/coordinatedturns.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/coordinatedturns.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/coordinatedturns.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/coordinatedturns.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/coordinatedturns.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/coordinatedturns.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/coordinatedturns.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/coordinatedturns.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/coordinatedturns.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/coordinatedturns.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=coordinatedturns.wordpress.com&amp;blog=3986870&amp;post=3&amp;subd=coordinatedturns&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://coordinatedturns.wordpress.com/2008/06/16/coordinated-turns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">coordinatedturns</media:title>
		</media:content>
	</item>
	</channel>
</rss>
