<?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>betörend &#187; programming</title>
	<atom:link href="http://betoerend.hopit.de/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://betoerend.hopit.de</link>
	<description>fabian&#039;s blog about everything</description>
	<lastBuildDate>Mon, 30 Jan 2012 18:43:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://betoerend.hopit.de/?pushpress=hub'/>
		<item>
		<title>Exploding Software-Engineering Myths</title>
		<link>http://betoerend.hopit.de/2010/10/06/exploding-software-engineering-myths/</link>
		<comments>http://betoerend.hopit.de/2010/10/06/exploding-software-engineering-myths/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 08:46:20 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=3093</guid>
		<description><![CDATA[Interesting article about some myths and facts of software engeneering: What is the correlation between code coverage and bugs? Does TDD help to eliminate bugs?
Organizational metrics, which are not related to the code, can predict software failure-proneness with a precision and recall of 85 percent. This is a significantly higher precision than traditional metrics such [...]]]></description>
			<content:encoded><![CDATA[<p>Interesting article about some myths and facts of software engeneering: What is the correlation between code coverage and bugs? Does TDD help to eliminate bugs?</p>
<blockquote><p>Organizational metrics, which are not related to the code, can predict software failure-proneness with a precision and recall of 85 percent. This is a significantly higher precision than traditional metrics such as churn, complexity, or coverage that have been used until now to predict failure-proneness. This was probably the most surprising outcome of all the studies.</p></blockquote>
<p><a href="http://research.microsoft.com/en-us/news/features/nagappan-100609.aspx" target="_blank">Exploding Software-Engineering Myths</a></p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2010/10/06/exploding-software-engineering-myths/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nieder mit IT! #Pigor</title>
		<link>http://betoerend.hopit.de/2010/07/10/nieder-mit-it-pigor/</link>
		<comments>http://betoerend.hopit.de/2010/07/10/nieder-mit-it-pigor/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 13:09:48 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2990</guid>
		<description><![CDATA[Click here to view the embedded video.
Pigors Abrechnung mit der IT. Sehr hübsch. Und er hat in allen Punkten Recht&#8230;
]]></description>
			<content:encoded><![CDATA[<p><a href="http://betoerend.hopit.de/2010/07/10/nieder-mit-it-pigor/"><em>Click here to view the embedded video.</em></a></p>
<p>Pigors Abrechnung mit der IT. Sehr hübsch. Und er hat in allen Punkten Recht&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2010/07/10/nieder-mit-it-pigor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daniel Pink  The surprising truth about what motivates us</title>
		<link>http://betoerend.hopit.de/2010/07/01/daniel-pink-%e2%80%93-the-surprising-truth-about-what-motivates-us/</link>
		<comments>http://betoerend.hopit.de/2010/07/01/daniel-pink-%e2%80%93-the-surprising-truth-about-what-motivates-us/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 20:52:27 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[society]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2935</guid>
		<description><![CDATA[An inspiring talk about our motivation at work &#8211; visualized with great animation.
Click here to view the embedded video.
Thanks to haha.nu!
]]></description>
			<content:encoded><![CDATA[<p>An inspiring talk about our motivation at work &#8211; visualized with great animation.</p>
<p><a href="http://betoerend.hopit.de/2010/07/01/daniel-pink-%e2%80%93-the-surprising-truth-about-what-motivates-us/"><em>Click here to view the embedded video.</em></a></p>
<p>Thanks to <a href="http://haha.nu/" target="_blank">haha.nu</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2010/07/01/daniel-pink-%e2%80%93-the-surprising-truth-about-what-motivates-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pixels: Short film by Patrick Jean for all fans of 8-bit games</title>
		<link>http://betoerend.hopit.de/2010/04/09/pixels-short-film-by-patrick-jean-for-all-fans-of-8-bit-games/</link>
		<comments>http://betoerend.hopit.de/2010/04/09/pixels-short-film-by-patrick-jean-for-all-fans-of-8-bit-games/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 16:38:20 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2740</guid>
		<description><![CDATA[Click here to view the embedded video.
New York invasion by 8-bits creatures, by Patrick Jean. Nice. Feels a little strange after 9/11, though.
Thanks to Nic for the link.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://betoerend.hopit.de/2010/04/09/pixels-short-film-by-patrick-jean-for-all-fans-of-8-bit-games/"><em>Click here to view the embedded video.</em></a></p>
<p>New York invasion by 8-bits creatures, by Patrick Jean. Nice. Feels a little strange after 9/11, though.</p>
<p>Thanks to Nic for the link.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2010/04/09/pixels-short-film-by-patrick-jean-for-all-fans-of-8-bit-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Who broke the build? #flexgangsta</title>
		<link>http://betoerend.hopit.de/2010/04/07/who-broke-the-build-flexgangsta/</link>
		<comments>http://betoerend.hopit.de/2010/04/07/who-broke-the-build-flexgangsta/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 08:15:34 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2728</guid>
		<description><![CDATA[Mal was für die Nerds im Publikum.
Click here to view the embedded video.
Danke an Björn von der JUGHH.
]]></description>
			<content:encoded><![CDATA[<p>Mal was für die Nerds im Publikum.</p>
<p><a href="http://betoerend.hopit.de/2010/04/07/who-broke-the-build-flexgangsta/"><em>Click here to view the embedded video.</em></a></p>
<p>Danke an Björn von der JUGHH.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2010/04/07/who-broke-the-build-flexgangsta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comic: XKCD</title>
		<link>http://betoerend.hopit.de/2010/02/26/comic-xkcd/</link>
		<comments>http://betoerend.hopit.de/2010/02/26/comic-xkcd/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 17:17:02 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comic]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2576</guid>
		<description><![CDATA[Made me laugh: XKCD is a funny stick man comic for all them nerds out there. If you like Dilbert, then go and check it out.
]]></description>
			<content:encoded><![CDATA[<p>Made me laugh: <a href="http://www.xkcd.com/" target="_blank">XKCD</a> is a funny stick man comic for all them nerds out there. If you like Dilbert, then go and check it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2010/02/26/comic-xkcd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usability gone wrong</title>
		<link>http://betoerend.hopit.de/2010/02/05/usability-gone-wrong/</link>
		<comments>http://betoerend.hopit.de/2010/02/05/usability-gone-wrong/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 17:31:29 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2561</guid>
		<description><![CDATA[Dear wanderer, is it the price above the item or the price below? Choose wisely&#8230;

]]></description>
			<content:encoded><![CDATA[<p>Dear wanderer, is it the price above the item or the price below? Choose wisely&#8230;</p>
<p><a rel="attachment wp-att-2562" href="http://betoerend.hopit.de/2010/02/05/usability-gone-wrong/aldi/"><img class="aligncenter size-full wp-image-2562" title="aldi" src="http://betoerend.hopit.de/files/2010/02/aldi.jpg" alt="" width="463" height="501" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2010/02/05/usability-gone-wrong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sec-C</title>
		<link>http://betoerend.hopit.de/2010/01/03/sec-c/</link>
		<comments>http://betoerend.hopit.de/2010/01/03/sec-c/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 13:49:42 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2478</guid>
		<description><![CDATA[Secure Computing (Sec-C) is an interesting blog about computing and security. It got pretty much attention for its image analysis of a photoshopped advertisement.
The postings have a wide range, including airplane security, website security, photoshop and advertisments.
Don&#8217;t believe what you see, kids.
Click here to view the embedded video.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hackerfactor.com/blog/" target="_blank">Secure Computing</a> (Sec-C) is an interesting blog about computing and security. It got pretty much attention for its image analysis of a <a href="http://www.hackerfactor.com/blog/index.php?/archives/322-Body-By-Victoria.html" target="_blank">photoshopped advertisement</a>.</p>
<p>The postings have a wide range, including airplane security, website security, photoshop and advertisments.</p>
<p>Don&#8217;t believe what you see, kids.<br />
<p><a href="http://betoerend.hopit.de/2010/01/03/sec-c/"><em>Click here to view the embedded video.</em></a></p></p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2010/01/03/sec-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The color red is beauty</title>
		<link>http://betoerend.hopit.de/2009/12/19/the-color-red-is-beauty/</link>
		<comments>http://betoerend.hopit.de/2009/12/19/the-color-red-is-beauty/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 13:59:40 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2423</guid>
		<description><![CDATA[The color red is associated with lust, passion, love, and beauty as well.

My new 11,6&#8221; Netbook/Subnotebook (Acer Aspire Timeline 1810TZ) with matching sleeve (Crumpler) and matching DVD-Rom-Drive (Samsung SE-S084C) and matching pomegranat. 
]]></description>
			<content:encoded><![CDATA[<p>The color red is associated with lust, passion, love, and beauty as well.</p>
<p><img class="aligncenter size-full wp-image-2424" title="DSC_5961" src="http://betoerend.hopit.de/files/2009/12/DSC_5961.jpg" alt="DSC_5961" width="368" height="488" /></p>
<p>My new 11,6&#8221; Netbook/Subnotebook (Acer Aspire Timeline 1810TZ) with matching sleeve (Crumpler) and matching DVD-Rom-Drive (Samsung SE-S084C) and matching <span>pomegranat. </span></p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/12/19/the-color-red-is-beauty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pfandautomaten</title>
		<link>http://betoerend.hopit.de/2009/10/01/pfandautomaten/</link>
		<comments>http://betoerend.hopit.de/2009/10/01/pfandautomaten/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 17:45:08 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=2077</guid>
		<description><![CDATA[Jedes Mal, wenn ich meine große Tüte mit Pfandflaschen zum Supermarkt trage, nehme ich mir vor mich nicht aufzuregen. Aber irgendwie&#8230; ist es immer so: Der eine Automat ist kaputt. Direkt bevor ich dran bist, ist der andere auch voll. Die Mitarbeiterin kommt, hat nicht so richtig Lust auf Arbeit und stellt den fast vollen [...]]]></description>
			<content:encoded><![CDATA[<p>Jedes Mal, wenn ich meine große Tüte mit Pfandflaschen zum Supermarkt trage, nehme ich mir vor mich nicht aufzuregen. Aber irgendwie&#8230; ist es immer so: Der eine Automat ist kaputt. Direkt bevor ich dran bist, ist der andere auch voll. Die Mitarbeiterin kommt, hat nicht so richtig Lust auf Arbeit und stellt den fast vollen Behälter des kaputten Automaten in den vollen Automaten. Es kommt, wie es kommen muss: Kurz vor Schluss ist dieser Container dann auch voll. Drei Flaschen habe ich noch, die sie an der Kasse natürlich nicht unbürokratisch annehmen können. Und drei Dosen, die aus irgendwelchen Gründen zwischen dem Penny-Pfand waren. Immerhin musste ich heute nicht jede Flasche dreimal in den Automat stecken.</p>
<p>Am schlimmsten ist es, dass Informatiker so etwas bauen. Ebenso wie Hotline-Warteschlagen und IVRs. Und dabei bin ich doch selber Informatiker. Argl.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/10/01/pfandautomaten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So blue</title>
		<link>http://betoerend.hopit.de/2009/08/04/so-blue/</link>
		<comments>http://betoerend.hopit.de/2009/08/04/so-blue/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 17:24:36 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=1733</guid>
		<description><![CDATA[Starting yesterday I am working at a new company, Blau Mobilfunk.
Seems to be a pretty good choice, a friendly company and team. Our team is developing inhouse software using Scrum, Java and Rails.
More plus points: The company is located in Hamburg&#8217;s Schanzenviertel, which means a lot of nice choices for the lunch break. And we [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left">Starting yesterday I am working at a new company, <a href="http://www.blau.de/app" target="_blank">Blau Mobilfunk</a>.</p>
<p style="text-align: left">Seems to be a pretty good choice, a friendly company and team. Our team is developing inhouse software using Scrum, Java and Rails.<br />
More plus points: The company is located in Hamburg&#8217;s Schanzenviertel, which means a lot of nice choices for the lunch break. And we already had and won our first table soccer match : )</p>
<p style="text-align: center"><img class="aligncenter size-full wp-image-1734" src="http://betoerend.hopit.de/files/2009/08/blau_schanze.jpg" alt="blau_schanze" width="307" height="461" /></p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/08/04/so-blue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox plugin: AutoPager</title>
		<link>http://betoerend.hopit.de/2009/08/01/firefox-plugin-autopager/</link>
		<comments>http://betoerend.hopit.de/2009/08/01/firefox-plugin-autopager/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 11:56:50 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=1672</guid>
		<description><![CDATA[Normally I am somehow reluctant when it comes to Firefox plugins, but with AutoPager I think I found a really useful one.
AutoPager automatically loads next pages when you reach the end of a page. It works on a ton of sites,Google,Yahoo..
That means that you will no longer have to press the &#8220;next page&#8221; button &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Normally I am somehow reluctant when it comes to Firefox plugins, but with <a href="https://addons.mozilla.org/en-US/firefox/addon/4925" target="_blank">AutoPager</a> I think I found a really useful one.</p>
<blockquote><p>AutoPager automatically loads next pages when you reach the end of a page. It works on a ton of sites,Google,Yahoo..</p></blockquote>
<p>That means that you will no longer have to press the &#8220;next page&#8221; button &#8211; the next page will be added at the bottom of the current pages &#8211; very useful when e.g. scrolling Google result sets. Two Thumbs up.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/08/01/firefox-plugin-autopager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clean code</title>
		<link>http://betoerend.hopit.de/2009/06/04/clean-code/</link>
		<comments>http://betoerend.hopit.de/2009/06/04/clean-code/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 10:54:32 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=1208</guid>
		<description><![CDATA[Was ist guter Code? Auf Basis des Buchs Clean Code von Robert C. Martin haben Ralf Westphal und Stefan Lieser die Web-Seite Clean Code Developer eingerichtet, die Seite ermöglicht das Erwerben verschiedener Grade auf dem Weg zu einem professionellen Softwareentwickler. Sehr lesenswert: bei den Beschreibungen der CCD-Grade findet man eine Zusammenfassung der wichtigsten Prinzipien und [...]]]></description>
			<content:encoded><![CDATA[<p>Was ist guter Code? Auf Basis des Buchs <a href="http://www.amazon.de/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882" target="_blank">Clean Code</a> von Robert C. Martin haben Ralf Westphal und Stefan Lieser die Web-Seite <a href="http://clean-code-developer.de" target="_blank">Clean Code Developer</a> eingerichtet, die Seite ermöglicht das Erwerben verschiedener Grade auf dem Weg zu einem professionellen Softwareentwickler. Sehr lesenswert: bei den Beschreibungen der CCD-Grade findet man eine Zusammenfassung der wichtigsten Prinzipien und Regeln für sauberen Code.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/06/04/clean-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dilbert</title>
		<link>http://betoerend.hopit.de/2009/05/12/dilbert/</link>
		<comments>http://betoerend.hopit.de/2009/05/12/dilbert/#comments</comments>
		<pubDate>Tue, 12 May 2009 09:11:39 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=848</guid>
		<description><![CDATA[If you need a litmus test whether you are a geek, it&#8217;s Dilbert: If you love Dilbert, you&#8217;re one. Somehow most other people can&#8217;t relate&#8230; Here are two not-so-well-known links:

The current Dilbert strips without flash-overhead.
A blog by Scott Adams, the creator of Dilbert.

PS: Talking of nerd humor:

&#8220;Resistance is futile.&#8221;
]]></description>
			<content:encoded><![CDATA[<p>If you need a litmus test whether you are a geek, it&#8217;s Dilbert: If you love Dilbert, you&#8217;re one. Somehow most other people can&#8217;t relate&#8230; Here are two not-so-well-known links:</p>
<ul>
<li>The current Dilbert strips <a href="http://www.dilbert.com/fast" target="_blank">without flash-overhead</a>.</li>
<li>A <a href="http://dilbert.com/blog/" target="_blank">blog by Scott Adams</a>, the creator of Dilbert.</li>
</ul>
<p>PS: Talking of nerd humor:</p>
<p style="text-align: center"><img class="size-full wp-image-857 aligncenter" src="http://betoerend.hopit.de/files/2009/05/borg.png" alt="borg" width="389" height="249" /></p>
<p style="text-align: center">&#8220;Resistance is futile.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/05/12/dilbert/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Best programming books</title>
		<link>http://betoerend.hopit.de/2009/04/21/best-programming-books/</link>
		<comments>http://betoerend.hopit.de/2009/04/21/best-programming-books/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 17:39:23 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=564</guid>
		<description><![CDATA[I guess I like making lists.  So here they come, my favourite programming books (in no particular order):

Domain-Driven Design / Eric Evans
This books talks about the essence of writing software: Creating a model for some real life domain. This book is based on object oriented design, but goes much farther and contains a well of [...]]]></description>
			<content:encoded><![CDATA[<p>I guess I like making lists.  So here they come, my favourite programming books (in no particular order):</p>
<ul>
<li><a href="http://www.amazon.co.uk/Domain-driven-Design-Tackling-Complexity-Software/dp/0321125215" target="_blank">Domain-Driven Design</a> / Eric Evans
<p>This books talks about the essence of writing software: Creating a model for some real life domain. This book is based on object oriented design, but goes much farther and contains a well of experience and guidelines.</li>
<li><a href="http://www.amazon.co.uk/Pragmatic-Programmer-Journeyman-Master/dp/020161622X" target="_blank">The Pragmatic Programmer</a>. From Journeyman to Master /<br />
Andrew Hunt, David Thomas, Ward Cunningham</p>
<p>Collected wisdom how to be a (pragmatic) programmer, ranging from the little detail to the big concept.</li>
</ul>
<ul>
<li><a href="http://www.amazon.co.uk/Agile-Web-Development-Rails-Ruby/dp/1934356166" target="_blank">Agile Web Development with Rails</a> /<br />
Sam Ruby, Dave Thomas, David Heinemeier Hansson</p>
<p>The one book on concrete technology to be included. Even if you don&#8217;t plan to use Rails, it is so much of an eye opener how simple (not only) web development can be when done right.</li>
</ul>
<ul>
<li><a href="http://www.amazon.co.uk/Deadline-Novel-About-Project-Management/dp/0932633390" target="_blank">The Deadline: A Novel About Project Management</a> /<br />
Tom DeMarco</p>
<p>One of many great books by Tom DeMarco on the the psychology and social interaction of programmers and teams.</li>
<li><a href="https://gettingreal.37signals.com/" target="_blank">Getting real</a> / 37Signals
<p>A (<a href="http://gettingreal.37signals.com/" target="_blank">free online</a>) book about the business- and programming philosophy of 37signals, a company developing web applications. A lot of thought provoking statements, often contrary to common wisdom.</li>
</ul>
<p>A honorable mention goes out to <a href="http://www.sypron.nl/ttr/" target="_blank">Tips, Tricks &amp; Recipes for Sybase ASE</a> by Rob Verschoor for discussing every Sybase question we ever had in epical depth. We never found out how he read our minds in advance : )</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/04/21/best-programming-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game Mechanics for Interaction Design</title>
		<link>http://betoerend.hopit.de/2009/03/31/game-mechanics-for-interaction-design/</link>
		<comments>http://betoerend.hopit.de/2009/03/31/game-mechanics-for-interaction-design/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 09:28:49 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[society]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=350</guid>
		<description><![CDATA[Interesting interview about mechanics from computer games being implicitly used on websites like Youtube or Twitter.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://bokardo.com/archives/game-mechanics-for-interaction-design-an-interview-with-amy-jo-kim/" target="_blank">Interesting interview</a> about mechanics from computer games being implicitly used on websites like Youtube or Twitter.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/03/31/game-mechanics-for-interaction-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cute cat theory</title>
		<link>http://betoerend.hopit.de/2009/03/31/cute-cat-theory/</link>
		<comments>http://betoerend.hopit.de/2009/03/31/cute-cat-theory/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 08:48:44 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[society]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=341</guid>
		<description><![CDATA[The &#8220;Cute cat theory&#8221; is a peculiar but interesting talk on web 2.0 and political activism.
   

The Web was invented so physicists could share research papers. Web 2.0 was invented so we could share cute pictures of our cats. The tools of Web 2.0, while designed for mundane uses, can be extremely powerful [...]]]></description>
			<content:encoded><![CDATA[<p>The &#8220;<a href="http://www.ethanzuckerman.com/blog/2008/03/08/the-cute-cat-theory-talk-at-etech/" target="_blank">Cute cat theory</a>&#8221; is a peculiar but interesting talk on web 2.0 and political activism.</p>
<div class="en_session_roominfo"><span class="uf_timing"> <abbr class="dtstart dtstamp" title="20080304T1450"> <abbr class="dtend" title="20080304T1535"> </abbr></abbr></span></div>
<div class="en_session_description description">
<blockquote><p>The Web was invented so physicists could share research papers. Web 2.0 was invented so we could share cute pictures of our cats. The tools of Web 2.0, while designed for mundane uses, can be extremely powerful in the hands of digital activists, especially those in environments where free speech is limited.</p>
<p>This talk looks at creative uses of well-known tools to promote free speech in countries from Bahrain to China, and looks at ways in which the use of these tools helps evade internet censorship and promotes human rights issues to a wider audience.</p></blockquote>
<p style="text-align: center"><img class="size-full wp-image-342 aligncenter" src="http://betoerend.hopit.de/files/2009/03/knut3.jpg" alt="knut3" width="258" height="450" /></p>
<p style="text-align: center">My girlfriend Eva&#8217;s cat Knut</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/03/31/cute-cat-theory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on programming &#8211; Exceptions</title>
		<link>http://betoerend.hopit.de/2009/03/27/thoughts-on-programming-exceptions/</link>
		<comments>http://betoerend.hopit.de/2009/03/27/thoughts-on-programming-exceptions/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 17:09:02 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=143</guid>
		<description><![CDATA[Exceptions bring many benefits:

Separation between function&#8217;s results and error information
When being part of the interface, they communicate cleary what special cases should be handled by the caller. (That&#8217;s why I in gererally prefer throwing an exception over returning null &#8211; returning null is too easy to oversee for the caller)

There are several discussions about error [...]]]></description>
			<content:encoded><![CDATA[<p>Exceptions bring many benefits:</p>
<ul>
<li>Separation between function&#8217;s results and error information</li>
<li>When being part of the interface, they communicate cleary what special cases should be handled by the caller. (That&#8217;s why I in gererally prefer throwing an exception over returning null &#8211; returning null is too easy to oversee for the caller)</li>
</ul>
<p>There are several discussions about error handling that i would not want to reopen, since I can see arguments for both sides:</p>
<ul>
<li> <a href="http://www.javaspecialists.eu/archive/Issue162.html" target="_blank">Reusing existing Exceptions</a> vs. creating your own, meaningful Exceptions (e.g. BookNotFound vs. NoSuchElementException, especially if there is more than on potential &#8220;element&#8221;)</li>
<li>Throwing exceptions for exceptional situations only, e.g. &#8220;Should a select throw a NotFound exception, or return null?&#8221;</li>
<li>Checked vs. unchecked exceptions?</li>
</ul>
<p>One of my favourite strategies for error handling is to fail early: Your program wants to be as intolerant as possible.<br />
A configuration value is missing? Throw an exception, don&#8217;t use a default value. Fixing a missing configuration value takes about 1 minute, finding out why the program uses an unexpected value might cost you hours. Make the program <a href="http://gettingreal.37signals.com/ch04_Make_Opinionated_Software.php" target="_blank">opinionated</a> and simple.</p>
<p>In the coding: When your program notices an error, locally it seldom has the knowledge how to fix this. Make it somebody elses problem: Throw an exception, forget about it, continue with the normal flow.</p>
<p>In most programs I also introduced an &#8220;InternalException&#8221;: An exception thrown for all programming errors and &#8220;can&#8217;t happens&#8221;, if they do happen. Just in case &#8211; check, throw, and forget about it.<br />
This can occur everywhere, hence it is an unchecked exeception.</p>
<p>In contrast to &#8220;can&#8217;t happen&#8221; there are some exceptions that are unavoidable in real life, so these should be dealt with in a manner that is understandable for a dummy user. Don&#8217;t show the user a stack trace for this classes of exceptions:</p>
<ul>
<li>Configuration errors, installation errors, file not found</li>
<li>Invalid user input (parameters/values)</li>
<li>Other component (server, database) not reachable</li>
</ul>
<p>When using exceptions, don&#8217;t clutter your code with try/catch. Throw everywhere, but catch only rarely: Everytime you catch, you should be able to fix/handle the problem (most times by signaling it to the user).<br />
If you cannot handle the exception, let it flow until someone can.</p>
<p>This is only half the truth: One of the main other reasons for try/catch is exception mapping, the rational for this is seemingly good: Implementation hiding, especially at component borders.</p>
<pre>try
{
    doSomething();
}
catch (JDBCConnectionException e)
{
    throw ComponentUnavailableException (e.getMessage());
}</pre>
<p>Note there is one common mistake in the code above: You loose the valuable original stack trace. You would want to wrap the original Exception instead:</p>
<pre>    throw ComponentUnavailableException (e.getMessage(), e);</pre>
<p>Stack traces are a gift by mother Java, don&#8217;t throw them away light heartily.</p>
<p>The other major problem is that this mapping leads to a lot of duplicated try/catch code, especially if you want to map more than one exception in more than one method. As Ruby On Rails teaches us, mapping is seldom a good thing.</p>
<p>Untyped exceptions and your framework (<a href="http://www.theserverside.com/tt/articles/article.tss?l=IntrotoSpring25" target="_blank">Spring!</a>) might help, but this is one of the tricky situations where code duplication is sometimes hard to avoid.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/03/27/thoughts-on-programming-exceptions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thoughts on programming</title>
		<link>http://betoerend.hopit.de/2009/03/26/thoughts-on-programming/</link>
		<comments>http://betoerend.hopit.de/2009/03/26/thoughts-on-programming/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 16:51:12 +0000</pubDate>
		<dc:creator>fabian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://betoerend.hopit.de/?p=97</guid>
		<description><![CDATA[Many programming techniques are quite complicated, but there are also some simple rules that might improve everybodies code:
Rule 1: Don&#8217;t copy code.
Everybody knows this, but how comes I find copied code almost everytime I review some project? One of the reason might be that not-copying code is a simple rule, but not an easy thing [...]]]></description>
			<content:encoded><![CDATA[<p>Many programming techniques are quite complicated, but there are also some simple rules that might improve everybodies code:</p>
<p>Rule 1: Don&#8217;t copy code.</p>
<p>Everybody knows this, but how comes I find copied code almost everytime I review some project? One of the reason might be that not-copying code is a simple rule, but not an easy thing to do. Many technologies have been invented to help with this task, firstmost functional abstraction, and also Command Pattern, generics, frameworks, Aspect oriented programming etc. Still sometimes its hard, and in this situations I recommend: Find someone and talk about it, and find a solution. One of the biggest benefits of pair programming might be that it prevents copied code &#8211; you seldom commit crimes if someone is watching.</p>
<p>Rule 2: Minimize nesting</p>
<p>In respect to indentation, your code wants to be as left as possible.</p>
<p>Compare this code:</p>
<p>Version 1:</p>
<pre>    if (myVariable.isValid())
    {
        doSomething();
        ...
        doSomethingMore();
    }
    else
    {
        throw new InvalidValueException();
    }</pre>
<p>Version 2:</p>
<pre>    if (!myVariable.isValid())
    {
        throw new InvalidValueException();
    }
    doSomething();
    ...
    doSomethingMore();</pre>
<p>Version 2 is better IMHO. If you can get rid of e.g. an else, do it. This often leads to code that checks for errors/special conditions first, and makes a shortcut return (e.g. exception).</p>
<p>Rule 3: Don&#8217;t use abbreviations</p>
<p>While long names might be annoying, abbreviations come from hell. You want someone not familiar with your domain and code to understand it at a glance. Don&#8217;t let anyone puzzle if the &#8220;no&#8221; stood for &#8220;not&#8221; oder &#8220;number&#8221;.</p>
<p>Note that long names often signalizes that a class/method/variable hasn&#8217;t a clear purpose. I will prefer a long name over an abbreviation anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://betoerend.hopit.de/2009/03/26/thoughts-on-programming/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

