<?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>brosinski.com/stephan &#187; development</title>
	<atom:link href="http://www.brosinski.com/stephan/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brosinski.com/stephan</link>
	<description></description>
	<lastBuildDate>Sun, 05 Sep 2010 20:59:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<cloud domain='www.brosinski.com' port='80' path='/stephan/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Crafting your code and respecting other&#8217;s</title>
		<link>http://www.brosinski.com/stephan/2008/09/07/crafting-your-code-and-respecting-others/</link>
		<comments>http://www.brosinski.com/stephan/2008/09/07/crafting-your-code-and-respecting-others/#comments</comments>
		<pubDate>Sun, 07 Sep 2008 14:54:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.brosinski.com/stephan/?p=35</guid>
		<description><![CDATA[I noticed that a lot of developers don&#8217;t take responsibility laying out their code anymore. Using auto-formatters, auto-sorters and auto-clean-up-ers they surrender their work to their IDE. I like to craft my code. I&#8217;ll break lines where it makes sense. I group methods in logical blocks. Every space I insert is intentional. It&#8217;s all part [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed that a lot of developers don&#8217;t take responsibility laying out their code anymore. Using auto-formatters, auto-sorters and auto-clean-up-ers they surrender their work to their IDE.</p>
<p>I like to craft my code. I&#8217;ll break lines where it makes sense. I group methods in logical blocks. Every space I insert is intentional. It&#8217;s all part of the art.</p>
<p>Until a minute later someone runs their little helpers making a mess out of what was once a beautiful piece of text.</p>
<p>The number one reason seems to be to &#8220;reduce version control conflicts&#8221;. Of course there are less conflicts if all code looks the same. But: If you just keep mine as it is and don&#8217;t reformat it there wont be any conflicts either. Sorting methods alphabetically? Breaking a line in an awkward spot just because it has 83 characters instead of 80? Reordering import statements?</p>
<p>A good set of sensible coding guidelines and responsible programmers who love their art should be enough to keep a clean code base.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brosinski.com/stephan/2008/09/07/crafting-your-code-and-respecting-others/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Synchronizing Subversion Repositories</title>
		<link>http://www.brosinski.com/stephan/2008/02/17/subversion-repositories-synchronisieren/</link>
		<comments>http://www.brosinski.com/stephan/2008/02/17/subversion-repositories-synchronisieren/#comments</comments>
		<pubDate>Sun, 17 Feb 2008 11:22:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://brosinski.com/stephan/2007/06/20/subversion-repositories-synchronisieren/</guid>
		<description><![CDATA[Since Subversion 1.4 you can synchronize repositories easily. This way you can have a local copy which works when you&#8217;re offline. Great to keep a copy of your code + history on your laptop. The only thing to watch out for is that you can only synchronize it one-way, so don&#8217;t commit anything. Here&#8217;s how [...]]]></description>
			<content:encoded><![CDATA[<p>Since Subversion 1.4 you can synchronize repositories easily. This way you can have a local copy which works when you&#8217;re offline. Great to keep a copy of your code + history on your laptop. The only thing to watch out for is that you can only synchronize it one-way, so don&#8217;t commit anything. Here&#8217;s how to do it on Windows:<br />
<span id="more-24"></span></p>
<p>To save some typing:<code><br />
set FROM=http://yourserver/svn/repo<br />
set TO=file:///d:/svn/repo</code></p>
<p>Create a local repository:<br />
<code>svnadmin create %TO%</code></p>
<p>Svnsync creates properties in the target respository&#8217;s revision 0 to track the sync status. To make this work you need to have a rev-prop-change hook (at least an empty one):</p>
<p><code>echo. &gt; d:\svn\repo\hooks\pre-revprop-change.bat</code></p>
<p>Call svnsync init to create the properties:</p>
<p><code>svnsync init %TO% %FROM% --username &lt;USER&gt;</code></p>
<p>To look at the property we just created type:<br />
<code>svn proplist --verbose --revprop -r 0 %TO%</code></p>
<p><code>Not versioned property in Revision 0:<br />
svn:sync-from-uuid : 94eeecdd-d4ee-0310-9089-7d9f06c0e571<br />
svn:sync-last-merged-rev : 165<br />
svn:date : 2005-01-29T18:22:33.902123Z<br />
svn:sync-from-url : http://yourserver/svn/repo</code></p>
<p>To finally start synchronization call svnsync:</p>
<p><code>svnsync --non-interactive sync %TO%</code></p>
<p>If anything goes wrong the target repository may get locked if you call svnsync the next time. You&#8217;ll see an error message like this:</p>
<p><code>Failed to get lock on destination repos, currently held by 'xxxxxx'</code></p>
<p>To get rid of the lock you can delete the sync-lock property in revision 0:</p>
<p><code>svn propdel svn:sync-lock --revprop -r 0 %TO%</code></p>
<p>Now you could also create a post-commit hook which starts a sync everytime something gets commited (or just create a script to run via cron).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brosinski.com/stephan/2008/02/17/subversion-repositories-synchronisieren/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Evils of java.lang.String.toUpperCase</title>
		<link>http://www.brosinski.com/stephan/2008/02/09/the-evils-of-javalangstringtouppercase/</link>
		<comments>http://www.brosinski.com/stephan/2008/02/09/the-evils-of-javalangstringtouppercase/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 17:34:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://brosinski.com/stephan/2008/02/09/the-evils-of-javalangstringtouppercase/</guid>
		<description><![CDATA[String.toUpperCase is not as innocent as it looks. If you carefully read the docs you&#8217;ll see that the default signature asks for a java.util.Locale. The reasoning behind this is that there are language specific rules on how to convert lower case letters to uppercase. German, for example, has the letter &#8220;ß&#8221; which gets converted to [...]]]></description>
			<content:encoded><![CDATA[<p>String.toUpperCase is not as innocent as it looks. If you carefully read the docs you&#8217;ll see that the default signature asks for a java.util.Locale. The reasoning behind this is that there are language specific rules on how to convert lower case letters to uppercase. German, for example, has the letter &#8220;ß&#8221; which gets converted to &#8220;SS&#8221;, so &#8220;straße&#8221; becomes &#8220;STRASSE&#8221;. See the problem? The String length changed! This can trip you up if you stored it somewhere before you called toUpperCase. I&#8217;m sure there are lots of examples for other languages, so watch out and never store a String length.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brosinski.com/stephan/2008/02/09/the-evils-of-javalangstringtouppercase/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
