<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tirade on Roads Less Taken</title><link>https://goran.krampe.se/categories/tirade/</link><description>Recent content in Tirade on Roads Less Taken</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 08 May 2012 00:11:22 +0000</lastBuildDate><atom:link href="https://goran.krampe.se/categories/tirade/index.xml" rel="self" type="application/rss+xml"/><item><title>Literal arrays vs JSON vs STON vs Tirade</title><link>https://goran.krampe.se/2012/05/08/literal-arrays-vs-json-vs-ston-vs-tirade/</link><pubDate>Tue, 08 May 2012 00:11:22 +0000</pubDate><guid>https://goran.krampe.se/2012/05/08/literal-arrays-vs-json-vs-ston-vs-tirade/</guid><description>&lt;p>Recently there were a range of threads on the pharo-dev mailinglist discussing the textual format to use for Smalltalk source code metadata. The discussion veered off from the specific use case but basically four different formats were discussed and compared, of which one I am the author. And oh, sorry for the formatting of this article - I need to change theme on this blog for better readability.&lt;/p></description></item><item><title>Tirade, supporting embedded text</title><link>https://goran.krampe.se/2011/04/15/tirade-supporting-embedded-text/</link><pubDate>Fri, 15 Apr 2011 01:22:58 +0000</pubDate><guid>https://goran.krampe.se/2011/04/15/tirade-supporting-embedded-text/</guid><description>&lt;p>Two years ago I ended up creating &lt;a href="http://goran.krampe.se/2009/03/16/tirade-a-file-format-for-smalltalkers/" target="_blank" rel="noopener noreferrer">Tirade&lt;/a>
 - a new &amp;ldquo;file format&amp;rdquo; for Smalltalkers. Or rather, a way to serialize stuff into a sequence of Smalltalk messages with literals as arguments. I have written a &lt;a href="http://goran.krampe.se/categories/tirade" target="_blank" rel="noopener noreferrer">few blog articles about Tirade&lt;/a>
 so I will not go into details in this one.&lt;/p>
&lt;p>One thing that has been disturbing with Tirade is that I wanted it to be the main format for serializing Deltas, the new implementation of &amp;ldquo;21st Century ChangeSets&amp;rdquo;. This means I want Tirade to handle Smalltalk source code in the best possible way. Ideally I would want the Tirade file to be editable in a text editor if I wanted, and not being broken by that.&lt;/p></description></item><item><title>Tirade, first trivial use</title><link>https://goran.krampe.se/2009/04/20/tirade-first-trivial-use/</link><pubDate>Mon, 20 Apr 2009 00:43:55 +0000</pubDate><guid>https://goran.krampe.se/2009/04/20/tirade-first-trivial-use/</guid><description>&lt;p>Last night I started hooking &lt;a href="http://goran.krampe.se/2009/03/16/tirade-a-file-format-for-smalltalkers/" target="_blank" rel="noopener noreferrer">Tirade&lt;/a>
 into Deltas. Quick background: Deltas is &amp;ldquo;Changesets for the 21st century&amp;rdquo;, or in other words an intelligent patch system under development for Squeak. Tirade is a Smalltalk/Squeak centric &amp;ldquo;JSON&amp;rdquo;-kinda-thingy. I made Tirade in order to get a nice file format for Deltas. Just wanted to share how the first trivial code looks, and thus illustrate simple use of Tirade.&lt;/p>
&lt;p>I have a DSDelta (a Delta being almost like a ChangeSet). It consists of some metadata (a UUID, a Dictionary of properties and a TimeStamp) and a DSChangeSequence (which holds the actual DSChange instances). As a first shot I only implemented the metadata bit. So step by step:&lt;/p></description></item><item><title>Tirade, part 2</title><link>https://goran.krampe.se/2009/03/20/tirade-part-2/</link><pubDate>Fri, 20 Mar 2009 00:34:07 +0000</pubDate><guid>https://goran.krampe.se/2009/03/20/tirade-part-2/</guid><description>&lt;p>In an article recently I described &lt;a href="http://goran.krampe.se/2009/03/16/tirade-a-file-format-for-smalltalkers/" target="_blank" rel="noopener noreferrer">Tirade&lt;/a>
 - a new generic &amp;ldquo;file format&amp;rdquo; for Smalltalk/Squeak, or actually a sub language! Since that article I have refined Tirade a bit. Tirade consists today of 4 classes (parser, reader, writer, recorder) totalling &lt;strong>about 500 lines of code&lt;/strong>, excluding tests. Tests are &lt;strong>green in 3.10.2, pharo-10231, 3.9, 3.8 and 3.7&lt;/strong>. It does turn red in 3.6 due to old initialize behavior, some missing methods etc, probably easily fixed if anyone cares. There are no dependencies on other packages. Compared to using the old Compiler&amp;raquo;evaluate: it is about 5-7 times faster.&lt;/p></description></item><item><title>Tirade, a file format for Smalltalkers</title><link>https://goran.krampe.se/2009/03/16/tirade-a-file-format-for-smalltalkers/</link><pubDate>Mon, 16 Mar 2009 00:24:07 +0000</pubDate><guid>https://goran.krampe.se/2009/03/16/tirade-a-file-format-for-smalltalkers/</guid><description>&lt;p>In my revived work on &lt;a href="http://wiki.squeak.org/squeak/6001" target="_blank" rel="noopener noreferrer">Deltastreams&lt;/a>
 in Squeak I ended up facing the choice of native file format for Deltas. Matthew has made an advanced format called &lt;a href="http://www.squeaksource.com/InterleavedChangeSet.html" target="_blank" rel="noopener noreferrer">InterleavedChangeset&lt;/a>
 which manages to squeeze a binary representation of a Delta into a &lt;a href="http://wiki.squeak.org/squeak/1105" target="_blank" rel="noopener noreferrer">Changeset&lt;/a>
 file (which is in Smalltalk chunk format). An impressive feat, and it has the advantage of being backwards compatible in the sense that a Delta in this format can be filed in as a plain old Changeset into an old Squeak image.&lt;/p></description></item></channel></rss>