<?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>Sun, 12 Apr 2026 22:29:03 GMT</lastBuildDate><atom:link href="http://direct.ecency.com/created/procjam/rss.xml" rel="self" type="application/rss+xml"/><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[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[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[First real Soffit examples]]></title><description><![CDATA[I've gotten Soffit to the point where it can now produce interesting graphs, like this one: full size The rule set that produces this graph is: { "version" : "0.1", "start"]]></description><link>http://direct.ecency.com/procjam/@markgritter/first-real-soffit-examples</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/first-real-soffit-examples</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sat, 03 Nov 2018 07:36:30 GMT</pubDate><enclosure url="https://images.ecency.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iPdYdZHpPJzxYyYxDjKjebfPshfnWsBe43PBArTtotozGkzT6TGAaMyWoSpSuGaZaaQxFm9aXY2?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Graph rewrite examples, generated by Soffit]]></title><description><![CDATA[I started at doc/examples directory for the soffit project, and my first two examples are there. Unfortunately, only one of them looks any good. The way I finally convinced graphviz to lay things out the]]></description><link>http://direct.ecency.com/programming/@markgritter/graph-rewrite-examples-generated-by-soffit</link><guid isPermaLink="true">http://direct.ecency.com/programming/@markgritter/graph-rewrite-examples-generated-by-soffit</guid><category><![CDATA[programming]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sat, 03 Nov 2018 06:11:45 GMT</pubDate><enclosure url="https://images.ecency.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iQMbUncbMyhFAKMdkSySGi92qaYAy5YE8NWq8ZQNJXAbwRHAfSo6uMKqo6fj7fiYHP5tfavVG9k?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[graphviz clusters suck]]></title><description><![CDATA[The #1 question about graphviz seems to be "why can't I get it to lay out my clusters in the way I want", judging from the number of StackOverflow questions I see. I wrote some code in Soffit]]></description><link>http://direct.ecency.com/procjam/@markgritter/graphviz-clusters-suck</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/graphviz-clusters-suck</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Fri, 02 Nov 2018 08:14:21 GMT</pubDate><enclosure url="https://images.ecency.com/p/4i88GgaV8qiFU89taP2MgKXzwntUGAvkoQiKU7VxyD37q9XPUxJUhWWm2vZNMD9Hw4v8owYPhMo3LwkUTw17kb8T3jGqVzmStxzQw6MvoTCpTibM1TrpNMciCE?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Soffit progress report #5]]></title><description><![CDATA[My library finally performed a graph rewrite today! Still a ways from a "launch" version, but the core of the engine works, at least in a simple case. Repository: As of this commit I have a unit]]></description><link>http://direct.ecency.com/procjam/@markgritter/soffit-progress-report-5</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/soffit-progress-report-5</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Thu, 01 Nov 2018 04:08:36 GMT</pubDate></item><item><title><![CDATA[Hooray for unit tests]]></title><description><![CDATA[Github repo: I completely replaced or-tools with python-constraint, a pure-Python constraint solver. What effect this will have on my ability to handle large graphs I don't know. I had written tests that]]></description><link>http://direct.ecency.com/programming/@markgritter/hooray-for-unit-tests</link><guid isPermaLink="true">http://direct.ecency.com/programming/@markgritter/hooray-for-unit-tests</guid><category><![CDATA[programming]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Wed, 31 Oct 2018 07:30:24 GMT</pubDate></item><item><title><![CDATA[Soffit non-progress report #3]]></title><description><![CDATA[I finally figured out (I think) how to encode the "dangling condition" for graph rewriting into or-tools, but then it started crashing on me with some regularity. I created a pull request: to]]></description><link>http://direct.ecency.com/procjam/@markgritter/soffit-non-progress-report-3</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/soffit-non-progress-report-3</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Tue, 30 Oct 2018 05:45:12 GMT</pubDate></item><item><title><![CDATA[Soffit progress report #2]]></title><description><![CDATA[Github repository: Previous entry: "My #Procjam Project: Soffit" I was supposed to go out and have fun this weekend; instead I both got sick and handled two customer escalations. But I made a]]></description><link>http://direct.ecency.com/programming/@markgritter/soffit-progress-report-2</link><guid isPermaLink="true">http://direct.ecency.com/programming/@markgritter/soffit-progress-report-2</guid><category><![CDATA[programming]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Mon, 29 Oct 2018 04:18:27 GMT</pubDate></item><item><title><![CDATA[My #procjam project: Soffit]]></title><description><![CDATA[As usual, my #procjam project is way too ambitious for what I can actually get done in a work week, particularly one where I'm out at headquarters in California. I'm trying to build a graph grammar engine]]></description><link>http://direct.ecency.com/programming/@markgritter/my-procjam-project-soffit</link><guid isPermaLink="true">http://direct.ecency.com/programming/@markgritter/my-procjam-project-soffit</guid><category><![CDATA[programming]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sat, 27 Oct 2018 06:15:06 GMT</pubDate><enclosure url="https://images.ecency.com/p/3W72119s5BjVs3Hye1oHX44R9EcpQD5C9xXzj68nJaq3CeEBsUiYirn3P6GcupxGbPctDZLBnw5esi9WX1vBVyL6tGhEF49vFoycXL1UFLecsZxpsEmZfU?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Thinkpiecebot's Thinkiest Pieces]]></title><description><![CDATA[Nora Reed has developed tons of popular Twitter bots. Their works include infinite_scream, breathebot_10, hydratebot, bad_passwords, botblique, NerdGarbageBot, DOTHINGSBOT, and many more. Today I'll higlight]]></description><link>http://direct.ecency.com/procjam/@markgritter/thinkpiecebot-s-thinkiest-pieces</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/thinkpiecebot-s-thinkiest-pieces</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sun, 21 Oct 2018 05:06:00 GMT</pubDate><enclosure url="https://images.ecency.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iQGbNAGGaQixaWrAnqzUoPiAxh56pH7cPFY695oun8yFXmqmfdmP2tZFnrCt69tXhdEERXntMjC?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Magic Realism Bot's most magical tweets]]></title><description><![CDATA[This week is ProcJam 2018: "Make something that makes something"! I've been doing this series of articles on Twitter bots (using the #procjam tag), and saved one of the biggest hitters for this]]></description><link>http://direct.ecency.com/procjam/@markgritter/magic-realism-bot-s-most-magical-tweets</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/magic-realism-bot-s-most-magical-tweets</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sun, 21 Oct 2018 04:28:21 GMT</pubDate><enclosure url="https://images.ecency.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iP9erzxazik6Ytu4VhG7FRuV2R2gdgtsZDwNYmWQjrHanCPdr7txYahuBQfH9xZCDsbiorwstG6?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[LSystemBot's Most Popular Figures]]></title><description><![CDATA[@LSystemBot is a Twitter bot that generates random L-Systems and plots the result. (Somebody at #roguelikecel told me about this bot, but unfortunately I forget who!) An L-System is a grammar that specifies]]></description><link>http://direct.ecency.com/procjam/@markgritter/lsystembot-s-most-popular-figures</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/lsystembot-s-most-popular-figures</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sun, 14 Oct 2018 07:52:12 GMT</pubDate><enclosure url="https://images.ecency.com/p/sML2JBPsdAyMUJWzxvYnDYtKNvrTaMv1eeo9E5PZFvmcWCNcdWF95ab4QYzyws3U?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[pico8bot's greatest animations]]></title><description><![CDATA[@pico8bot is a Twitter bot that generates a random mathematical formula, then plots it using the Pico-8 graphics palette. The Pico-8 is a "fantasy" virtual video game console with a 128x128 pixel]]></description><link>http://direct.ecency.com/procjam/@markgritter/pico8bot-s-greatest-animations</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/pico8bot-s-greatest-animations</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Wed, 03 Oct 2018 07:12:12 GMT</pubDate><enclosure url="https://images.ecency.com/p/5CEvyaWxjaEseuWzzgiSZff6wSbTzY2teo5MGojRwuVfbv4FzjuwnXgSQDS4ivVvC5URe7JbycA1V6ZGz?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Three Bots from Kate Compton]]></title><description><![CDATA[Today's review features three Twitter bots by Kate Compton (@galaxykate on Twitter), who is the author of Tracery, the framework that powers the three bots today and others I've talked about. Kate worked]]></description><link>http://direct.ecency.com/procjam/@markgritter/three-from-kate-compton</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/three-from-kate-compton</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Mon, 01 Oct 2018 00:26:00 GMT</pubDate><enclosure url="https://images.ecency.com/p/sML2JBPsdAyMUJWzxvYnDYtKNvrTaMv1eeo9E5PN2TDpiwuKvMkD9x1ZkQLxoWaS?format=match&amp;mode=fit" length="0" type="false"/></item><item><title><![CDATA[Botaphor's Greatest Similies]]></title><description><![CDATA[@botaphor aka "my bot is like a summer's day" is a Twitter bot that makes comparisons. It's written by Mouse Reeve (@tripofmice on Twitter) and they have made the source code available on Github:]]></description><link>http://direct.ecency.com/procjam/@markgritter/botaphor-s-greatest-similies</link><guid isPermaLink="true">http://direct.ecency.com/procjam/@markgritter/botaphor-s-greatest-similies</guid><category><![CDATA[procjam]]></category><dc:creator><![CDATA[markgritter]]></dc:creator><pubDate>Sun, 30 Sep 2018 05:17:33 GMT</pubDate><enclosure url="https://images.ecency.com/p/C3TZR1g81UNaPs7vzNXHueW5ZM76DSHWEY7onmfLxcK2iNz1WGkXj2cox88MKpmeDqm5NT8BKxfz5WYB7pYSyDNLecGbGBS64GsMJmNQYiA4LUXKUv6p4eJ?format=match&amp;mode=fit" length="0" type="false"/></item></channel></rss>