<?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>caracasa.de &#187; Programmieren</title>
	<atom:link href="http://www.caracasa.de/category/programmieren/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.caracasa.de</link>
	<description>You may say I&#039;m a dreamer</description>
	<lastBuildDate>Sat, 04 Sep 2010 16:27:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Tool: Fluoreszenz-Mikroskopie</title>
		<link>http://www.caracasa.de/2009/09/29/tool-fluoreszenz-mikroskopie/</link>
		<comments>http://www.caracasa.de/2009/09/29/tool-fluoreszenz-mikroskopie/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 15:47:10 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/?p=1695</guid>
		<description><![CDATA[Andrea hat mir vor zwei Tagen &#252;ber ICQ drei Aufnahmen einer gef&#228;rbten Zelle geschickt, die sie mit einem Fluoreszenz-Mikroskop aufgezeichnet hatte. Alles Aufnahmen der selben Probe bei UV-Licht, bei unterschiedlichen Filtern, wenn ich es richtig verstanden habe. W&#228;hrend sie mir noch erkl&#228;rte, was ich genau man auf den unterschiedlichen Bildern erkennen konnte, bastelte ich die [...]]]></description>
			<content:encoded><![CDATA[<p>Andrea hat mir vor zwei Tagen &#252;ber ICQ drei Aufnahmen einer gef&#228;rbten Zelle geschickt, die sie mit einem Fluoreszenz-Mikroskop aufgezeichnet hatte. Alles Aufnahmen der selben Probe bei UV-Licht, bei unterschiedlichen Filtern, wenn ich es richtig verstanden habe. W&#228;hrend sie mir noch erkl&#228;rte, was ich genau man auf den unterschiedlichen Bildern erkennen konnte, bastelte ich die Bilder schnell als eingef&#228;rbte Ebenen in GIMP zusammen. </p>
<p>Auf dem Ergebnis aufbauend, hab ich Quick &#038; Dirty ein PHP-Script geschrieben, das diese Aufgabe automatisiert &#252;ber das Modul <a href="http://pecl.php.net/imagick/">php_imagick</a> erledigt &#8211; eine Wrapper-Klasse f&#252;r die bekannte <a href="http://www.imagemagick.org/script/index.php">ImageMagick Kommandozeilen-Suite</a> und wohl eines der am schlechteste dokumentierten Module ever. <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Einige kurze Beispiele gibt es bei <a href="http://valokuva.org/?cat=1">Mikko</a> und im extrem rudiment&#228;ren <a href="http://us2.php.net/manual/en/book.imagick.php">Manual</a>. Den Rest muss man sich aus der normalen Doku f&#252;r die Kommandozeile suchen.</p>
<p>Da die einzelnen Fluoreszenz-Farbstoffe ganz markante Maxima bei einem oder wenigen Wellenl&#228;ngen haben, wollte ich die Ebenen auch mit der entsprechenden Farbe einf&#228;rben. Die Zuordnung Wellenl&#228;nge zu RGB Farbe ist allerdings alles andere als trivial. Dabei spielt die Farbwahrnehmung des menschlichen Augen ein gro&#223;e Rolle und schon nach ein paar gelesenen Seiten auf Wikipedia steht man knietief in Farbprofilen und &#228;hnlichem. Das war mir dann doch etwas zu krass.<br />
Daf&#252;r habe ich auf der <a href="http://www.midnightkite.com/color.html">Homepage von Dan Bruton</a> einen Quelltext (in Fortan) gefunden, in dem er &#252;ber eine einfache Approximation (Geraden) dem sichtbaren Spektrum RGB Farben zugeordnet hat. Das Modell habe ich 1:1 in eine PHP-Funktion &#252;bertragen (hoffentlich fehlerfrei) und zur Umrechnung benutzt.</p>
<p>Die Verarbeitungskette habe ich so aufgebaut:</p>
<ol>
<li>Die Aufnahmen (Graustufe) als Maske mit einem entsprechend einfarbig gef&#252;llten Bild mit <em>Imagick::COMPOSITE_MULTIPLY</em> verbinden.</li>
<li>Die Ergebnisse mit <em>Imagick::COMPOSITE_PLUS</em> vor einem schwarzen Hintergrund zusammenf&#252;gen.</li>
</ol>
<p>Meinen ersten Ansatz, die Aufnahmen als Alphachannel zu benutzen, konnte ich mit der sp&#228;rlichen Doku bisher nicht umsetzen. Das Ergebnis ist so aber auch recht ansehnlich. Vorschl&#228;ge zur Optimierung sind sehr willkommen. =)</p>
<p>So entsteht aus drei Aufnahmen folgendes Ergebnis:</p>
<p><a href="/media/2009/09/29/MCherry-800.jpg" rel="lightbox[1695]"><img src="/media/2009/09/29/MCherry-160.jpg" alt="Ebene 1" /></a><a href="/media/2009/09/29/DAPI-800.jpg" rel="lightbox[1695]"><img src="/media/2009/09/29/DAPI-160.jpg" alt="Ebene 2" /></a><a href="/media/2009/09/29/Phall-800.jpg" rel="lightbox[1695]"><img src="/media/2009/09/29/Phall-160.jpg" alt="Ebene 3" /></a></p>
<p><a href="/media/2009/09/29/result-800.jpg" rel="lightbox[1695]"><img src="/media/2009/09/29/result-500.jpg" alt="Ergebnis" /></a></p>
<p>H&#252;bsch oder? ^^ Die blauen Flecken im Zellkern sind &#252;brigens ein Indiz daf&#252;r, dass Irgendwas™ geklappt hat. Die Ver&#228;nderung eines Proteins, wenn ich mich recht erinnere.<br />
 <span id="more-1695"></span><br />
Das sieht f&#252;r eine einzelne Ebene im Quellcode dann in etwa so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;class.Wavelength2RGB.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$w2rgb</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Wavelength2RGB<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* calculate color for wavelength */</span>
<span style="color: #000088;">$color</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$w2rgb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">wav2rgb</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">600</span><span style="color: #339933;">,</span> <span style="color:#800080;">1.0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//600 nm</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* Maske laden */</span>
<span style="color: #000088;">$mask1</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Imagick<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_FILES</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mask1'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'tmp_name'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* read width and height */</span>
<span style="color: #000088;">$o_width</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$mask1</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getImageWidth</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$o_height</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$mask1</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getImageHeight</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* process layer */</span>
<span style="color: #000088;">$layer1</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Imagick<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$layer1</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">newImage</span><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$o_width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$o_height</span><span style="color: #339933;">,</span>  <span style="color: #000000; font-weight: bold;">new</span> ImagickPixel<span style="color: #009900;">&#40;</span><span style="color: #000088;">$color</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #000088;">$layer1</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">compositeImage</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$mask1</span> <span style="color: #339933;">,</span>Imagick<span style="color: #339933;">::</span><span style="color: #004000;">COMPOSITE_MULTIPLY</span> <span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">,</span>Imagick<span style="color: #339933;">::</span><span style="color: #004000;">CHANNEL_ALL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* create image */</span>
<span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Imagick<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
<span style="color: #000088;">$output</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">newImage</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$o_width</span><span style="color: #339933;">,</span> <span style="color: #000088;">$o_height</span><span style="color: #339933;">,</span> <span style="color: #000000; font-weight: bold;">new</span> ImagickPixel<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;black&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$output</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setImageColorspace</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 1 - RGBColorspace</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/* merge layer */</span>
<span style="color: #000088;">$output</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">compositeImage</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$layer1</span> <span style="color: #339933;">,</span>Imagick<span style="color: #339933;">::</span><span style="color: #004000;">COMPOSITE_PLUS</span> <span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">,</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">,</span>Imagick<span style="color: #339933;">::</span><span style="color: #004000;">CHANNEL_ALL</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
<span style="color: #666666; font-style: italic;">/* output */</span>
<span style="color: #000088;">$output</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setImageFormat</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'jpg'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$output</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setCompressionQuality</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$output</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">writeImage</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;test.jpg&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Inzwischen ist Andrea von ihrer Mentorin auch in die Weiterverarbeitung der Bilder eingeweiht worden. Offensichtlich werden die drei eingesetzten Farbstoffe ganz <del datetime="2009-09-29T14:49:50+00:00">langweilig</del> einfach den drei Grundkan&#228;len zugeordnet und noch ein wenig an Helligkeit und Kontrast gespielt. Ein Gro&#223;teil davon geschieht mit zwei Klicks &#252;ber ein Photoshop-Plugin und somit ist mein Programm nach zwei Tagen schon wieder obsolete. <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  </p>
<p>Auf diesem Webspace kann ich es leider auch nicht laufen lassen, da <em>php_imagick</em> hier (wie wohl bei den meisten Providern) <strong>nicht zur Verf&#252;gung</strong> steht. So ein Ressourcen-Fresser w&#228;re wohl ein zu gro&#223;es Risiko f&#252;r die Performance &#8211; eigener Server 4tw.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2009/09/29/tool-fluoreszenz-mikroskopie/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Stapelrechner Milestone 3</title>
		<link>http://www.caracasa.de/2009/06/26/stapelrechner-milestone-3/</link>
		<comments>http://www.caracasa.de/2009/06/26/stapelrechner-milestone-3/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 22:58:44 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Studium]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/?p=1346</guid>
		<description><![CDATA[Heute war der letzte Pr&#228;sentationstermin f&#252;r unseren Stapelrechner-Simulator. Schon n&#228;chsten Donnerstag geben wir das fertige Programm, den Code und die Dokumentation beim betreuenden Professor ab. Damit ist dann unser Softwareprojekt f&#252;r dieses Semester abgeschlossen. Alle Kann- und Soll-Anforderungen sich erf&#252;llt &#8211; was will man mehr. Na hoffentlich ist auch im n&#228;chsten Semester etwas Interessantes mit [...]]]></description>
			<content:encoded><![CDATA[<p>Heute war der letzte Pr&#228;sentationstermin f&#252;r unseren Stapelrechner-Simulator. Schon n&#228;chsten Donnerstag geben wir das fertige Programm, den Code und die Dokumentation beim betreuenden Professor ab. Damit ist dann unser Softwareprojekt f&#252;r dieses Semester abgeschlossen. Alle Kann- und Soll-Anforderungen sich erf&#252;llt &#8211; was will man mehr. <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Na hoffentlich ist auch im n&#228;chsten Semester etwas Interessantes mit dabei.</p>
<p>F&#252;r mich kann ich auf jeden Fall abschlie&#223;end sagen, dass ich in den letzten Monaten unglaublich viel &#252;ber SWING, Java-Threads, Exceptions und das Event-Konzept gelernt habe, was mir in Zukunft sicher helfen wird. Am einfachsten w&#228;re nat&#252;rlich, auch im n&#228;chsten Jahr wieder eine GUI-Applikation zu entwickeln. Solange das Zielsystem nicht Matlab hei&#223;t, bin ich nat&#252;rlich auch f&#252;r alles Andere offen, immerhin habe ich noch die &#8220;freie Wahl&#8221; (der Sprache). C oder C++ w&#252;rden mich z.B. auch freuen, da Pointer dieses Semester etwas kurz gekommen sind und uns die Vorlesung &#8220;Betriebssysteme und verteilte Systeme&#8221; eigentlich alle Werkzeuge in die Hand gegeben hat, um auch auf primitivsten C-Umgebungen mit mehreren Prozessen zu jonglieren.</p>
<p>Jaja, Softwareentwicklung ist schon ne feine Sache &#8211; vielleicht sollte ich &#252;berlegen, das sp&#228;ter mal beruflich zu machen.  <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2009/06/26/stapelrechner-milestone-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stapelrechner Milestone 1</title>
		<link>http://www.caracasa.de/2009/05/08/stapelrechner-milestone-1/</link>
		<comments>http://www.caracasa.de/2009/05/08/stapelrechner-milestone-1/#comments</comments>
		<pubDate>Fri, 08 May 2009 17:21:03 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Studium]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/?p=1279</guid>
		<description><![CDATA[Heute war der erste Tag der Wahrheit f&#252;r unser Semesterprojekt. Abgabe der Dokumente war schon diesen Mittwoch &#8211; heute folgte eine Pr&#228;sentation &#252;ber 15 Minuten + 5 Minuten Fragenteil, um den Stand der Entwicklung festzustellen und sich dem abschlie&#223;enden Urteil des Auftraggebers bzw. des Managers zu stellen. Kein Projektabbruch, keine gelbe Karte oder sonstige Ermahnungen. [...]]]></description>
			<content:encoded><![CDATA[<p>Heute war der erste Tag der Wahrheit f&#252;r unser<a href="http://www.caracasa.de/2009/04/03/projektarbeit/"> Semesterprojekt</a>. Abgabe der Dokumente war schon diesen Mittwoch &#8211; heute folgte eine Pr&#228;sentation &#252;ber 15 Minuten + 5 Minuten Fragenteil, um den Stand der Entwicklung festzustellen und sich dem abschlie&#223;enden Urteil des Auftraggebers bzw. des Managers zu stellen.</p>
<p>Kein Projektabbruch, keine gelbe Karte oder sonstige Ermahnungen. Offensichtlich haben wir wohl alles ordentlich vorgestellt, die Pr&#228;sentationszeit fast bis auf die Sekunde eingehalten und auch alle notwendigen Projekte fristgerecht eingereicht. Einzig eine kleine Formsache in unseren Aktivit&#228;tsdiagramm muss ge&#228;ndert werden und die Aufteilung der Module auf die Team-Mitglieder so angepasst werden, dass alle Bezeichnungen aus der Grobarchitektur darin zu finden sind.</p>
<p>Heute morgen hatte ich noch 2,50€ in einen dieser Billig-Laserpointer investiert. Mal sehen, ob der bis zum Projektabschluss durchh&#228;lt &#8211; ich kann es einfach nicht lassen damit herumzuspielen.</p>
<p>In den n&#228;chsten Wochen bis zum Milestone 2 darf endlich auch Code produziert werden. Die ersten Versuche mit Javadoc habe ich schon gemacht. H&#252;bsch ist das Ergebnis zwar nicht, aber noch einfacher kommt man wohl nicht an eine Schnittstellen-Beschreibung seiner Klassen. Ein UML-Klassendiagramm steht dem Ganzen nat&#252;rlich auch noch vorweg.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2009/05/08/stapelrechner-milestone-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Projektarbeit</title>
		<link>http://www.caracasa.de/2009/04/03/projektarbeit/</link>
		<comments>http://www.caracasa.de/2009/04/03/projektarbeit/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 11:57:02 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Studium]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/?p=1238</guid>
		<description><![CDATA[Vor ein paar Monaten habe ich in der FH-Bibliotek einen Kommilitionen aus Gummersbach kennengelernt, der gerade an seiner Master- oder Diplomarbeit (bin nicht mehr ganz sicher)  sa&#223; und in diesem Rahmen einen Instant-Messenger f&#252;r die mobile Plattform &#8220;Openmoko&#8221; entwickelte. Da hoffte er noch auf die Anschaffung eines DevKit-Smartphones durch seine Fakult&#228;t, um die Anwendung auch [...]]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Monaten habe ich in der FH-Bibliotek einen Kommilitionen aus Gummersbach kennengelernt, der gerade an seiner Master- oder Diplomarbeit (bin nicht mehr ganz sicher)  sa&#223; und in diesem Rahmen einen Instant-Messenger f&#252;r die mobile Plattform &#8220;Openmoko&#8221; entwickelte. Da hoffte er noch auf die Anschaffung eines DevKit-Smartphones durch seine Fakult&#228;t, um die Anwendung auch mal au&#223;erhalb seines Emulators zu testen zu k&#246;nnen &#8211; Googles Android war grade erst durch die Presse gegangen.</p>
<p>Hm, <a href="http://www.golem.de/0904/66307.html">das OpenMoko nun wohl neben Android auf der Strecke bleibt</a> hat ihn bestimmt nicht allzu erfreut. Vor allem, wenn sich der &#8220;Plan B&#8221; als Oberfl&#228;che f&#252;r ein Navigationsger&#228;t oder &#228;hnliches entpuppt. Da arbeitet man &#252;ber Monate an einer Software, die nun mit ein wenig Pech nie von jemanden benutzt werden wird &#8211; hoffentlich bleibt mir sowas erspart.</p>
<p>Themawechsel:</p>
<p>Seit Anfang der Woche kennen wir mit Sicherheit unser Projekt des Softwarepraktikums in diesem Semester: Es soll ein <strong>Simulator f&#252;r einen Stapelrechner</strong> werden, der sp&#228;ter in den Vorlesungen Digitaltechnik, rechnernahe Hardware-Programmierung oder Rechnerarchitektur eingesetzt werden kann, um die Funktionsweise einer <strong>registerlosen Rechenmaschine</strong> zu visualisieren. Diese soll dann Anweisungen (Addition, Multiplikation, Spr&#252;nge,  Funktionsaufrufe, &#8230;) in einer Assembler-&#228;hnlichen Sprache verarbeiten k&#246;nnen.  Ich w&#252;rde behaupten, das auch leichtere Projekte zu Wahl standen. Ganz gem&#228;&#223; dem Motto: Jetzt ausw&#228;hlen &#8211; sp&#228;ter fluchen! <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>N&#228;chsten Dienstag haben wir die erste Besprechung mit unserem &#8220;Auftraggeber&#8221;, um die Funktionalit&#228;t abzustecken. Java als Programmiersprache steht aufgrund der gew&#252;nschten Plattform-Unabh&#228;ngigkeit und Verzicht auf propriet&#228;re Technologien eigentlich schon fest.</p>
<p>Am liebsten w&#228;re es mir, wenn ich gleich hier und jetzt anfangen k&#246;nnte zu programmieren, aber nach den Grundregeln des Software Engineering w&#228;re das wohl mehr als nur falsch. <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Planung, Analyse, Entwurf, <em>Programmierung</em>, &#8230;</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2009/04/03/projektarbeit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Eve &#8211; data export / toolkit</title>
		<link>http://www.caracasa.de/2008/12/21/eve-data-export-toolkit/</link>
		<comments>http://www.caracasa.de/2008/12/21/eve-data-export-toolkit/#comments</comments>
		<pubDate>Sun, 21 Dec 2008 14:14:12 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Spiele]]></category>
		<category><![CDATA[Datenbank]]></category>
		<category><![CDATA[Eve online]]></category>
		<category><![CDATA[Konvertierung]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[mssql]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/?p=993</guid>
		<description><![CDATA[CCP bietet auf der Webseite einen ziemlich umfassenden Dump ihrer Datenbank an, der etliche Megabyte Informationen &#252;ber Agenten, Gegenst&#228;nde und die Sonnensysteme enth&#228;lt. Ich hab mir in den Kopf gesetzt, diese Information brauchbar und h&#252;bsch f&#252;r das Web aufzubreiten, wie es schon unz&#228;hlige andere Fanseiten seit Jahren machen. CCP selbst liefert eine Liste, unter welchen [...]]]></description>
			<content:encoded><![CDATA[<p>CCP bietet auf der <a href="http://www.eve-online.com/">Webseite</a> einen ziemlich umfassenden <a href="http://www.eve-online.com/community/toolkit.asp">Dump ihrer Datenbank</a> an, der etliche Megabyte Informationen &#252;ber Agenten, Gegenst&#228;nde und die Sonnensysteme enth&#228;lt. Ich hab mir in den Kopf gesetzt, diese Information brauchbar und h&#252;bsch f&#252;r das Web aufzubreiten, wie es schon unz&#228;hlige andere Fanseiten seit Jahren machen. CCP selbst liefert <a href="http://www.eve-online.com/community/fansites.asp">eine Liste</a>, unter welchen Adressen ihre Datensammlung bereits verf&#252;gbar ist.</p>
<p>Meine ersten Versuche werde ich &#8211; mit den Einschr&#228;nkungen meines Webspaces &#8211; in PHP auf einer MYSQL-Datenbank machen. Die Daten liegen auf der offiziellen Webseite aber <strong>in Form eines Backups f&#252;r MSSQL-Server</strong> + zugeh&#246;riger Tabellen-Definition vor. Die erste H&#252;rde ist also gro&#223;, wenn man sich damit besch&#228;ftigen m&#246;chte.</p>
<p>MYSQL bietet als einzige mir bekannte funktionierende freie M&#246;glichkeit ein &#8220;<a href="http://dev.mysql.com/downloads/gui-tools/5.0.html"><strong>Migration Toolkit</strong></a>&#8221; an, das eine MSSQL Datenbank (online/ nicht als backup) in eine MYSQL-Datenbank &#252;bersetzen kann. Vor der Konvertierung steht also zun&#228;chst die Installation eines Microsoft SQL Servers 2008 (in der <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=de&amp;FamilyID=58ce885d-508b-45c8-9fd3-118edd8e6fff">kostenlosen Express-Variante</a>) an, um das Backup dort zun&#228;chst einzuspielen und ihn als Quelle f&#252;r die Migration zu verwenden.</p>
<p>Auf meinem (in diesem Bereich) unbelasteten Windows Vista musste ich vor der Installation das .Net-Framework, einen aktuellen Windows-Installer und die PowerShell manuell nach installieren. Hat man dieses Abh&#228;ngigkeitsfeuerwerk gemeistert, ist die Installation zwar langwierig aber genauso problemlos, wie das anschlie&#223;ende Einspielen der Sicherungsdatei.</p>
<p>Um den frisch aufgesetzten Server im Folgenden zur Mitarbeit bewegen zu k&#246;nnen, muss man zun&#228;chst<strong> </strong>im <em>Konfigurationsmanager</em><strong> den TCP/IP Zugriff erlauben</strong>. (SQL Server Netzwerkkonfiguration-&gt; Protokolle -&gt; TCP/IP aktivieren und in den Einstellungen den Port 1433 bei IPALL eintragen).</p>
<p>Da mir die Benutzerverwaltung von Windows nicht sonderlich liegt, habe ich im <em>Managment Studio</em> noch einen <strong>neuen Benutzer mit MSSQL-Authenifizierung</strong> erstellt, ihm die <strong>Rolle &#8220;public&#8221;/&#8221;sysadmin</strong>&#8221; verpasst und <strong>die entsprechende Datenbank zugewiesen</strong>. Danach funktionierte auch die Anmeldung aus der Migrations Toolkit.</p>
<p>Die Migration direkt auf den Server schlug aber fehl, da der Namen der Zieldatenbank fest aus Datenbanknamen und Schemanamen generiert wird und mir zum Erstellen einer neuen Datenbank die Rechte fehlen. Eine Option dieses Verhalten zu &#228;ndern, habe ich auch nach langer Suche im Netz nicht finden k&#246;nnen. Das bestes Suchergebnis war <a href="http://forums.mysql.com/read.php?104,38223,38223#msg-38223">dieses</a>, mit dem ich aber auch nicht weiter kam.</p>
<p>Als letzten Ausweg habe ich eine <strong>lokale XAMPP Installation</strong> eingerichtet, in der Hoffnung die Daten nach der Migration auf den richtigen Server kopieren zu k&#246;nnen. Um beide Systeme zur Zusammenarbeit zu &#252;berreden, musste ich in der my.cnf im Abschnitt &#8220;<em>[mysqld]</em>&#8221; noch die Zeile &#8220;<em>character-set-server = utf8</em>&#8221; erg&#228;nzen.</p>
<p>Die Anwendung lief anschlie&#223;end ohne Fehlermeldung durch, so dass ich endlich die 242,7   MiB Daten im mySQL Format vorliegen hatte!</p>
<p>Zu diesem Zeitpunkt hatte mich schon daf&#252;r entschieden, mein Gl&#252;ck nicht auf die Probe zu stellen und die Datenbank zun&#228;chst lokal zu verwenden, da ich doch inzwischen eh alles N&#246;tige auf der Festplatte installiert hatte.</p>
<p><strong>Der Vollst&#228;ndigkeit halber aber doch noch der Versuch, die Daten auf den Webserver zu kopieren:</strong></p>
<p>Die <strong>Datenbank umbennen</strong>, damit der Namen der Vorgabe meines Providers entspricht. Phpmyadmin brach nach der H&#228;lfte ab und hinterlie&#223; gro&#223;es Chaos, so dass ich ein &#8211; in weiser Voraussicht &#8211; erstelltes Backup mit MYSQL-Administrator einspielen musste. Generell scheint mySQL n&#228;mlich das Umbenennen einer Datenbank nicht zu unterst&#252;tzen und PHP verschluckt sich an der Menge der Daten.</p>
<p><strong>Besser:</strong></p>
<p>Das MySQL-Backup gleich <strong>in ein Schema mit dem richtigen Namen einspielen</strong> und das Alte l&#246;schen.</p>
<p>Die Prozedur lief sowohl lokal (~2m), als auch auf meinem Webserver (~35m bei DSL 16000) ohne Fehler durch. Ich hoffe nur, dass ich mit meinen zahlreichen Fehlversuchen die Mitbenutzer meines Shared-Servers nicht zu sehr gest&#246;rt habe. <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Los gehts!</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2008/12/21/eve-data-export-toolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Art of Coding</title>
		<link>http://www.caracasa.de/2008/05/20/the-art-of-coding/</link>
		<comments>http://www.caracasa.de/2008/05/20/the-art-of-coding/#comments</comments>
		<pubDate>Tue, 20 May 2008 21:14:34 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Fegefeuer]]></category>
		<category><![CDATA[Index]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/?p=599</guid>
		<description><![CDATA[Folgender Tipp wurde uns heute in einer Vorlesung mit auf den Weg gegeben: Damit man bei umfangreichen Algorithmen nicht den &#8220;Arrayindex&#8221; mit der &#8220;Position im Array&#8221; verwechseln kann, einfach etwas mehr Speicher als n&#246;tig deklarieren und Index 0 gepflegt ignorieren! Okay. Ich bin noch ein junger angehender Informatiker mit einem Kopf voller Tr&#228;ume und Ideale, [...]]]></description>
			<content:encoded><![CDATA[<p>Folgender Tipp wurde uns heute in einer Vorlesung mit auf den Weg gegeben:</p>
<blockquote><p>Damit man bei umfangreichen Algorithmen nicht den &#8220;Arrayindex&#8221; mit der &#8220;Position im Array&#8221; verwechseln kann, einfach etwas mehr Speicher als n&#246;tig deklarieren und Index 0 gepflegt ignorieren!</p></blockquote>
<p>Okay. Ich bin noch ein junger angehender Informatiker mit einem Kopf voller Tr&#228;ume und Ideale, aber daf&#252;r kommt man 100% ins Informatiker-Fegefeuer &#8211; und in der wird einem bekanntlich jede einzelne &#252;bergangene Speicherzelle als Hex-Adresse ins Zahnfleisch gelasert!</p>
<p>Selbst bei 2GB Arbeitsspeicher bekomme ich &#8220;<em>i = p &#8211; 1&#8243;</em> noch gerade eben so hin &#8230;</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2008/05/20/the-art-of-coding/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Horner Newton Intervalle</title>
		<link>http://www.caracasa.de/2008/05/06/horner-newton-intervalle/</link>
		<comments>http://www.caracasa.de/2008/05/06/horner-newton-intervalle/#comments</comments>
		<pubDate>Tue, 06 May 2008 11:38:54 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Bisektion]]></category>
		<category><![CDATA[Horner-Schema]]></category>
		<category><![CDATA[Intervall-Schachtelung]]></category>
		<category><![CDATA[Newton-Verfahren]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/?p=588</guid>
		<description><![CDATA[Das heutige Praktikum in &#8220;Programmierung Numerischer Verfahren&#8221; hatte es wirklich in sich. In 45 Minuten musste man seine Vorbereitungen in den Rechner hacken: L&#246;sung eines Polynoms mittels Horner-Schema Nullstellensuche mit Intervallschachtelung Nullstellensuche mit Newton-Verfahren Daf&#252;r habe ich mir gestern noch die halbe Nacht um die Ohren gehauen, weil gerade letzter Algorithmus einfach nicht laufen wollte. [...]]]></description>
			<content:encoded><![CDATA[<p>Das heutige Praktikum in &#8220;Programmierung Numerischer Verfahren&#8221; hatte es wirklich in sich. In 45 Minuten musste man seine Vorbereitungen in den Rechner hacken:</p>
<ul>
<li>L&#246;sung eines Polynoms mittels Horner-Schema</li>
<li>Nullstellensuche mit Intervallschachtelung</li>
<li>Nullstellensuche mit Newton-Verfahren</li>
</ul>
<p>Daf&#252;r habe ich mir gestern noch die halbe Nacht um die Ohren gehauen, weil gerade letzter Algorithmus einfach nicht laufen wollte. Meine L&#246;sung stelle ich hier (noch) nicht &#246;ffentlich ein, weil noch einige Praktikumstermine ausstehen &#8211; aber eigentlich handelt es sich dabei ja <span style="text-decoration: line-through;">nur</span> um numerische Standardverfahren, die man als Informatiker einfach mal gemacht haben muss.</p>
<p>Folgende Links waren mir beim Programmieren sehr hilfreich:</p>
<ul>
<li><a href="http://www.arndt-bruenner.de/mathe/java/newton.htm">Java-Applet zum Newton-Verfahren</a></li>
<li><a href="http://www.arndt-bruenner.de/mathe/scripts/polynome.htm">Nullstellen in Polynomen bis Grad 4 &#252;bersichtlich berechnen</a></li>
<li><a href="http://de.wikipedia.org/wiki/Bisektion">Bisektion</a> (Nullstellen mittels Intervall-Schachtelung)</li>
</ul>
<p>Vielleicht hilft es ja jemandem, der auch keine Lust hat nur fremde L&#246;sungen auswendig zu lernen. <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2008/05/06/horner-newton-intervalle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fehlersuche</title>
		<link>http://www.caracasa.de/2007/11/07/fehlersuche/</link>
		<comments>http://www.caracasa.de/2007/11/07/fehlersuche/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 20:15:39 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/2007/11/07/fehlersuche/</guid>
		<description><![CDATA[Bis zum Beginn des Praktikums &#8220;Praktische Informatik&#8221; durfte ich heute stundenlang im Rechner-Pool die Zeit totschlagen. Das vorzuzeigende Java-Programm wurde mit &#8220;Exception-Behandlung&#8221; gepimpt &#8211; kleine Spielereien mit PHP in einer schnell installierten WAMP-Umgebung und ein ganz klein wenig heimliches Siedler 2 in einer virtuellen FreeDOS-Maschine brachten die Stunden auch irgendwie rum. Bei der Besprechung waren [...]]]></description>
			<content:encoded><![CDATA[<p>Bis zum Beginn des Praktikums &#8220;Praktische Informatik&#8221; durfte ich heute stundenlang im Rechner-Pool die Zeit totschlagen. Das vorzuzeigende Java-Programm wurde mit &#8220;Exception-Behandlung&#8221; gepimpt &#8211; kleine Spielereien mit PHP in einer schnell installierten WAMP-Umgebung und ein ganz klein wenig heimliches Siedler 2 in einer virtuellen FreeDOS-Maschine brachten die Stunden auch irgendwie rum.</p>
<p>Bei der Besprechung waren die Erl&#228;uterungen zu Java-Code auch kein Problem. Bei der &#220;bersetzung des Java-Codes in C(++) habe ich mich allerdings etwas schwer getan. Das schnell hingeschriebene Programm kompilierte, lieferte  aber konsequent das Wertepaar (0,0) als Ergebnis zweier simpler Rechentherme. Ich probierte diverse Zahlenkombinationen der Eingabeparameter aus und konnte mir das Ganze einfach nicht erkl&#228;ren. Auch der zur Hilfe gerufene Mitarbeiter  suchte den kurzen Quellcode nach Fehlern ab und schien ebenso ratlos. Sogar der Debugger wurde f&#252;r den 6-Zeiler gestartet und der Ablauf in Einzelschritten abgegangen. Kein Fehler.</p>
<p>Erst als ich mein Programm dem meines Nachbarn angeglichen und auch exakt die selben Schritte wie er ausgef&#252;hrt hatte, um ein Fehlverhalten meiner IDE oder des Compilers auszuschlie&#223;en, wurde mir klar, dass ich in der vergangenen halben Stunde wohl <strong>s&#228;mtliche Kombinationen von Parametern als Test</strong> eingegeben hatte, die als<strong> absolut richtiges Ergebnis</strong> eben jene (0,0) ergaben.</p>
<p>Manches muss man wohl einfach auf die harte Tour lernen. *kopfsch&#252;ttel*</p>
<p><strong>Merke:</strong><br />
1. Wenn es keine Fehler gibt, sie diese besonders schwer zu finden.<br />
2. Die richtige Auswahl geeigneter Testvektoren bedarf einer gewissen Sorgfalt.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2007/11/07/fehlersuche/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ungew&#246;hnliche Bin&#228;rb&#228;ume</title>
		<link>http://www.caracasa.de/2007/11/01/ungewoehnliche-binaerbaeume/</link>
		<comments>http://www.caracasa.de/2007/11/01/ungewoehnliche-binaerbaeume/#comments</comments>
		<pubDate>Thu, 01 Nov 2007 18:16:42 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Beispiel]]></category>
		<category><![CDATA[Binärbaum]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Katzen]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/2007/11/01/ungewoehnliche-binaerbaeume/</guid>
		<description><![CDATA[In einer freien Minute habe ich Andrea heute (versucht), das Konzept von einfach/doppelt verketteten Listen und Bin&#228;rb&#228;umen zu erkl&#228;ren. Damit die Materie nicht so trocken ist, habe ich die Ausgangsituation in einen neuen Kontext gepackt: F&#252;nf Katzen stehen auf einer Wiese und grasen. (Anmerkung: Meine gemalten Katzen und Schafe sehen sich recht &#228;hnlich) Nun suchen [...]]]></description>
			<content:encoded><![CDATA[<p>In einer freien Minute habe ich Andrea heute (versucht), das Konzept von einfach/doppelt verketteten Listen und Bin&#228;rb&#228;umen zu erkl&#228;ren. Damit die Materie nicht so trocken ist, habe ich die Ausgangsituation in einen neuen Kontext gepackt:</p>
<p>F&#252;nf Katzen stehen auf einer Wiese und grasen. (Anmerkung: Meine gemalten Katzen und Schafe sehen sich recht &#228;hnlich) Nun suchen wir einen Algorithmus, der uns m&#246;glichst schnell die Katze &#8220;Gustav&#8221; aus der Gruppe sucht. Habe ich erw&#228;hnt, dass die Katzen von Weitem fast identisch aussehen und sich nach kurzem Anlernen nicht nur ihren Namen, sondern auch die Position ihrer Nebenkatze(n) merken kann.  ^^</p>
<p class="Fotos"> <img src="/media/2007-11-01/DSC01381_w300.jpg" alt="Schmierzettel" /></p>
<p>Zugegeben: F&#252;r meine absurden Beispiele bin ich manchmal bekannt. Aber trotz aller Widrigkeiten, hat Andrea die Problematik wohl verstanden &#8211; was wohl weniger mein Verdienst ist.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2007/11/01/ungewoehnliche-binaerbaeume/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Batchdateien</title>
		<link>http://www.caracasa.de/2007/10/22/batchdateien/</link>
		<comments>http://www.caracasa.de/2007/10/22/batchdateien/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 17:25:00 +0000</pubDate>
		<dc:creator>Christian</dc:creator>
				<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[batch]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.caracasa.de/2007/10/22/batchdateien/</guid>
		<description><![CDATA[Erste Regel beim Schreiben von Batchdateien in der cmd-Shell von WindowsXP: Niemals nie benenne deine Batchdatei nach einer Shell-Funktion! Ein &#8220;sort&#8221; an der falschen Stelle kann dir schlaflose N&#228;chte bescheren. Feel free to Flattr this post at flattr.com, if you like it.]]></description>
			<content:encoded><![CDATA[<p>Erste Regel beim Schreiben von Batchdateien in der cmd-Shell von WindowsXP:</p>
<p><strong>Niemals nie benenne deine Batchdatei nach einer Shell-Funktion! </strong></p>
<p>Ein &#8220;<em>sort</em>&#8221; an der falschen Stelle kann dir schlaflose N&#228;chte bescheren. <img src='http://www.caracasa.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.11';
var flattr_uid = '17556';
var flattr_url = 'http://www.caracasa.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'caracasa.de';
var flattr_dsc = 'You may say I&#039;m a dreamer';
</script>
<script src="http://api.flattr.com/button/load.js?v=0.2" type="text/javascript"></script> <p>Feel free to Flattr this post at <a href="http://flattr.com/" title="Flattr" target="_blank">flattr.com</a>, if you like it.</p> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.caracasa.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.caracasa.de/2007/10/22/batchdateien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
