<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.townx.org" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>townx - Writing the Clutter cookbook - Comments</title>
 <link>http://www.townx.org/blog/elliot/writing-clutter-cookbook</link>
 <description>Comments for &quot;Writing the Clutter cookbook&quot;</description>
 <language>en</language>
<item>
 <title>I heard of that Clutter</title>
 <link>http://www.townx.org/blog/elliot/writing-clutter-cookbook#comment-41763</link>
 <description>&lt;p&gt;I heard of that Clutter ideas, yet as others said you need to be motivated when you try this.&lt;/p&gt;

&lt;p&gt;&lt;a href=http://www.solidlineproducts.com/&gt;ipad case&lt;/a&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 23 Jan 2012 03:44:26 -0600</pubDate>
 <dc:creator>dunhillmartin</dc:creator>
 <guid isPermaLink="false">comment 41763 at http://www.townx.org</guid>
</item>
<item>
 <title>Clutter is very vast indeed.</title>
 <link>http://www.townx.org/blog/elliot/writing-clutter-cookbook#comment-41514</link>
 <description>&lt;p&gt;Clutter is very vast indeed. You can&#039;t learn it in just a snap. But I&#039;m glad that you share your clutter experiences. As a reader, it gives me motivation to understand the &lt;span class=&quot;caps&quot;&gt;API &lt;/span&gt;more. I&#039;m kinda tired of doing &lt;a href=&quot;http://www.articlesbase.com/business-opportunities-articles/legit-online-jobs-review-do-they-offer-legit-home-based-data-entry-jobs-2671077.html&quot;&gt;home based data entry jobs&lt;/a&gt; so I decided to learn how to develop. This is a good start.&lt;/p&gt;</description>
 <pubDate>Tue, 06 Sep 2011 09:46:15 -0500</pubDate>
 <dc:creator>Ted</dc:creator>
 <guid isPermaLink="false">comment 41514 at http://www.townx.org</guid>
</item>
<item>
 <title>Writing the Clutter cookbook</title>
 <link>http://www.townx.org/blog/elliot/writing-clutter-cookbook</link>
 <description>&lt;p&gt;I&#039;m almost exclusively working on the &lt;a href=&quot;http://docs.clutter-project.org/docs/clutter-cookbook/unstable/&quot;&gt;Clutter cookbook&lt;/a&gt; at the moment, and I keep meaning to write about what it&#039;s like to spend your time writing. I&#039;m not sure what&#039;s driving this need to explain myself. I think it&#039;s partly because I feel a bit unproductive at times, despite working pretty hard, and I feel like &lt;em&gt;I&lt;/em&gt; need to understand why.&lt;/p&gt;

&lt;p&gt;Perhaps if I explain the pattern of my work week. It goes something like this:&lt;/p&gt;


