<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kinetic diagrams</title>
	<atom:link href="http://blog.kineticdiagrams.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.kineticdiagrams.com</link>
	<description>delightful data-driven diagrams</description>
	<lastBuildDate>Fri, 06 Aug 2010 23:51:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.2</generator>
		<item>
		<title>Inspiration for the weekend #8</title>
		<link>http://blog.kineticdiagrams.com/2010/08/06/inspiration-for-the-weekend-8/</link>
		<comments>http://blog.kineticdiagrams.com/2010/08/06/inspiration-for-the-weekend-8/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 23:51:28 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=117</guid>
		<description><![CDATA[Photo by flickr user smohundro used under a Creative Commons license. &#8220;No [Lego] army can stop an idea whose time has come.&#8221; &#8211;Victor Hugo]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-medium wp-image-119" title="[2010-08-06]  lego_army" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/08/2010-08-06-lego_army-300x225.jpg" alt="" width="300" height="225" /><span style="color: #888888;font-size:7pt"><br/>Photo by flickr user <a href="http://www.flickr.com/photos/smohundro/2912993465/">smohundro</a> used under a <a href="http://creativecommons.org/">Creative Commons</a> license.</span></p>
<blockquote><p>&#8220;No [Lego] army can stop an idea whose time has come.&#8221;<br />
&#8211;Victor Hugo</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/08/06/inspiration-for-the-weekend-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No updates this week</title>
		<link>http://blog.kineticdiagrams.com/2010/08/06/busy-week/</link>
		<comments>http://blog.kineticdiagrams.com/2010/08/06/busy-week/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 08:49:22 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=131</guid>
		<description><![CDATA[Visiting parents + a major work deadline = no posts this week.]]></description>
			<content:encoded><![CDATA[<p>Visiting parents + a major work deadline = no posts this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/08/06/busy-week/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inspiration for the weekend #7</title>
		<link>http://blog.kineticdiagrams.com/2010/07/31/inspiration-for-the-weekend-7/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/31/inspiration-for-the-weekend-7/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 00:01:08 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=120</guid>
		<description><![CDATA[Photo by flickr user brooksb used under a Creative Commons license. Many years ago two salesmen were sent by a British shoe manufacturer to Africa to investigate and report back on market potential. The first salesman reported back, “There is no potential here &#8211; nobody wears shoes.” The second salesman reported back, “There is massive [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-medium wp-image-130 aligncenter" title="[2010-07-31]  african_no_shoes" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-31-african_no_shoes-225x300.jpg" alt="" width="225" height="300" /><span style="color: #888888;font-size:7pt"><br/>Photo by flickr user <a href="http://www.flickr.com/photos/brookebocast/171635160/">brooksb</a> used under a <a href="http://creativecommons.org/">Creative Commons</a> license.</span></p>
<blockquote><p>
Many years ago two salesmen were sent by a British shoe manufacturer to Africa to investigate and report back on market potential.</p>
<p>The first salesman reported back, “There is no potential here &#8211; nobody wears shoes.”</p>
<p>The second salesman reported back, “There is massive potential here &#8211; nobody wears shoes.”</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/31/inspiration-for-the-weekend-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dealing with darn data</title>
		<link>http://blog.kineticdiagrams.com/2010/07/30/data/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/30/data/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 01:02:27 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[tech-notes]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=122</guid>
		<description><![CDATA[My next mini-experiment is to explore different ways to getting data into Kinetic diagrams. Kinetic diagrams are stored in plain text files. Initially, my idea described in earlier posts was to create a custom domain-specific-language (DSL) using Ragel, to define all the objects in the diagram. Each object can have metadata attributes. For example, suppose [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #333333;">My next mini-experiment is to explore different ways to getting data into Kinetic diagrams.</span></p>
<p><span style="color: #333333;">Kinetic diagrams are stored in plain text files. Initially, my idea described in earlier posts was to <a href="http://blog.kineticdiagrams.com/2010/06/08/">create a custom domain-specific-language (DSL) using Ragel</a>, to define all the objects in the diagram. Each object can have metadata attributes. For example, suppose there&#8217;s a &#8220;Salary&#8221; box in my finance diagram. &#8220;Salary&#8221; might have the following attributes: <em>label=Work Salary</em>, <em>vendor=Coal Mines</em>, and <em>amount=3580</em>.  Here&#8217;s how the DSL would describe the objects in the finance diagram: </span></p>
<blockquote>
<pre><span style="color: #008000;">+ Salary    | label="Work salary",    vendor="Coal Mines",  amt=3580
+ Checking  | label="Checking",       vendor="BigBank",     amt=400
+ Emergency | label="Emergency fund", vendor=" ",           amt=150
+ Savings1  | label="Savings",        vendor="MegaSavings", amt=720
+ Savings2  | label="Savings",        vendor="BigBank",     amt=214
+ Stocks    | label="Stocks",         vendor="Tradetek",    amt=1196
+ Wallet    | label="Wallet",         vendor=" ",           amt=143
+ Purchases | label="Purchases",      vendor="stores",      amt=212</span></pre>
</blockquote>
<p>But something about this approach just feels <em>wrong</em>. After all, can I realistically expect users to type <em>vendor=&#8221;Coal Mines&#8221;</em> in order to set an attribute value? Of course not. Most users aren&#8217;t programmers, nor care to be. So my next idea was to allow the user to type a textual data table:</p>
<p><span style="color: #008000;"> </span></p>
<blockquote>
<pre><span style="color: #008000;"><span style="color: #0000ff;">-------------------------------------------------------------
name           | label              | vendor         | amt
-------------------------------------------------------------
Salary         | Work salary        | Coal Mines     | 3580
Checking       | Checking           | BigBank        | 400
Emergency      | Emergency fund     |                | 150
Savings1       | Savings            | MegaSavings    | 720
Savings2       | Savings            | BigBank        | 214
Stocks         | Stocks             | Tradetek       | 1196
Wallet         | Wallet             |                | 143
Purchases      | Purchases          | stores         | 212
-----------------------------------------------------------</span><span style="color: #000000;"> </span></span></pre>
</blockquote>
<p><span style="color: #008000;"><span style="color: #000000;">This textual table is much clearer and readable. The gotcha, however, is that this requires the user to format that textual table perfectly. I&#8217;d need to define some required format in order to distinguish the header values from the rest of the table, and separate columns from each other. So while readable, this approach is still too brittle for real-world use.</span></span></p>
<p><span style="color: #008000;"><span style="color: #000000;">The new approach I&#8217;m exploring now is to just read the data from a spreadsheet or database directly. After all, wouldn&#8217;t it be great if the user can just edit the data in a spreadsheet?</span></span></p>
<p style="text-align: center;"><span style="color: #008000;"><span style="color: #000000;"><img class="size-full wp-image-124 aligncenter" title="[2010-07-29]  spreadsheet" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-29-spreadsheet.png" alt="" width="467" height="182" /></span></span></p>
<p style="text-align: left;"><span style="color: #008000;"><span style="color: #000000;">This will be a fun mini-experiment&#8230;stay tuned.<br />
</span></span></p>
<p><span style="color: #008000;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/30/data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Experiment #1 &#8211; done!</title>
		<link>http://blog.kineticdiagrams.com/2010/07/29/experiment-1/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/29/experiment-1/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 02:30:20 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=127</guid>
		<description><![CDATA[As you may remember, last month, I described my first experiment: to get a bare-bones web application up-and-running. Ok, so what might a bare-bones, no-fluff app look like? The user enter texts which describes a diagram. Kinetic then generates the diagram (in PNG image format) from that textual description. Kinetic then displays the generated PNG [...]]]></description>
			<content:encoded><![CDATA[<p>As you may remember, last month, <a href="http://blog.kineticdiagrams.com/2010/06/23/">I described my first experiment</a>: to get a bare-bones web application up-and-running.</p>
<blockquote><p>Ok, so what might a <em>bare-bones</em>, <em>no-fluff</em> app look like?</p>
<ol>
<li>The user enter texts which describes a diagram.</li>
<li>Kinetic then generates the diagram (in PNG image format) from that textual description.</li>
<li>Kinetic then displays the generated PNG diagram to the user.</li>
</ol>
</blockquote>
<p>Remember the original sketch?</p>
<p style="text-align: center;"><img class="aligncenter" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/06/2010-06-23-v0_0001-web-app.png" alt="" width="347" height="199" /></p>
<p style="text-align: left;">Well, now that it&#8217;s done, here&#8217;s how it really turned out. Check it out at: <a href="http://www.kineticdiagrams.com/experiment1">http://www.kineticdiagrams.com/experiment1</a></p>
<p style="text-align: center;"><a href="http://www.kineticdiagrams.com/experiment1"><img class="size-medium wp-image-128 aligncenter" title="[2010-07-29]  experiment1" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-29-experiment1-282x300.png" border="1" alt="" width="282" height="300" /></a></p>
<p>What do you think so far?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/29/experiment-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The common ingredient behind software success</title>
		<link>http://blog.kineticdiagrams.com/2010/07/28/software-development-is-always-complex/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/28/software-development-is-always-complex/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 12:55:54 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=113</guid>
		<description><![CDATA[As a Certified Scrum Master, I continually re-assess how to best apply Scrum principles to deliver software projects. One of my main criticisms of Scrum is that it is often misunderstood and sold as a panacea for bad software practices. It seems dev managers want to believe that Scrum will allow them to extract stellar [...]]]></description>
			<content:encoded><![CDATA[<p>As a <a href="http://www.scrumalliance.org/">Certified Scrum Master</a>, I continually re-assess how to best apply <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a> principles to deliver software projects. One of my main criticisms of Scrum is that it is often misunderstood and sold as a panacea for bad software practices. It seems dev managers <em>want to believe</em> that Scrum will allow them to extract stellar results from poor and mediocre performers.</p>
<p style="text-align: center;"><span style="color: #888888; font-size: 7pt;">What a real Scrum looks like:<br />
</span><img class="size-medium wp-image-126 aligncenter" title="[2010-07-28]  scrum" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-28-scrum-300x199.jpg" alt="" width="300" height="199" /><span style="color: #888888; font-size: 7pt;"><br />
(Photo by flickr user <a href="http://www.flickr.com/photos/18091975@N00/3654141771/">boocal</a> used under a <a href="http://creativecommons.org/">Creative Commons</a> license.)</span></p>
<p>In my experience, the only common ingredient to all successful projects is: strong software developers. Scrum (or <a href="http://en.wikipedia.org/wiki/Software_development_methodology">any other software methodology</a>) is no substitute for solid software fundamentals (such as strong object-oriented design skills).</p>
<p><a href="http://www.fysh.org/~katie/computing/methodologies.txt">Katie Lucas expresses this</a> more eloquently. Her entire post is worth reading for anyone in the software profession.</p>
<blockquote><p><strong>Every methodology I&#8217;ve come across has, at its kernel, a very small section labelled &#8220;do magic here.&#8221;</strong></p></blockquote>
<blockquote><p>[A software methodology is sometimes] pushed as a way of getting normal people to do something normal people can&#8217;t do. Normal people can&#8217;t do OO design properly. I don&#8217;t mean that derogatively as such. I can&#8217;t draw still life, I can&#8217;t run 100m races&#8230;People have various different talents. <strong>One of those talents is doing OO design and some people just can&#8217;t do it.</strong> No matter how much paperwork you surround it with.</p>
<p>And at the core of [a software methodology] is a small area where you have to use OO design talents&#8230;. if you don&#8217;t have them, it&#8217;s like having a methodology for running the 100m.</p>
<p>&#8220;Step 1: write about running really fast. Step 2: Go and draw a plan of the racetrack. Step 3: go and buy really tight lycra shorts. Step 4: run really, really, really fast. Step 5: cross line first&#8221;</p>
<p>It&#8217;s that step 4 that&#8217;s the tough one. But if you put lots of emphasis on 1,2,3 and 5 it&#8217;s possible no-one will notice and then you could probably make a lot of money selling the methodology to would-be<br />
athletes who think there&#8217;s some &#8220;secret&#8221; to being a 100m runner over and above being born with the ability to run fast.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/28/software-development-is-always-complex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The ideas behind Kinetic (part 1 of 9)</title>
		<link>http://blog.kineticdiagrams.com/2010/07/27/motivation-behind-kinetic-part-1-of-9/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/27/motivation-behind-kinetic-part-1-of-9/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 22:45:39 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=114</guid>
		<description><![CDATA[(Taking the cue from Charles Dickens&#8217; weekly serials, I&#8217;ll share my thoughts on this topic over a series of posts, with one post each week. On June 16, I briefly touched on the motivation behind Kinetic. Now, let&#8217;s dig even deeper into the underlying motivations.) The central premise behind Kinetic is: Useful diagrams must reflect [...]]]></description>
			<content:encoded><![CDATA[<p>(Taking the cue from <a href="http://en.wikipedia.org/wiki/Charles_Dickens">Charles Dickens&#8217;</a> weekly serials, I&#8217;ll share my thoughts on this topic over a series of posts, with one post each week. On June 16, I briefly touched on <a href="../2010/06/17/run-upstairs/">the motivation behind Kinetic</a>. Now, let&#8217;s dig even deeper into the underlying motivations.)</p>
<p>The central premise behind Kinetic is: <strong>Useful diagrams must reflect increasingly-complex ideas and systems.</strong> Since Kinetic&#8217;s goal is to explore better approaches to diagramming complex systems, let&#8217;s first answer the question:</p>
<blockquote><p>&#8220;Well, what&#8217;s wrong with the today&#8217;s tools to create complex diagrams? Why can&#8217;t we just use Microsoft Viso for diagramming complex systems?&#8221;</p></blockquote>
<p>First let me be clear: I absolutely <em>love</em> Visio. In fact, as a Solutions Architect for <a href="http://www.motricity.com/">Motricity</a> (note: Kinetic is personally-funded and is not associated with Motricity in any way), I create and review hundreds of Visio diagrams each year. Anything from high-level technical architecture diagrams to low-level software component diagrams to business process flows. My good friend Sean C. (and the best database engineer I know) jokes that I&#8217;m utterly useless without Visio. And he&#8217;s right. Visit my desk on any workday, and chances are, you&#8217;ll probably see some Visio diagram on my monitor.</p>
<p>Diagramming software such as <a href="http://office.microsoft.com/en-us/visio/">Microsoft Visio</a> or <a href="http://www.omnigroup.com/products/omnigraffle/">Omnigraffle</a> allow users to draw boxes, and then drag-and-drop arrows to link the boxes. For <em>simpler </em>diagrams, this intuitive approach works well.</p>
<p>But where tools such as Visio fall short is in dealing with <em>complex</em> diagrams. What do I mean? When diagramming systems that contain hundreds of interacting components, the Visio connector lines start to criss-cross in a spaghetti-like mess. Just for fun, here&#8217;s a particularly <a href="http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx">atrocious example</a>:</p>
<p style="text-align: center;"><img class="aligncenter size-medium wp-image-116" title="[2010-07-27]  complex_visio_diagram" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-27-complex_visio_diagram-265x300.gif" alt="" width="265" height="300" /><span style="color: #808080; font-size: 7pt;"><br />
Image from: http://thedailywtf.com/Articles/The_Customer-Friendly_System.aspx</span></p>
<p>Too many times, soon as the diagrammed systems or processes cross a certain threshold of complexity, the Visio diagrams become unwieldy and unmanageable.</p>
<p>In the next post (next Tuesday), I&#8217;ll share my thinking on the unwieldiness, and how Kinetic deals with it.</p>
<p><em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/27/motivation-behind-kinetic-part-1-of-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mission Capistrano: Accomplished</title>
		<link>http://blog.kineticdiagrams.com/2010/07/26/mission-capistrano-accomplished/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/26/mission-capistrano-accomplished/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 06:50:57 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[tech-notes]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=110</guid>
		<description><![CDATA[A couple of weeks ago, I accepted &#8220;Mission Capistrano&#8221; to automate the deployment process. I figure I owe an update: Well, it&#8217;s &#8220;Mission accomplished!&#8221;&#8230;all thanks to Capistrano. (Photo by pasukaru76, Creative Commons license) Meet Capistrano, my new unpaid and overworked robotic intern. Today, instead of dealing through multiple tedious steps, I simply type: cap deploy [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago, I accepted &#8220;<a href="http://blog.kineticdiagrams.com/2010/07/08/">Mission Capistrano</a>&#8221; to <a href="http://blog.kineticdiagrams.com/2010/07/07/">automate the deployment process</a>. I figure I owe an update: Well, it&#8217;s &#8220;Mission accomplished!&#8221;&#8230;all thanks to <a href="http://www.capify.org/index.php/Capistrano">Capistrano</a>.</p>
<p style="text-align: center;"><img class="aligncenter size-medium wp-image-112" title="[2010-07-26]  workbot" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-26-workbot-e1280045000974-284x300.jpg" alt="" width="170" height="180" /><span style="color: #808080; font-size: 8pt;"><br />
(Photo by <a href="http://www.flickr.com/photos/pasukaru76/4672433373/">pasukaru76</a>, <a href="http://creativecommons.org/">Creative Commons</a> license)</span></p>
<p>Meet Capistrano, my new unpaid and overworked robotic intern. Today, instead of dealing through <a href="http://blog.kineticdiagrams.com/2010/07/07/">multiple tedious steps</a>, I simply type:</p>
<blockquote>
<pre><span style="color: #008000;">cap deploy</span></pre>
</blockquote>
<p>and Capistrano automatically takes care of the dirty work. What used to take 15 minutes now takes less than 4 seconds.</p>
<p>Here&#8217;s my 8-line configuration file&#8230;feel free to use it as a starting point for your projects:</p>
<blockquote>
<pre><span style="color: #008000;">set :application,  "kinetic"
set :repository,   "."
set :scm,          :none
set :deploy_via,   :copy
set :copy_exclude, [".DS_Store", "vendor"]
set :deploy_to,    "/home/kinetic/kineticdiagrams.com/"
set :user,         "kinetic"
role :app,         "kineticdiagrams.com"</span></pre>
</blockquote>
<p>With Capistrano, I can painlessly to deploy to multiple servers in parallel. And my favorite feature is that I can roll-back to any previously-deployed version. Let&#8217;s say I accidentally deploy a bug in my application code and expose my gaffe to the world. With Capistrano, I can easily roll-back to an earlier working version</p>
<blockquote>
<pre><span style="color: #008000;">cap deploy:rollback</span></pre>
</blockquote>
<p>and continue with the rest of my day, dignity intact. If only my romantic relationships had a similar &#8220;undo&#8221; button&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/26/mission-capistrano-accomplished/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inspiration for the weekend #6</title>
		<link>http://blog.kineticdiagrams.com/2010/07/23/inspiration-for-the-weekend-6/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/23/inspiration-for-the-weekend-6/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 08:50:41 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=104</guid>
		<description><![CDATA[Photo by flickr user edmittance used under a Creative Commons license. “Space I can recover. Time, never!” –Napolean Bonaparte]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-medium wp-image-105" title="[2010-07-23]  napolean_recover_space" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-23-napolean_recover_space-e1279788547712-300x203.jpg" alt="" width="300" height="203" /><br />
<span style="color: #888888; font-size: 7pt;">Photo by flickr user <a href="http://www.flickr.com/photos/edmittance/">edmittance</a> used under a <a href="http://creativecommons.org/">Creative Commons</a> license.</span></p>
<blockquote><p>“Space I can recover. Time, never!”<br />
–Napolean Bonaparte</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/23/inspiration-for-the-weekend-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First things first</title>
		<link>http://blog.kineticdiagrams.com/2010/07/22/first-things-first/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/22/first-things-first/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 12:00:17 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[philosophy]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=107</guid>
		<description><![CDATA[Dealing with personal issues tonight, no Kinetic update. In a historical romance Sun Tzu is represented as saying to Wu Yuan: &#8220;As a general rule, those who are waging war should get rid of all domestic troubles before proceeding to attack the external foe.&#8221; &#8211;Sun Tzu, The Art of War (&#8220;The Art of Maneuvering&#8221;), 1933 [...]]]></description>
			<content:encoded><![CDATA[<p>Dealing with personal issues tonight, no Kinetic update.</p>
<blockquote><p>In a historical romance Sun Tzu is represented as saying to Wu Yuan: &#8220;As a general rule, those who are waging war should get rid of all domestic troubles before proceeding to attack the external foe.&#8221;<br />
&#8211;Sun Tzu, <em>The Art of War</em> (&#8220;The Art of Maneuvering&#8221;), 1933 translation</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/22/first-things-first/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech issue 100720: Resolved</title>
		<link>http://blog.kineticdiagrams.com/2010/07/21/tech-issue-1-resolved/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/21/tech-issue-1-resolved/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 08:26:07 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[tech-notes]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=102</guid>
		<description><![CDATA[Graphviz now successfully works on my Snow Leopard installation. The root cause: Turns out that some of my earlier MacPorts ports were outdated since they were built when I was still running Mac OS X Leopard. Installing the graphviz-gui port would appear to be fine, however, since some of the Graphviz dependencies were outdated for [...]]]></description>
			<content:encoded><![CDATA[<p>Graphviz now successfully works on my Snow Leopard installation.</p>
<p><strong>The root cause:</strong> Turns out that some of my earlier MacPorts ports were outdated since they were built when I was still running Mac OS X Leopard. Installing the graphviz-gui port would appear to be fine, however, since some of the Graphviz dependencies were outdated for Mac OS X Snow Leopard&#8217;s 64-bit architecture, running the graphviz-gui port would fail.</p>
<p><strong>The fix: </strong>By re-installing the graphviz-gui port after wiping out all the installed MacPorts ports (and therefore starting from a &#8220;clean&#8221; starting point), all of the Graphviz dependencies were re-installed correctly to work with Snow Leopard&#8217;s 64-bit architecture.</p>
<p><strong>Command-line history:</strong></p>
<blockquote><p><strong></strong><code>sudo port -f uninstall installed<br />
sudo port install graphviz-gui<br />
dot -Tpng /tmp/diagram.txt &gt; /tmp/test.png</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/21/tech-issue-1-resolved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tech issue 100720: Graphviz not working on Snow Leopard</title>
		<link>http://blog.kineticdiagrams.com/2010/07/20/technical-issue-graphviz-and-snow-leopard/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/20/technical-issue-graphviz-and-snow-leopard/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 07:21:20 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[tech-notes]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=100</guid>
		<description><![CDATA[Running into issues getting Graphviz to play nicely with Snow Leopard. This post describes my very issue; unfortunately, the only potential &#8220;fix&#8221; it describes is to re-install MacPorts from scratch. Frustrating.]]></description>
			<content:encoded><![CDATA[<p>Running into issues getting Graphviz to play nicely with Snow Leopard. This <a href="http://old.nabble.com/-MacPorts---20959:-Incompatible-library-version:-rsync-requires-version-8.0.0-or-later,-but-libiconv.2.dylib-provides-version-7.0.0-td25223054.html">post</a> describes my very issue; unfortunately, the only potential &#8220;fix&#8221; it describes is to re-install MacPorts from scratch. Frustrating.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/20/technical-issue-graphviz-and-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Share with a larger audience?</title>
		<link>http://blog.kineticdiagrams.com/2010/07/19/coming-soon-to-facebook/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/19/coming-soon-to-facebook/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 09:58:26 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[blog-updates]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=97</guid>
		<description><![CDATA[Ed B. shared an interesting idea today. Ed suggests that I consider linking this WordPress blog to my Facebook account. That way, all my Facebook friends will be able to effortlessly keep up with any new blog postings. To be honest, that will require me stepping outside of my personal comfort zone, as I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.linkedin.com/in/eltmon">Ed B</a>. shared an interesting idea today. Ed suggests that I consider linking this WordPress blog to my Facebook account. That way, all my Facebook friends will be able to effortlessly keep up with any new blog postings.</p>
<p>To be honest, that will require me stepping outside of my personal comfort zone, as I don&#8217;t usually publicize my projects. I tend to prefer working in solitude and seek perfection, before showing the fruits of my labor to others. So far, I&#8217;ve only shared the link to this blog site to a few friends at work. I admit that the idea of my Facebook friends being able to see my geekier side makes me a bit nervous.</p>
<p style="text-align: center;"><img class="aligncenter size-medium wp-image-99" title="[2010-07-19]  facebook" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-19-facebook-e1279621172499-300x189.jpg" alt="" width="300" height="189" /><span style="color: #888888; font-size: 7pt;"><br/>Photo by flickr user <a href="http://www.flickr.com/photos/rishibando/4660452869/">smlions12</a> used under a <a href="http://creativecommons.org/">Creative Commons</a> license.</span></p>
<p>As it turns out, Kinetic is more than just a software experiment&#8230;it is turning into an experiment in personal growth, as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/19/coming-soon-to-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inspiration for the weekend #5</title>
		<link>http://blog.kineticdiagrams.com/2010/07/16/inspiration-for-the-weekend-5/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/16/inspiration-for-the-weekend-5/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 03:45:50 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=83</guid>
		<description><![CDATA[&#8220;&#8216;Security&#8217; is mostly superstition. It does not exist in nature, nor do the children of men as a whole experience it. In the long run, avoiding danger is no safer than outright exposure. Life is either a daring adventure, or nothing.&#8221; &#8211;Helen Keller, 1950:]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;&#8216;Security&#8217; is mostly superstition. It does not exist in nature, nor do the children of men as a whole experience it. In the long run, avoiding danger is no safer than outright exposure. Life is either a daring adventure, or nothing.&#8221;<br />
&#8211;<a href="http://en.wikipedia.org/wiki/Helen_Keller">Helen Keller</a>, 1950:</p></blockquote>
<p><a href="http://en.wikipedia.org/wiki/Helen_Keller"><br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/16/inspiration-for-the-weekend-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kinetic&#8217;s new enemy</title>
		<link>http://blog.kineticdiagrams.com/2010/07/15/summer-in-the-northwest/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/15/summer-in-the-northwest/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 06:36:44 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=95</guid>
		<description><![CDATA[&#8220;The perfect (summer) is the enemy of the good.&#8221; &#8211;Voltaire (quote slightly adapted ) Too much to do, and loving every minute of it!]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;The perfect (summer) is the enemy of the good.&#8221;<br />
&#8211;Voltaire (quote slightly adapted <img src='http://blog.kineticdiagrams.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p></blockquote>
<p>Too much to do, and loving every minute of it!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/15/summer-in-the-northwest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taking a bit of a breather</title>
		<link>http://blog.kineticdiagrams.com/2010/07/14/taking-a-bit-of-a-breather/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/14/taking-a-bit-of-a-breather/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 05:42:53 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=93</guid>
		<description><![CDATA[&#8220;Life is what happens to you while you&#8217;re busy making other plans.&#8221; &#8211;John Lennon]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;Life is what happens to you while you&#8217;re busy making other plans.&#8221; &#8211;John Lennon</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/14/taking-a-bit-of-a-breather/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inspiration for the weekend #4</title>
		<link>http://blog.kineticdiagrams.com/2010/07/09/inspiration-for-the-weekend-4/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/09/inspiration-for-the-weekend-4/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 06:51:41 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=81</guid>
		<description><![CDATA[Stumbled onto this poem last week&#8230;I love it! It Couldn&#8217;t be Done by Edgar Guest Somebody said that it couldn&#8217;t be done, But, he with a chuckle replied That &#8220;maybe it couldn&#8217;t&#8221; but he would be one Who wouldn&#8217;t say so till he&#8217;d tried. So he buckled right in with the trace of a grin [...]]]></description>
			<content:encoded><![CDATA[<p>Stumbled onto this poem last week&#8230;I love it!</p>
<blockquote><p><strong>It Couldn&#8217;t be Done<br />
</strong>by Edgar Guest</p>
<p>Somebody said that it couldn&#8217;t be done,<br />
But, he with a chuckle replied<br />
That &#8220;maybe it couldn&#8217;t&#8221; but he would be one<br />
Who wouldn&#8217;t say so till he&#8217;d tried.</p>
<p>So he buckled right in with the trace of a grin<br />
On his face. If he worried he hid it.<br />
He started to sing as he tackled the thing<br />
That couldn&#8217;t be done, as he did it.</p>
<p>Somebody scoffed: &#8220;Oh, you&#8217;ll never do that;<br />
At least no one we know has done it&#8221;;<br />
But he took off his coat and he took off his hat,<br />
And the first thing we knew he&#8217;d begun it.</p>
<p>With a lift of his chin and a bit of a grin,<br />
Without any doubting or quiddit,<br />
He started to sing as he tackled the thing<br />
That couldn&#8217;t be done, and he did it.</p>
<p>There are thousands to tell you it cannot be done,<br />
There are thousands to prophesy failure;<br />
There are thousands to point out to you, one by one,<br />
The dangers that wait to assail you.</p>
<p>But just buckle right in with a bit of a grin,<br />
Just take off your coat and go to it;<br />
Just start to sing as you tackle the thing<br />
That cannot be done, and you&#8217;ll do it</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/09/inspiration-for-the-weekend-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mission Capistrano</title>
		<link>http://blog.kineticdiagrams.com/2010/07/08/mission-capistrano/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/08/mission-capistrano/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 07:21:02 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=89</guid>
		<description><![CDATA[Old Mission Capistrano: Any child can prove: Every year, around March 19th, the famous swallows (the pride of Capistrano) return to deploy their mud nests in the ruins of this historical mission. Photo by sp8254, Creative Commons license. New Mission Capistrano: This year, by July 12th, my historic mission is to swallow my pride, and [...]]]></description>
			<content:encoded><![CDATA[<p><strong><em>Old</em> Mission Capistrano:</strong> Any child can prove: Every year, around March 19th, <a href="http://www.sanjuancapistrano.net/swallows/">the famous swallows</a> (the pride of Capistrano) return to deploy their mud nests in the ruins of this <a href="http://missionsjc.com/">historical mission</a>.</p>
<p style="text-align: center;"><img class="size-medium wp-image-90 aligncenter" title="[2010-07-08]  capistrano" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-08-capistrano-231x300.jpg" alt="" width="139" height="180" /><span style="color: #888888; font-size: 7pt;"><br />
Photo by <a href="http://www.flickr.com/photos/sp8254/2362505417/">sp8254</a>, <a href="http://creativecommons.org/">Creative Commons</a> license.</span></p>
<p><strong><em>New</em> Mission Capistrano:</strong> This year, by July 12th, my historic mission is to swallow my pride, and nest in my famously-muddy ruins, until my <a href="http://www.capify.org/index.php/Capistrano">Capistrano</a> deployments are child-proof.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/08/mission-capistrano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Days of deployment drudgery are done</title>
		<link>http://blog.kineticdiagrams.com/2010/07/07/deployments-need-to-be-streamlined/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/07/deployments-need-to-be-streamlined/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 06:33:42 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=86</guid>
		<description><![CDATA[My web app deployment process currently looks like this: Fire up my FTP client. Fire up my SSH client. Type username, password, and server name, to login to my web hosting provider&#8217;s FTP server. Type username, password, and server name, to login to the web hosting provider&#8217;s SSH server. Navigate to the web directory where [...]]]></description>
			<content:encoded><![CDATA[<p>My web app deployment process currently looks like this:</p>
<ol>
<li>Fire up my FTP client.</li>
<li>Fire up my SSH client.</li>
<li>Type username, password, and server name, to login to my web hosting provider&#8217;s FTP server.</li>
<li>Type username, password, and server name, to login to the web hosting provider&#8217;s SSH server.</li>
<li>Navigate to the web directory where the web app is hosted.</li>
<li>Open up the folder on my MacBook Pro, where the web app files are located.</li>
<li>Carefully copy over each Ruby file to the corresponding directory on the FTP site.</li>
<li>Carefully copy over all supporting assets (images, stylesheets) to the corresponding directories on the FTP site.</li>
<li>Navigate (via typing) to the directory containing the server restart script.</li>
<li>Run the server restart script.</li>
<li>Validate that the updated version of the web app has indeed been deployed, by firing up a web browser to the web app&#8217;s location.</li>
<li>If something is amiss, then revisit steps #5-#10 as necessary.</li>
<li>Close the FTP client.</li>
<li>Close the SSH client.</li>
</ol>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-88" title="[2010-07-07]  things_to_do" src="http://blog.kineticdiagrams.com/wp-content/uploads/2010/07/2010-07-07-things_to_do.jpg" alt="" width="361" height="500" /><span style="color: #888888; font-size: 7pt;"><br />
Photo by flickr user <a href="http://www.flickr.com/photos/tzofia/287170009/">tzofia</a> used under a <a href="http://creativecommons.org/">Creative Commons</a> license.</span></p>
<p>By next Monday, I&#8217;d like it to look like this:</p>
<ol>
<li>Run a single script.</li>
</ol>
<p>The sooner I can streamline this error-prone process, the sooner I can re-focus on fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/07/deployments-need-to-be-streamlined/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good reminders from Chris</title>
		<link>http://blog.kineticdiagrams.com/2010/07/06/a-reminder-from-a-friend/</link>
		<comments>http://blog.kineticdiagrams.com/2010/07/06/a-reminder-from-a-friend/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 19:48:38 +0000</pubDate>
		<dc:creator>Jim Tran</dc:creator>
				<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://blog.kineticdiagrams.com/?p=84</guid>
		<description><![CDATA[Tonight, I re-connect with Chris, an old Harvey Mudd College friend, and we start talking about our personal projects. Chris shares my passion for building, and he&#8217;s currently working on a fitness class locator application. Several good reminders came up in our conversation: The actual technologies used to build our apps usually matter less than [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight, I re-connect with Chris, an old Harvey Mudd College friend, and we start talking about our personal projects. Chris shares my passion for building, and he&#8217;s currently working on a fitness class locator application. Several good reminders came up in our conversation:</p>
<ol>
<li>The actual technologies used to build our apps usually matter less than we think.</li>
<li>Focus on end-user value.</li>
<li>It&#8217;s near impossible to stay up to date with all the latest technologies, so don&#8217;t even bother. See points #1 and #2.</li>
<li>When working on a project as the solo contributor, make sure you have someone to bounce ideas off of.</li>
<li>Old systems are built that way for a reason. Learn the intricacies of the existing system before you start to re-engineer a new replacement solution.</li>
<li>Remember to enjoy the other aspects of life while working on projects.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.kineticdiagrams.com/2010/07/06/a-reminder-from-a-friend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

