<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[RSS Feed]]></title><description><![CDATA[RSS Feed]]></description><link>http://direct.ecency.com</link><image><url>http://direct.ecency.com/logo512.png</url><title>RSS Feed</title><link>http://direct.ecency.com</link></image><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 16:10:17 GMT</lastBuildDate><atom:link href="http://direct.ecency.com/created/soffit/rss.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[Worst-case matching in Soffit]]></title><description><![CDATA[Testing with Hypothesis turned up some matches in Soffit that took a long time to run. Some optimization of constraint checking got the runtime down from 600ms to about 400ms, but now I'm kind of stuck.]]></description><link>http://direct.ecency.com/soffit/@markgritter/worst-case-matching-in-soffit</link><guid isPermaLink="true">http://direct.ecency.com/soffit/@markgritter/worst-case-matching-in-soffit</guid><category><![CDATA[soffit]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sat, 24 Nov 2018 05:40:51 GMT</pubDate><enclosure url="https://images.ecency.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iP9YWy2SUY2mgF49vM1tdmBdNKGmhVQK5i6rQgJJYyieMesXVkDz422WQ2DdeeoJrFKj5KW3kge?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Prototyping a math puzzle with Soffit]]></title><description><![CDATA[Can you find a path in the following graph that sums to 100? When you follow a blue edge, you add the number, and when you follow a red edge, you must subtract the number. So, starting at 13 and following]]></description><link>http://direct.ecency.com/puzzle/@markgritter/prototyping-a-math-puzzle-with-soffit</link><guid isPermaLink="true">http://direct.ecency.com/puzzle/@markgritter/prototyping-a-math-puzzle-with-soffit</guid><category><![CDATA[puzzle]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Fri, 23 Nov 2018 08:18:12 GMT</pubDate><enclosure url="https://images.ecency.com/p/2N61tyyncFaFVtpM8rCsJzDgecVMtkz4jpzBsszXjhqan9iMQiu2HyBChv4htiMRpBFv4aFtHx4imkZTWG8FeBYrfm6kkS89eLsaPmtYsUWMPbCihNB6K4jyvLWHwkDkccZH6DxishLz?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Testing Graph Rewritting with Hypothesis]]></title><description><![CDATA[I've continued work on Soffit, but more slowly in the past couple weeks. My focus had been getting better testing covering using Hypothesis. My first attempt was to generate graphs by their edges, like]]></description><link>http://direct.ecency.com/programming/@markgritter/testing-graph-rewritting-with-hypothesis</link><guid isPermaLink="true">http://direct.ecency.com/programming/@markgritter/testing-graph-rewritting-with-hypothesis</guid><category><![CDATA[programming]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Fri, 23 Nov 2018 06:26:57 GMT</pubDate></item><item><title><![CDATA[Implementing the example graph grammar from "Procedural Generation in Game Design"]]></title><description><![CDATA[Dr. Joris Dormans wrote a chapter in "Procedural Generation in Game Design" (Tanya X. Short and Tarn Adams, editors) about cyclic generation, and he included this short example of a graph grammar]]></description><link>http://direct.ecency.com/procjam/@markgritter/implementing-the-example-graph-grammar-from-procedural-generation-in-game-design</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/implementing-the-example-graph-grammar-from-procedural-generation-in-game-design</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sat, 10 Nov 2018 23:32:15 GMT</pubDate><enclosure url="https://images.ecency.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iPV1oTEy2Ne5QtWNSxnYqfBULustpDcKaxS7iXiaDw8hVzEfnAepPW755iWd3WAqiwxeXFwUk14?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Optimizing python-constraint with forward checking]]></title><description><![CDATA[For Soffit I implemented a few Constraint objects with the python-constraint library. These objects represent a particular restriction on the solution, and they can prune the search space either ahead]]></description><link>http://direct.ecency.com/programming/@markgritter/optimizing-python-constraint-with-forward-checking</link><guid isPermaLink="true">http://direct.ecency.com/programming/@markgritter/optimizing-python-constraint-with-forward-checking</guid><category><![CDATA[programming]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sat, 10 Nov 2018 08:15:33 GMT</pubDate><enclosure url="https://images.ecency.com/p/9vWp6aU4y8kwSZ9Gw15LFL3aMdhmgmBBFMpDJregpdP328sCPK2whVzHJcm7b1aVFAtvzu3QDRFzUEaXEsyvxGcH6syxVxY2H1ikrAv2pRJdhe1sTMFo7PWpALk7kPTtRHX6hFvSboXD2hADU?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Visual representation of graph grammar]]></title><description><![CDATA[A lot of the existing packages for graph grammars seem to have GUIs for writing rules, and in some of them that seems to be your only option. Tonight I prototyped a way to export a graph grammar as a HTML]]></description><link>http://direct.ecency.com/procjam/@markgritter/visual-representation-of-graph-grammar</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/visual-representation-of-graph-grammar</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Wed, 07 Nov 2018 05:49:51 GMT</pubDate><enclosure url="https://images.ecency.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iNuw7JvH92LsgdiHeK9NAAC9uPa3KBHoLuHWzRwjfBkUZusPPZ7N6dW672TFn4tF58fSSCjXapn?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[1-d cellular automaton in a graph grammar]]></title><description><![CDATA[This is the first example I tried that really pushed my engine hard. It would be better broken up into multiple grammars, I think. I wanted to run Rule 30, a 1-d cellular automata, as a graph grammar in]]></description><link>http://direct.ecency.com/procjam/@markgritter/1-d-cellular-automaton-in-a-graph-grammar</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/1-d-cellular-automaton-in-a-graph-grammar</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Tue, 06 Nov 2018 08:25:12 GMT</pubDate><enclosure url="https://images.ecency.com/p/4i88GgaV8qiFU89taP2MgKXzwntUGAvkoQiKU7VxyD37q9AcWifjBekpvAKfshxJTBALYHnRLYuN7u5GzeDdRTtkTo4B6hWMfpbkL5QcjZSy5Ntxy3PTtFc2ei?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Controlling graph grammar expansion with a countdown]]></title><description><![CDATA[Let's create a graph grammar with Soffit that generates a fixed-sized binary tree. How do we tell a graph grammar when to stop working? One option is to only run it for a fixed number of iterations, but]]></description><link>http://direct.ecency.com/programming/@markgritter/controlling-graph-grammar-expansion-with-a-countdown</link><guid isPermaLink="true">http://direct.ecency.com/programming/@markgritter/controlling-graph-grammar-expansion-with-a-countdown</guid><category><![CDATA[programming]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Tue, 06 Nov 2018 06:31:03 GMT</pubDate><enclosure url="https://images.ecency.com/p/RGgukq5E6HBM2jscGd4Sszpv94XxHH2uqxMY9z21vaqHt2hoVLjjr2WB8LfPeLSLiHKZNH4cXPZ9wq1JWcbhjoB1LXqFZmLC7zaLVQdMDHuZ4aTyorFp8zRhkXGugni?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[A complicated Soffit example]]></title><description><![CDATA[Suppose we want to create a graph grammar that makes rectangular grids. A first cut at it would be something like "expand outwards from any edge that hasn't already been used", something like]]></description><link>http://direct.ecency.com/procjam/@markgritter/a-complicated-soffit-example</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/a-complicated-soffit-example</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sun, 04 Nov 2018 05:45:15 GMT</pubDate><enclosure url="https://images.ecency.com/p/54TLbcUcnRm3sWQK3HKkuAMedF1JSX7yKgEqYjnyTKPwrccKJqafEbgLs4FLmU2HGxohxMjJbhoD1joBVc8orXXtnKyxxdcx3xcnRxSxV3HNd9DkFbxkLrd8UtaiU9dBj4XpRyCnA?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[I'm a Little Crazy]]></title><description><![CDATA[There's something in my soffit, and this pool is starting to drive me nuts.]]></description><link>http://direct.ecency.com/pool/@homesteaddad/i-m-a-little-crazy</link><guid isPermaLink="true">http://direct.ecency.com/pool/@homesteaddad/i-m-a-little-crazy</guid><category><![CDATA[pool]]></category><dc:creator><![CDATA[homesteaddad]]></dc:creator><pubDate>Thu, 15 Jun 2017 18:17:27 GMT</pubDate><enclosure url="https://images.ecency.com/p/S5Eokt4BcQdk7EHeT1aYjzebg2hC7hkthT45eMA1JXxQ2Pu8su4zZbzidJtyfjZAhKrTt2a?format=match&amp;mode=fit" length="0" type="false"/></item></channel></rss>