&lt;ul&gt;
&lt;li&gt;Start the week thinking about which part of the Clutter &lt;span class=&quot;caps&quot;&gt;API &lt;/span&gt;to write about. Clutter is pretty vast (well, not the &lt;span class=&quot;caps&quot;&gt;API &lt;/span&gt;so much as what it makes possible) and flexible (so you have choices about how to implement a particular feature, animation, effect, UI element etc.). I am still finding stuff in there I haven&#039;t noticed before: new functions, configuration options I haven&#039;t noticed, whole new chunks of &lt;span class=&quot;caps&quot;&gt;API &lt;/span&gt;(it&#039;s evolving like nobody&#039;s business). But at least &lt;a href=&quot;http://wiki.clutter-project.org/wiki/Plan_for_Clutter_1.4_cookbook&quot;&gt;I put together a plan with the Clutter maintainer, Emmanuele&lt;/a&gt; a while back, which puts some structure and priority around which things which are important.&lt;/li&gt;
&lt;li&gt;I then try to come up with a recipe idea to illustrate part of the &lt;span class=&quot;caps&quot;&gt;API, &lt;/span&gt;or an interesting topic, or to answer a question I&#039;ve noticed on the mailing lists or &lt;span class=&quot;caps&quot;&gt;IRC &lt;/span&gt;channel. The idea might be something like &quot;reusing an animation with different UI elements&quot;, or &quot;handling mouse button presses&quot;, something like that. I may also look around at other treatments of the same thing in other cookbooks, tutorials etc., on the web and in &lt;span class=&quot;caps&quot;&gt;O&#039;R&lt;/span&gt;eilly Safari; perhaps even try to find videos of a particular UI effect (e.g. today I was looking at cover flow videos, implementations, patent applications [can I even write about that kind of effect?]).&lt;/li&gt;
&lt;li&gt;Then I try to write some example code to get a feel for the &lt;span class=&quot;caps&quot;&gt;API.&lt;/span&gt; This might involve talking to the Clutter developers on &lt;span class=&quot;caps&quot;&gt;IRC &lt;/span&gt;about how something works, or maybe sending something to the mailing list. Occasionally I find bugs and log them (this can suck up a lot of time as I try to do as much due diligence as possible before logging anything, and provide decent reproducible test cases if possible). I frequently need to write maybe half a dozen small programs and perhaps a small application to try stuff out (like: &quot;what happens if I put this UI element over this one?&quot;, &quot;how does the height of an element get reported if it&#039;s moved away from the view point (into the z axis)?&quot;, &quot;If I set this property, how does that affect the object&#039;s behaviour in this context?&quot; and so on).&lt;br /&gt;
(The code I&#039;m writing is in C, which I admit is a bit of a struggle. I&#039;m just about getting to grips with it now.)&lt;/li&gt;
&lt;li&gt;At the same time as I&#039;m writing this code, I&#039;m maintaining my own git branches for each recipe I write, as they have to be kept isolated from each so they can easily be merged in one at a time (hopefully). This means keeping up to date with Clutter as it&#039;s being developed. So I&#039;m also learning git (which I&#039;ve never used a lot before) to pull changes in from Clutter master to my branches (and still sometimes screw it up).&lt;/li&gt;
&lt;li&gt;While I&#039;m doing that, I&#039;m also starting to think about this part of the &lt;span class=&quot;caps&quot;&gt;API &lt;/span&gt;from a developer perspective: Are there alternative ways to do this in Clutter? Why should I use this approach? Why not this other approach? I start putting notes together about the code I&#039;m writing, very rough to start with.&lt;br /&gt;
At this point, I quite often find myself paralysed as I start writing the text for the recipe. Writing text is much harder than writing code, at least for me; particularly writing text about code. (I can write code until the cows come home, but writing text is much harder: which is why most open source projects have lots of code and very little, mostly poor documentation.) Sometimes, finding a decent &quot;story&quot; to tell about the recipe or piece of code can be frustratingly hard (like what I&#039;ve experienced today when approaching ClutterAnimator :) ), and I find myself suffering what you might call &lt;a href=&quot;http://en.wikipedia.org/wiki/Writer&#039;s_block&quot;&gt;&quot;writer&#039;s block&quot;&lt;/a&gt;. At which point I make several false starts, write free-form pieces trying to articulate what I&#039;m doing, what I&#039;m explaining, just write anything at all to try to shift the block. Sometimes I can be blocked like this for half a day; frustrating, unproductive, prevaricating, maddening half of a day. Sometimes the best thing to do is take a break, go for a walk, do some admin or research on something else altogether. Then before I know it, thankfully, the next day everything slots into place again, and I can write again.&lt;/li&gt;
&lt;li&gt;At some point while I&#039;m putting tangible paragraphs together in my rough draft, I move it over to the &lt;a href=&quot;http://docbook.org/&quot;&gt;Docbook&lt;/a&gt; template for the cookbook. This means putting &lt;span class=&quot;caps&quot;&gt;XML &lt;/span&gt;mark-up and formatting around what I&#039;ve written so far. This then gets checked in with the code; edits are then checked in as I go along; occasionally I&#039;ll merge edits together (thankyou, &lt;code&gt;git rebase -i&lt;/code&gt;) to make the development history less convoluted.&lt;br /&gt;
I also take any screenshots and video (the latter using gtk-recordMyDesktop) I need and incorporate those into the &lt;span class=&quot;caps&quot;&gt;XML &lt;/span&gt;template.&lt;/li&gt;
&lt;li&gt;Eventually, I get something together and end up with a first draft. Then I leave it for at least half a day before I go through it again, cleaning up the text and making sure my branch is spick and span.&lt;br /&gt;
The process of iterating over the recipe to improve the text is something miraculous to me: I don&#039;t do it consciously, but somehow I can read text and rewrite it to read better. I don&#039;t know how I do it, to be honest. Which is good, because it means I&#039;ve basically turned the skill into a habit; but that in turn makes it difficult to reflect on. I don&#039;t think I could teach it to anyone either, as I don&#039;t explicitly understand the unconscious rules I&#039;m applying.&lt;/li&gt;
&lt;li&gt;Finally, I submit the recipe as a bug to the &lt;a href=&quot;http://bugzilla.clutter-project.org/&quot;&gt;Clutter bugzilla&lt;/a&gt;. I typically post a bug marked as an enhancement request (e.g. &lt;a href=&quot;http://bugzilla.clutter-project.org/show_bug.cgi?id=2288&quot; title=&quot;http://bugzilla.clutter-project.org/show_bug.cgi?id=2288&quot;&gt;http://bugzilla.clutter-project.org/show_bug.cgi?id=2288&lt;/a&gt;), along with a link to my git branch (e.g. &lt;a href=&quot;http://gitorious.org/clutter-cookbook/clutter-cookbook/commits/cookbook-script-ui&quot; title=&quot;http://gitorious.org/clutter-cookbook/clutter-cookbook/commits/cookbook-script-ui&quot;&gt;http://gitorious.org/clutter-cookbook/clutter-cookbook/commits/cookbook-...&lt;/a&gt;). At this point, Emmanuele may come back to me with some requests for changes or comment on the bug; I try to respond as quickly as possible, and put a note on the bug when I&#039;m done. At which point, hopefully, Emmanuele merges the work into Clutter master and the recipe is complete.&lt;br /&gt;
In an average week, I can turn out one or two recipes. If I&#039;m trying to write an introduction to some Clutter concept (e.g. last week I was writing an introduction to ClutterScript), it might be slower, as I have to understand the scope of the concept and find a way to communicate it.&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;It&#039;s the blockages which frustrate and shame me. I wish they didn&#039;t happen (they are pretty depressing too), but I think they might actually be an essential part of the &quot;creative process&quot;. The miracle of copy-editing makes up for it :).&lt;/p&gt;</description>
 <comments>http://www.townx.org/blog/elliot/writing-clutter-cookbook#comments</comments>
 <category domain="http://www.townx.org/tech">tech</category>
 <pubDate>Wed, 01 Sep 2010 17:32:32 -0500</pubDate>
 <dc:creator>elliot</dc:creator>
 <guid isPermaLink="false">799 at http://www.townx.org</guid>
</item>
</channel>
</rss>

