<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Deutsche Mind</title>
	<atom:link href="http://deutschemind.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://deutschemind.wordpress.com</link>
	<description>Software and everything else</description>
	<lastBuildDate>Wed, 23 Jan 2008 03:37:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='deutschemind.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Deutsche Mind</title>
		<link>http://deutschemind.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://deutschemind.wordpress.com/osd.xml" title="Deutsche Mind" />
	<atom:link rel='hub' href='http://deutschemind.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Which kind of stuff every programmer should do</title>
		<link>http://deutschemind.wordpress.com/2008/01/23/which-kind-of-stuff-every-programmer-should-do/</link>
		<comments>http://deutschemind.wordpress.com/2008/01/23/which-kind-of-stuff-every-programmer-should-do/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 03:36:41 +0000</pubDate>
		<dc:creator>hpschwartzenberg</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://deutschemind.wordpress.com/2008/01/23/which-kind-of-stuff-every-programmer-should-do/</guid>
		<description><![CDATA[I think every programmer should: - write a language and a compiler for it He had to study a bunch of language concepts, automata theory, syntax and features trade-offs, etc. - write a game He would gain a good AI notion, multithread programming, really interactiveness, performance skills. - write an OS He would face low [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deutschemind.wordpress.com&amp;blog=2412217&amp;post=5&amp;subd=deutschemind&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I think every programmer should:</p>
<p>- write a language and a compiler for it</p>
<p>He had to study a bunch of language concepts, automata theory, syntax  and features trade-offs, etc.</p>
<p>- write a game</p>
<p>He would gain a good AI notion, multithread programming, really interactiveness, performance skills.</p>
<p>- write an OS</p>
<p>He would face low level programming, concurrency,  scheduling, memory management, hardware interface.</p>
<p>- write a DBMS</p>
<p>Data structure and algorithms, SQL parsing, optimizing, caching strategies.</p>
<p>Each of them using a distinct language from different paradigms. Of course your software has not to be new Ruby, Linux, Oracle or Half Life. But it really has to be serious. You have to build the best software you can and improve it everyday as an exercise. Though, your regular job is gonna be a bit easier.</p>
<p>And you, what&#8217;s your suggestion?</p>
<p>No, I had never write any of them yet. Yeap, it&#8217;s a shame. But I am going to start it this year.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deutschemind.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deutschemind.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deutschemind.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deutschemind.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deutschemind.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deutschemind.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deutschemind.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deutschemind.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deutschemind.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deutschemind.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deutschemind.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deutschemind.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deutschemind.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deutschemind.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deutschemind.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deutschemind.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deutschemind.wordpress.com&amp;blog=2412217&amp;post=5&amp;subd=deutschemind&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deutschemind.wordpress.com/2008/01/23/which-kind-of-stuff-every-programmer-should-do/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8c3107ce49d438c2057b28f96259acf8?s=96&#38;d=identicon" medium="image">
			<media:title type="html">hpschwartzenberg</media:title>
		</media:content>
	</item>
		<item>
		<title>Fluent interfaces</title>
		<link>http://deutschemind.wordpress.com/2007/12/30/fluent-interfaces/</link>
		<comments>http://deutschemind.wordpress.com/2007/12/30/fluent-interfaces/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 17:35:33 +0000</pubDate>
		<dc:creator>hpschwartzenberg</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://deutschemind.wordpress.com/2007/12/30/fluent-interfaces/</guid>
		<description><![CDATA[At a recent project, we need to write code for extract some data from another system. Data come like a fixed-length text file. It&#8217;s not a file at all but for sake of simplicity let it be. It&#8217;s not a new problem to be solved. Alias, since more than ten years ago at same company [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deutschemind.wordpress.com&amp;blog=2412217&amp;post=4&amp;subd=deutschemind&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>At a recent project, we need to write code for extract some data from another system. Data come like a fixed-length text file. It&#8217;s not a file at all but for sake of simplicity let it be. It&#8217;s not a new problem to be solved. Alias, since more than ten years ago at same company programmers have to deal with few hundreds of different file formats everyday. They are used to do it this way:</p>
<p><pre class="brush: java;">

...

Customer c = new Customer();

c.setName = outputString.substring(10,70);

c.setAge = Integer.parseInt(outputString.substring(80,82));

...

</pre><br />
Some fields need to be trimmed. Some need to be formatted, like a date for example. So, it&#8217;s not hard to guess how many code has been repeated. And come on, it&#8217;s not human-friendly put a lot of x.substring in all the code.Then, I wrote this way:</p>
<p>Definition File Example</p>
<p><pre class="brush: java;">

...

output()

.field(&quot;name&quot;,60)

.field(&quot;age&quot;, 2).integer().valid(new RangeValidator(18,65))

.field(&quot;customer_since&quot;, 8).date()

.field(&quot;tags&quot;,30).occurs(10)

;

...

</pre><br />
Of course,<br />
<pre class="brush: java;">

...

.field(&quot;age&quot;, 2).integer().valid(new RangeValidator(18,65))

...

</pre><br />
can be more fluent:<br />
<pre class="brush: java;">

...

.field(&quot;age&quot;, 2).integer().valid().range(18,65)

...

</pre><br />
But it requires change in API at each new validator. It&#8217;s a trade-off. At a range, for example, I prefer second way. In case of MyJustOnceUsedFancyValidator, I prefer first one. My API has both cases.Once it was defined, you could invoke that and get a Map:</p>
<p><pre class="brush: java;">

...

Map output = myDefs.connect(inputparams);

Customer c = new Customer();

c.setName((String)output.get(&quot;name&quot;)); //No, we don't have JDK5

c.setCustomerSince((LocalDate)output.get(&quot;customer_since&quot;));

c.setAge(Integer.parseInt((String)output.get(&quot;age&quot;)));

...

</pre><br />
Now, definitions are separated from client code. Extracting code are isolated too. This code need to be wrote just once. Client don&#8217;t know what is going behind the scenes. It sees just a Map. Abstraction was improved. Code is now a bit more human-friendly.Better?</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deutschemind.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deutschemind.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deutschemind.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deutschemind.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deutschemind.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deutschemind.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deutschemind.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deutschemind.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deutschemind.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deutschemind.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deutschemind.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deutschemind.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deutschemind.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deutschemind.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deutschemind.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deutschemind.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deutschemind.wordpress.com&amp;blog=2412217&amp;post=4&amp;subd=deutschemind&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deutschemind.wordpress.com/2007/12/30/fluent-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8c3107ce49d438c2057b28f96259acf8?s=96&#38;d=identicon" medium="image">
			<media:title type="html">hpschwartzenberg</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello World!</title>
		<link>http://deutschemind.wordpress.com/2007/12/30/hello-world/</link>
		<comments>http://deutschemind.wordpress.com/2007/12/30/hello-world/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 05:28:13 +0000</pubDate>
		<dc:creator>hpschwartzenberg</dc:creator>
				<category><![CDATA[Unknown]]></category>

		<guid isPermaLink="false">http://deutschemind.wordpress.com/2007/12/30/hello-world/</guid>
		<description><![CDATA[This is my hello world to blogosphere. I will write my thoughts about software and everything else just here. I always want to know your opinion about. So, I will be glad for that. And, as English is not my first language, grammars tips are welcome too. Then, let’s blog.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deutschemind.wordpress.com&amp;blog=2412217&amp;post=3&amp;subd=deutschemind&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This is my hello world to blogosphere. I will write my thoughts about software and everything else just here. I always want to know your opinion about. So, I will be glad for that. And, as English is not my first language, grammars tips are welcome too. Then, let’s blog. <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deutschemind.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deutschemind.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deutschemind.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deutschemind.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deutschemind.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deutschemind.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deutschemind.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deutschemind.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deutschemind.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deutschemind.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deutschemind.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deutschemind.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deutschemind.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deutschemind.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deutschemind.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deutschemind.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deutschemind.wordpress.com&amp;blog=2412217&amp;post=3&amp;subd=deutschemind&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deutschemind.wordpress.com/2007/12/30/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8c3107ce49d438c2057b28f96259acf8?s=96&#38;d=identicon" medium="image">
			<media:title type="html">hpschwartzenberg</media:title>
		</media:content>
	</item>
	</channel>
</rss>
