<?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/"
		>
<channel>
	<title>Comments for Jakob Külzer</title>
	<atom:link href="http://www.jakusys.de/blog/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jakusys.de/blog</link>
	<description>Ninja Coding Monkey goes Canada</description>
	<lastBuildDate>Fri, 19 Feb 2010 10:58:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Settlers 2, Pathfinding and Writing Code for Fun! by Jakob Külzer</title>
		<link>http://www.jakusys.de/blog/2009/03/settlers-2-pathfinding-and-writing-code-for-fun/comment-page-1/#comment-9403</link>
		<dc:creator>Jakob Külzer</dc:creator>
		<pubDate>Fri, 19 Feb 2010 10:58:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=879#comment-9403</guid>
		<description>I like the challenge. How are you going to render and paint? Using canvas?

I thought about the routing as well, after all it was the idea that made me start this project (unfortunately I don&#039;t have time to commit right now). IMHO it boils down to building a minimum spanning tree through the graph. Using this, you can identify a good path; however if, as you say, flags fill up, routing gets trickier. This could be solved by using the number of items on the flags as additional cost?</description>
		<content:encoded><![CDATA[<p>I like the challenge. How are you going to render and paint? Using canvas?</p>
<p>I thought about the routing as well, after all it was the idea that made me start this project (unfortunately I don&#8217;t have time to commit right now). IMHO it boils down to building a minimum spanning tree through the graph. Using this, you can identify a good path; however if, as you say, flags fill up, routing gets trickier. This could be solved by using the number of items on the flags as additional cost?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Settlers 2, Pathfinding and Writing Code for Fun! by Geoffrey Sneddon</title>
		<link>http://www.jakusys.de/blog/2009/03/settlers-2-pathfinding-and-writing-code-for-fun/comment-page-1/#comment-9399</link>
		<dc:creator>Geoffrey Sneddon</dc:creator>
		<pubDate>Fri, 19 Feb 2010 08:33:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=879#comment-9399</guid>
		<description>Yeah, it seems like a fun, somewhat insane challenge. However, now I remember what it was, it wasn&#039;t height that was causing issues (as as you say, changing the effective distance is trivial), but rather the issue of actually routing items: you don&#039;t want a pure path-finding algorithm, but also you want to do something magic (I&#039;m not entirely sure about the S2 behaviour) based upon the number of items at each flag. Getting &lt;em&gt;that&lt;/em&gt; right is going to be needed to try and get a decent implementation, and working out what the behaviour has to be is certainly going to be non-trivial.</description>
		<content:encoded><![CDATA[<p>Yeah, it seems like a fun, somewhat insane challenge. However, now I remember what it was, it wasn&#8217;t height that was causing issues (as as you say, changing the effective distance is trivial), but rather the issue of actually routing items: you don&#8217;t want a pure path-finding algorithm, but also you want to do something magic (I&#8217;m not entirely sure about the S2 behaviour) based upon the number of items at each flag. Getting <em>that</em> right is going to be needed to try and get a decent implementation, and working out what the behaviour has to be is certainly going to be non-trivial.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Settlers 2, Pathfinding and Writing Code for Fun! by Jakob Külzer</title>
		<link>http://www.jakusys.de/blog/2009/03/settlers-2-pathfinding-and-writing-code-for-fun/comment-page-1/#comment-9391</link>
		<dc:creator>Jakob Külzer</dc:creator>
		<pubDate>Thu, 18 Feb 2010 18:42:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=879#comment-9391</guid>
		<description>Hey Geoffrey, 
wow, you wanna implement Settlers in JavaScript? Seems like one hell of a task. 

The steepness would be rather easy to incorporate i guess. There&#039;s a function that estimates the &#039;cost&#039; of a path segment that is being used by the algorithm. Right now I&#039;m using uniform cost for every segment, but changing it to return something based on the height difference wouldn&#039;t be hard. 

Cheers,
Jakob</description>
		<content:encoded><![CDATA[<p>Hey Geoffrey,<br />
wow, you wanna implement Settlers in JavaScript? Seems like one hell of a task. </p>
<p>The steepness would be rather easy to incorporate i guess. There&#8217;s a function that estimates the &#8216;cost&#8217; of a path segment that is being used by the algorithm. Right now I&#8217;m using uniform cost for every segment, but changing it to return something based on the height difference wouldn&#8217;t be hard. </p>
<p>Cheers,<br />
Jakob</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Settlers 2, Pathfinding and Writing Code for Fun! by Geoffrey Sneddon</title>
		<link>http://www.jakusys.de/blog/2009/03/settlers-2-pathfinding-and-writing-code-for-fun/comment-page-1/#comment-9390</link>
		<dc:creator>Geoffrey Sneddon</dc:creator>
		<pubDate>Thu, 18 Feb 2010 18:37:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=879#comment-9390</guid>
		<description>Having been thinking about trying to make a Settlers 2 clone using Javascript, I wondered upon this… and the first thing that struck me when looking at your post is the time it took you to do this when you didn&#039;t even take into account steepness, which the original does when computing distance (but there again, I guess you can calculate the normalized distance once per road, and recompute as needed).</description>
		<content:encoded><![CDATA[<p>Having been thinking about trying to make a Settlers 2 clone using Javascript, I wondered upon this… and the first thing that struck me when looking at your post is the time it took you to do this when you didn&#8217;t even take into account steepness, which the original does when computing distance (but there again, I guess you can calculate the normalized distance once per road, and recompute as needed).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Liquibase Incremental DB Diff by Jakob Külzer</title>
		<link>http://www.jakusys.de/blog/2009/12/liquibase-incremental-db-diff/comment-page-1/#comment-8944</link>
		<dc:creator>Jakob Külzer</dc:creator>
		<pubDate>Wed, 27 Jan 2010 21:23:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1112#comment-8944</guid>
		<description>Agreed, the script is not very flexible but it could easily be improved.

It still requires the user to manually modify the datasources though, because Liquibase is kind of sensitive to different databases. E.g. diff&#039;ing an HSQLDB database against a MySQL database will not go well. 

I like the above approach, injecting the configuration during runtime, but it still leaves the question of how to get the database driver right... 

Ideas?</description>
		<content:encoded><![CDATA[<p>Agreed, the script is not very flexible but it could easily be improved.</p>
<p>It still requires the user to manually modify the datasources though, because Liquibase is kind of sensitive to different databases. E.g. diff&#8217;ing an HSQLDB database against a MySQL database will not go well. </p>
<p>I like the above approach, injecting the configuration during runtime, but it still leaves the question of how to get the database driver right&#8230; </p>
<p>Ideas?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Liquibase Incremental DB Diff by diffing</title>
		<link>http://www.jakusys.de/blog/2009/12/liquibase-incremental-db-diff/comment-page-1/#comment-8942</link>
		<dc:creator>diffing</dc:creator>
		<pubDate>Wed, 27 Jan 2010 20:52:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1112#comment-8942</guid>
		<description>previous suggestion won&#039;t work for external configurations specified on classpath (needs to be modified).</description>
		<content:encoded><![CDATA[<p>previous suggestion won&#8217;t work for external configurations specified on classpath (needs to be modified).</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Liquibase Incremental DB Diff by diffing</title>
		<link>http://www.jakusys.de/blog/2009/12/liquibase-incremental-db-diff/comment-page-1/#comment-8863</link>
		<dc:creator>diffing</dc:creator>
		<pubDate>Sat, 23 Jan 2010 02:07:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=1112#comment-8863</guid>
		<description>Great stuff.  This is exactly what I was hoping for.

However, like the original DbDiff.groovy script this does not seem to work with external configurations -- i.e. the expected DataSource.groovy does not contain the environment settings (instead they are in an external file located at grails.config.locations -- or in this case it does not exist at all).

line:

    def testConfig = testConfigSlurper.parse(classLoader.loadClass(&quot;DataSource&quot;))


changed to lines:

    def testConfig
    try {
        testConfig = testConfigSlurper.parse(classLoader.loadClass(&quot;DataSource&quot;))
    }
    catch (e) {}

    if ( testConfig != null ) {
        config.grails.config.locations.each({ testConfig.merge(testConfigSlurper.parse(new File(it.split(&quot;:&quot;)[1]).toURL())) })
    } else {
        testConfig = config.grails.config.locations.inject(new ConfigObject()) { aNewConfig, item -&gt; aNewConfig.merge(testConfigSlurper.parse(new File(item.split(&quot;:&quot;)[1]).toURL())) }
    }

Seems to work.</description>
		<content:encoded><![CDATA[<p>Great stuff.  This is exactly what I was hoping for.</p>
<p>However, like the original DbDiff.groovy script this does not seem to work with external configurations &#8212; i.e. the expected DataSource.groovy does not contain the environment settings (instead they are in an external file located at grails.config.locations &#8212; or in this case it does not exist at all).</p>
<p>line:</p>
<p>    def testConfig = testConfigSlurper.parse(classLoader.loadClass(&#8220;DataSource&#8221;))</p>
<p>changed to lines:</p>
<p>    def testConfig<br />
    try {<br />
        testConfig = testConfigSlurper.parse(classLoader.loadClass(&#8220;DataSource&#8221;))<br />
    }<br />
    catch (e) {}</p>
<p>    if ( testConfig != null ) {<br />
        config.grails.config.locations.each({ testConfig.merge(testConfigSlurper.parse(new File(it.split(&#8220;:&#8221;)[1]).toURL())) })<br />
    } else {<br />
        testConfig = config.grails.config.locations.inject(new ConfigObject()) { aNewConfig, item -&gt; aNewConfig.merge(testConfigSlurper.parse(new File(item.split(&#8220;:&#8221;)[1]).toURL())) }<br />
    }</p>
<p>Seems to work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Grails Scaffolding In-Depth by grails == barrierefreiheit? &#171; hilderclan.de/blog</title>
		<link>http://www.jakusys.de/blog/2008/12/grails-scaffolding-in-depth/comment-page-1/#comment-8419</link>
		<dc:creator>grails == barrierefreiheit? &#171; hilderclan.de/blog</dc:creator>
		<pubDate>Wed, 30 Dec 2009 11:08:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=487#comment-8419</guid>
		<description>[...] wenn die Standards Templates für die eigenen Anforderungen nicht ausreichen, siehe Jakusys blog: http://www.jakusys.de/blog/2008/12/grails-scaffolding-in-depth/ (wo ist das geile Design [...]</description>
		<content:encoded><![CDATA[<p>[...] wenn die Standards Templates für die eigenen Anforderungen nicht ausreichen, siehe Jakusys blog: <a href="http://www.jakusys.de/blog/2008/12/grails-scaffolding-in-depth/" rel="nofollow">http://www.jakusys.de/blog/2008/12/grails-scaffolding-in-depth/</a> (wo ist das geile Design [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Grails Scaffolding In-Depth by Sebastian Hilder</title>
		<link>http://www.jakusys.de/blog/2008/12/grails-scaffolding-in-depth/comment-page-1/#comment-8418</link>
		<dc:creator>Sebastian Hilder</dc:creator>
		<pubDate>Wed, 30 Dec 2009 11:07:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=487#comment-8418</guid>
		<description>bevor ich das alles quasi abschreibe, verlinke auch ich lieber zu dir... 

top post. wie die anderen auch. grails rockt. n&#039;est pas? schöne grüße. sebastian.</description>
		<content:encoded><![CDATA[<p>bevor ich das alles quasi abschreibe, verlinke auch ich lieber zu dir&#8230; </p>
<p>top post. wie die anderen auch. grails rockt. n&#8217;est pas? schöne grüße. sebastian.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Grails Scaffolding In-Depth by Gabe Beged-Dov</title>
		<link>http://www.jakusys.de/blog/2008/12/grails-scaffolding-in-depth/comment-page-1/#comment-6965</link>
		<dc:creator>Gabe Beged-Dov</dc:creator>
		<pubDate>Sun, 20 Sep 2009 21:00:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.jakusys.de/blog/?p=487#comment-6965</guid>
		<description>Thanks for writing up your findings. One note is that propertyName is set to  domainClass.propertyName + &quot;Instance&quot; rather than just the short name such as &quot;user&quot;. 

This is a bit of a problem if you want to share view templates across controllers and use any dynamic controller scaffold code since the controller code will have a controller-specific propertyName. I&#039;m not sure what the scenario is where there could be a name collision on the controller name. I use &quot;instance*&quot; rather than &quot;${shortName}Instance&quot; and its been OK so far...</description>
		<content:encoded><![CDATA[<p>Thanks for writing up your findings. One note is that propertyName is set to  domainClass.propertyName + &#8220;Instance&#8221; rather than just the short name such as &#8220;user&#8221;. </p>
<p>This is a bit of a problem if you want to share view templates across controllers and use any dynamic controller scaffold code since the controller code will have a controller-specific propertyName. I&#8217;m not sure what the scenario is where there could be a name collision on the controller name. I use &#8220;instance*&#8221; rather than &#8220;${shortName}Instance&#8221; and its been OK so far&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
