<?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; HOW TO</title>
	<atom:link href="http://blog.markturansky.com/archives/category/how-to/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>HOWTO:  Sort a Python Dictionary/Map</title>
		<link>http://blog.markturansky.com/archives/130</link>
		<comments>http://blog.markturansky.com/archives/130#comments</comments>
		<pubDate>Mon, 11 May 2009 19:31:32 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/130</guid>
		<description><![CDATA[I use Python all the time for quick little scripting tasks.  There&#8217;s nothing better to slice and dice a file, so I use Python for a lot of reporting tasks.  That usually involves building some kind of data structure in my script that I&#8217;m slicing and dicing from files.
In my work, I have a LOT [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/130/feed</wfw:commentRss>
		<slash:comments>0</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:  Enable debug and JMX ports in your java app</title>
		<link>http://blog.markturansky.com/archives/107</link>
		<comments>http://blog.markturansky.com/archives/107#comments</comments>
		<pubDate>Mon, 15 Sep 2008 21:38:25 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[Engineering]]></category>
		<category><![CDATA[HOW TO]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/107</guid>
		<description><![CDATA[Ever have a stuck or deadlocked thread in a production application? Use JMX to inspect what&#8217;s going on inside your JVM, which includes thread views.  It&#8217;ll show you which threads are running, waiting, or blocked and where in the stacktrace they currently are.  I&#8217;ve used this information to find blocked threads in strange places.  JMX [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/107/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design Patterns Quick Reference Cards</title>
		<link>http://blog.markturansky.com/archives/91</link>
		<comments>http://blog.markturansky.com/archives/91#comments</comments>
		<pubDate>Mon, 16 Jun 2008 13:26:51 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Misc.]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/91</guid>
		<description><![CDATA[Jason McDonald&#8217;s printable design pattern reference cards were printed by DZone as part of their &#8220;RefCardz&#8221; iniative.
You can find Jason&#8217;s cards here and you can find other useful design patterns stuff here.
]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/91/feed</wfw:commentRss>
		<slash:comments>0</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: Download &amp; sort pictures from your camera using Python</title>
		<link>http://blog.markturansky.com/archives/20</link>
		<comments>http://blog.markturansky.com/archives/20#comments</comments>
		<pubDate>Sat, 19 Jan 2008 02:35:11 +0000</pubDate>
		<dc:creator>Mark Turansky</dc:creator>
				<category><![CDATA[HOW TO]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.markturansky.com/archives/20</guid>
		<description><![CDATA[I&#8217;ve got tens of thousands of photos.  When I last checked, the size on disk was over 25gb.  And why not?  Film is free!
How do I keep track of them all?
First, there&#8217;s Picasa from Google.  It&#8217;s awesome.  It&#8217;s the iTunes of photos.
Second, there&#8217;s a little Python script I called &#8220;DownloadPhotosFromCameraAndSort.py&#8221; [...]]]></description>
		<wfw:commentRss>http://blog.markturansky.com/archives/20/feed</wfw:commentRss>
		<slash:comments>1</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>
	</channel>
</rss>
