<?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>Grayger &#187; Uncategorized</title>
	<atom:link href="http://www.grayger.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.grayger.com</link>
	<description>In the pursuit of effectiveness</description>
	<lastBuildDate>Fri, 03 Sep 2010 14:52:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[NEW GAME] Conveyor</title>
		<link>http://www.grayger.com/uncategorized/new-game-conveyor/</link>
		<comments>http://www.grayger.com/uncategorized/new-game-conveyor/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 03:45:41 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.grayger.com/?p=503</guid>
		<description><![CDATA[My new game &#8220;Conveyor&#8221; was released at agame.com. The game was translated into more than 12 languages.
Check out Conveyor! 

]]></description>
			<content:encoded><![CDATA[<p>My new game &#8220;Conveyor&#8221; was released at agame.com. The game was translated into more than 12 languages.<br />
<a href="http://www.agame.com/game/conveyor.html">Check out Conveyor!</a> </p>
<p><img src="http://www.grayger.com/gamerep/conveyor/_lv4.png" border="1" alt="lv4" width="175" height="125" /><img src="http://www.grayger.com/gamerep/conveyor/_lv9.png" border="1" alt="lv9" width="175" height="125" /><img src="http://www.grayger.com/gamerep/conveyor/_lv10.png" border="1" alt="lv10" width="175" height="125" /><img src="http://www.grayger.com/gamerep/conveyor/_lv18.png" border="1" alt="lv18" width="175" height="125" /><img src="http://www.grayger.com/gamerep/conveyor/_lv19.png" border="1" alt="lv19" width="175" height="125" /><img src="http://www.grayger.com/gamerep/conveyor/_lv21.png" border="1" alt="lv24" width="175" height="125" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/new-game-conveyor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changes on this site</title>
		<link>http://www.grayger.com/uncategorized/changes-on-this-site/</link>
		<comments>http://www.grayger.com/uncategorized/changes-on-this-site/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 03:14:18 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.grayger.com/?p=451</guid>
		<description><![CDATA[I changed this site a little yesterday.
1. Design
After reading documents of wordpress, I made my own theme for the arcade site. I started my work from cbone theme, and changed CSS, images, etc. and created some page templates. I found making theme is not difficult because the architecture of wordpress is very flexible, and that [...]]]></description>
			<content:encoded><![CDATA[<p>I changed this site a little yesterday.<br />
1. Design<br />
After reading documents of wordpress, I made my own theme for the arcade site. I started my work from <a href="http://www.webdesign-er.com">cbone</a> theme, and changed CSS, images, etc. and created some page templates. I found making theme is not difficult because the architecture of wordpress is very flexible, and that is one of the reason why it is widely spread. I will study theme and plugin architecture more, and change this site little by little. </p>
<p>2. Contents<br />
The new <a href="http://www.grayger.com/games">game page</a> looks similar to (crapy) game portals. While most game portals have categories such as action, sports, puzzle etc., my site has categories: fun, artistic, additing, creative, even undervalued which is for games that are not popular but more attention should be paid to. There is also a category for games developed by me. I created pages for each game by hand. The hassle job includes downloading a zipped game bundle from mochi games, extracting it, and constructing the page. I will automate the job later. </p>
<p>My job is to make games. I don&#8217;t want to put much time on this site. It is for just fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/changes-on-this-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The culture statement of Netflix</title>
		<link>http://www.grayger.com/uncategorized/the-culture-statement-of-netflix/</link>
		<comments>http://www.grayger.com/uncategorized/the-culture-statement-of-netflix/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 15:56:23 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.grayger.com/wp/?p=140</guid>
		<description><![CDATA[As a company gets bigger, heavier process and controls are followed by the growth. Is the phenomenon reasonable? The culture statement of Netflix may break the stereotype.
Culture
View more presentations from Reed Hastings.

]]></description>
			<content:encoded><![CDATA[<p>As a company gets bigger, heavier process and controls are followed by the growth. Is the phenomenon reasonable? The culture statement of Netflix may break the stereotype.</p>
<div style="width:425px;text-align:left" id="__ss_1798664"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/reed2001/culture-1798664" title="Culture">Culture</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=culture9-090801103430-phpapp02&#038;rel=0&#038;stripped_title=culture-1798664" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=culture9-090801103430-phpapp02&#038;rel=0&#038;stripped_title=culture-1798664" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/reed2001">Reed Hastings</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/the-culture-statement-of-netflix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rethinking Goals Of Software Projects</title>
		<link>http://www.grayger.com/uncategorized/115/</link>
		<comments>http://www.grayger.com/uncategorized/115/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 16:05:10 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Software Engineering]]></category>

		<guid isPermaLink="false">http://www.grayger.com/wp/?p=115</guid>
		<description><![CDATA[Tom DeMarco, from his recent article in IEEE Software, says we should rethink the goal of a software project. 
 For the past 40 years, for example, we’ve tortured ourselves over our inability to finish a software project on time and on budget. But as I hinted earlier, this never should have been the supreme [...]]]></description>
			<content:encoded><![CDATA[<p>Tom DeMarco, from his recent <a href="http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf">article in IEEE Software</a>, says we should rethink the goal of a software project. </p>
<blockquote><p> For the past 40 years, for example, we’ve tortured ourselves over our inability to finish a software project on time and on budget. But as I hinted earlier, this never should have been the supreme goal. The more important goal is transformation, creating software that changes the world or that transforms a company or how it does business.</p></blockquote>
<p>Is software engineering, which weights controls over software projects, outdated? Really? The article is too short to strenghten his sensational arguments. However, software developement may become boring and dry as we focus more on a defined process or metrics.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/115/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Donald Knuth&#8217;s view on code reuse</title>
		<link>http://www.grayger.com/uncategorized/donald-knuths-view-on-code-reuse/</link>
		<comments>http://www.grayger.com/uncategorized/donald-knuths-view-on-code-reuse/#comments</comments>
		<pubDate>Thu, 01 May 2008 02:13:40 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Code reuse]]></category>
		<category><![CDATA[Literate Programming]]></category>

		<guid isPermaLink="false">http://www.grayger.com/wp/?p=30</guid>
		<description><![CDATA[Donald Knuth, the advocate of literate programming, gave his opinion on code reuse from an interview by Andrew Binstock
I also must confess to a strong bias against the fashion for reusable code. To me, &#8220;re-editable code&#8221; is much, much better than an untouchable black box or toolkit. I could go on and on about this. [...]]]></description>
			<content:encoded><![CDATA[<p>Donald Knuth, the advocate of literate programming, gave his opinion on code reuse from an <a href="http://www.informit.com/articles/article.aspx?p=1193856">interview</a> by Andrew Binstock</p>
<blockquote><p>I also must confess to a strong bias against the fashion for reusable code. To me, &#8220;re-editable code&#8221; is much, much better than an untouchable black box or toolkit. I could go on and on about this. If you’re totally convinced that reusable code is wonderful, I probably won’t be able to sway you anyway, but you’ll never convince me that reusable code isn’t mostly a menace.</p></blockquote>
<p>In my view, literately programmed code should be visible for every programmer through its evolution, so literate programming doesn&#8217;t cope with OCP well. I guess it is why he prefer &#8220;re-editable&#8221; code to reusable black box code. But I think benefits of information hiding can be sacrificed in no case.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/donald-knuths-view-on-code-reuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My 2007 as a developer</title>
		<link>http://www.grayger.com/uncategorized/my-2007-as-a-developer/</link>
		<comments>http://www.grayger.com/uncategorized/my-2007-as-a-developer/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 13:29:53 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Anthill]]></category>
		<category><![CDATA[Findbugs]]></category>
		<category><![CDATA[JavaRanch]]></category>
		<category><![CDATA[JProfiler]]></category>
		<category><![CDATA[PMD]]></category>
		<category><![CDATA[Pygame]]></category>
		<category><![CDATA[UISpec4J]]></category>

		<guid isPermaLink="false">http://www.grayger.com/wp/?p=26</guid>
		<description><![CDATA[I listed up what I did last year as a developer.

Analysis: One of my research areas during graduate years was software analysis in design phases. Last year, I took a deep interest in code-level analysis, even runtime analysys. PMD and FindBugs were my friends. They are open-source projects and I added some rules (Checking is [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 0in; font-family: Verdana; font-size: 10pt">I listed up what I did last year as a developer.</p>
<ol>
<li>Analysis: One of my research areas during graduate years was software analysis in design phases. Last year, I took a deep interest in code-level analysis, even runtime analysys. PMD and FindBugs were my friends. They are open-source projects and I added some rules (Checking is performed based on pre-defined rules) for my project at company. Performance is our main concern; I investigated our products with JProfiler. I compared Java profilers: JProbe, Yourkit Java Profiler, Eclipse TPTP, and JProfiler. Being friendly with these tools takes longer than expected. IMHO, JProfiler is the winner. To fully understand and utilize Profilers, I studied Java memory model and Java concurrency deeply.</li>
<li>Python again : I met python in 2000, but hadn&#8217;t used it for several years. Last year, I met it again. I made some simple games using <a href="http://www.pygame.org/">pygame</a> library, and made very convinient tools for testing. It generates simulation input data and extract meaningful output from logs and then export them to MS excel or XML files.</li>
<li>PHP: PHP is the only language I newly learned in 2007. I have to use it because my personal project (at home) is on a hosting service that provides only PHP. The project depends on PHP <a href="http://www.php.net/gd">GD</a> library.</li>
<li>Javascript modules: I like YUI. YUI code is my mentor regarding JavaScript. <a href="http://www.prototypejs.org/">Prototype</a> is not bad.</li>
<li>GUI unit test: If somebody argues that GUI is not suitable for automatic test, I can say he/she is wrong. I used <a href="http://www.uispec4j.org/">UISpec4j</a> for Java GUI testing and the result was satisfactory.</li>
<li>Coverage: I compared coverage tools: Clover, JProbe coverage, <a href="http://emma.sourceforge.net">Emma</a>. Clover is better than others, and I used it. Coverge goal in my project is over 90% of line coverage, I could meet the goal with the help of test harness including UISpec4j.</li>
<li>Continuous integration: I constructed continuous intergation environment at company. <a href="http://www.anthillpro.com/html/products/anthillos/default.html">Anthill OS</a> is a open-source CI tool. I changed it to add features such as unit testing/coverage/static analysis reporting intergation.</li>
<li>Books: The 3 books I loved most in 2007 are Effective Java, Java concurrency in practice, Ajax in action.</li>
<li>Community: I joined (or started activities) some developer&#8217;s communities such as JavaRanch, JavaLobby, and Artima. Especially in JavaRanch, there are many gurus I really appreciated. I posted comments and sometimes helped others resolve problems. I started my own <a href="http://www.grayger.com/wp/">blog</a>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/my-2007-as-a-developer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is AOP the only way to do it?</title>
		<link>http://www.grayger.com/uncategorized/is-aop-the-only-way-to-do-it/</link>
		<comments>http://www.grayger.com/uncategorized/is-aop-the-only-way-to-do-it/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 13:20:36 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[AOP]]></category>
		<category><![CDATA[Findbugs]]></category>
		<category><![CDATA[Swing]]></category>

		<guid isPermaLink="false">http://www.grayger.com/wp/?p=24</guid>
		<description><![CDATA[Some criticize AOP for its lack of application area. It is difficult to find useful AOP examples except very limited functions such as logging and transaction. Furthermore AOP is a not unique solution for the specific functions and we have done well without AOP.
Surprisingly, I found an assertion saying that &#8220;AOP is the only way [...]]]></description>
			<content:encoded><![CDATA[<p>Some criticize AOP for its lack of application area. It is difficult to find useful AOP examples except very limited functions such as logging and transaction. Furthermore AOP is a not unique solution for the specific functions and we have done well without AOP.</p>
<p>Surprisingly, I found an assertion saying that &#8220;AOP is the only way to do it&#8221; from <a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-3833&amp;yr=2007&amp;track=2">&#8220;Debugging and Optimizing Swing Applications&#8221;</a> appeared in JavaOne 2007 technical session. If it is true, it is a very good news for AOP evangelists (including me!) who seek really useful AOP applications. Unfortunately, I can say it is not true. The author argues AOP can detect Swing threading violation: Code that affects GUI components should be executed within event-dispatch thread. But A rule <a href="http://findbugs.sourceforge.net/bugDescriptions.html#SW_SWING_METHODS_INVOKED_IN_SWING_THREAD">SW_SWING_METHODS_INVOKED_IN_SWING_THREAD</a> of Findbugs, static Java code analyzer, also can help check the violation. In fact, static checking is more appropriate than dynamic checking for those violation because the violation stems from location of specific code lines.</p>
<p>I really anticipate the day when someone will find a really useful and unique solution that uses AOP for a specific problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/is-aop-the-only-way-to-do-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compatibility in API evolution</title>
		<link>http://www.grayger.com/uncategorized/compatibility-in-api-evolution/</link>
		<comments>http://www.grayger.com/uncategorized/compatibility-in-api-evolution/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 13:49:24 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Compatibility]]></category>

		<guid isPermaLink="false">http://www.grayger.com/wp/?p=22</guid>
		<description><![CDATA[Following compatibilities should be considered in evolution of existing API.

Contract compatibility
Binary compatibility
Source compatibility

The contract compatibility is independent of programming languages, but the binary compatibility and source compatility may not. Designing Eclipse APIs appeared in EclipseCon 2006 provides general compatibility issues with Java examples. It also provides 13 questions on Java binary/source compatibility. It was not [...]]]></description>
			<content:encoded><![CDATA[<p>Following compatibilities should be considered in evolution of existing API.</p>
<ul>
<li>Contract compatibility</li>
<li>Binary compatibility</li>
<li>Source compatibility</li>
</ul>
<p>The contract compatibility is independent of programming languages, but the binary compatibility and source compatility may not. <a href="http://www.eclipsecon.org/2006/Sub.do?id=151">Designing Eclipse APIs</a> appeared in EclipseCon 2006 provides general compatibility issues with Java examples. It also provides 13 questions on Java binary/source compatibility. It was not easy at all for me and I could learn a lot from the material.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/compatibility-in-api-evolution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Folder names not allowed in Windows</title>
		<link>http://www.grayger.com/uncategorized/folder-names-not-allowed-in-windows/</link>
		<comments>http://www.grayger.com/uncategorized/folder-names-not-allowed-in-windows/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 11:59:25 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://grayger.hosting.paran.com/wp/?p=20</guid>
		<description><![CDATA[I happened to know folder name &#8220;con&#8221; is not allowed in Windows.
To test java.util.concurrent, I tried to create &#8220;con&#8221; package in Eclipse, but it failed.
That makes me suspect Eclipse. After a while, I found the reason from JavaRanch.
]]></description>
			<content:encoded><![CDATA[<p>I happened to know folder name &#8220;con&#8221; is not allowed in Windows.</p>
<p>To test java.util.concurrent, I tried to create &#8220;con&#8221; package in Eclipse, but it failed.<br />
That makes me suspect Eclipse. After a while, I found the reason from <a href="http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&amp;f=59&amp;t=000423">JavaRanch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/folder-names-not-allowed-in-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generators in Python</title>
		<link>http://www.grayger.com/uncategorized/generators-in-python/</link>
		<comments>http://www.grayger.com/uncategorized/generators-in-python/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 02:10:00 +0000</pubDate>
		<dc:creator>grayger</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Generator]]></category>

		<guid isPermaLink="false">http://grayger.hosting.paran.com/wordpress/?p=15</guid>
		<description><![CDATA[Even though I have used Python many times to implement my own game idea, I haven&#8217;t reconized generator until today.
I am a little surprised at the lazy evaluation technique because it doesn&#8217;t exist in Java world.
]]></description>
			<content:encoded><![CDATA[<p>Even though I have used Python many times to implement my own game idea, I haven&#8217;t reconized <a href="http://en.wikipedia.org/wiki/Python_syntax_and_semantics#Generators">generator</a> until today.<br />
I am a little surprised at the <a href="http://en.wikipedia.org/wiki/Lazy_evaluation">lazy evaluation</a> technique because it doesn&#8217;t exist in Java world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.grayger.com/uncategorized/generators-in-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
