<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/4.0.3" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>The Mission Control  Supreme Commander Blog</title>
		<link>http://mcblogs.craalse.de/sku</link>
		<atom:link rel="self" type="application/rss+xml" href="http://mcblogs.craalse.de/sku?tempskin=_rss2" />
		<description></description>
		<language>de-DE</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=4.0.3"/>
		<ttl>60</ttl>
				<item>
			<title>Ain't that cute!?!</title>
			<link>http://mcblogs.craalse.de/sku/ain-t-that-cute</link>
			<pubDate>Sat, 07 Apr 2012 19:56:00 +0000</pubDate>			<dc:creator>sku</dc:creator>
			<category domain="main">Alles andere</category>			<guid isPermaLink="false">255@http://mcblogs.craalse.de/</guid>
						<description>&lt;p style=&quot;text-align: left;&quot;&gt;Wenn es &amp;#252;berhaupt eine Bigband-Nummer gibt, die mit einem Schlagzeugsolo mit Besen assoziiert ist, dann ist das &quot;Cute&quot; vom Count Basie Orchestra. Ebenso, wenn es &amp;#252;berhaupt eine Bigband-Nummer gibt, die mit einem Fl&amp;#246;tensolo assoziiert ist, dann ist das wieder &quot;Cute&quot; von der Basie Band. Und weil ich grade Fl&amp;#246;te &amp;#252;be wie ein Bekloppter, denn irgendwie muss sich ja mein Unterricht bei der grossartigen Els Jordaens lohnen, habe ich jetzt mal das Fl&amp;#246;tensolo von Frank Wess rausgeschrieben. Ausserdem ist die Nummer wirklich so sch&amp;#246;n, dass mir mal so richtig das Herz aufgeht, wann immer ich das h&amp;#246;re, denn wer &quot;Cute&quot; nicht mag, frisst auch kleine Kinder.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;Wenn man der Wikipedia Glauben schenken mag, dann ist Frank Wess als hochbetagter Mensch mit &amp;#252;ber Neunzig heute noch unter den Lebenden. Wahrscheinlich ist er einer der letzten in dieser grossartigen Basie-Band der ausgehenden F&amp;#252;nfziger, in der Fixsterne spielten wie Joe Newman, Thad Jones, Snooky Young, Marshall Royal, Billy Mitchell, Eddie &quot;Lockjaw&quot; Davis und Sonny Payne. Es gab nie wieder eine bessere Bigband als diese.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;Leider konnte ich nirgendwo auf YouTube diese Aufnahme finden, drum bleibt hier mal ein Link auf YouTube aus. Without any further ado, here is &quot;Cute&quot; (ein Klick auf das Thumbnail &amp;#246;ffnet die Transkription als pdf-Datei):&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a title=&quot;Cute transcription pdf file&quot; href=&quot;/skufiles/2012/apr/Cute.pdf&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;vertical-align: middle;&quot; src=&quot;/skufiles/2012/apr/cute.png&quot; alt=&quot;Cute Solo Transcription&quot; width=&quot;317&quot; height=&quot;821&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;Happy transcribing, you know, I am!&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://mcblogs.craalse.de/sku/ain-t-that-cute&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: left;">Wenn es &#252;berhaupt eine Bigband-Nummer gibt, die mit einem Schlagzeugsolo mit Besen assoziiert ist, dann ist das "Cute" vom Count Basie Orchestra. Ebenso, wenn es &#252;berhaupt eine Bigband-Nummer gibt, die mit einem Fl&#246;tensolo assoziiert ist, dann ist das wieder "Cute" von der Basie Band. Und weil ich grade Fl&#246;te &#252;be wie ein Bekloppter, denn irgendwie muss sich ja mein Unterricht bei der grossartigen Els Jordaens lohnen, habe ich jetzt mal das Fl&#246;tensolo von Frank Wess rausgeschrieben. Ausserdem ist die Nummer wirklich so sch&#246;n, dass mir mal so richtig das Herz aufgeht, wann immer ich das h&#246;re, denn wer "Cute" nicht mag, frisst auch kleine Kinder.</p>
