<?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>Patrick Breucking &#187; Ohne Kategorie</title>
	<atom:link href="http://www.patrickbreucking.de/wordpress/category/ohne_kategorie/feed" rel="self" type="application/rss+xml" />
	<link>http://www.patrickbreucking.de/wordpress</link>
	<description>... schreibt hier über diverse Themen, Fotografie und Softwareentwicklung sind die Schwerpunkte</description>
	<lastBuildDate>Wed, 20 Apr 2011 20:40:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Compile DBD::Oracle on 64-Bit CentOS</title>
		<link>http://www.patrickbreucking.de/wordpress/2011/03/14/compile-dbdoracle-on-64-bit-centos</link>
		<comments>http://www.patrickbreucking.de/wordpress/2011/03/14/compile-dbdoracle-on-64-bit-centos#comments</comments>
		<pubDate>Mon, 14 Mar 2011 21:19:15 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=825</guid>
		<description><![CDATA[I compiled the Perl DBD::Oracle  module on a CentOS 5.5 recently. It took a while to figure out, that the installed Oracle 10g Express Edition included just 32-Bit libs, but the Perl version was 64-Bit and the CentOS also. To solve the problem try this Howto: Download Oracle Instant Client for Linux x86-64. Select the [...]]]></description>
			<content:encoded><![CDATA[<p>I compiled the Perl DBD::Oracle  module on a CentOS 5.5 recently. It took a while to figure out, that the installed Oracle 10g Express Edition included just 32-Bit libs, but the Perl version was 64-Bit and the CentOS also. To solve the problem try this Howto:</p>
<p>Download <a href="http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html">Oracle Instant Client</a> for <a href="http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html">Linux x86-64</a>. Select the version you need. I need it to work with Oracle 10g XE, so I used 10.2.0.4. Download these rpms:</p>
<ul>
<li>oracle-instaclient-base,</li>
<li>oracle-instaclient-sqlplus</li>
<li>oracle-instaclient-devel</li>
<li>oracle-instaclient-odbc</li>
</ul>
<p>Install all rpms. If not already installed, install Perl with</p>
<p><code lang="bash"> yum install perl perl-DBI</code></p>
<p>We also need some libs and tools:</p>
<p><code lang="bash">yum install gcc.x86_64 gcc-c++.x86_64 gcc-java.x86_64 libgcc.i386 libgcc.x86_64 compat-gcc-34.x86_64 compat-gcc-34-c++.x86_64 compat-gcc-34-g77.x86_64 compat-libgcc-296.i386 compat-libstdc++-33.i386 compat-libstdc++-33.x86_64</code></p>
<p>Now we need to set two enviroment variables:</p>
<p><code lang="bash"> export LD_LIBRARY_PATH /usr/lib/oracle/10.2.0.4/client64/lib/<br />
export ORACLE_HOME /usr/lib/oracle/10.2.0.4/client64/<br />
</code></p>
<p>The next step is the compilation and installation of DBD::Oracle with CPAN-Shell(configuration needed, use defaults).</p>
<p><code lang="bash"> $&gt; cpan<br />
[cpan]&gt; install DBD::Oracle</code></p>
<p>Persist the environment variables (/etc/profile.d/) if you DO NOT run the database on the same host. Otherwise you have to set the variables for the context you need them, e.g. in a Apache CGI:</p>
<p><code lang="bash"> SetEnv LD_LIBRARY_PATH  /usr/lib/oracle/10.2.0.4/client64/lib/</code></p>
<p>Hope you get it. If you have problems leave a comment.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2011/03/14/compile-dbdoracle-on-64-bit-centos/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Earth v6 mit neuer Street View Integration</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/11/29/google-earth-v6-mit-neuer-street-view-integration</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/11/29/google-earth-v6-mit-neuer-street-view-integration#comments</comments>
		<pubDate>Mon, 29 Nov 2010 18:45:19 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=805</guid>
		<description><![CDATA[Google hat eine neue Version von Google Earth veröffentlicht, Version 6. Das Release umfasst neben den üblichen kleineren Bugfixes folgende neue Features, von denen die sogenannte Ground-Level Navigation wohl das interessanteste ist. 3D Streetview: We made significant improvement in StreetView pano navigation. You no longer have to hop between SV pano, you can now move [...]]]></description>
			<content:encoded><![CDATA[<p>Google hat eine neue Version von Google Earth veröffentlicht, Version 6. Das Release umfasst neben den üblichen kleineren Bugfixes folgende neue Features, von denen die sogenannte Ground-Level Navigation wohl das interessanteste ist.</p>
<ul>
<li><strong>3D Streetview</strong>: We made significant improvement in StreetView pano<br />
navigation. You no longer have to hop between SV pano, you can now<br />
move from one pano to next seamlessly by simple forward/backward<br />
keyboard key (or scroll wheel).</li>
<li><strong>Ground Level Navigation (GNav)</strong>:  Available everywhere, We have a new<br />
navigation mode for intuitive navigation on ground</li>
<li><strong>Tree</strong>: We have added tree models</li>
<li><strong>Time Machine UI</strong>: We have made it easier to discover historical<br />
imagery.</li>
</ul>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/11/29/google-earth-v6-mit-neuer-street-view-integration/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GONICUS Patch für MAPI Extensions</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/11/23/gonicus-patch-fur-mapi-extensions</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/11/23/gonicus-patch-fur-mapi-extensions#comments</comments>
		<pubDate>Tue, 23 Nov 2010 08:27:50 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=788</guid>
		<description><![CDATA[Disclaimer: Dies ist ein Cross Post der auch auf der GONICUS Webseite erschienen ist. Mit freundlicher Erlaubnis darf ich den auch hier veröffentlichen. In diesem Teil der Python MAPI Serie geht es um die speziellen Erweiterungen, die bei GONICUS entwickelt wurden. Das Administrationswerkzeug GOsa² soll die Verwaltung von Groupware Systemen unterstützen. Die grundsätzlichen Funktionen wie Benutzer hinzufügen, Postfach [...]]]></description>
			<content:encoded><![CDATA[<p><em>Disclaimer: Dies ist ein Cross Post der auch auf der </em><a title="Originalversion" href="http://linux.gonicus.de/linux/staticinfos/detail/article//GONICUS-Patch-fuer-MAPI-Extensions-IMAPIExchangeModifyTable.html?cHash=7e935fb6c9e6b75093a49c0453d23182"><em>GONICUS Webseite </em></a><em>erschienen ist. Mit freundlicher Erlaubnis darf ich den auch hier veröffentlichen.</em></p>
<p>In diesem Teil der <a href="http://linux.gonicus.de/linux/staticinfos/detail/article//Verwendung-der-MAPI-unter-Python.html?cHash=2a97783486d62a0d2e27f11e7a16facb" target="_blank">Python MAPI Serie</a> geht es um die speziellen Erweiterungen, die bei <a href="http://www.GONICUS.de/" target="_blank">GONICUS</a> entwickelt wurden. Das Administrationswerkzeug <a href="https://oss.gonicus.de/labs/gosa/" target="_blank">GOsa²</a> soll die Verwaltung von Groupware Systemen unterstützen. Die grundsätzlichen Funktionen wie Benutzer hinzufügen, Postfach anlegen, sind relativ einfach umzusetzen. Dabei ist jedoch immer zu beachten, dass die MAPI einige Überraschungen (Lazy initialize, etc.) für einen vorbereitet hat.</p>
<p><span id="more-788"></span></p>
<p>Zwei Funktionen, die sich nicht direkt umsetzen ließen, waren das Bearbeiten von Freigaben (ACLs) und Regeln (Rules). Das Problem ist, dass die <a href="http://sourceforge.net/projects/pywin32" target="_blank">Python Win32 MAPI Extension</a> das MAPI Interface IMAPIExchangeModifyTable derzeit nicht unterstützt. Daher wurde ein entsprechender Patch erstellt, der dieses Interface und weitere notwendige Utility-Funktionen implementiert.</p>
<p>In der MAPI gibt es IMAPIFolder, die eben Ordner repräsentieren. Jeder Ordner hat die Eigenschaften PR_ACL_TABLE und PR_RULES_TABLE. Beide Attribute sind binäre Werte, die durch trickreiches Auslesen in Form einer <a href="http://msdn.microsoft.com/en-us/library/dd188674.aspx" target="_blank">IMAPIExchangeModifyTable</a> dem Entwickler zur Verfügung stehen und geändert werden können.</p>
<p><code lang="python">table = folder.OpenProperty(mapitags.PR_ACL_TABLE, mapi.IID_IExchangeModifyTable,0,mapi.MAPI_DEFERRED_ERRORS)</code></p>
<p>Zunächst mussten einige Konstanten in die mapitags.py aufgenommen werden, damit die neuen Typen bekannt werden.</p>
<p><a href="http://msdn.microsoft.com/en-us/library/cc815517.aspx" target="_blank">MAPI-Tags</a> sind definierte Zahlenwerte, die sowohl die Eigenschaft als auch den Typen identifizieren. PyWin32 verwendet SWIG, um die Wrapperklassen aus Interface Definitionen zu generieren. Daher wurde die entsprechende Interface Definition erstellt. Da zum Ändern der Tabellenwerte ein struct<a href="http://msdn.microsoft.com/en-us/library/dd188689.aspx" target="_blank">ROWLIST</a> verwendet werden muss, wurde eine Wrapperfunktion erstellt, die aus einem Python Tuple ein ROWLIST Konstrukt erstellt.<br />
<code lang="c"><br />
// FROM mapilib.i<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />%typemap(python,in) LPROWLIST &amp; (LPROWLIST temp2, ROWLIST temp)<br style="padding: 0px; margin: 0px;" />{<br style="padding: 0px; margin: 0px;" /> temp2 = &amp;temp;<br style="padding: 0px; margin: 0px;" /> //$target-&gt;lp = NULL;<br style="padding: 0px; margin: 0px;" /> temp2-&gt;cEntries = 0;<br style="padding: 0px; margin: 0px;" /> if (!PyMAPIObject_AsROWLIST($source, &amp;temp2, false))<br style="padding: 0px; margin: 0px;" /> return NULL;<br style="padding: 0px; margin: 0px;" /> $target = &amp;temp2;<br style="padding: 0px; margin: 0px;" />}<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />// For PyMAPIObject_AsROWLIST implementation look into mapiutil.cpp</code></p>
<p>Nicht zuletzt muss noch eine Cleanup Methode erzeugt werden.</p>
<p><code lang="c"><br />
%typemap(python,freearg) LPROWLIST &amp; <br style="padding: 0px; margin: 0px;" />{<br style="padding: 0px; margin: 0px;" /> PyMAPIObject_FreeROWLIST(* $source);<br style="padding: 0px; margin: 0px;" />}<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />// For PyMAPIObject_FreeROWLIST implementation look into mapiutil.cpp</code></p>
<p>Letztendlich muss das Interface für IExchangeModifyTable in SWIG Sprache definiert werden:</p>
<p><code lang="c"> /* File : PyIExchangeModifyTable.i */<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />%module IExchangeModifyTable // An COM interface to MAPI<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />%include "typemaps.i"<br style="padding: 0px; margin: 0px;" />%include "pywin32.i"<br style="padding: 0px; margin: 0px;" />%include "pythoncom.i"<br style="padding: 0px; margin: 0px;" />%include "mapilib.i"<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />%{<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />#include "PyIExchangeModifyTable.h"<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />#include "edkmdb.h"<br style="padding: 0px; margin: 0px;" />#include <br style="padding: 0px; margin: 0px;" />#include "EMSAbTag.h"<br style="padding: 0px; margin: 0px;" />#include <br style="padding: 0px; margin: 0px;" />#include <br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />PyIExchangeModifyTable::PyIExchangeModifyTable(IUnknown *pDisp) :<br style="padding: 0px; margin: 0px;" /> PyIUnknown(pDisp)<br style="padding: 0px; margin: 0px;" />{<br style="padding: 0px; margin: 0px;" /> ob_type = &amp;type;<br style="padding: 0px; margin: 0px;" />}<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />PyIExchangeModifyTable::~PyIExchangeModifyTable()<br style="padding: 0px; margin: 0px;" />{<br style="padding: 0px; margin: 0px;" />}<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />/*static*/ IExchangeModifyTable *PyIExchangeModifyTable::GetI(PyObject *self)<br style="padding: 0px; margin: 0px;" />{<br style="padding: 0px; margin: 0px;" /> return (IExchangeModifyTable *)PyIUnknown::GetI(self);<br style="padding: 0px; margin: 0px;" />}<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />%}<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />// GetLastError|Returns a MAPIERROR structure containing information about the previous error on the table. <br style="padding: 0px; margin: 0px;" />HRESULT GetLastError(HRESULT hr, unsigned long flags, MAPIERROR **OUTPUT);<br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />// @pyswig |GetTable|Returns a pointer to an interface for a MAPI table object.<br style="padding: 0px; margin: 0px;" />HRESULT GetTable( <br style="padding: 0px; margin: 0px;" /> unsigned long ulFlags,  // @pyparm int|flags||<br style="padding: 0px; margin: 0px;" /> IMAPITable ** OUTPUT<br style="padding: 0px; margin: 0px;" />); <br style="padding: 0px; margin: 0px;" /> <br style="padding: 0px; margin: 0px;" />// @pyswig |ModifyTable|Updates a MAPI table object.<br style="padding: 0px; margin: 0px;" />HRESULT ModifyTable( <br style="padding: 0px; margin: 0px;" /> unsigned long ulFlags,  // @pyparm int|flags||<br style="padding: 0px; margin: 0px;" /> LPROWLIST MYROWLIST          // @pyparm |lpMods||<br style="padding: 0px; margin: 0px;" />);</code></p>
<p>Um nun die neuen Interfaces in den Buildprozess einzubinden, wurden ein paar Anpassungen der setup.py erstellt (<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=3083568&amp;group_id=78018&amp;atid=551956" target="_blank">siehe Patch File</a>). Nun kann über den üblichen python setup.py -q build die neue Extension erstellt werden.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/11/23/gonicus-patch-fur-mapi-extensions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon Cyber Monday</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/11/06/amazon-cyber-monday</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/11/06/amazon-cyber-monday#comments</comments>
		<pubDate>Sat, 06 Nov 2010 11:06:46 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=799</guid>
		<description><![CDATA[Nun ist es November, das Weihnachtsgeschäft  naht und Amazon startet den Cyber Monday. Das Konzept ist denkbar einfach und hat sich wohl schon in den USA bewährt, am 29.11.2010, eben dem Cyber Monday, werden von den Kunden bestimmte Produkte mit Rabatten bis zu 80% angepriesen. Welche Amazon-Produkte reduziert werden, wird per Abstimmung ermittelt. Amazon hat [...]]]></description>
			<content:encoded><![CDATA[<p>Nun ist es November, das Weihnachtsgeschäft  naht und Amazon startet den <a title="Amazon Cyber Monday" href="https://www.amazon.de/gp/feature.html?ie=UTF8&amp;docId=1000454773&amp;ref_=de_com_cm&amp;tag=ihre_parter_id-21">Cyber Monday</a>. Das Konzept ist denkbar einfach und hat sich wohl schon in den USA bewährt, am 29.11.2010, eben dem Cyber Monday, werden von den Kunden bestimmte Produkte mit Rabatten bis zu 80% angepriesen. Welche Amazon-Produkte reduziert werden, wird per Abstimmung ermittelt. Amazon hat dafür einige Produkte aus fast allen Kategorien ausgewählt, die richtig schönen Produkte sind daher leider nicht dabei. Aber das leben besteht ja immer aus Kompromissen. Deutsche Bücher stellt Amazon nicht zur Auswahl, vermutlich wegen der <a title="Mehr zur Buchpreisbindung" href="http://de.wikipedia.org/wiki/Buchpreisbindung" target="_blank">Buchpreisbindung</a>. Ich habe jedenfalls u.a. für die Amazon MP3s abgestimmt, da sollte für jeden was dabei sein.</p>
<p><a href="http://www.amazon.de/gp/product/B0033567D8?ie=UTF8&amp;tag=httpwwwpatr05-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0033567D8"><img class="alignright" style="border: 0px initial initial;" src="http://ecx.images-amazon.com/images/I/41LCB-MPnDL._SL500_AA300_.jpg" border="0" alt="" /></a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.de/e/ir?t=httpwwwpatr05-21&amp;l=as2&amp;o=3&amp;a=B0033567D8" border="0" alt="" width="1" height="1" /><br />
Außerdem habe ich gesehen, dass Amazon derzeit das <a title="Zur Amazon Produktseite" href="http://www.amazon.de/gp/product/B0033567D8?ie=UTF8&amp;tag=httpwwwpatr05-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=B0033567D8" target="_self">Canon EF 70-200mm f/2,8 IS II</a> Objektiv (haben will) für 21% Preisnachlass anbietet, das sind etwas mehr als 500€. Das Canon Objektiv ist jedem zu empfehlen, der es gebrauchen kann! Der Preis: <strong>EUR 1.895,97.</strong></p>
<p>Es ist also eine gute Gelegenheit für ein frühzeitiges Weihnachtsgeschenk an sich selbst!</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/11/06/amazon-cyber-monday/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commit Messages</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/08/20/commit-messages</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/08/20/commit-messages#comments</comments>
		<pubDate>Fri, 20 Aug 2010 08:54:40 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=738</guid>
		<description><![CDATA[Die Sache mit den Versionskontrollsystemen (CVS, SVN, Git, etc) wurde mal eingeführt um einem Team von Entwicklern eine gemeinsame Codebasis zu ermöglichen. Wenn der Entwickler den Code ändert, wird er bei einchecken auch immer zu einem Kommentar der Änderung aufgefordert. Darüber kann er dem Team Infos über die Änderungen mitteilen. Nach meinen Erfahrungen wird diese [...]]]></description>
			<content:encoded><![CDATA[<p>Die Sache mit den <a href="http://de.wikipedia.org/wiki/Versionsverwaltung" target="_blank">Versionskontrollsystemen</a> (CVS, SVN, Git, etc) wurde mal eingeführt um einem Team von Entwicklern eine gemeinsame Codebasis zu ermöglichen. Wenn der Entwickler den Code ändert, wird er bei einchecken auch immer zu einem Kommentar der Änderung aufgefordert. Darüber kann er dem Team Infos über die Änderungen mitteilen. Nach meinen Erfahrungen wird diese Funktion leider nur selten dazu benutzt, sinnvolle Informationen mitzuteilen. Beispielsweise sagen Einzeiler wie &#8220;Updated acctList&#8221; oder &#8220;Added working folderAddMember&#8221; nichts über die Änderungen aus. Auf <a href="http://progit.org/book/ch5-2.html" target="_blank">progit.org</a> findet sich eine gute Beschreibung für Commit-Messages:</p>
<blockquote><p>Getting in the habit of creating quality commit messages makes using and collaborating with Git a lot easier. As a general rule, your messages should start with a single line that&#8217;s no more than about 50 characters and that describes the changeset concisely, followed by a blank line, followed by a more detailed explanation. The Git project requires that the more detailed explanation include your motivation for the change and contrast its implementation with previous behavior — this is a good guideline to follow. It&#8217;s also a good idea to use the imperative present tense in these messages. In other words, use commands. Instead of &#8220;I added tests for&#8221; or &#8220;Adding tests for,&#8221; use &#8220;Add tests for.&#8221; Here is a template originally written by Tim Pope at tpope.net:</p>
<p><em>Short (50 chars or less) summary of changes</em></p>
<p><em>More detailed explanatory text, if necessary.  Wrap it to about 72</em></p>
<p><em>characters or so.  In some contexts, the first line is treated as the</em></p>
<p><em>subject of an email and the rest of the text as the body.  The blank</em></p>
<p><em>line separating the summary from the body is critical (unless you omit</em></p>
<p><em>the body entirely); tools like rebase can get confused if you run the</em></p>
<p><em>two together.</em></p>
<p><em>Further paragraphs come after blank lines.</em></p>
<p><em>- Bullet points are okay, too</em></p>
<p><em>- Typically a hyphen or asterisk is used for the bullet, preceded by a</em></p>
<p><em>single space, with blank lines in between, but conventions vary here</em></p>
<p>If all your commit messages look like this, things will be a lot easier for you and the developers you work with. The Git project has well-formatted commit messages — I encourage you to run git log &#8211;no-merges there to see what a nicely formatted project-commit history looks like.</p></blockquote>
<p>In einer Zeit von häufigen Commits (Continuous Integration) ist es verständlicher weise aufwändig jede kleine Änderung (Typos, UI alignements, Code Formatierungen, etc) zu kommentieren. Meine Empfehlung wann ein Entwickler eine ausführliche Message schreiben sollte:</p>
<ul>
<li>Wenn sich ein Klassenname ändert oder eine Klasse verschoben wird</li>
<li>Wenn sich die Signatur einer Methode ändert</li>
<li>Wenn neue Bibliotheken verwendet werden</li>
</ul>
<p>Diese Liste könnte sicherlich noch um einige Punkte ergänzt werden, aber prinzipiell geht es um Änderungen, die die Struktur des Codes oder des Projekts verändern, quasi Refactorings.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/08/20/commit-messages/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Zeche Zollverein missachtet Panoramafreiheit&#8221;</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/07/22/zeche-zollverein-missachtet-panoramafreiheit</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/07/22/zeche-zollverein-missachtet-panoramafreiheit#comments</comments>
		<pubDate>Thu, 22 Jul 2010 17:28:31 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=709</guid>
		<description><![CDATA[Bonn: Neuer Abmahn-Skandal: Zeche Zollverein missachtet Panoramafreiheit &#124; Bonner Presseblog. “Es kann nicht sein, dass Fotografen, die in die europäische Kulturhauptstadt Region reisten, etwa, wie am vergangenen Wochenende für das Still-Leben auf der A40, oder wie am kommenden Wochenende zur Loveparade in Duisburg, Angst haben müssen, auch die Zeche Zollverein zu fotografieren, da sonst Abmahnungen [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bonner-presseblog.de/2010/07/22/bonn-neuer-abmahn-skandal-zeche-zollverein-missachtet-panoramafreiheit/">Bonn: Neuer Abmahn-Skandal: Zeche Zollverein missachtet Panoramafreiheit | Bonner Presseblog</a>.</p>
<blockquote><p><span style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px;">“Es kann nicht sein, dass Fotografen, die in die europäische Kulturhauptstadt Region reisten, etwa, wie am vergangenen Wochenende für das Still-Leben auf der A40, oder wie am kommenden Wochenende zur Loveparade in Duisburg, Angst haben müssen, auch die Zeche Zollverein zu fotografieren, da sonst Abmahnungen auf sie zukommen könnten”, betonte die stellvertretende DJV Bundesvorsitzende Ulrike Kaiser. “Für uns ist klar: Es gilt auch im Fall der Stiftung Zollverein die Panoramafreiheit für Fotografen. Die Stiftung Zollverein kann diese nicht missachten”, so Kaiser. Zudem sei das die schlechteste Öffentlichkeitsarbeit für den Standort Ruhrgebiet, die man sich vorstellen kann.</span></p></blockquote>
<p><span style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px;">Dazu kann ich nur sagen, Full Ack! Ich habe mich auch schon mal gefragt was ich alles so im öffentlichen Raum fotografieren darf und was nicht. Sehr seltsam. Ob ich wohl ärger für die <a href="http://www.patrickbreucking.de/wordpress/2010/07/07/post-tower-bonn">Post-Tower Bilder </a>bekomme?</span></p>
<p><span style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px;"><a href="http://de.wikipedia.org/wiki/Panoramafreiheit" target="_blank">Weitere Info zur Panoramafreiheit</a></span></p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/07/22/zeche-zollverein-missachtet-panoramafreiheit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neues Outfit</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/07/15/neues-outfit</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/07/15/neues-outfit#comments</comments>
		<pubDate>Thu, 15 Jul 2010 20:47:22 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=699</guid>
		<description><![CDATA[Und hiermit präsentiere ich meinen Blog im neuen Outfit. Kein Ausgefallenes Design, das wollte ich nicht. Das alte Theme gefiel mir eigentlich gut, ich wollte  aber mehr weniger Farbe um mehr Wert auf die Fotos zu legen. Außerdem sollten die Fotos in den Artikeln ein größeres Format bekommen. Das neue Theme ist ein etwas abgewandeltes [...]]]></description>
			<content:encoded><![CDATA[<p>Und hiermit präsentiere ich meinen Blog im neuen Outfit. Kein Ausgefallenes Design, das wollte ich nicht. Das alte Theme gefiel mir eigentlich gut, ich wollte  aber mehr weniger Farbe um mehr Wert auf die Fotos zu legen. Außerdem sollten die Fotos in den Artikeln ein größeres Format bekommen. Das neue Theme ist ein etwas abgewandeltes <a href="http://www.handgloves.co.uk/">Handgloves WordPress Theme</a>. Ich habe zuerst selbst versucht ein Design zu kreieren, aber irgendwie passte es mir nicht und sah auch zu sehr von <a title="Jeriko" href="http://www.jeriko.de" target="_blank">hier</a> oder <a href="http://stylespion.de" target="_blank">hier</a> kopiert aus. Wie auch immer ich bin mit dem neuen sehr zu frieden. Nun bleibt das Ganze wie immer am häufigen Posten hängen.</p>
<p>Kommentar zum neuen Outfit gerne! Ach und noch etwas, wenn jemand ein WordPress Plugin kennt, dass mir Flickr Bilder in einem selbst zu bestimmenden Format in den Blog einfügt: Haben will!</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/07/15/neues-outfit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Youtube gibt es jetzt mit Vuvuzela Hintergrund</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/06/24/youtube-mit-vuvuzel</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/06/24/youtube-mit-vuvuzel#comments</comments>
		<pubDate>Thu, 24 Jun 2010 13:20:00 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=675</guid>
		<description><![CDATA[Yeah! Youtube hat jetzt ein Vuvuzela Feature für alle Videos eingebaut! Jetzt zu Youtube!]]></description>
			<content:encoded><![CDATA[<p>Yeah! Youtube hat jetzt ein Vuvuzela Feature für alle Videos eingebaut!</p>
<p><a href="http://www.patrickbreucking.de/wordpress/wp-content/uploads/2010/06/Vuvuzela.png" rel="lightbox[675]" title="Vuvuzela"><img class="aligncenter size-full wp-image-676" title="Vuvuzela" src="http://www.patrickbreucking.de/wordpress/wp-content/uploads/2010/06/Vuvuzela.png" alt="" width="193" height="62" /></a>Jetzt zu <a title="Ab zu Youtube" href="http://www.youtube.de">Youtube!</a></p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/06/24/youtube-mit-vuvuzel/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schland</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/06/11/schland</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/06/11/schland#comments</comments>
		<pubDate>Fri, 11 Jun 2010 10:42:03 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/?p=664</guid>
		<description><![CDATA[Ja das muss auch sein!]]></description>
			<content:encoded><![CDATA[<p>Ja das muss auch sein!</p>
<p><object width="540" height="385"><param name="movie" value="http://www.youtube.com/v/elfmDRW8f3M&#038;color1=0xb1b1b1&#038;color2=0xd0d0d0&#038;hl=de_DE&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/elfmDRW8f3M&#038;color1=0xb1b1b1&#038;color2=0xd0d0d0&#038;hl=de_DE&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="540" height="385"></embed></object></p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/06/11/schland/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fußball WM 2010</title>
		<link>http://www.patrickbreucking.de/wordpress/2010/06/11/fusball-wm-2010</link>
		<comments>http://www.patrickbreucking.de/wordpress/2010/06/11/fusball-wm-2010#comments</comments>
		<pubDate>Fri, 11 Jun 2010 08:35:22 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[Ohne Kategorie]]></category>
		<category><![CDATA[Fußball web3d snoovel]]></category>

		<guid isPermaLink="false">http://www.patrickbreucking.de/wordpress/2010/06/11/fusball-wm-2010</guid>
		<description><![CDATA[Heute soll das da unten in Südafrika losgehen. Wer noch weiß worum es geht, hier kann man alles schön in Klickbunt und 3D sehen =&#62; http://www.snoovel.com/de/fussball-wm-2010/]]></description>
			<content:encoded><![CDATA[<p>Heute soll das da unten in Südafrika losgehen. Wer noch weiß worum es geht, hier kann man alles schön in Klickbunt und 3D sehen =&gt; <a href="http://www.snoovel.com/de/fussball-wm-2010/" target="_blank">http://www.snoovel.com/de/fussball-wm-2010/</a></p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://www.patrickbreucking.de/wordpress/2010/06/11/fusball-wm-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

