<?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>Isaac Su</title>
	<atom:link href="http://isaac.su/feed/" rel="self" type="application/rss+xml" />
	<link>http://isaac.su</link>
	<description>theologian designer developer</description>
	<lastBuildDate>Tue, 15 May 2012 07:12:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Learning by reimplementing</title>
		<link>http://isaac.su/2012/05/learning-by-reimplementing/</link>
		<comments>http://isaac.su/2012/05/learning-by-reimplementing/#comments</comments>
		<pubDate>Mon, 14 May 2012 22:52:47 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[clojure]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">/?p=1007</guid>
		<description><![CDATA[I&#8217;ve been trying to pick up Clojure. My key motivating factor is the hope of one day being able to appreciate the gravity of the LISP family of languages, unveil the power behind S-expressions, dabble with the somewhat black art of concurrency and functional programming. Thus far, it&#8217;s taken me the earlier half of 3 [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been trying to pick up <a href="http://en.wikipedia.org/wiki/Clojure">Clojure</a>. My key motivating factor is the hope of one day being able to appreciate the gravity of the <a href="http://en.wikipedia.org/wiki/Lisp_(programming_language)">LISP</a> family of languages, unveil the power behind <a href="http://en.wikipedia.org/wiki/S-expression">S-expressions</a>, dabble with the somewhat black art of <a href="http://en.wikipedia.org/wiki/Concurrency_(computer_science)">concurrency</a> and functional programming.</p>
<p>Thus far, it&#8217;s taken me the earlier half of 3 books on Clojure to get to this point where I&#8217;m relatively comfortable with the syntax and some of the idioms of the language. But because of its terseness, Clojure doesn&#8217;t afford a newbie very much &#8220;typing time&#8221; to digest and soak in the language. In Clojure, you start your first paren, and before you know it, you&#8217;ve executed the code in the <a href="http://en.wikipedia.org/wiki/REPL">REPL</a> successfully &#8211; no mistakes to learn from, no cryptic error messages to keep in mind.</p>
<p>I&#8217;ve recently picked up a book called <a href="http://shop.oreilly.com/product/9780596529321.do">Programming Intelligence</a>. It&#8217;s a book about data mining, machine learning and other meaty <a href='http://en.wikipedia.org/wiki/Artificial_intelligence'>AI</a> stuff with all its code samples in <a href="http://en.wikipedia.org/wiki/Python_(programming_language)">Python</a>.</p>
<p>So what I&#8217;ve been doing as my latest stage in Clojure learning, is going through the book, digesting the Python code samples, and reimplementing them in Clojure.</p>
<p>Here&#8217;s an example of a snippet in Python:</p>
<div style="font-size:10px;line-height:12px">
<script type="text/javascript" src="https://gist.github.com/2697851.js"></script>
</div>
<p>And my version in Clojure:</p>
<div style="font-size:10px;line-height:12px">
<script type="text/javascript" src="https://gist.github.com/2697844.js"></script>
</div>
<p>I&#8217;ve only done about 3 snippets so far, but I feel like I&#8217;ve learned a lot because I haven&#8217;t simply copied code out of a book (which hasn&#8217;t really worked for reasons stated above), nor have I had to &#8220;come up&#8221; with things to implement. By reimplementing code from another language in Clojure, I get to practice the syntax while copying the algorithms.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/05/learning-by-reimplementing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Unlikely Air Humidifier</title>
		<link>http://isaac.su/2012/05/the-unlikely-air-humidifier/</link>
		<comments>http://isaac.su/2012/05/the-unlikely-air-humidifier/#comments</comments>
		<pubDate>Sun, 13 May 2012 22:08:30 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[everyday]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">/?p=999</guid>
		<description><![CDATA[As some of you may have noticed, I have been out of action for over a week. It&#8217;s been a tough couple of weeks. The lack of sleep and harsh weather hasn&#8217;t been kind to my body, resulting in less than optimal health over the past few days. Particularly, the cold dry air has been [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you may have noticed, I have been out of action for over a week. It&#8217;s been a tough couple of weeks. The lack of sleep and harsh weather hasn&#8217;t been kind to my body, resulting in less than optimal health over the past few days.</p>
<p>Particularly, the cold dry air has been quite the throat irritant, making usually effortless things like falling asleep and staying alseep exceptionally challenging.</p>
<p>What I needed was a way to add a little humidity to the air.</p>
<p>The wifey pulled out the usual suspects &#8211; bucket of water by the bed, wet towel, etc. But I just wasn&#8217;t content. Over and over, I&#8217;d flip through my mental store of random and miscallaneous facts that I habitually stow away &#8211; it&#8217;s kind of a poor man&#8217;s lottery, with all the excitement of one of them finally striking it <em>useful</em>, and none of the monetary stress.</p>
<p>So in that instance, I was thinking to myself &#8211; &#8220;Hey, this device/appliance could make a pretty decent air humidifier&#8221;. I just couldn&#8217;t put a finger. Iterating through the half-dozen or so domestic appliances we have littered throughout our place, I finally arrived at it.</p>
<p>The evaporative cooler!</p>
<p>For those of you who are unfamiliar with how an evaporative cooler works, here&#8217;s a quick lowdown. An evaporative cooler is essentially a big fan with a mini waterfall behind it. As air is sucked through through the &#8220;waterfall&#8221; by the fan, the water absorbs heat from the air, resulting in cooler air coming out the front, which is great for summertime, but for a dry winter&#8217;s night?</p>
<p>It doesn&#8217;t really make sense, until you realize two things &#8211; firstly, running a fan in winter is silly, but if the air is colder than the water in the device, the cooling effect it negligible (to be safe, you could use warm water). Secondly and more importantly, as the dry air flows through the device, it soaks up the waterfall like a dry crusty sponge.</p>
<p>The end product? Greater humidity in the room, and a better night&#8217;s sleep for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/05/the-unlikely-air-humidifier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Work buffer</title>
		<link>http://isaac.su/2012/05/work-buffer/</link>
		<comments>http://isaac.su/2012/05/work-buffer/#comments</comments>
		<pubDate>Wed, 02 May 2012 22:29:31 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[transit]]></category>
		<category><![CDATA[work-ethic]]></category>

		<guid isPermaLink="false">/?p=992</guid>
		<description><![CDATA[I worked from home yesterday. There were some domestic issues that I had to attend to, so work was kind enough to get me set up for remote access. It was weird, slightly novel, yet very familiar in a strange past-life kind of way. This used to be my life &#8211; running my own multimedia [...]]]></description>
			<content:encoded><![CDATA[<p>I worked from home yesterday. There were some domestic issues that I had to attend to, so work was kind enough to get me set up for remote access.</p>
<p>It was weird, slightly novel, yet very familiar in a strange past-life kind of way. This used to be my life &#8211; running my own multimedia practice out of a home office.</p>
<p>How things have changed. In a previous gig, my hours of industry were buffered by around 20 minutes spent in transit each way. Now, it&#8217;s a solid hour each way. Time that I&#8217;ve grown to be quite fond of.</p>
<p>So it felt rather disorienting yesterday when I didn&#8217;t get my usual &#8220;spin-up&#8221; period in the morning and &#8220;wind-down&#8221; period in the evening. Everything was a big blur. Exhausting to say the least.</p>
<p>You know what they say about not missing something until it&#8217;s gone.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/05/work-buffer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guises</title>
		<link>http://isaac.su/2012/05/guises/</link>
		<comments>http://isaac.su/2012/05/guises/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 22:22:15 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[religion]]></category>
		<category><![CDATA[resurrection]]></category>
		<category><![CDATA[theology]]></category>

		<guid isPermaLink="false">/?p=984</guid>
		<description><![CDATA[I&#8217;ve been thinking about what it means for the Christian faith to be &#8220;relevant&#8221; to present-day society. More specifically, a subtle dynamic that occurs in attempts at relevance. A few weeks ago, there was a bit of a discussion about what it meant to be a Christ follower &#8211; ultimately it came down to the values [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking about what it means for the Christian faith to be &#8220;relevant&#8221; to present-day society. More specifically, a subtle dynamic that occurs in attempts at relevance.</p>
<p>A few weeks ago, there was a bit of a discussion about what it meant to be a Christ follower &#8211; ultimately it came down to the values and ethics of this Christ character being embodied within and expressed through a human being. An ideal example would be one making an observation of &#8220;He thinks and reasons the way Christ would&#8217;ve thought and reasoned&#8221;; no different from one saying &#8220;that dude&#8217;s got moves like Jagger&#8221;. Christian person, Jaggerian groover.</p>
<p>What I&#8217;ve observed though, is a deceitful bastardisation of one such mechanism. Rather than taking the core of what Christ represented in his life, death and resurrection, and interfacing it with the world through our fleshly earth-suits, we&#8217;ve instead to take our sorry little selfish, narrow-minded aspirations and wrap it up in a finicky, religious, self-righteous constructs riddled with incoherence, arrogance and unreason.</p>
<p>We go on to propose things such as &#8220;work your way into a position of power and influence so that you can glorify God&#8221;. We build &#8220;christian businesses&#8221; and pray to God to grant us victory over other &#8220;pagan&#8221; competitors. We take every opportunity to show-up our &#8220;unchristian&#8221; acquaintances, parading what we think they&#8217;re missing out by not being part of the club.</p>
<p>My hope is that this delirium would stop. Instead of defending our fallen nature by glorifying it with religion, may we learn to lay it down in humility, tread in the shadow of Christ, and catch a glimpse of the kind of humanity that the Creator deemed worth resurrecting.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/05/guises/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Human efficiencies</title>
		<link>http://isaac.su/2012/04/human-efficiencies/</link>
		<comments>http://isaac.su/2012/04/human-efficiencies/#comments</comments>
		<pubDate>Thu, 26 Apr 2012 22:43:21 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[observations]]></category>
		<category><![CDATA[relationship]]></category>
		<category><![CDATA[resource]]></category>

		<guid isPermaLink="false">/?p=979</guid>
		<description><![CDATA[In the world of machines, the notion of efficiency has a particular flavour to it &#8211; do more with less. Make the car go further on less petrol. Build a lighter laptop. Run data centers without chillers. What amazes me though, is how differently the human body, and to a good extent, the biological world [...]]]></description>
			<content:encoded><![CDATA[<p>In the world of machines, the notion of efficiency has a particular flavour to it &#8211; do more with less. Make the car go further on <a href="http://en.wikipedia.org/wiki/Low-energy_vehicle">less petrol</a>. Build a <a href="http://en.wikipedia.org/wiki/MacBook_Air">lighter laptop</a>. Run data centers <a href="http://www.theregister.co.uk/2009/07/16/google_chillerless_data_center/">without chillers</a>.</p>
<p>What amazes me though, is how differently the human body, and to a good extent, the biological world functions. Among other things, the success of an athlete often hinges upon the volume of resources his or her body is able to spend through given a finite period of time. The thing that sets Lance Armstrong apart, for example, is that his lungs are able to burn through more oxygen per minute than the average human being (read more <a href="http://en.wikipedia.org/wiki/VO2_max">VO2max</a>).</p>
<p>Unlike the &#8220;save and conserve&#8221; motto of the machine world, the human body thrives on throughput &#8211; i.e. consume and expend. To be physically healthy is to engage in generous doses of physical activity. To sharpen one&#8217;s mind is to seek out and spend one glucose stores on new domains of understanding. To flourish relationally is to literally spend time with another being and often paying out with one&#8217;s ego, absorbing the unintended blows and embracing the prickly rough edges.</p>
<p>&#8220;If you don&#8217;t use it, you lose it&#8221; &#8211; I once heard; and it&#8217;s true. But more importantly and positively, when one puts an ability through the hard yards of regular use, beyond mere keeping, one grows in said ability and quickly realizes an increase in said ability. Be it muscles tearing and rebuilding, broader perspectives, or developing a deeper well of grace to draw from in the face of disgrace.</p>
<p>Lesson of the day? In human terms, you get to keep what you use; Spending is good; and to give of oneself may very well be the pinnacle of humanity, if the above is anything to go by.</p>
<p>p.s. As a counterpoint, can you think of what happens when a human starts stashing away lots of energy, or when abilities waste away from disuse, or shy away in defensive isolation?</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/04/human-efficiencies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Take 5, drop 2</title>
		<link>http://isaac.su/2012/04/take-5-drop-2/</link>
		<comments>http://isaac.su/2012/04/take-5-drop-2/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 08:08:22 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[life]]></category>
		<category><![CDATA[priorities]]></category>

		<guid isPermaLink="false">/?p=967</guid>
		<description><![CDATA[A few years ago, when we were moving out of our old place, there was this whole process of &#8220;decompressing&#8221; all our junk out of the numerous storage spaces in the apartment to sort, cull and pack in preparation of moving. It was during this time, all kinds of things begin to emerge from the [...]]]></description>
			<content:encoded><![CDATA[<p>A few years ago, when we were moving out of our old place, there was this whole process of &#8220;decompressing&#8221; all our junk out of the numerous storage spaces in the apartment to sort, cull and pack in preparation of moving.</p>
<p>It was during this time, all kinds of things begin to emerge from the deep recesses of one&#8217;s hoarding stash. More nail clippers than the fingers on a hand, old kitchen implements we hadn&#8217;t used from when we&#8217;d last moved, etc.</p>
<p>It was then I came up with a strategy: &#8220;take 5, drop 2&#8243;.</p>
<p>Here&#8217;s an example of how it works. Back then, we had more tea towels than we needed and wanted to keep. So for every 5 tea towels, pick 3 to keep, and 2 to either give away, sell, or do whatever else. Then, there were too many old plastic cups that we&#8217;d hardly used since the previous move &#8211; for every 5, keep 3, drop 2; and repeat to taste. It even comes with a nice little mind-trick &#8220;at least I get to keep more than half&#8221;*.</p>
<p>Take 5, drop 2.</p>
<p>Since then, it kind of stuck, and permeated through other aspects of my life. Overloaded with too many equally^ important priorities? Take 5, drop 2 for another day. Boxing day sale deals too numerous to fit your budget, take 5, drop 2. Have a decision weighing in on multiple stakeholders? Take 5, drop 2.</p>
<p>It is an acknowledgement that we&#8217;re not going to get it spot-on every time, that perfection can wait another day, and it&#8217;s ok. Its effectiveness goes on to betray the fact that a lot of the &#8220;issues&#8221; that we face are, in reality, mere <a href="http://en.wikipedia.org/wiki/First_world_problem">First</a> <a href="http://www.quickmeme.com/First-World-Problems/">World</a> <a href="http://www.reddit.com/r/firstworldproblems/">Problems</a>.</p>
<p>Footnotes:</p>
<p>* Strictly speaking, this is not true if you perform the process more than once.<br />
^ It&#8217;s very important that the 5 elements are of equal, or very similar priorities. Ignore at your own peril.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/04/take-5-drop-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekend hill warriors</title>
		<link>http://isaac.su/2012/04/weekend-hill-warriors/</link>
		<comments>http://isaac.su/2012/04/weekend-hill-warriors/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 07:36:06 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[cycling]]></category>
		<category><![CDATA[motivation]]></category>

		<guid isPermaLink="false">/?p=964</guid>
		<description><![CDATA[Last I counted, he&#8217;s been doing this thing for at least a couple of weeks in a row. Brother would drop by Saturday afternoon when we&#8217;re at our lethargic-est, and announce that he&#8217;s going cycling &#8211; subtly hinting that we could come with if we so choose to. Without fail, my first response would be [...]]]></description>
			<content:encoded><![CDATA[<p>Last I counted, he&#8217;s been doing this thing for at least a couple of weeks in a row. Brother would drop by Saturday afternoon when we&#8217;re at our lethargic-est, and announce that he&#8217;s going cycling &#8211; subtly hinting that we could come with if we so choose to.</p>
<p>Without fail, my first response would be to succumb to laziness, and conjure up some excuse to not ride. Yet every single time after the ride, we&#8217;d sit around the dining table, sip 100-plus and talk about how good it feels to conquer the hills and make it back &#8211; best thing we could&#8217;ve possible done for that afternoon.</p>
<p>You&#8217;d think that after a few such incidents, one would learn to convince oneself &#8220;you&#8217;ll feel better after the ride&#8221;. In reality, certain things require an external force to nudge one over the line, to slap on the cycling tights, to mount the bike, to finally ride out of the garage and onto the tarmac. Either that, or certain people such as yours truly suffer from a severe lack of discipline to exercise simply for the sake of it.</p>
<p>Before you know it, you&#8217;ve made it up one hill, down a valley, and you have no choice but to climb your way back home.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/04/weekend-hill-warriors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On expressing intent</title>
		<link>http://isaac.su/2012/04/on-expressing-intent/</link>
		<comments>http://isaac.su/2012/04/on-expressing-intent/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 12:08:20 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[conversation]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[scapepost]]></category>
		<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">/?p=939</guid>
		<description><![CDATA[In programming, one of the hallmarks of well-written code is the fact the code communicates intent. For example, a piece of code could be taking a list of integers, summing them up and dividing the sum by the number of integers involved, but it makes it far easier when the piece of code is actually labelled [...]]]></description>
			<content:encoded><![CDATA[<p>In programming, one of the hallmarks of well-written code is the fact the code communicates intent. For example, a piece of code could be taking a list of integers, summing them up and dividing the sum by the number of integers involved, but it makes it far easier when the piece of code is actually labelled <code>getAverageValue</code>.</p>
<p>That is intent.</p>
<p>Being able to communicate intent when coding is especially important when working in the context of a development team. Chances are, somewhere down the track, another programmer will need to interact with, or make changes to code that you&#8217;ve written. When that time comes, one of the first questions he/she&#8217;ll be asking is &#8220;what was the author trying to do?&#8221;.</p>
<blockquote><p><code>getAverageValue</code><br />
Success!</p></blockquote>
<blockquote><p>&#8220;Loop over a list, sum up all the elements in the list, count the number of elements in the list, divide the sum by the count&#8221;<br />
Fail.</p></blockquote>
<p>Coming clean with intent isn&#8217;t always easy though. In the limited example above, explicitly stating that one&#8217;s intention to derive an average value quickly opens oneself up to criticisms on technique, algorithms used, coding style, etc. So vulnerable is such a position that one would often prefer NOT to state intent, opting instead to just step through the instructions one at a time.</p>
<div>
<p>But here&#8217;s the nice thing about communicating intent &#8211; it opens up a space for individuals to share and collaborate over a piece of work.</p>
<p>You see, to put forward intent is a posture of respect toward the other party. It is an invitation to collectively deliberate over a matter. Correspondingly, to ask &#8220;why&#8221; is a request to participate in one such engagement.</p>
<p>For example, instead of just saying</p>
<blockquote><p>&#8220;Please do this because I told you so&#8221;</p></blockquote>
<p>one might instead say</p>
<blockquote><p>&#8220;Please do this so that the world will not come to an end&#8221;.</p></blockquote>
<p>No prizes for imagining the effect the former statement might have on a conversation. The latter, on the other hand, opens up far more opportunities for discussion, i.e. -</p>
<blockquote><p>&#8220;I don&#8217;t want the world to end either, but here&#8217;s possibly a better way to achieve it&#8221;</p></blockquote>
<p>or</p>
<blockquote><p>&#8220;I don&#8217;t think the world will end. Let&#8217;s talk about why you think the world will end.&#8221;</p></blockquote>
<p>Lots of room to <a href="http://en.wikipedia.org/wiki/Parley">parley</a> and a far better chance of arriving at a progressive and agreeable outcome.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/04/on-expressing-intent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scapepost</title>
		<link>http://isaac.su/2012/04/scapepost/</link>
		<comments>http://isaac.su/2012/04/scapepost/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 07:00:55 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[housekeeping]]></category>
		<category><![CDATA[scapepost]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">/?p=935</guid>
		<description><![CDATA[After putting out a big post that took an extended period of time to write, I&#8217;ve found myself in a bit of a writer&#8217;s bind. I&#8217;d get on the train, hang the helmet on the bike, stow the bike in some immobilizing position, remove my gloves, keep them in the bag, pull out the laptop, [...]]]></description>
			<content:encoded><![CDATA[<p>After putting out a big post that took an extended period of time to write, I&#8217;ve found myself in a bit of a writer&#8217;s bind.</p>
<p>I&#8217;d get on the train, hang the helmet on the bike, stow the bike in some immobilizing position, remove my gloves, keep them in the bag, pull out the laptop, and start hammering away on the keyboard.</p>
<p>I only get as far as 3 sentences before the critic in me kicks in &#8211; the subject matter is boring, no one&#8217;s going to like this, are you sure you know what you are writing about, and the clincher &#8211; it&#8217;s not as good as that last one.</p>
<p>Stopped short, never to go again.</p>
<p>So here is a scapegoat post to reset the bar, crucify the critic and afford a fighting chance for all the posts that have yet been conceived.</p>
<p>Boredom lays in the mind of the consumer. I&#8217;m never going to get it absolutely right, and I&#8217;ve yet to produce my best work.</p>
<p>So there. Let&#8217;s get on with writing.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/04/scapepost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System Overhaul</title>
		<link>http://isaac.su/2012/04/system-overhaul/</link>
		<comments>http://isaac.su/2012/04/system-overhaul/#comments</comments>
		<pubDate>Sun, 15 Apr 2012 22:27:13 +0000</pubDate>
		<dc:creator>Isaac Su</dc:creator>
				<category><![CDATA[developer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[systems]]></category>

		<guid isPermaLink="false">/?p=929</guid>
		<description><![CDATA[It&#8217;s become a bit of a routine over the last two weeks or so. Come in to work in the morning, look at the numbers, find that they have gone off, spend the morning investigating why they&#8217;d gone off. Spend the afternoon implementing a patch in response of the findings of the investigation. Leave the [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s become a bit of a routine over the last two weeks or so. Come in to work in the morning, look at the numbers, find that they have gone off, spend the morning investigating why they&#8217;d gone off. Spend the afternoon implementing a patch in response of the findings of the investigation. Leave the system to run for the rest of the day, come in the next morning, check the numbers, find that they have drifted again&#8230;</p>
<p>On and on and on, like a never-ending puzzle. Every time, we hose out a category of bugs, only to find another emerge, either from increased clarity, or as a result of the previous fixes.</p>
<p>Everyone was getting frustrated. Not the least, yours truly.</p>
<blockquote><p>&#8220;If you can&#8217;t fit the whole picture in your head, something is very wrong&#8221;<br />
- Wise words of colleague</p></blockquote>
<p>It was exactly what I was struggling with. Every morning, I&#8217;d come in, look at the numbers going off, and spend a good amount of time just loading up the entire platform in my tiny brain to play out the scenarios, and form a logical explanation for why they were off.</p>
<p>Every patch we added was an added complexity that could very likely come back and bite us further down the track. Some of the actually did.</p>
<p>We needed to take a different approach.</p>
<p>It turned out, we&#8217;d made a few design decisions earlier on that didn&#8217;t account for one of the &#8220;heavier&#8221; components coming online more recently. Between the complexities of developing that new component and helping it play well with the rest of the platform, we didn&#8217;t have much left behind to even consider revisiting the design of some of the other components.</p>
<p>So we&#8217;re going to take some time to reengage the broader design issues and come up with a more permanent solution. Sure it&#8217;s weeks of sunk cost down the drain, but it is also potentially months of future debugging that we won&#8217;t need to do.</p>
<p>Glad we&#8217;ve come this far. No one could have seen this coming, and it&#8217;s unlikely that we&#8217;d get here by any other way.</p>
<p>So here&#8217;s to a new week, a deep overhaul that settles it once and for all, and moving on to productive work.</p>
]]></content:encoded>
			<wfw:commentRss>http://isaac.su/2012/04/system-overhaul/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