<p style="text-align: left;">Wenn man der Wikipedia Glauben schenken mag, dann ist Frank Wess als hochbetagter Mensch mit &#252;ber Neunzig heute noch unter den Lebenden. Wahrscheinlich ist er einer der letzten in dieser grossartigen Basie-Band der ausgehenden F&#252;nfziger, in der Fixsterne spielten wie Joe Newman, Thad Jones, Snooky Young, Marshall Royal, Billy Mitchell, Eddie "Lockjaw" Davis und Sonny Payne. Es gab nie wieder eine bessere Bigband als diese.</p>
<p style="text-align: left;">Leider konnte ich nirgendwo auf YouTube diese Aufnahme finden, drum bleibt hier mal ein Link auf YouTube aus. Without any further ado, here is "Cute" (ein Klick auf das Thumbnail &#246;ffnet die Transkription als pdf-Datei):</p>
<p style="text-align: center;"><a title="Cute transcription pdf file" href="http://mcblogs.craalse.de/skufiles/2012/apr/Cute.pdf" target="_blank"><img style="vertical-align: middle;" src="http://mcblogs.craalse.de/skufiles/2012/apr/cute.png" alt="Cute Solo Transcription" width="317" height="821" /></a></p>
<p style="text-align: center;">Happy transcribing, you know, I am!</p><div class="item_footer"><p><small><a href="http://mcblogs.craalse.de/sku/ain-t-that-cute">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://mcblogs.craalse.de/sku/ain-t-that-cute#comments</comments>
			<wfw:commentRss>http://mcblogs.craalse.de/sku?tempskin=_rss2&#38;disp=comments&#38;p=255</wfw:commentRss>
		</item>
				<item>
			<title>Symbole im Debugger gezielt nicht laden</title>
			<link>http://mcblogs.craalse.de/sku/symbole-im-debugger-gezielt-nicht</link>
			<pubDate>Sat, 31 Mar 2012 11:25:00 +0000</pubDate>			<dc:creator>sku</dc:creator>
			<category domain="main">Coding</category>			<guid isPermaLink="false">254@http://mcblogs.craalse.de/</guid>
						<description>&lt;p&gt;In diesem Blogpost beschreibe ich jetzt mal, wie man f&amp;#252;r den Debugger von Visual Studio verhindern kann, dass bestimmte Symbole geladen werden. Mein Problem ist, dass ich immer wieder vergesse, wie der Registry Key heisst, den man da anlegen/bearbeiten muss, und welche DLLs ich da am Besten eintrage, und dieses Problem wiederholt sich bei mir bei jeder Entwicklungsbox, die ich aufsetze, insofern bin ich mit diesem Blogpost mein eigenes und bestes Zielpublikum.&lt;/p&gt;
&lt;h3&gt;Das Problem&lt;/h3&gt;
&lt;p&gt;Wenn man einen Pfad zum Laden von Symbolen gesetzt hat, dann ist das normalerweise eine sch&amp;#246;ne Sache. Der Debugger versucht, von jeder DLL im Prozessraum des Debuggees die Symbole zu laden, und man erh&amp;#228;lt zumindest sch&amp;#246;ne Callstacks beim Debuggen. Bei einem Symbol Store f&amp;#252;r die eigenen Binaries sieht man auch lokale Variablen und ihre Werte sowie den dazugeh&amp;#246;rigen Code, notfalls automatisch ausgecheckt aus dem Versionskontrollsystem (wie man sich sowas aufbaut, habe ich &lt;a title=&quot;Source Server und Symbol Server Setup mit Subversion&quot; href=&quot;/sku/source_server_und_symbol_server_setup_mi&quot; target=&quot;_blank&quot;&gt;vor langer Zeit hier beschrieben&lt;/a&gt;). Damit ist die Welt sch&amp;#246;n, denn beispielsweise von den DLLs des Betriebssystems bekommt man die Symbole automatisiert von Microsofts Symbol Server runtergeladen.&lt;/p&gt;
&lt;p&gt;Bl&amp;#246;d wird das Ganze aber, wenn im Prozessraum eine DLL auftaucht, f&amp;#252;r die man partout keine Symbole bekommt, denn der zum Scheitern verurteilte Versuch, f&amp;#252;r solche DLLs die Symbole zu finden und zu laden, braucht sehr viel Zeit, und das Leben ist bekanntlich ja schon kurz genug. Und beim Debuggen warten zu m&amp;#252;ssen ist eine &lt;a title=&quot;Pain in the ass&quot; href=&quot;https://en.wikipedia.org/wiki/Pain_in_the_ass&quot; target=&quot;_blank&quot;&gt;PITA&lt;/a&gt;. Historisch z&amp;#228;hlten dazu schon ab und zu mal DLLs von Microsoft, aber notorisch bekannt daf&amp;#252;r sind eigentlich die Hersteller von Grafikkarten, die es fertig bringen, in jeden Prozessraum ihre &lt;span style=&quot;text-decoration: line-through;&quot;&gt;verschissenen&lt;/span&gt; DLLs zu injizieren, oder aber irgendwelche third-party Shell-Extensions. Da ich zuhause bekannterweise einen &lt;a title=&quot;Subversion auf Wikipedia&quot; href=&quot;https://en.wikipedia.org/wiki/Apache_Subversion&quot; target=&quot;_blank&quot;&gt;Subversion&lt;/a&gt;-Server einsetze und auf meinen Entwicklungsboxen daher das wunderbare &lt;a title=&quot;Tortoise-SVN auf Wikipedia&quot; href=&quot;https://en.wikipedia.org/wiki/TortoiseSVN&quot; target=&quot;_blank&quot;&gt;Tortoise-SVN&lt;/a&gt; zum Einsatz kommt, ist Tortoise-SVN ein wunderbares Beispiel f&amp;#252;r dieses Problem. Am Besten manifestiert sich das Problem, wenn man beim Debuggen eine File-Open Box &amp;#246;ffnet. Dann wird alles an Shell-Extensions geladen, was nicht bei drei auf den B&amp;#228;umen ist, unter anderem auch Tortoise-SVN. Auf meiner guten alten SAAVIK, einer x64-Box von 2005, dauert das dann 22s im Debugger, bis die File-Open Box dargestellt und bedienbar ist. Der Debugger schaut f&amp;#252;r jede zu ladenden DLL in das Binary rein und versucht, das Symbol, also die pdb-Datei, zu ermitteln und dann zu laden. Wenn er sie nicht &amp;#252;ber einen absoluten Pfad findet, klappert er der Reihe nach die konfigurierten Symbol Stores ab und das dauert dann &amp;#252;blicherweise jedesmal ein paar Sekunden, bis er bei der Nachfrage beim Microsoft Symbol Store (oder dem eigenen Symbol Store) die Antwort bekommt: &quot;Nein die Datei TortoiseSVN.pdb ist nicht von uns&quot;.&lt;/p&gt;
&lt;h3&gt;Die L&amp;#246;sung&lt;/h3&gt;
&lt;p&gt;Die L&amp;#246;sung besteht darin, diejenigen DLLs zu identifizieren, f&amp;#252;r die man ohnehin keine Symbole bekommt, und die dann von vornherein vom Laden auszuschliessen. Wenn Symbole lokal gefunden werden, dann sieht man sowas im Debugger-Output:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&#039;abcd.exe&#039;: Loaded &#039;C:\foobar\bin\Debug\xyz.dll&#039;, Symbols loaded.&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;oder aber, wenn die Symbole&amp;#160; beispielsweise vom MS Symbol Store kommen (und daher die Debuginformationen &#039;stripped&#039; sind, also nur Funktionsnamen beinhalten):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&#039;&lt;/code&gt;&lt;code&gt;abcd&lt;/code&gt;&lt;code&gt;.exe&#039;: Loaded &#039;C:\Windows\SysWOW64\ntdll.dll&#039;, Symbols loaded (source information stripped).&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Wenn aber die Symbole nicht gefunden werden, dann sieht das lediglich so aus (also ohne irgendwas mit &quot;Symbols loaded&quot;):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&#039;abcd.exe&#039;: Loaded &#039;C:\Program Files (x86)\TortoiseSVN\bin\TortoiseSVN.dll&#039;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Es gilt also, diese DLLs im Debugger-Output zu identifizieren und deren Symboldateien zu ermitteln. In der Regel heissen die Symboldateien so wie die DLLs, nur mit der Extension .pdb. Um aber auf Nummer Sicher zu gehen, schaut man sich jede DLL in einem Hexeditor an und sucht nach dem String &quot;.pdb&quot;. &amp;#220;blicherweise erh&amp;#228;lt man nur einen Treffer und das ist dann der Name der Symboldatei, nach der der Debugger sucht. Hat man den Namen der Datei, dann legt man den Key HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\Exclusions an (sofern der noch nicht existiert) und erg&amp;#228;nzt dort einen REG_SZ-Value mit dem Namen der Symboldatei. Bei mir schaut das dann beispielsweise so aus:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\Exclusions]&lt;br /&gt;&quot;TortoiseOverlays.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;TortoiseStub.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;TortoiseSVN.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;libapr_tsvn.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;libaprutil_tsvn.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;intl3_tsvn.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;slc.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;WMVCORE.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;SPYHK55.pdb&quot;=&quot;&quot;&lt;br /&gt;&quot;TortoiseShell.pdb&quot;=&quot;&quot;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Wenn man damit dann fertig ist, beendet man Visual Studio und startet es neu, und ab jetzt werden die angegebenen Symbole ignoriert und man kann pfeilschnell debuggen. Auf SAAVIK dauert damit das &amp;#214;ffnen einer File-Open Box dann unter 5s.&lt;/p&gt;
&lt;p&gt;Als Referenz ist ein Regfile mit meinen Einstellungen von oben &lt;a title=&quot;Mein regfile mit den auszuschliessenden Symboldateien&quot; href=&quot;/skufiles/2012/mar/symload.reg&quot; target=&quot;_blank&quot;&gt;hier zu finden&lt;/a&gt;. Einfach die Datei in die lokale Registry reinmergen und dann Rock&#039;n Roll. Debuggt man dann unter einem anderen User muss man das dann f&amp;#252;r diesen User auch nochmal tun.&lt;/p&gt;
&lt;p&gt;Happy debugging and symbol loading, you know, I am.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://mcblogs.craalse.de/sku/symbole-im-debugger-gezielt-nicht&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>In diesem Blogpost beschreibe ich jetzt mal, wie man f&#252;r den Debugger von Visual Studio verhindern kann, dass bestimmte Symbole geladen werden. Mein Problem ist, dass ich immer wieder vergesse, wie der Registry Key heisst, den man da anlegen/bearbeiten muss, und welche DLLs ich da am Besten eintrage, und dieses Problem wiederholt sich bei mir bei jeder Entwicklungsbox, die ich aufsetze, insofern bin ich mit diesem Blogpost mein eigenes und bestes Zielpublikum.</p>
<h3>Das Problem</h3>
<p>Wenn man einen Pfad zum Laden von Symbolen gesetzt hat, dann ist das normalerweise eine sch&#246;ne Sache. Der Debugger versucht, von jeder DLL im Prozessraum des Debuggees die Symbole zu laden, und man erh&#228;lt zumindest sch&#246;ne Callstacks beim Debuggen. Bei einem Symbol Store f&#252;r die eigenen Binaries sieht man auch lokale Variablen und ihre Werte sowie den dazugeh&#246;rigen Code, notfalls automatisch ausgecheckt aus dem Versionskontrollsystem (wie man sich sowas aufbaut, habe ich <a title="Source Server und Symbol Server Setup mit Subversion" href="http://mcblogs.craalse.de/sku/source_server_und_symbol_server_setup_mi" target="_blank">vor langer Zeit hier beschrieben</a>). Damit ist die Welt sch&#246;n, denn beispielsweise von den DLLs des Betriebssystems bekommt man die Symbole automatisiert von Microsofts Symbol Server runtergeladen.</p>
<p>Bl&#246;d wird das Ganze aber, wenn im Prozessraum eine DLL auftaucht, f&#252;r die man partout keine Symbole bekommt, denn der zum Scheitern verurteilte Versuch, f&#252;r solche DLLs die Symbole zu finden und zu laden, braucht sehr viel Zeit, und das Leben ist bekanntlich ja schon kurz genug. Und beim Debuggen warten zu m&#252;ssen ist eine <a title="Pain in the ass" href="https://en.wikipedia.org/wiki/Pain_in_the_ass" target="_blank">PITA</a>. Historisch z&#228;hlten dazu schon ab und zu mal DLLs von Microsoft, aber notorisch bekannt daf&#252;r sind eigentlich die Hersteller von Grafikkarten, die es fertig bringen, in jeden Prozessraum ihre <span style="text-decoration: line-through;">verschissenen</span> DLLs zu injizieren, oder aber irgendwelche third-party Shell-Extensions. Da ich zuhause bekannterweise einen <a title="Subversion auf Wikipedia" href="https://en.wikipedia.org/wiki/Apache_Subversion" target="_blank">Subversion</a>-Server einsetze und auf meinen Entwicklungsboxen daher das wunderbare <a title="Tortoise-SVN auf Wikipedia" href="https://en.wikipedia.org/wiki/TortoiseSVN" target="_blank">Tortoise-SVN</a> zum Einsatz kommt, ist Tortoise-SVN ein wunderbares Beispiel f&#252;r dieses Problem. Am Besten manifestiert sich das Problem, wenn man beim Debuggen eine File-Open Box &#246;ffnet. Dann wird alles an Shell-Extensions geladen, was nicht bei drei auf den B&#228;umen ist, unter anderem auch Tortoise-SVN. Auf meiner guten alten SAAVIK, einer x64-Box von 2005, dauert das dann 22s im Debugger, bis die File-Open Box dargestellt und bedienbar ist. Der Debugger schaut f&#252;r jede zu ladenden DLL in das Binary rein und versucht, das Symbol, also die pdb-Datei, zu ermitteln und dann zu laden. Wenn er sie nicht &#252;ber einen absoluten Pfad findet, klappert er der Reihe nach die konfigurierten Symbol Stores ab und das dauert dann &#252;blicherweise jedesmal ein paar Sekunden, bis er bei der Nachfrage beim Microsoft Symbol Store (oder dem eigenen Symbol Store) die Antwort bekommt: "Nein die Datei TortoiseSVN.pdb ist nicht von uns".</p>
<h3>Die L&#246;sung</h3>
<p>Die L&#246;sung besteht darin, diejenigen DLLs zu identifizieren, f&#252;r die man ohnehin keine Symbole bekommt, und die dann von vornherein vom Laden auszuschliessen. Wenn Symbole lokal gefunden werden, dann sieht man sowas im Debugger-Output:</p>
<p><code>'abcd.exe': Loaded 'C:\foobar\bin\Debug\xyz.dll', Symbols loaded.</code></p>
<p>oder aber, wenn die Symbole&#160; beispielsweise vom MS Symbol Store kommen (und daher die Debuginformationen 'stripped' sind, also nur Funktionsnamen beinhalten):</p>
<p><code>'</code><code>abcd</code><code>.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Symbols loaded (source information stripped).</code><br /><br /></p>
<p>Wenn aber die Symbole nicht gefunden werden, dann sieht das lediglich so aus (also ohne irgendwas mit "Symbols loaded"):</p>
<p><code>'abcd.exe': Loaded 'C:\Program Files (x86)\TortoiseSVN\bin\TortoiseSVN.dll'</code></p>
<p>Es gilt also, diese DLLs im Debugger-Output zu identifizieren und deren Symboldateien zu ermitteln. In der Regel heissen die Symboldateien so wie die DLLs, nur mit der Extension .pdb. Um aber auf Nummer Sicher zu gehen, schaut man sich jede DLL in einem Hexeditor an und sucht nach dem String ".pdb". &#220;blicherweise erh&#228;lt man nur einen Treffer und das ist dann der Name der Symboldatei, nach der der Debugger sucht. Hat man den Namen der Datei, dann legt man den Key HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\Exclusions an (sofern der noch nicht existiert) und erg&#228;nzt dort einen REG_SZ-Value mit dem Namen der Symboldatei. Bei mir schaut das dann beispielsweise so aus:</p>
<p><code>[HKEY_CURRENT_USER\Software\Microsoft\Symbol Server\Exclusions]<br />"TortoiseOverlays.pdb"=""<br />"TortoiseStub.pdb"=""<br />"TortoiseSVN.pdb"=""<br />"libapr_tsvn.pdb"=""<br />"libaprutil_tsvn.pdb"=""<br />"intl3_tsvn.pdb"=""<br />"slc.pdb"=""<br />"WMVCORE.pdb"=""<br />"SPYHK55.pdb"=""<br />"TortoiseShell.pdb"=""<br /></code></p>
<p>Wenn man damit dann fertig ist, beendet man Visual Studio und startet es neu, und ab jetzt werden die angegebenen Symbole ignoriert und man kann pfeilschnell debuggen. Auf SAAVIK dauert damit das &#214;ffnen einer File-Open Box dann unter 5s.</p>
<p>Als Referenz ist ein Regfile mit meinen Einstellungen von oben <a title="Mein regfile mit den auszuschliessenden Symboldateien" href="http://mcblogs.craalse.de/skufiles/2012/mar/symload.reg" target="_blank">hier zu finden</a>. Einfach die Datei in die lokale Registry reinmergen und dann Rock'n Roll. Debuggt man dann unter einem anderen User muss man das dann f&#252;r diesen User auch nochmal tun.</p>
<p>Happy debugging and symbol loading, you know, I am.</p><div class="item_footer"><p><small><a href="http://mcblogs.craalse.de/sku/symbole-im-debugger-gezielt-nicht">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://mcblogs.craalse.de/sku/symbole-im-debugger-gezielt-nicht#comments</comments>
			<wfw:commentRss>http://mcblogs.craalse.de/sku?tempskin=_rss2&#38;disp=comments&#38;p=254</wfw:commentRss>
		</item>
				<item>
			<title>PREfast und third-party-code</title>
			<link>http://mcblogs.craalse.de/sku/prefast-und-third-party-code</link>
			<pubDate>Sat, 24 Mar 2012 21:06:00 +0000</pubDate>			<dc:creator>sku</dc:creator>
			<category domain="main">Coding</category>			<guid isPermaLink="false">253@http://mcblogs.craalse.de/</guid>
						<description>&lt;p&gt;Wenn man Third-Party-Code einsetzt, hat man sehr oft nicht den Luxus, an dem so lange rumschrauben zu k&amp;#246;nnen, bis er sauber durch PREfast durchl&amp;#228;uft. Ein neues Release dieses Third-Party-Codes, und die Arbeit f&amp;#228;ngt wieder von vorne an. SQLite ist so ein Fall. Ich benutze in einer Reihe von Projekten die SQLite Amalgamation, das ist ein einziges riesiges C-File namens sqlite3.c mit dem kompletten Code von SQLite drinne. Damit ich Projekte, die sqlite3.c benutzen, auch mit PREfast &amp;#252;bersetzen kann und dabei nicht von den Gazillionen von PREfast-Warnungen aus der sqlite3.c, an denen ich eh nichts &amp;#228;ndern kann/sollte, erschlagen werde, injiziere ich beim &amp;#220;bersetzen von sqlite3.c ein Headerfile von mir. Das Injizieren von Headerfiles ist ein ziemlich &lt;span style=&quot;text-decoration: line-through;&quot;&gt;fieses&lt;/span&gt; m&amp;#228;chtiges Feature von Visual C, das seit Urzeiten in diesem Produkt drinne ist, das aber auff&amp;#228;llig wenige Leute kennen. Das ganze geht mit dem Compilerschalter /FI, mit dem man den Namen eines Headerfiles angibt, das gelesen werden soll, und zwar vor allen Headerfiles, die von dem zu &amp;#252;bersetzenden Sourcefile inkludiert werden (sogar vor einem eventuell einzulesenden precompiled header). Damit kann man also allerhand fiesen Schabernack treiben und Header inkludieren, ohne Sourcefiles zu &amp;#228;ndern. Speziell im Fall sqlite3.c habe ich ein Headerfile namens sqltpref.h, bei dem ich &amp;#252;ber die include-Pfade daf&amp;#252;r sorge, dass es in den relevanten Projekten automatisch &amp;#252;ber Angabe des Dateinamens gefunden wird, und das in etwa folgendermassen ausschaut:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#ifndef SQLTPREF_H__&lt;br /&gt;#define SQLTPREF_H__&lt;br /&gt;&lt;br /&gt;#ifdef _PREFAST_&lt;br /&gt;/// &lt;br /&gt;/// here we collect all those warnings that prefast&lt;br /&gt;/// shows if we compile the sqlite amalgamation:&lt;br /&gt;/// &lt;br /&gt;#pragma warning (disable:6386 6326 6001 6246 6011 6292 6244 6385 6239 6235 6328 6295)&lt;br /&gt;&lt;br /&gt;#endif /// _PREFAST_&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#endif /// SQLTPREF_H__&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Dann muss ich nur noch in jedem Projekt f&amp;#252;r die Datei sqlite3.c mit dem Compilerschalter /FI diesen Header injizieren, also durch Angabe von&lt;/p&gt;
&lt;p&gt;/FI&quot;sqltpref.h&quot;&lt;/p&gt;
&lt;p&gt;auf der Kommandozeile des Compilers. In Visual Studio geht das sehr einfach, indem man die Datei sqlite3.c im Baum vom Solution Explorer anw&amp;#228;hlt, sich die Properties anzeigen l&amp;#228;sst und zur Anzeige der Kommandozeile navigiert unter &quot;Configuration Properties&quot;-&quot;C/C++&quot;-&quot;Command Line&quot;. Dort tr&amp;#228;gt man einfach unter Additional Options den /FI&quot;sqltpref.h&quot; ein und fertig. So sieht das dann in echt aus:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/skufiles/2012/mar/sqlite_prefast.png&quot; alt=&quot;&quot; width=&quot;330&quot; height=&quot;531&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Das war&#039;s, damit l&amp;#228;sst sich nun sqlite3.c auch dann problemlos &amp;#252;bersetzen, wenn mit PREfast &amp;#252;bersetzt wird, und bleibt dabei mucksm&amp;#228;uschenstill.   Happy PREfasting, you know, I am!&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://mcblogs.craalse.de/sku/prefast-und-third-party-code&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Wenn man Third-Party-Code einsetzt, hat man sehr oft nicht den Luxus, an dem so lange rumschrauben zu k&#246;nnen, bis er sauber durch PREfast durchl&#228;uft. Ein neues Release dieses Third-Party-Codes, und die Arbeit f&#228;ngt wieder von vorne an. SQLite ist so ein Fall. Ich benutze in einer Reihe von Projekten die SQLite Amalgamation, das ist ein einziges riesiges C-File namens sqlite3.c mit dem kompletten Code von SQLite drinne. Damit ich Projekte, die sqlite3.c benutzen, auch mit PREfast &#252;bersetzen kann und dabei nicht von den Gazillionen von PREfast-Warnungen aus der sqlite3.c, an denen ich eh nichts &#228;ndern kann/sollte, erschlagen werde, injiziere ich beim &#220;bersetzen von sqlite3.c ein Headerfile von mir. Das Injizieren von Headerfiles ist ein ziemlich <span style="text-decoration: line-through;">fieses</span> m&#228;chtiges Feature von Visual C, das seit Urzeiten in diesem Produkt drinne ist, das aber auff&#228;llig wenige Leute kennen. Das ganze geht mit dem Compilerschalter /FI, mit dem man den Namen eines Headerfiles angibt, das gelesen werden soll, und zwar vor allen Headerfiles, die von dem zu &#252;bersetzenden Sourcefile inkludiert werden (sogar vor einem eventuell einzulesenden precompiled header). Damit kann man also allerhand fiesen Schabernack treiben und Header inkludieren, ohne Sourcefiles zu &#228;ndern. Speziell im Fall sqlite3.c habe ich ein Headerfile namens sqltpref.h, bei dem ich &#252;ber die include-Pfade daf&#252;r sorge, dass es in den relevanten Projekten automatisch &#252;ber Angabe des Dateinamens gefunden wird, und das in etwa folgendermassen ausschaut:</p>
<p><code>#ifndef SQLTPREF_H__<br />#define SQLTPREF_H__<br /><br />#ifdef _PREFAST_<br />/// <br />/// here we collect all those warnings that prefast<br />/// shows if we compile the sqlite amalgamation:<br />/// <br />#pragma warning (disable:6386 6326 6001 6246 6011 6292 6244 6385 6239 6235 6328 6295)<br /><br />#endif /// _PREFAST_<br /><br /><br />#endif /// SQLTPREF_H__<br /><br /></code></p>
<p>Dann muss ich nur noch in jedem Projekt f&#252;r die Datei sqlite3.c mit dem Compilerschalter /FI diesen Header injizieren, also durch Angabe von</p>
<p>/FI"sqltpref.h"</p>
<p>auf der Kommandozeile des Compilers. In Visual Studio geht das sehr einfach, indem man die Datei sqlite3.c im Baum vom Solution Explorer anw&#228;hlt, sich die Properties anzeigen l&#228;sst und zur Anzeige der Kommandozeile navigiert unter "Configuration Properties"-"C/C++"-"Command Line". Dort tr&#228;gt man einfach unter Additional Options den /FI"sqltpref.h" ein und fertig. So sieht das dann in echt aus:</p>
<p><img src="http://mcblogs.craalse.de/skufiles/2012/mar/sqlite_prefast.png" alt="" width="330" height="531" /></p>
<p>Das war's, damit l&#228;sst sich nun sqlite3.c auch dann problemlos &#252;bersetzen, wenn mit PREfast &#252;bersetzt wird, und bleibt dabei mucksm&#228;uschenstill.   Happy PREfasting, you know, I am!</p><div class="item_footer"><p><small><a href="http://mcblogs.craalse.de/sku/prefast-und-third-party-code">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://mcblogs.craalse.de/sku/prefast-und-third-party-code#comments</comments>
			<wfw:commentRss>http://mcblogs.craalse.de/sku?tempskin=_rss2&#38;disp=comments&#38;p=253</wfw:commentRss>
		</item>
				<item>
			<title>PREfast und MFC</title>
			<link>http://mcblogs.craalse.de/sku/prefast-und-mfc</link>
			<pubDate>Sat, 24 Mar 2012 20:48:00 +0000</pubDate>			<dc:creator>sku</dc:creator>
			<category domain="main">Coding</category>			<guid isPermaLink="false">252@http://mcblogs.craalse.de/</guid>
						<description>&lt;p&gt;Da meine Anspr&amp;#252;che an meinen eigenen Code dergestalt sind, dass er ungestreift mit PREfast &amp;#252;bersetzt werden k&amp;#246;nnen muss, habe ich bei meinen MFC-basierten Anwendungen immer ein kleines Problem: Die Headerfiles der MFC sind nicht PREfast-compliant und an diesen Headern schraubt man selber nix rum. Daher benutze ich meist folgenden kleinen Trick: W&amp;#228;hrend in der stdafx.h die MFC-Headerfiles eingelesen werden, schalte ich die notorischen PREfast-Warnungen der MFC-Headers aus und schalte sie hinterher ein. Das tue ich nur, wenn auch ein &amp;#220;bersetzungslauf mit PREfast ansteht, denn ansonsten erhalte ich Warnungen f&amp;#252;r nicht-existierende Warnungsnummern (n&amp;#228;mlich die aus PREfast). Das ganze sieht also in einer stdafx.h von mir etwa so aus:&lt;/p&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#ifdef _PREFAST_&lt;br /&gt;#pragma warning (push)&lt;br /&gt;#pragma warning (disable: 6387)&lt;br /&gt;#endif ///_PREFAST_&lt;br /&gt;&lt;br /&gt;#include &amp;lt;afxwin.h&amp;gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;#160;&lt;br /&gt;#include &amp;lt;afxext.h&amp;gt;&lt;br /&gt;&lt;br /&gt;/// include other stuff from MFC, yaddaa, yaddaa ...&lt;br /&gt;&lt;br /&gt;#ifdef _PREFAST_&lt;br /&gt;#pragma warning (pop)&lt;br /&gt;#endif ///_PREFAST_&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Durch das Makro _PREFAST_, das automatisch definiert ist, wenn ein &amp;#220;bersetzungslauf mit PREfast stattfindet, kann man somit sehr geschickt ganz selektiv die Warnung 6387 ausschalten.&lt;/p&gt;
&lt;p&gt;Happy PREfasting, you know, I am!&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://mcblogs.craalse.de/sku/prefast-und-mfc&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Da meine Anspr&#252;che an meinen eigenen Code dergestalt sind, dass er ungestreift mit PREfast &#252;bersetzt werden k&#246;nnen muss, habe ich bei meinen MFC-basierten Anwendungen immer ein kleines Problem: Die Headerfiles der MFC sind nicht PREfast-compliant und an diesen Headern schraubt man selber nix rum. Daher benutze ich meist folgenden kleinen Trick: W&#228;hrend in der stdafx.h die MFC-Headerfiles eingelesen werden, schalte ich die notorischen PREfast-Warnungen der MFC-Headers aus und schalte sie hinterher ein. Das tue ich nur, wenn auch ein &#220;bersetzungslauf mit PREfast ansteht, denn ansonsten erhalte ich Warnungen f&#252;r nicht-existierende Warnungsnummern (n&#228;mlich die aus PREfast). Das ganze sieht also in einer stdafx.h von mir etwa so aus:</p>
<p>&#160;</p>
<p><code>#ifdef _PREFAST_<br />#pragma warning (push)<br />#pragma warning (disable: 6387)<br />#endif ///_PREFAST_<br /><br />#include &lt;afxwin.h&gt;&#160;&#160;&#160;&#160;&#160;&#160; &#160;<br />#include &lt;afxext.h&gt;<br /><br />/// include other stuff from MFC, yaddaa, yaddaa ...<br /><br />#ifdef _PREFAST_<br />#pragma warning (pop)<br />#endif ///_PREFAST_<br /></code></p>
<p>Durch das Makro _PREFAST_, das automatisch definiert ist, wenn ein &#220;bersetzungslauf mit PREfast stattfindet, kann man somit sehr geschickt ganz selektiv die Warnung 6387 ausschalten.</p>
<p>Happy PREfasting, you know, I am!</p><div class="item_footer"><p><small><a href="http://mcblogs.craalse.de/sku/prefast-und-mfc">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://mcblogs.craalse.de/sku/prefast-und-mfc#comments</comments>
			<wfw:commentRss>http://mcblogs.craalse.de/sku?tempskin=_rss2&#38;disp=comments&#38;p=252</wfw:commentRss>
		</item>
				<item>
			<title>Quote of the day</title>
			<link>http://mcblogs.craalse.de/sku/quote-of-the-day-3</link>
			<pubDate>Wed, 21 Mar 2012 23:08:00 +0000</pubDate>			<dc:creator>sku</dc:creator>
			<category domain="alt">Lustich</category>
<category domain="main">Alles andere</category>			<guid isPermaLink="false">251@http://mcblogs.craalse.de/</guid>
						<description>&lt;h2 style=&quot;text-align: left;&quot;&gt;&quot;Das ist wie P&amp;#228;dagogisch, nur ohne F&amp;#252;&amp;#223;e&quot;&lt;/h2&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;Karl Farrent am 21.3.2012 zur Frage nach der Bedeutung des Worts &quot;Agogisch&quot;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://mcblogs.craalse.de/sku/quote-of-the-day-3&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<h2 style="text-align: left;">"Das ist wie P&#228;dagogisch, nur ohne F&#252;&#223;e"</h2>
<p style="text-align: left;">Karl Farrent am 21.3.2012 zur Frage nach der Bedeutung des Worts "Agogisch"</p><div class="item_footer"><p><small><a href="http://mcblogs.craalse.de/sku/quote-of-the-day-3">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://mcblogs.craalse.de/sku/quote-of-the-day-3#comments</comments>
			<wfw:commentRss>http://mcblogs.craalse.de/sku?tempskin=_rss2&#38;disp=comments&#38;p=251</wfw:commentRss>
		</item>
				<item>
			<title>Mein Kobold bei der Arbeit</title>
			<link>http://mcblogs.craalse.de/sku/mein-kobold-bei-der-arbeit</link>
			<pubDate>Tue, 14 Feb 2012 19:57:00 +0000</pubDate>			<dc:creator>sku</dc:creator>
			<category domain="main">Alles andere</category>			<guid isPermaLink="false">250@http://mcblogs.craalse.de/</guid>
						<description>&lt;p&gt;Seit etwas mehr als einer Woche bin ich jetzt der stolze Besitzer eines vollautonomen Saugroboters vom Typ Vorwerk Kobold VR100. Da geh&amp;ouml;rt es sich, dass ich den Knaben mal bei der Arbeit beobachte. Das Bild w&amp;auml;hrend der Fahrt hat meine Digitalkamera gefilmt, die ich mit Gaffer-Tape vorne an den Roboter angeklebt habe. Das Picture-In-Picture wurde mit meinem Handy vom Tisch aus aufgenommen, auch provisorisch mit Gaffer-Tape angebracht. Ich hoffe, dass ausreichend viele Betrachter in der Lage sind, die gelungene Musikauswahl zu goutieren (man muss den Film dazu kennen).&lt;/p&gt;

&lt;p&gt;Also: Unbedingt die Lautsprecher einschalten beim Videokucken.&lt;/p&gt;

&lt;object width=&quot;400&quot; height=&quot;300&quot; data=&quot;http://www.youtube.com/v/WubdBAwbIuc?version=3&amp;amp;feature=player_detailpage&quot; type=&quot;application/x-shockwave-flash&quot;&gt;
&lt;param name=&quot;data&quot; value=&quot;http://www.youtube.com/v/WubdBAwbIuc?version=3&amp;amp;feature=player_detailpage&quot; /&gt;&lt;br /&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;br /&gt;
&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;br /&gt;
&lt;param name=&quot;src&quot; value=&quot;http://www.youtube.com/v/WubdBAwbIuc?version=3&amp;amp;feature=player_detailpage&quot; /&gt;&lt;br /&gt;
&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;
&lt;/object&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://mcblogs.craalse.de/sku/mein-kobold-bei-der-arbeit&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Seit etwas mehr als einer Woche bin ich jetzt der stolze Besitzer eines vollautonomen Saugroboters vom Typ Vorwerk Kobold VR100. Da geh&ouml;rt es sich, dass ich den Knaben mal bei der Arbeit beobachte. Das Bild w&auml;hrend der Fahrt hat meine Digitalkamera gefilmt, die ich mit Gaffer-Tape vorne an den Roboter angeklebt habe. Das Picture-In-Picture wurde mit meinem Handy vom Tisch aus aufgenommen, auch provisorisch mit Gaffer-Tape angebracht. Ich hoffe, dass ausreichend viele Betrachter in der Lage sind, die gelungene Musikauswahl zu goutieren (man muss den Film dazu kennen).</p>

<p>Also: Unbedingt die Lautsprecher einschalten beim Videokucken.</p>

<object width="400" height="300" data="http://www.youtube.com/v/WubdBAwbIuc?version=3&amp;feature=player_detailpage" type="application/x-shockwave-flash">
<param name="data" value="http://www.youtube.com/v/WubdBAwbIuc?version=3&amp;feature=player_detailpage" /><br />
<param name="allowFullScreen" value="true" /><br />
<param name="allowScriptAccess" value="always" /><br />
<param name="src" value="http://www.youtube.com/v/WubdBAwbIuc?version=3&amp;feature=player_detailpage" /><br />
<param name="allowfullscreen" value="true" />
</object><div class="item_footer"><p><small><a href="http://mcblogs.craalse.de/sku/mein-kobold-bei-der-arbeit">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://mcblogs.craalse.de/sku/mein-kobold-bei-der-arbeit#comments</comments>
			<wfw:commentRss>http://mcblogs.craalse.de/sku?tempskin=_rss2&#38;disp=comments&#38;p=250</wfw:commentRss>
		</item>
				<item>
			<title>Made me chuckle...</title>
			<link>http://mcblogs.craalse.de/sku/made-me-chuckle</link>
			<pubDate>Sun, 05 Feb 2012 12:33:00 +0000</pubDate>			<dc:creator>sku</dc:creator>
			<category domain="main">Alles andere</category>			<guid isPermaLink="false">249@http://mcblogs.craalse.de/</guid>
						<description>&lt;p&gt;Aus dem Flyer im Programmheft eines Konzerts, das ich gestern abend besucht habe:&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;a href=&quot;http://mcblogs.craalse.de/skufiles/2012/feb/leihen2.PNG&quot; target=&quot;_default&quot;&gt;&lt;img src=&quot;http://mcblogs.craalse.de/skufiles/2012/feb/leihen2klein.png&quot;  width=&quot;400&quot; height=&quot;116&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;/p&gt;

&lt;p&gt;Das Konzert war &amp;uuml;brigens hervorragend, anders als die Ottogravieh des Flyers vermuten liesse.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://mcblogs.craalse.de/sku/made-me-chuckle&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Aus dem Flyer im Programmheft eines Konzerts, das ich gestern abend besucht habe:</p>

<p><center><a href="http://mcblogs.craalse.de/skufiles/2012/feb/leihen2.PNG" target="_default"><img src="http://mcblogs.craalse.de/skufiles/2012/feb/leihen2klein.png"  width="400" height="116" /></a></center></p>

<p>Das Konzert war &uuml;brigens hervorragend, anders als die Ottogravieh des Flyers vermuten liesse.</p><div class="item_footer"><p><small><a href="http://mcblogs.craalse.de/sku/made-me-chuckle">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://mcblogs.craalse.de/sku/made-me-chuckle#comments</comments>
			<wfw:commentRss>http://mcblogs.craalse.de/sku?tempskin=_rss2&#38;disp=comments&#38;p=249</wfw:commentRss>
		</item>
				<item>
			<title>Transkription Gerald Albright "Against all Odds"</title>
			<link>http://mcblogs.craalse.de/sku/transkription-gerald-albright-against-all</link>
			<pubDate>Sun, 29 Jan 2012 16:48:00 +0000</pubDate>			<dc:creator>sku</dc:creator>
			<category domain="main">Alles andere</category>			<guid isPermaLink="false">248@http://mcblogs.craalse.de/</guid>
						<description>&lt;p&gt;Hier ist meine Transkription von Gerald Albrights Solo &amp;uuml;ber &quot;Against all Odds&quot; von der Platte &quot;A hot night in Paris&quot; der Phil Collins Bigband. Das ist mal ein Solo! Tierisch, das geht ab wie Schmidts Katze und ist scharf wie Nachbars Lumpi. Der Albright setzt auf jeden H&amp;ouml;hepunkt immer wieder noch einmal einen obendrauf in diesem Solo, das ist einfach meisterlich und perfekt.&lt;/p&gt;


&lt;p&gt;Wer das Solo auf YouTube anh&amp;ouml;ren will, &lt;a href=&quot;http://www.youtube.com/watch?v=Z-dOBGqEOGk&quot; target=&quot;_default&quot;&gt;sollte hier klicken&lt;/a&gt;, das Solo beginnt ab etwa 2:30 min.&lt;/p&gt;

&lt;p&gt;&lt;center&gt;&lt;br /&gt;
&lt;a href=&quot;http://mcblogs.craalse.de/skufiles/2012/jan/Against_all_odds.pdf&quot; target=&quot;_default&quot;&gt;&lt;img src=&quot;http://mcblogs.craalse.de/skufiles/2012/jan/againstallodds.png&quot;  width=&quot;237&quot; height=&quot;926&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/center&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://mcblogs.craalse.de/sku/transkription-gerald-albright-against-all&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Hier ist meine Transkription von Gerald Albrights Solo &uuml;ber "Against all Odds" von der Platte "A hot night in Paris" der Phil Collins Bigband. Das ist mal ein Solo! Tierisch, das geht ab wie Schmidts Katze und ist scharf wie Nachbars Lumpi. Der Albright setzt auf jeden H&ouml;hepunkt immer wieder noch einmal einen obendrauf in diesem Solo, das ist einfach meisterlich und perfekt.</p>


<p>Wer das Solo auf YouTube anh&ouml;ren will, <a href="http://www.youtube.com/watch?v=Z-dOBGqEOGk" target="_default">sollte hier klicken</a>, das Solo beginnt ab etwa 2:30 min.</p>

<p><center><br />
<a href="http://mcblogs.craalse.de/skufiles/2012/jan/Against_all_odds.pdf" target="_default"><img src="http://mcblogs.craalse.de/skufiles/2012/jan/againstallodds.png"  width="237" height="926" /></a><br />
</center></p><div class="item_footer"><p><small><a href="http://mcblogs.craalse.de/sku/transkription-gerald-albright-against-all">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://mcblogs.craalse.de/sku/transkription-gerald-albright-against-all#comments</comments>
			<wfw:commentRss>http://mcblogs.craalse.de/sku?tempskin=_rss2&#38;disp=comments&#38;p=248</wfw:commentRss>
		</item>
			</channel>
</rss>

