<?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>Mind Inscription</title>
	<atom:link href="http://mindinscription.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://mindinscription.net</link>
	<description>engrave inspiration on the web</description>
	<lastBuildDate>Tue, 26 Jul 2011 03:15:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>The Othello project revived from the ashes</title>
		<link>http://mindinscription.net/the-othello-project-revived-from-the-ashes/</link>
		<comments>http://mindinscription.net/the-othello-project-revived-from-the-ashes/#comments</comments>
		<pubDate>Sun, 12 Dec 2010 08:14:01 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[dev experience]]></category>
		<category><![CDATA[Othello]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=324</guid>
		<description><![CDATA[I have had a wonderful chat with my friend Frank Wu, who is also interested in my idea of making a better Othello game online. We are busy with other activities but this time we will make sure our commitment to this project will eventually lead to a success. I&#8217;ve already purchased a Ubuntu 10.04 [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I have had a wonderful chat with my friend Frank Wu, who is also interested in my idea of making a better Othello game online. We are busy with other activities but this time we will make sure our commitment to this project will eventually lead to a success.</p>
<p>I&#8217;ve already purchased a Ubuntu 10.04 LTS server from Linode&#8217;s VPS hosting, and installed most of the basic stuff for this project like apache, php, mysql and svn. But before any code can be entered, a lot of prerequisites need to be met, including but not limited to:</p>
<p>- setup post commit hook so that web content could automatically be synced with the header version of svn repository.</p>
<p>- enable OpenID as an Apache mod</p>
<p>- enable mod_ssl to support Secure Socket Layer for form based authentication</p>
<p>- continue on the configuration for Apache, PHP and MySQL security</p>
<p>A lot of useful Linux tips really have helped me a lot, I will summarize them in later posts shortly.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/simple-demo-to-illustrate-the-webpage-evolution/" rel="bookmark" class="crp_title">Simple demo to illustrate the webpage evolution</a></li><li><a href="http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/" rel="bookmark" class="crp_title">A geeky way to delete all emails from inbox&#8230;</a></li><li><a href="http://mindinscription.net/bufferoverrun-iteration-0-minimal-design-up-front/" rel="bookmark" class="crp_title">BufferOverrun &#8211; Iteration 0 &#8211; minimal design up front</a></li><li><a href="http://mindinscription.net/in-the-eyes-of-a-cyni/" rel="bookmark" class="crp_title">In the eyes of a cynic&#8230;</a></li><li><a href="http://mindinscription.net/how-to-use-google-operators-to-get-precise-search-results/" rel="bookmark" class="crp_title">How to use Google operators to get precise search results?</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/the-othello-project-revived-from-the-ashes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A geeky way to delete all emails from inbox&#8230;</title>
		<link>http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/</link>
		<comments>http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 13:08:23 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[sarcasm]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=312</guid>
		<description><![CDATA[I swear this is a true story just happened to me. I&#8217;ve got a web hosting company for the site you are looking at right now, and so far, so good. But I didn&#8217;t notice until one hour ago that I&#8217;ve got a number of test email accounts for my site. And the fact is, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I swear this is a true story just happened to me.</p>
<p>I&#8217;ve got a web hosting company for the site you are looking at right now, and so far, so good. But I didn&#8217;t notice until one hour ago that I&#8217;ve got a number of test email accounts for my site. And the fact is, now I am having 2400 emails in my inbox wait to be <del datetime="2010-11-24T12:37:05+00:00">read</del> deleted.</p>
<p>I asked myself the question &#8220;how could I do that?&#8221;, which led me to think about SSH for remote access to server, the magical unix command line interface, the security for file system if emails are kept as plain text on server, or the MySQL database for email storage&#8230; the list went on and on&#8230; and after all this I found I didn&#8217;t have a clue.</p>
<p><a href="http://mindinscription.net/wp-content/uploads/2010/11/before.png"><img src="http://mindinscription.net/wp-content/uploads/2010/11/before-300x172.png" alt="" title="before" width="300" height="172" class="aligncenter size-medium wp-image-314" /></a></p>
<p>So I raised a <del datetime="2010-11-24T12:37:05+00:00">PMR</del> ticket to ask for help from support and got a quick response saying: &#8220;just try to delete your email accounts and then create them again, this will work.&#8221;</p>
<p>NO, IT DIDN&#8217;T WORK!</p>
<p>My poor memory can at last got me a hint from previous web development experience that I could delegate to the wonderful Selenium Testing System to try to make a record of the series of actions I&#8217;ve done on a webpage, and then play it again and again&#8230; Not a clever way but at least it works:</p>
<p><a href="http://mindinscription.net/wp-content/uploads/2010/11/selenium.png"><img src="http://mindinscription.net/wp-content/uploads/2010/11/selenium-300x174.png" alt="" title="selenium" width="300" height="174" class="aligncenter size-medium wp-image-316" /></a></p>
<p>But no&#8230; not really, as additional application and code is needed to get the loop part work, which would probably take longer time than just clicking on the inbox&#8217;s &#8220;delete all marked&#8221; button 107 times.</p>
<p>iMacros came to the rescue! I finally got a (dumb) solution by making a marco recording and looping it with iMacros&#8217; built-in control, screenshot :</p>
<p><a href="http://mindinscription.net/wp-content/uploads/2010/11/imacros.png"><img src="http://mindinscription.net/wp-content/uploads/2010/11/imacros-300x186.png" alt="" title="imacros" width="300" height="186" class="aligncenter size-medium wp-image-317" /></a></p>
<p>So&#8230; in the end I did get an empty inbox, but I think there must be a better way than this!<br />
<a href="http://mindinscription.net/wp-content/uploads/2010/11/after.png"><img src="http://mindinscription.net/wp-content/uploads/2010/11/after-300x181.png" alt="" title="after" width="300" height="181" class="aligncenter size-medium wp-image-318" /></a><br />
Also I am afraid I am soon falling into the XKCD category:</p>
<p><img src="http://imgs.xkcd.com/comics/im_an_idiot.png" alt="im_an_idiot" width="580" height="340" /></p>
<p>Randall&#8217;s question got a perfect answer by Ryan Neufeld : osascript -e &#8220;set volume 10&#8243; &#8211;  Jun 11 &#8217;09 at 15:07, but how about mine?</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/bufferoverrun-iteration-0-minimal-design-up-front/" rel="bookmark" class="crp_title">BufferOverrun &#8211; Iteration 0 &#8211; minimal design up front</a></li><li><a href="http://mindinscription.net/note-on-emarket-trading-agent-day3/" rel="bookmark" class="crp_title">Note on eMarket Trading Agent – Day3</a></li><li><a href="http://mindinscription.net/note-on-emarket-trading-agent-day2/" rel="bookmark" class="crp_title">Note on eMarket Trading Agent &#8211; Day2</a></li><li><a href="http://mindinscription.net/uni-broascast-or-spam/" rel="bookmark" class="crp_title">Uni broascast or spam?</a></li><li><a href="http://mindinscription.net/note-on-emarket-trading-agent-day1/" rel="bookmark" class="crp_title">Note on eMarket Trading Agent &#8211; Day1</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uni broascast or spam?</title>
		<link>http://mindinscription.net/uni-broascast-or-spam/</link>
		<comments>http://mindinscription.net/uni-broascast-or-spam/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 09:47:03 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[sarcasm]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=307</guid>
		<description><![CDATA[I&#8217;ve been received email from uni which are so annoying nowadays, simply because: 1. They are definitely NOT related to my IT studies in uni, not even close! If the 2010 national election is a must-talk-about, then at least can you stop those? Student election &#8211; call for nominations I am not applicable anyway, no [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;ve been received email from uni which are so annoying nowadays, simply because:</p>
<p>1. They are definitely NOT related to my IT studies in uni, not even close! If the 2010 national election is a must-talk-about, then at least can you stop those?</p>
<ul>
<li><strong>Student election &#8211; call for nominations </strong> I am not applicable anyway, no known friend is a politician or too ambitious, why am I sent all of those?</li>
<li><strong>Major Problem Survey opens now</strong> You know what? The major problem is not to have too small a collection of data to analyze, it is not taking any action! At least I can hardly see any improvement in the quality of the IT subjects <img src='http://mindinscription.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> . Example, which university will teach students &#8220;frames&#8221; in web programming in 2010?</li>
<li><strong>Kuring-gai</strong>com&#8217;on! you don&#8217;t know which campus I belong to? why sent me this???</li>
<li>and several even more hilarious to be listed here, I am just tired of typing&#8230;</li>
</ul>
<p><strong>The bottom line is, first, I NEVER EVER subscribed to any email list from my uni!!!</p>
<p>What&#8217;s even worse, there is no &#8220;UNSUBSCRIBE&#8221; button in any one of those emails!!!</strong></p>
<p>I reckon these emails as very close to spams, but I am just too gentle to mark them. So, they will be deleted by my gmail filter from now on, anything starts with &#8220;[Broadcast]&#8221; in subject</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/" rel="bookmark" class="crp_title">A geeky way to delete all emails from inbox&#8230;</a></li><li><a href="http://mindinscription.net/note-on-emarket-trading-agent-day2/" rel="bookmark" class="crp_title">Note on eMarket Trading Agent &#8211; Day2</a></li><li><a href="http://mindinscription.net/r-i-p%ef%bc%8cthe-greatest-basketball-coach-of-all-time/" rel="bookmark" class="crp_title">R.I.P，the greatest basketball coach of all time&#8230;</a></li><li><a href="http://mindinscription.net/oracle-11gr2-if-you-find-several-files-are-missing/" rel="bookmark" class="crp_title">Oracle 11gR2, if you find several files are missing&#8230;</a></li><li><a href="http://mindinscription.net/note-on-emarket-trading-agent-day1/" rel="bookmark" class="crp_title">Note on eMarket Trading Agent &#8211; Day1</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/uni-broascast-or-spam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle 11gR2, if you find several files are missing&#8230;</title>
		<link>http://mindinscription.net/oracle-11gr2-if-you-find-several-files-are-missing/</link>
		<comments>http://mindinscription.net/oracle-11gr2-if-you-find-several-files-are-missing/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 05:15:38 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[dev experience]]></category>
		<category><![CDATA[oracle]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=305</guid>
		<description><![CDATA[This means you got the extracted files WRONG. The installer can never get right if the basic files extracted from the two archives are corrupted, can it? The quick and only way to fix this issue is: Step 1: unzip the content of the first archive into a location on file system, say c:\database; Step [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>This means you got the extracted files WRONG. The installer can never get right if the basic files extracted from the two archives are corrupted, can it?</p>
<p>The quick and only way to fix this issue is:</p>
<p>Step 1: unzip the content of the first archive into a location on file system, say c:\database;</p>
<p>Step 2: then unzip the content of the second archive into <strong>somewhere else</strong>. That&#8217;s right, contrast to the words on the Oracle installation page, don&#8217;t extract everything to the same location.</p>
<p>Step 3: finally, copy whatever there are under the stage folder extracted from archive two and paste into the corresponding folder inside c:\database.</p>
<p>The size of a completed database folder should be more than 2GB.</p>
<p>Wish you luck in this, the same process that took me over three days to get it right&#8230;</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/hello-new-world/" rel="bookmark" class="crp_title">Hello new world!</a></li><li><a href="http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/" rel="bookmark" class="crp_title">A geeky way to delete all emails from inbox&#8230;</a></li><li><a href="http://mindinscription.net/simple-demo-to-illustrate-the-webpage-evolution/" rel="bookmark" class="crp_title">Simple demo to illustrate the webpage evolution</a></li><li><a href="http://mindinscription.net/unit-tests-must-be-fair/" rel="bookmark" class="crp_title">Unit Tests must be FAIR</a></li><li><a href="http://mindinscription.net/failure-is-not-the-mother-of-success-reflection-is/" rel="bookmark" class="crp_title">Failure is NOT the mother of success &#8211; reflection is</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/oracle-11gr2-if-you-find-several-files-are-missing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unit Tests must be FAIR</title>
		<link>http://mindinscription.net/unit-tests-must-be-fair/</link>
		<comments>http://mindinscription.net/unit-tests-must-be-fair/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 04:16:30 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[dev experience]]></category>
		<category><![CDATA[Unit Test]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=302</guid>
		<description><![CDATA[The following quoted words from the book Programming Groovy are the best description about the quality of Unit Testing that I&#8217;ve seen so far, might be useful for my support role as well Unit Tests must be FAIR When you write Unit Tests, keep in mind that the tests must be FAIR, that is, Fast, [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>The following quoted words from the book <em>Programming Groovy</em> are the best description about the quality of Unit Testing that I&#8217;ve seen so far, might be useful for my support role as well <img src='http://mindinscription.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<blockquote><p>Unit Tests must be FAIR</p>
<p>When you write Unit Tests, keep in mind that the tests must be FAIR, that is, Fast, Automated, Isolated and Repeatable.</p>
<p>Tests must be fast. As you evolve your code and refactor, you want to quickly get feedback that the code continues to meet your expectations. If the tests are slow, your developers won&#8217;t bother to run them. You want a very quick edit-and-run cycle.</p>
<p>Tests must be automated. Manual testing is tiring, is error prone, and will take your time away from important tasks on which you&#8217;re focusing. Automated tests are like angels on your shoulder &#8212; they watch you quitely as you write code and whisper in your ears(only) if your code violates set expectations. They give you early feedback if your code begins to fall apart. You&#8217;d probably agree that you&#8217;d much rather hear from your computer that your code sucks than from your co-worker. Automated unit tests make your look good and dependable. For example, when you say you&#8217;re done, you know your code works as intended.</p>
<p>Tests must be isolated. When you got 1,031 compilation errors the usual problem was a missed semicolon, right? That was no helpful; there&#8217;s no point in one small error cascading into several reported errors. You want a direct correlation between creeping bug or error and a failed test case. That will help you identify and fix problems quickly rather than being overwhelmed by large failed tests. Isolation will ensure that one test does not leave behind a residual state that may affect another test. It also allows you to run the tests in any order and also to run either all, one, or a select few tests as you desire.</p>
<p>Test must be repeatable. You must able to run the tests a number of times and get deterministic predictable results. The worst kind of test is the one that fails on one run and passes a following run with no change to any code. Threading issues, for example, may bring about some of these issues. As an example, if a test inserts data with unique column numer into database, then a subsequent run of the same test without cleaning up a database will fail. This will not happen, and the test will be repeatable if the test rolls back the transaction. The repeataibility of tests is key to staying in excellent state while you rapidly evolve your application code.</p>
</blockquote>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/bufferoverrun-iteration-0-minimal-design-up-front/" rel="bookmark" class="crp_title">BufferOverrun &#8211; Iteration 0 &#8211; minimal design up front</a></li><li><a href="http://mindinscription.net/in-the-eyes-of-a-cyni/" rel="bookmark" class="crp_title">In the eyes of a cynic&#8230;</a></li><li><a href="http://mindinscription.net/how-to-verify-that-your-site-is-css3-compliant/" rel="bookmark" class="crp_title">How to verify that your site is CSS3 compliant</a></li><li><a href="http://mindinscription.net/a-truly-inspiring-letter-from-jack-kent-cookes-about-success/" rel="bookmark" class="crp_title">A truly inspiring letter from Jack Kent Cookes about Success</a></li><li><a href="http://mindinscription.net/how-to-use-google-operators-to-get-precise-search-results/" rel="bookmark" class="crp_title">How to use Google operators to get precise search results?</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/unit-tests-must-be-fair/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R.I.P，the greatest basketball coach of all time&#8230;</title>
		<link>http://mindinscription.net/r-i-p%ef%bc%8cthe-greatest-basketball-coach-of-all-time/</link>
		<comments>http://mindinscription.net/r-i-p%ef%bc%8cthe-greatest-basketball-coach-of-all-time/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 10:31:03 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[others]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=300</guid>
		<description><![CDATA[I received this shocking news from one of my friends who is a dedicated NBA fan just hours ago. He told me that the most legendary basketball coach of all time &#8211; John Wooden &#8211; was hospitalized yesterday and passed away at the age of 99. To me, John Wooden is a great man for [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I received this shocking news from one of my friends who is a dedicated NBA fan just hours ago. He told me that the most legendary basketball coach of all time &#8211; <a href="http://en.wikipedia.org/wiki/John_Wooden">John Wooden</a> &#8211; was hospitalized yesterday and passed away at the age of 99.</p>
<p>To me, John Wooden is a great man for his wisdom and his way of doing things in the right way, and more importantly, to help others follow the right way of doing things &#8211; which is at the very core of what a coach is.</p>
<p>Some of John Wooden&#8217;s brainy quotations can be found at : <a href="http://www.brainyquote.com/quotes/authors/j/john_wooden.html">John Wooden quotes</a>. However, I reckon the following words are more inspirational, meaningful, and invaluable to everyone :</p>
<p>&#8220;<strong>It is my feeling that real success is not the accumulation of material possessions or the attainment of a position of power or prestige. Rather, it is the peace of mind that is attained only by making the effort to do the best you are capable of doing at any task in which you are engaged. When you embrace this fundamental idea &#8212; that your success is determined not by what others think but rather by what you know in your own heart &#8212; you have the opportunity to make each day of yours a masterpiece.<br />
&#8212;-John Wooden </strong>&#8221;</p>
<p>R.I.P Mr. Wooden. </p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/a-truly-inspiring-letter-from-jack-kent-cookes-about-success/" rel="bookmark" class="crp_title">A truly inspiring letter from Jack Kent Cookes about Success</a></li><li><a href="http://mindinscription.net/uni-broascast-or-spam/" rel="bookmark" class="crp_title">Uni broascast or spam?</a></li><li><a href="http://mindinscription.net/note-on-emarket-trading-agent-day2/" rel="bookmark" class="crp_title">Note on eMarket Trading Agent &#8211; Day2</a></li><li><a href="http://mindinscription.net/hello-new-world/" rel="bookmark" class="crp_title">Hello new world!</a></li><li><a href="http://mindinscription.net/the-othello-project-revived-from-the-ashes/" rel="bookmark" class="crp_title">The Othello project revived from the ashes</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/r-i-p%ef%bc%8cthe-greatest-basketball-coach-of-all-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes in Creating a Sudoku game in Perl</title>
		<link>http://mindinscription.net/notes-in-creating-a-sudoku-game-in-perl/</link>
		<comments>http://mindinscription.net/notes-in-creating-a-sudoku-game-in-perl/#comments</comments>
		<pubDate>Tue, 18 May 2010 07:45:57 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[dev experience]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=294</guid>
		<description><![CDATA[This is the original words from Ryan Chadwick&#8217;s email, as the last challenge for us to practice programming in Perl : Create a script that can create sudoku challenges. This one is tricky and is probably best broken down into several steps. Below is a suggestion but you are free to approach it how you [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>This is the original words from Ryan Chadwick&#8217;s email, as the last challenge for us to practice programming in Perl :</p>
<blockquote><p>Create a script that can create sudoku challenges.<br />
This one is tricky and is probably best broken down into several steps.  Below is a suggestion but you are free to approach it how you like.</p>
<p>    * Create a script that can verify that a given sudoku grid is valid<br />
    * Create a script that can generate a full valid grid<br />
    * Create a script that can take a full valid grid and hide the required squares</p>
<p>Think about how you may best store the grid.  Arrays and associative arrays may be best here.</p></blockquote>
<p>As I am learning Perl from scratch, I would really like to that this challenge and see how far I can go.<br />
I have crafted the first and easiest part &#8211; Create a script that can verify that a given sudoku grid is valid &#8211; more like a hybrid of Java programming style and some ugly-looking syntax from Perl.</p>
<p>You can get the script &#8220;sudoku_validator.pl&#8221; from <a target="_blank" href="http://mindinscription.net/webapp/sudoku/sudoku_validator.zip" >here</a></p>
<p>However, this script is far from perfect. I use just a two-dimensional array inside the script as the target grid to validate; ideally, this script should take a input file, which contains the sudoku grid to validate, and of the format defined as:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">5,1,8,3,6,7,4,2,9<br />
9,4,7,5,2,1,6,3,8<br />
3,6,2,8,9,4,7,5,1<br />
8,3,4,2,1,9,5,7,6<br />
6,7,5,4,8,3,9,1,2<br />
2,9,1,6,7,5,3,8,4<br />
4,5,6,1,3,2,8,9,7<br />
7,2,3,9,4,8,1,6,5<br />
1,8,9,7,5,6,2,4,3</div></td></tr></tbody></table></div>
<p>This way of input is much easier than the standard-in from command line, where people can easily make mistakes and cannot reuse the entered grid.</p>
<p>I might refactor the code in sudoku_validator later. Now I am just too eager to move on to the next two tasks&#8230;</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/" rel="bookmark" class="crp_title">A geeky way to delete all emails from inbox&#8230;</a></li><li><a href="http://mindinscription.net/how-to-verify-that-your-site-is-css3-compliant/" rel="bookmark" class="crp_title">How to verify that your site is CSS3 compliant</a></li><li><a href="http://mindinscription.net/note-on-emarket-trading-agent-reflection/" rel="bookmark" class="crp_title">Note on eMarket trading agent – Reflection</a></li><li><a href="http://mindinscription.net/unit-tests-must-be-fair/" rel="bookmark" class="crp_title">Unit Tests must be FAIR</a></li><li><a href="http://mindinscription.net/simple-demo-to-illustrate-the-webpage-evolution/" rel="bookmark" class="crp_title">Simple demo to illustrate the webpage evolution</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/notes-in-creating-a-sudoku-game-in-perl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Failure is NOT the mother of success &#8211; reflection is</title>
		<link>http://mindinscription.net/failure-is-not-the-mother-of-success-reflection-is/</link>
		<comments>http://mindinscription.net/failure-is-not-the-mother-of-success-reflection-is/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 01:25:54 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[dev experience]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=278</guid>
		<description><![CDATA[I&#8217;ve got a BIG quesiton in one of my job interviews, which was like this: &#8220;How to convince your client that agile software development will work under a relatively low budget while still keep the deliverables in high quality to meet all of the requirements?&#8221; A tough question indeed. Gurus of Software Engineers have been [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I&#8217;ve got a BIG quesiton in one of my job interviews, which was like this: &#8220;How to convince your client that agile software development will work under a relatively low budget while still keep the deliverables in high quality to meet all of the requirements?&#8221;</p>
<p>A tough question indeed. Gurus of Software Engineers have been writing piles of books about it. My brain was full of different ways to address this concern that in the end resulted in a not well formatted answer.</p>
<p>Business people concern the budget the most, on top of everything, anything else. They make a budget on development software not only for resolving some of their problems, but also for getting more in return. If the apporach cannot meet this basic requirement, then it is not acceptable, no matter how good the &#8220;product/service&#8221; will be like in the future.</p>
<p>The image above illustrates the missing point I forgot to add to my presentation. I should have used this visual aid to give the audience a better understanding on how agile software development can help reducing the budget down to an acceptable level.</p>
<p>So if I were to have the chance to do it all over again, I would definitely focus my words on the points mentioned there in the image, emphasizing some of the agile methodologies that will:</p>
<ul>
<li>help client find the &#8220;right solution&#8221; of what&#8217;s to be there, from a vague imagination to a visible picture, so that they know &#8220;why to start&#8221; and &#8220;when to finish&#8221; &#8211; so they can decide how much money to spend;</li>
<li>minimize the initial development cost by avoiding a pinnacle in the first stage;</li>
<li>cope with changing requirements and cost less to keep going, cuz they will inevitably change their minds, sooner or later;</li>
<li>support low cost sustainable development while still keep the working software in high quality during the on-going development</li>
</ul>
<p>And I hope that will convince them more and finally win their trust.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/bufferoverrun-iteration-0-minimal-design-up-front/" rel="bookmark" class="crp_title">BufferOverrun &#8211; Iteration 0 &#8211; minimal design up front</a></li><li><a href="http://mindinscription.net/hello-new-world/" rel="bookmark" class="crp_title">Hello new world!</a></li><li><a href="http://mindinscription.net/simple-demo-to-illustrate-the-webpage-evolution/" rel="bookmark" class="crp_title">Simple demo to illustrate the webpage evolution</a></li><li><a href="http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/" rel="bookmark" class="crp_title">A geeky way to delete all emails from inbox&#8230;</a></li><li><a href="http://mindinscription.net/unit-tests-must-be-fair/" rel="bookmark" class="crp_title">Unit Tests must be FAIR</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/failure-is-not-the-mother-of-success-reflection-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BufferOverrun &#8211; Iteration 0 &#8211; minimal design up front</title>
		<link>http://mindinscription.net/bufferoverrun-iteration-0-minimal-design-up-front/</link>
		<comments>http://mindinscription.net/bufferoverrun-iteration-0-minimal-design-up-front/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 05:11:19 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[BufferOverrun]]></category>
		<category><![CDATA[dev experience]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=260</guid>
		<description><![CDATA[BufferOverrun is the web app I will use to not only track my reading progress, but also collect inspiration from the book and write a review about it. The development of such a small web app will try adopting the best practices of the agile methodologies, including, but not limited to: strict 100% Unit Testing [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>BufferOverrun is the web app I will use to not only track my reading progress, but also collect inspiration from the book and write a review about it.</p>
<p>The development of such a small web app will try adopting the best practices of the agile methodologies, including, but not limited to: </p>
<ul>
<li>strict 100% Unit Testing coverage for business logic implemented by either JavaScript or PHP</li>
<li>Minimal design up front, and minimal effort to meet all requirements</li>
<li>Test-Driven Continuous Development with Incremental Integration</li>
<li>Working software from day 1 till the end of development cycles</li>
<li>Sustainable development with potential to cope with a changing web interface &#038; new feature add-ons</li>
</ul>
<p>And here is the initial design about the iterations of this project:<br />
<a href="http://mindinscription.net/wp-content/uploads/2010/04/iterations.gif"><img src="http://mindinscription.net/wp-content/uploads/2010/04/iterations.gif" alt="iterations" title="iterations" width="266" height="393" class="aligncenter size-full wp-image-262" /></a></p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/failure-is-not-the-mother-of-success-reflection-is/" rel="bookmark" class="crp_title">Failure is NOT the mother of success &#8211; reflection is</a></li><li><a href="http://mindinscription.net/a-geeky-way-to-delete-all-emails-from-inbox/" rel="bookmark" class="crp_title">A geeky way to delete all emails from inbox&#8230;</a></li><li><a href="http://mindinscription.net/hello-new-world/" rel="bookmark" class="crp_title">Hello new world!</a></li><li><a href="http://mindinscription.net/unit-tests-must-be-fair/" rel="bookmark" class="crp_title">Unit Tests must be FAIR</a></li><li><a href="http://mindinscription.net/note-on-emarket-trading-agent-day3/" rel="bookmark" class="crp_title">Note on eMarket Trading Agent – Day3</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/bufferoverrun-iteration-0-minimal-design-up-front/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A truly inspiring letter from Jack Kent Cookes about Success</title>
		<link>http://mindinscription.net/a-truly-inspiring-letter-from-jack-kent-cookes-about-success/</link>
		<comments>http://mindinscription.net/a-truly-inspiring-letter-from-jack-kent-cookes-about-success/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 01:04:34 +0000</pubDate>
		<dc:creator>Chenxi</dc:creator>
				<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://mindinscription.net/?p=238</guid>
		<description><![CDATA[I came across one sports forum and happened to see this thread : Jack Kent Cookes&#8217; letter about success And here is the content, well written and full of inspiration: December 2, 1993 Dear Mr. Crawford Thank you for your pleasant letter of November 27th, which I received today. I regret that I cannot come [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I came across one sports forum and happened to see this thread : <a href="http://crawdaddycove.com/2006/12/21/jack-kent-cookes-letter-to-me-about-success/">Jack Kent Cookes&#8217; letter about success</a></p>
<p>And here is the content, well written and full of inspiration:</p>
<blockquote><p>
December 2, 1993</p>
<p>Dear Mr. Crawford</p>
<p>Thank you for your pleasant letter of November 27th, which I received today. I regret that I cannot come up with an easy, simple recipe for success since I believe there’s not a surefire method of reaching the top. But for starters I believe that humanity is divided into three parts:</p>
<p>a) Those who make things happen, b) Those who watch things happen, and c) Those who don’t know what’s happening.</p>
<p>In the course of my life I’ve run across maxims which seem to relate to success. But don’t forget that success frequently is a state of mind rather than a material pinnacle. So, here are a few of those thoughts I have found helpful:</p>
<p>Glory</p>
<p>Robert Burns: “A man’s reach should exceed his grasp or what’s a heaven for.”</p>
<p>Dizzy Dean: “It ain’t braggin’ if ya done it.”</p>
<p>Courage</p>
<p>John Dryden: “I am a little hurt but I am not slain and I will lay me down for to bleed a while then I’ll rise and fight with you again.”</p>
<p>Luck</p>
<p>Branch Rickey: “Luck is the residue of the design.”</p>
<p>Lord Thomson of Fleet: “Funny thing, the harder I work the luckier I get.”</p>
<p>Eubie Blake: “Be grateful for luck. Pay the thunder no mind – listen to the birds. And don’t hate nobody.”</p>
<p>Louis Pasteur: “Fortune smiles on the man who is prepared.”</p>
<p>Practices vs. Theory</p>
<p>Anonymous: “Some Greeks had been sitting on a wall for over a week theorizing which would fall first, a feather or a pellet of lead of the same weight. A Roman came along, listened a few minutes and said, ‘For God’s sake, drop them and find out’.”</p>
<p>Preparedness</p>
<p>Admiral Horatio Nelson: Said he owed his success to “Being there five minutes ahead of the other chaps.”</p>
<p>Intuition</p>
<p>The Bible: “That which is essential cannot be seen with the eye. Only with the heart can one know it rightly.”</p>
<p>The Future</p>
<p>Shakespeare: “Things without all remedy should be without regard. What’s done is done.”</p>
<p>Determination</p>
<p>Churchill: a) “It’s no use saying, ‘We are doing our best.’ You have got to succeed in doing what is necessary.” b) “Never talk monkey when the organ grinder is in the room.”</p>
<p>Henley: “Out of the night that covers me, Black as the pitch from pole to pole, I thank whatever gods may be, For my unconquerable soul.”</p>
<p>Energy</p>
<p>Anonymous: “Enthusiasm is akin to genius.”</p>
<p>Age</p>
<p>Satchel Paige: “How old would you be if you didn’t know how old you were?” b) “Age is a matter of mind over matter. If you don’t mind, it doesn’t matter.”</p>
<p>All The Rules Rolled Into One</p>
<p>Satchel Paige: a) “Avoid fried meats which angry up the blood.” b) “Avoid running at all times. Don’t look back. Something might be gaining on you.”</p>
<p>Carl Rowan: “Every sickness ain’t death, and every goodbye ain’t gone.”</p>
<p>T.S. Eliot: a) “Humility is the most difficult of all virtues to achieve.” b) “Nothing dies harder than the desire to think well of oneself.”</p>
<p>I can only add that it has always seemed to me that if you want something more than anyone else in the world wants it, and that if you’re willing to exercise the utmost intelligence and industry to get it, it will be yours.</p>
<p>Best wishes for success.</p>
<p>Yours very truly</p>
<p>Jack Kent Cooke (personally signed, with the flair of a king)
</p></blockquote>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://mindinscription.net/r-i-p%ef%bc%8cthe-greatest-basketball-coach-of-all-time/" rel="bookmark" class="crp_title">R.I.P，the greatest basketball coach of all time&#8230;</a></li><li><a href="http://mindinscription.net/unit-tests-must-be-fair/" rel="bookmark" class="crp_title">Unit Tests must be FAIR</a></li><li><a href="http://mindinscription.net/funny-anime-on-mac-vs-pc/" rel="bookmark" class="crp_title">Funny anime on Mac VS PC :)</a></li><li><a href="http://mindinscription.net/hello-new-world/" rel="bookmark" class="crp_title">Hello new world!</a></li><li><a href="http://mindinscription.net/how-to-verify-that-your-site-is-css3-compliant/" rel="bookmark" class="crp_title">How to verify that your site is CSS3 compliant</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://mindinscription.net/a-truly-inspiring-letter-from-jack-kent-cookes-about-success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

