<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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: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>Comments for dantwining.co.uk</title>
	<atom:link href="http://dantwining.co.uk/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://dantwining.co.uk</link>
	<description>every day is a school day</description>
	<lastBuildDate>Thu, 10 May 2012 07:22:13 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comment on Separate Content and Control by matt burns</title>
		<link>http://dantwining.co.uk/2009/09/25/separate-content-and-control/#comment-625</link>
		<dc:creator><![CDATA[matt burns]]></dc:creator>
		<pubDate>Thu, 10 May 2012 07:22:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.dantwining.com/?p=503#comment-625</guid>
		<description><![CDATA[Two new unskippable warnings, 10 seconds a pop.

arstechnica.com/tech-policy/2012/05/dvds-and-blu-rays-will-now-carry-two-unskippable-government-warnings/]]></description>
		<content:encoded><![CDATA[<p>Two new unskippable warnings, 10 seconds a pop.</p>
<p>arstechnica.com/tech-policy/2012/05/dvds-and-blu-rays-will-now-carry-two-unskippable-government-warnings/</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to shrink a dynamically-expanding guest virtualbox image by dantwining</title>
		<link>http://dantwining.co.uk/2011/07/18/how-to-shrink-a-dynamically-expanding-guest-virtualbox-image/#comment-601</link>
		<dc:creator><![CDATA[dantwining]]></dc:creator>
		<pubDate>Wed, 15 Feb 2012 20:41:27 +0000</pubDate>
		<guid isPermaLink="false">http://dantwining.co.uk/?p=951#comment-601</guid>
		<description><![CDATA[Hi karianna01,

A quick google suggests that it should be possible. For example, &lt;a href=&quot;http://www.gubatron.com/blog/2011/10/20/solved-updated-to-ubuntu-11-10-on-virtualbox-and-now-you-get-a-blank-screen-when-you-reboot/#comment-162333&quot; rel=&quot;nofollow&quot;&gt;Pete&#039;s comment here&lt;/a&gt; suggests that pressing shift should work.

What version of Ubuntu are you running as a guest. &lt;a href=&quot;https://wiki.ubuntu.com/RecoveryMode&quot; rel=&quot;nofollow&quot;&gt;For early versions, you press Escape, not Shift&lt;/a&gt;.]]></description>
		<content:encoded><![CDATA[<p>Hi karianna01,</p>
<p>A quick google suggests that it should be possible. For example, <a href="http://www.gubatron.com/blog/2011/10/20/solved-updated-to-ubuntu-11-10-on-virtualbox-and-now-you-get-a-blank-screen-when-you-reboot/#comment-162333" rel="nofollow">Pete&#8217;s comment here</a> suggests that pressing shift should work.</p>
<p>What version of Ubuntu are you running as a guest. <a href="https://wiki.ubuntu.com/RecoveryMode" rel="nofollow">For early versions, you press Escape, not Shift</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to shrink a dynamically-expanding guest virtualbox image by karianna01</title>
		<link>http://dantwining.co.uk/2011/07/18/how-to-shrink-a-dynamically-expanding-guest-virtualbox-image/#comment-596</link>
		<dc:creator><![CDATA[karianna01]]></dc:creator>
		<pubDate>Mon, 06 Feb 2012 14:41:33 +0000</pubDate>
		<guid isPermaLink="false">http://dantwining.co.uk/?p=951#comment-596</guid>
		<description><![CDATA[Hi there,

I can&#039;t seem to get the Left Shift to trigger the recovery menu (my Host OS is Mac OS X 10.7.3), does anyone know what key will send the equivalent key stroke?]]></description>
		<content:encoded><![CDATA[<p>Hi there,</p>
<p>I can&#8217;t seem to get the Left Shift to trigger the recovery menu (my Host OS is Mac OS X 10.7.3), does anyone know what key will send the equivalent key stroke?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The 12 Steps of Continuous Integration by dantwining</title>
		<link>http://dantwining.co.uk/2009/03/19/the-12-steps-of-continuous-integration/#comment-246</link>
		<dc:creator><![CDATA[dantwining]]></dc:creator>
		<pubDate>Wed, 08 Dec 2010 13:18:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.dantwining.com/words/?p=163#comment-246</guid>
		<description><![CDATA[Good programmers are like good drivers...
&lt;ul&gt;
	&lt;li&gt;Everyone thinks that they are one.&lt;/li&gt;
	&lt;li&gt;People tend to concentrate on comparing one driver to another, without considering how a driver&#039;s ability varies over time.&lt;/li&gt;
&lt;/ul&gt;
Yes, on a good day, I think I&#039;m a good driver. But if I&#039;m tired, or angry, or distracted, or... then I can be just as poor a driver as the next guy (if not worse).

Code metrics aren&#039;t there for the bad programmers, to be thrown away once everyone on the team is awesome - they&#039;re there for the bad days, when you&#039;ve got a stinking cold, or your daughter woke you up at 4am and refused to go back to sleep. Those are the days when you want your automated tests and metrics to say &quot;whoa, no unit tests?&quot; or &quot;hang on, what about all these checkstyle errors?&quot;.

Yes, there&#039;s a balance; teams should aim for a simple, automated set of metrics that are both easy to apply and easy to understand. If (collectively) you don&#039;t think that its appropriate to mandate a certain level of code coverage then fine, don&#039;t use emma (or rather, don&#039;t let emma fail your build).

It&#039;s wrong to approach this from the angle of &quot;code analysis tools are cool, let&#039;s grab as many as possible and apply them to our build&quot;. The drive needs to come from a code-quality perspective first - What problems are we having (with maintenance, deployment, testing, security etc)? What coding mistakes are causing these problems? Can we detect these errors and highlight them, whilst keeping false-positives low?

It&#039;s likely that as part of such a code quality improvement drive, you&#039;ll try out some tools and see what they find - espeically if your concerns are security-related. But you should always try to distill it back to the simpliest set of tools possible, which give you the quick feedback you need to keep you code on-track.

Programming is hard. To write something that&#039;s extensible and maintainable, that fulfils the customers requirements (which almost certainly won&#039;t be what they asked for) whilst being readable and intuitive is no easy task. Tools can&#039;t tell you if you&#039;re doing to right thing, any more than the compiler can - they can only tell you if you&#039;re wrong, or doing something that is likely to fail. But I&#039;d still rather have them as part of my process.]]></description>
		<content:encoded><![CDATA[<p>Good programmers are like good drivers&#8230;</p>
<ul>
<li>Everyone thinks that they are one.</li>
<li>People tend to concentrate on comparing one driver to another, without considering how a driver&#8217;s ability varies over time.</li>
</ul>
<p>Yes, on a good day, I think I&#8217;m a good driver. But if I&#8217;m tired, or angry, or distracted, or&#8230; then I can be just as poor a driver as the next guy (if not worse).</p>
<p>Code metrics aren&#8217;t there for the bad programmers, to be thrown away once everyone on the team is awesome &#8211; they&#8217;re there for the bad days, when you&#8217;ve got a stinking cold, or your daughter woke you up at 4am and refused to go back to sleep. Those are the days when you want your automated tests and metrics to say &#8220;whoa, no unit tests?&#8221; or &#8220;hang on, what about all these checkstyle errors?&#8221;.</p>
<p>Yes, there&#8217;s a balance; teams should aim for a simple, automated set of metrics that are both easy to apply and easy to understand. If (collectively) you don&#8217;t think that its appropriate to mandate a certain level of code coverage then fine, don&#8217;t use emma (or rather, don&#8217;t let emma fail your build).</p>
<p>It&#8217;s wrong to approach this from the angle of &#8220;code analysis tools are cool, let&#8217;s grab as many as possible and apply them to our build&#8221;. The drive needs to come from a code-quality perspective first &#8211; What problems are we having (with maintenance, deployment, testing, security etc)? What coding mistakes are causing these problems? Can we detect these errors and highlight them, whilst keeping false-positives low?</p>
<p>It&#8217;s likely that as part of such a code quality improvement drive, you&#8217;ll try out some tools and see what they find &#8211; espeically if your concerns are security-related. But you should always try to distill it back to the simpliest set of tools possible, which give you the quick feedback you need to keep you code on-track.</p>
<p>Programming is hard. To write something that&#8217;s extensible and maintainable, that fulfils the customers requirements (which almost certainly won&#8217;t be what they asked for) whilst being readable and intuitive is no easy task. Tools can&#8217;t tell you if you&#8217;re doing to right thing, any more than the compiler can &#8211; they can only tell you if you&#8217;re wrong, or doing something that is likely to fail. But I&#8217;d still rather have them as part of my process.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The 12 Steps of Continuous Integration by matt burns</title>
		<link>http://dantwining.co.uk/2009/03/19/the-12-steps-of-continuous-integration/#comment-244</link>
		<dc:creator><![CDATA[matt burns]]></dc:creator>
		<pubDate>Mon, 06 Dec 2010 14:57:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.dantwining.com/words/?p=163#comment-244</guid>
		<description><![CDATA[i didn&#039;t like that game. It was fun at first, but like you say, it made people do odd things (/be scared to Do The Right Thing).
In my head, I chuck that game alongside other code metrics like emma and test coverage. It seems like a good idea but it changes people&#039;s behaviour. It may change a bad programmer&#039;s behaviour (like mine) for the better, but bad programmers are a different (and bigger) problem. I think good  programmers _shouldn&#039;t_ use them. Pair programming and peer review should be enough to keep you focussed on doing the right thing.]]></description>
		<content:encoded><![CDATA[<p>i didn&#8217;t like that game. It was fun at first, but like you say, it made people do odd things (/be scared to Do The Right Thing).<br />
In my head, I chuck that game alongside other code metrics like emma and test coverage. It seems like a good idea but it changes people&#8217;s behaviour. It may change a bad programmer&#8217;s behaviour (like mine) for the better, but bad programmers are a different (and bigger) problem. I think good  programmers _shouldn&#8217;t_ use them. Pair programming and peer review should be enough to keep you focussed on doing the right thing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The 12 Steps of Continuous Integration by dantwining</title>
		<link>http://dantwining.co.uk/2009/03/19/the-12-steps-of-continuous-integration/#comment-237</link>
		<dc:creator><![CDATA[dantwining]]></dc:creator>
		<pubDate>Tue, 30 Nov 2010 21:43:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.dantwining.com/words/?p=163#comment-237</guid>
		<description><![CDATA[Yes, we installed that plug-in too, and with similar results. At the time I felt that, given a re-weighting of the points system, it might be possible to make the game sustainable/useful over the long term. Since then, I&#039;ve used information radiators, and I think that perhaps these give a better means to a similar end (I&#039;m not sure that the long-term nature of the game is necessary, just a short you-broke-the-build kick up the bum). Ultimately though, I&#039;m not sure that there&#039;s any substitute for bright, enthusiastic people who are willing to take these tools and use them in the right way.]]></description>
		<content:encoded><![CDATA[<p>Yes, we installed that plug-in too, and with similar results. At the time I felt that, given a re-weighting of the points system, it might be possible to make the game sustainable/useful over the long term. Since then, I&#8217;ve used information radiators, and I think that perhaps these give a better means to a similar end (I&#8217;m not sure that the long-term nature of the game is necessary, just a short you-broke-the-build kick up the bum). Ultimately though, I&#8217;m not sure that there&#8217;s any substitute for bright, enthusiastic people who are willing to take these tools and use them in the right way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The 12 Steps of Continuous Integration by Ben Lidgey</title>
		<link>http://dantwining.co.uk/2009/03/19/the-12-steps-of-continuous-integration/#comment-236</link>
		<dc:creator><![CDATA[Ben Lidgey]]></dc:creator>
		<pubDate>Tue, 30 Nov 2010 11:53:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.dantwining.com/words/?p=163#comment-236</guid>
		<description><![CDATA[At my last place we installed the Hudson Continual Integration Game plugin (http://wiki.hudson-ci.org/display/HUDSON/The+Continuous+Integration+Game+plugin) which was quite a fun way of quantifying the use of Hudson.

It started off encouraging people to check their code before committing it (so they gained points rather than losing them when the build broke). Some people who did the bigger, chunkier refactoring of the builds lost points. People then realised if they did things like &quot;fixing&quot; stuff like Checkstyle errors (by &quot;fixing&quot; in quotes I mean not necessarily doing a proper job) they could get loads of points and it all started to get a bit silly.

If people can use the game as a bit of a fun way to focus them on producing stable, tested code before they check in then it can work well.]]></description>
		<content:encoded><![CDATA[<p>At my last place we installed the Hudson Continual Integration Game plugin (<a href="http://wiki.hudson-ci.org/display/HUDSON/The+Continuous+Integration+Game+plugin" rel="nofollow">http://wiki.hudson-ci.org/display/HUDSON/The+Continuous+Integration+Game+plugin</a>) which was quite a fun way of quantifying the use of Hudson.</p>
<p>It started off encouraging people to check their code before committing it (so they gained points rather than losing them when the build broke). Some people who did the bigger, chunkier refactoring of the builds lost points. People then realised if they did things like &#8220;fixing&#8221; stuff like Checkstyle errors (by &#8220;fixing&#8221; in quotes I mean not necessarily doing a proper job) they could get loads of points and it all started to get a bit silly.</p>
<p>If people can use the game as a bit of a fun way to focus them on producing stable, tested code before they check in then it can work well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on GWT, OpenLayers and Full Screen Maps &#8211; Solved! by dantwining</title>
		<link>http://dantwining.co.uk/2010/03/01/gwt-openlayers-and-full-screen-maps/#comment-231</link>
		<dc:creator><![CDATA[dantwining]]></dc:creator>
		<pubDate>Mon, 02 Aug 2010 19:37:47 +0000</pubDate>
		<guid isPermaLink="false">http://dantwining.com/?p=768#comment-231</guid>
		<description><![CDATA[Good work Burns. Although it does sound like the setCenter() method should take a GaussKrueger object (perhaps that inherits from LonLat, or implements the LonLatable interface, or something - I&#039;ll leave the finer details of the class hierarchy as an exercise to the reader).]]></description>
		<content:encoded><![CDATA[<p>Good work Burns. Although it does sound like the setCenter() method should take a GaussKrueger object (perhaps that inherits from LonLat, or implements the LonLatable interface, or something &#8211; I&#8217;ll leave the finer details of the class hierarchy as an exercise to the reader).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on GWT, OpenLayers and Full Screen Maps &#8211; Solved! by Matt Burns</title>
		<link>http://dantwining.co.uk/2010/03/01/gwt-openlayers-and-full-screen-maps/#comment-230</link>
		<dc:creator><![CDATA[Matt Burns]]></dc:creator>
		<pubDate>Mon, 02 Aug 2010 15:51:50 +0000</pubDate>
		<guid isPermaLink="false">http://dantwining.com/?p=768#comment-230</guid>
		<description><![CDATA[The code to change the initial location was missing a transform. You want to specify LonLat but the setCenter method expects coordinates in Gauss-Krueger. (see http://docs.openlayers.org/library/spherical_mercator.html)

Basically:

        double lon = -2.595;
        double lat = 51.450;
        int zoom = 16;

        LonLat lonLat = new LonLat(lon, lat);
        lonLat.transform(&quot;EPSG:4326&quot;, &quot;EPSG:900913&quot;);
        mapWidget.getMap().setCenter(lonLat, zoom);]]></description>
		<content:encoded><![CDATA[<p>The code to change the initial location was missing a transform. You want to specify LonLat but the setCenter method expects coordinates in Gauss-Krueger. (see <a href="http://docs.openlayers.org/library/spherical_mercator.html" rel="nofollow">http://docs.openlayers.org/library/spherical_mercator.html</a>)</p>
<p>Basically:</p>
<p>        double lon = -2.595;<br />
        double lat = 51.450;<br />
        int zoom = 16;</p>
<p>        LonLat lonLat = new LonLat(lon, lat);<br />
        lonLat.transform(&#8220;EPSG:4326&#8243;, &#8220;EPSG:900913&#8243;);<br />
        mapWidget.getMap().setCenter(lonLat, zoom);</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on GWT, OpenLayers and Full Screen Maps &#8211; Solved! by dantwining</title>
		<link>http://dantwining.co.uk/2010/03/01/gwt-openlayers-and-full-screen-maps/#comment-224</link>
		<dc:creator><![CDATA[dantwining]]></dc:creator>
		<pubDate>Fri, 11 Jun 2010 08:10:00 +0000</pubDate>
		<guid isPermaLink="false">http://dantwining.com/?p=768#comment-224</guid>
		<description><![CDATA[Hi Craig,

That URL is just GWT running in &quot;hosted mode&quot; (which I think is also referred to as &quot;dev mode&quot;). Basically, that&#039;s me testing it; once you deploy the webapp, that disappears.]]></description>
		<content:encoded><![CDATA[<p>Hi Craig,</p>
<p>That URL is just GWT running in &#8220;hosted mode&#8221; (which I think is also referred to as &#8220;dev mode&#8221;). Basically, that&#8217;s me testing it; once you deploy the webapp, that disappears.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

