<?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>Mark Gregory Turansky &#187; Code Hints</title>
	<atom:link href="http://blog.markturansky.com/archives/category/code-hints/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.markturansky.com</link>
	<description>software architecture &#38; engineering, code hints, sometimes philosophy, photography, life, etc.</description>
	<lastBuildDate>Mon, 29 Mar 2010 15:39:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Use a classpath resource or kill your application&#8217;s portability</title>
		<link>http://blog.markturansky.com/archives/141</link>
		<comments>http://blog.markturansky.com/archives/141#comments</comments>
		<pubDate>Fri, 10 Jul 2009 17:57:02 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[HOW TO]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/141</guid>
		<description><![CDATA[Here is the secret way to kill your application&#8217;s portability &#8212; and by portable, I mean across different computers, let alone operating systems:  Hardcode all your paths.
That&#8217;s it.  That very quickly kills portability.  It&#8217;s easy to accomplish, too.  Simply refer to all your configuration files, for example, by fully qualified pathname, like this:

System.setProperty("com.yourcorp.refdata.config.filename",
    [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/141/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Truth About Code Generation</title>
		<link>http://blog.markturansky.com/archives/133</link>
		<comments>http://blog.markturansky.com/archives/133#comments</comments>
		<pubDate>Sat, 16 May 2009 10:50:05 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/133</guid>
		<description><![CDATA[Code generation done right can be a very effective and highly useful tool in your toolbox.  Done wrong it could be a maintenance nightmare.  This article reflects on different types of code generation, when to use each of them, and explains some pitfalls to avoid.
WHAT CODE GENERATION ISN&#8217;T:  A SILVER BULLET

Before we explore what code [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/133/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Be mindful of Collection.contains(obj)</title>
		<link>http://blog.markturansky.com/archives/129</link>
		<comments>http://blog.markturansky.com/archives/129#comments</comments>
		<pubDate>Fri, 08 May 2009 19:35:50 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Performance]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/129</guid>
		<description><![CDATA[Summary
All Collection.contains(obj) methods are not the same!
This article is a real world case study of the Big O differences between various implementations of Java&#8217;s Collection interface.   I found and fixed a grievous O(n^2) algorithm by using the right data structure.
Background
I was asked to investigate why some pages in our web application would save session data [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/129/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HOW TO:  Use mini-batching to improve grid performance</title>
		<link>http://blog.markturansky.com/archives/97</link>
		<comments>http://blog.markturansky.com/archives/97#comments</comments>
		<pubDate>Fri, 25 Jul 2008 20:20:35 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[Engineering]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/97</guid>
		<description><![CDATA[We achieved a 3.5X increase in throughput by implementing &#8220;mini-batching&#8221; in our grid-enabled jobs.
We have a parent BatchService that creates child Services where each individual Service is a unit of work.  A Service implementation might perform some calculation for a single employee of a large employer group.  When the individual Services are very fast and [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/97/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HOW TO:  Use JDBC Batching for 7-8X throughput gains</title>
		<link>http://blog.markturansky.com/archives/87</link>
		<comments>http://blog.markturansky.com/archives/87#comments</comments>
		<pubDate>Tue, 03 Jun 2008 13:49:27 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[HOW TO]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/87</guid>
		<description><![CDATA[Using the batched statement capability of your JDBC driver can give you 7-8X throughput gains.  Not only is batching significantly faster, it&#8217;ll save database CPU cycles and be easier on the network, too.
The graph below shows elapsed time (in milliseconds) by batch size.  For each data point, 1K rows were inserted into a [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/87/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8220;Don&#8217;t Make Me Think&#8221; applies to your code, too</title>
		<link>http://blog.markturansky.com/archives/70</link>
		<comments>http://blog.markturansky.com/archives/70#comments</comments>
		<pubDate>Fri, 28 Mar 2008 03:35:03 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[HOW TO]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/70</guid>
		<description><![CDATA[Don&#8217;t make me think.  That&#8217;s how I feel about your code.
Or as Martin Fowler puts it:
&#8220;Any fool can write code that a computer can understand. Good programmers write code that humans can understand.&#8221;  -Martin Fowler, Refactoring: Improving the Design of Existing Code
You&#8217;ve reached a whole new level of mastery when you write for [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/70/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HOW TO: Better JavaScript Templates</title>
		<link>http://blog.markturansky.com/archives/47</link>
		<comments>http://blog.markturansky.com/archives/47#comments</comments>
		<pubDate>Wed, 05 Mar 2008 18:35:05 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/47</guid>
		<description><![CDATA[JavaScript Templates (Jst) is a pure Javascript templating engine that runs in your browser using JSP-like syntax. If that doesn&#8217;t sound familiar, check out the live working example on this site and download the code.  It&#8217;s Free Open Source Software.
Better JavaScript Templates
]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/47/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>HOW TO:  Bootstrap Java programs in isolated classloaders</title>
		<link>http://blog.markturansky.com/archives/21</link>
		<comments>http://blog.markturansky.com/archives/21#comments</comments>
		<pubDate>Fri, 11 Jan 2008 17:45:44 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[bootstrapping]]></category>
		<category><![CDATA[how to write a bootstrap class]]></category>
		<category><![CDATA[isolated classloaders]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/21</guid>
		<description><![CDATA[Bootstrapping is the process by which you load a very small and very simple pure java program with no dependencies that, in turn, loads, configures, and runs more complex programs with varying dependencies.  Bootstrapping lets you run your container without polluting the system classpath.  This allows you to run your deployed applications with [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/21/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Horses for courses</title>
		<link>http://blog.markturansky.com/archives/12</link>
		<comments>http://blog.markturansky.com/archives/12#comments</comments>
		<pubDate>Sun, 09 Dec 2007 20:55:24 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Code Hints]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[horses for courses]]></category>
		<category><![CDATA[occam's razor]]></category>
		<category><![CDATA[pick the right tool for the job]]></category>
		<category><![CDATA[python site monitoring]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/?p=12</guid>
		<description><![CDATA[Pick the right tool for the job.  It can save you a lot of time and effort.  This article explains how I replaced dozens of Java class files, an XSD, myriad library dependencies, a build script and a whole lot of complexity with 40 lines of Python.
A friend of mine recently bemoaned my use of [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/12/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
