<?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>Steffens Noteblog &#187; C++</title>
	<atom:link href="http://www.steffenvogel.de/category/software/coding/cpp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.steffenvogel.de</link>
	<description>technology, electronics, music, coding and more</description>
	<lastBuildDate>Sat, 30 Jul 2011 18:08:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>RWTH uC Tetris</title>
		<link>http://www.steffenvogel.de/2011/07/16/rwth-uc-tetris/</link>
		<comments>http://www.steffenvogel.de/2011/07/16/rwth-uc-tetris/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 00:33:50 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[ATMega]]></category>
		<category><![CDATA[Atmel]]></category>
		<category><![CDATA[Mikrocontroller AG]]></category>
		<category><![CDATA[MMI]]></category>
		<category><![CDATA[RWTH Aachen]]></category>
		<category><![CDATA[Tetris]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=1490</guid>
		<description><![CDATA[Neben der Informatik Vorlesung besuchte ich dieses Semester die Mikrocontroller AG. In dieser freiwilligen Veranstaltung lernten wir den aus der Vorlesung bekannten Mikrocontroller, ATMega zu benutzen. Zusammen mit meinen Gruppenmitgliedern Annika, Maiwand &#38; Christian bauten wir ein 8&#215;16 LED-Dot Matrix Display auf dem wir Tetris spielen konnten: Von der Uni haben wir dabei ein Mikrocontroller [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://static.steffenvogel.de/wp-content/uploads/2011/07/tetris.png"><img class="alignright size-thumbnail wp-image-1494" title="tetris" src="http://static.steffenvogel.de/wp-content/uploads/2011/07/tetris-e1310776859628-150x128.png" alt="" width="150" height="128" /></a>Neben der Informatik Vorlesung besuchte ich dieses Semester die Mikrocontroller AG. In dieser freiwilligen Veranstaltung lernten wir den aus der Vorlesung bekannten Mikrocontroller, ATMega zu benutzen.</p>
<p>Zusammen mit meinen Gruppenmitgliedern Annika, Maiwand &amp; Christian bauten wir ein 8&#215;16 LED-Dot Matrix Display auf dem wir Tetris spielen konnten:</p>
<p><a href="http://www.steffenvogel.de/2011/07/16/rwth-uc-tetris/"><em>Click here to view the embedded video.</em></a></p>
<p>Von der Uni haben wir dabei ein Mikrocontroller Board als Leihgabe bekommen. Das ergänzten wir durch das selbst gelayoutete Display und einen umgebautes SNES Gamepad.</p>
<p>Wir haben dabei darauf geachtet durch geschicktes Hardware Layout die Programmierung zu vereinfachen. So haben wir die normalen 10 Blöcken pro Zeile auf 8 reduziert, um unser komplettes Spielfeld in einem  Integer-Array (<em>uint8_t board[16]</em>) speichern zu können. Vieles lies sich so recht realisieren:</p>
<ul>
<li>Stein verschieben: Logical Shift Left/Right (<em>board[line] &lt;&lt;= 1</em>)</li>
<li>volle Zeilen erkennen: <em>board[line] == 255</em></li>
</ul>
<p>Während der letzten Vorlesung bekamen wir die Gelegenheit das Projekt unseren Kommilitionen und Prof. Roßmann vorzustellen.</p>
<p><a href="http://www.steffenvogel.de/2011/07/16/rwth-uc-tetris/"><em>Click here to view the embedded video.</em></a></p>
<p>Der Sourcecode und die Eagle-Dateien der Displayplatine sind im git <strong><a href="http://web.git.0l.de/rwth-uc-tetris.git">verfügbar</a></strong>.</p>
<p><a href="http://static.steffenvogel.de/wp-content/uploads/2011/07/tetris_layout-e1311283012953.png"><img class="aligncenter size-full wp-image-1503" title="tetris_layout" src="http://static.steffenvogel.de/wp-content/uploads/2011/07/tetris_layout-e1311283012953.png" alt="" width="534" height="263" /></a><a href="http://static.steffenvogel.de/wp-content/uploads/2011/07/tetris_layout.png"><br />
</a></p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2011/07/16/rwth-uc-tetris/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>transcode</title>
		<link>http://www.steffenvogel.de/2011/07/16/transcode/</link>
		<comments>http://www.steffenvogel.de/2011/07/16/transcode/#comments</comments>
		<pubDate>Sat, 16 Jul 2011 00:20:07 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Assembler]]></category>
		<category><![CDATA[avr-gcc]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Compiler]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[MMI]]></category>
		<category><![CDATA[RWTH]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=1377</guid>
		<description><![CDATA[Ich sitze im Zug nach Hause. Komme von der letzten Vorlesung des 2. Semesters: Informatik. Eigentlich bin ich auf dem Weg in die Semester-&#8221;Ferien&#8221;, ständen da nicht für den nächsten Monat noch 4 Klausuren in meinem Kalender Informatik, Grundlagen des Digitalrechners. Klingt eigentlich recht trocken. Trotzdem ist es klar mein Favorit unter den Fächern dieses [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://static.steffenvogel.de/wp-content/uploads/2011/07/assembler.png"><img class="alignright size-thumbnail wp-image-1482" title="assembler" src="http://static.steffenvogel.de/wp-content/uploads/2011/07/assembler-150x150.png" alt="" width="150" height="150" /></a>Ich sitze im Zug nach Hause. Komme von der letzten Vorlesung des 2. Semesters: Informatik. Eigentlich bin ich auf dem Weg in die Semester-&#8221;Ferien&#8221;, ständen da nicht für den nächsten Monat noch 4 Klausuren in meinem Kalender <img src='http://static.steffenvogel.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Informatik, Grundlagen des Digitalrechners. Klingt eigentlich recht trocken. Trotzdem ist es klar mein Favorit unter den Fächern dieses Semesters.<br />
Als Ergänzung zur Vorlesung richtete unser Professor einen kleinen Wettbewerb aus.<br />
Mein Beitrag zum <em>Students Englightment Award</em> ist ein Compiler Frontend für den GNU Compiler der Atmel AVRs.</p>
<p>Teil der Vorlesung war die Einführung des Mikrocontrollers ATMega8 von Atmel und dessen Programmierung mit Assembler. Dabei lernten wir zuerst die Schaltungstechnischen Grundlagen und die Minimierung von Schaltnetzen. Anschließend sind wir auf den Aufbau der Zentralen Recheneinheit eingegangen (Steuerwerk, ALU etc..).</p>
<p><strong><em><a title="http://t0.0l.de/transcode" href="http://t0.0l.de/transcode" rel="nofollow">transcode</a></em></strong> kompiliert/assembliert ANSI C und Assembler in Maschinencode und umgekehrt. Dabei wird mit Hilfe von Debugging Informationen ein Bezug zwischen Zeilen im C-Code und den Mnemonics hergestellt. Durch Auswählen von Zeilen werden Bezüge direkt durch Hervorhebungen dargestellt. Für die Darstellung des Maschinencodes lässt sich zwischen binär, dezimal &amp; hexadezimaler Form wählen.</p>
<p><a href="http://static.steffenvogel.de/wp-content/uploads/2011/07/schaltnetz-e1310774501908.png"><img class="aligncenter size-full wp-image-1484" title="schaltnetz" src="http://static.steffenvogel.de/wp-content/uploads/2011/07/schaltnetz-e1310774501908.png" alt="" width="531" height="134" /></a>Ziel des Tools ist es die Arbeitsweise des Compilers und dessen Optimierungen tiefer zu verstehen. <a href="http://t0.0l.de/transcode/"><em>transcode</em></a> ist im Rahmen der Vorlesung Grundlagen der Informatik 2 von Prof. Roßmann als Beitrag für den Fellow Student Enlightment Award entstanden.</p>
<p>Zum Tool gehts <strong><a href="http://t0.0l.de/transcode/">hier</a></strong>.</p>
<p>Der Sourcecode ist wie immer im git <strong><a href="http://web.git.0l.de/transcode.git/">verfügbar</a></strong>.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2011/07/16/transcode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>volkszaehler.org Zählerbox</title>
		<link>http://www.steffenvogel.de/2011/01/25/volkszaehler-org-zahlerbox/</link>
		<comments>http://www.steffenvogel.de/2011/01/25/volkszaehler-org-zahlerbox/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 08:22:40 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Erfassen]]></category>
		<category><![CDATA[Hutschiene]]></category>
		<category><![CDATA[Messen]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[S0]]></category>
		<category><![CDATA[Smart Meter]]></category>
		<category><![CDATA[Stromzähler]]></category>
		<category><![CDATA[Verbrauch]]></category>
		<category><![CDATA[volkszaehler.org]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=1252</guid>
		<description><![CDATA[Das volkszaehler.org Projekt nähert sich mit großen Schritten seiner ersten stabilen Version und damit dem ersten Release. Ich möchte hier nur einen kurzen Überblick über den aktuellen Stand geben. Du kennst das Projekt noch gar nicht? Weiß nicht was Smartmeter sind? Da steigst du besser auf unsere Projekt Website ein! Für die Entwicklung am Projekt [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://static.steffenvogel.de/wp-content/uploads/2011/01/DSC00364.jpg"><img class="alignright size-thumbnail wp-image-1256" title="DSC00364" src="http://static.steffenvogel.de/wp-content/uploads/2011/01/DSC00364-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://static.steffenvogel.de/wp-content/uploads/2011/01/favicon.png"><img class="size-thumbnail wp-image-1262 alignleft" title="volkszaehler.org Logo" src="http://static.steffenvogel.de/wp-content/uploads/2011/01/favicon-150x150.png" alt="" width="62" height="62" /></a> Das <a href="http://volkszaehler.org">volkszaehler.org Projekt</a> nähert sich mit großen Schritten seiner ersten stabilen Version und damit dem ersten Release.</p>
<p><strong>Ich möchte hier nur einen kurzen Überblick über den aktuellen Stand geben. Du kennst das Projekt noch gar nicht? Weiß nicht was Smartmeter sind? Da steigst du besser auf unsere <a href="http://volkszaehler.org">Projekt Website</a> ein!</strong></p>
<p>Für die Entwicklung am Projekt habe ich mir eine kleine Hutschienenbox gebaut. Sie eignet sich perfekt für den mobilen Einsatz und zum Testen neuer Firmware und Funktionen. Mal schnell den Verbrauch des eigenen Kühlschranks zu erfassen ist kein Problem. Derzeit ist mein Schreibtisch an die Box angeschlossen und liefert so aktuelle Daten für die <a href="http://volkszaehler.org/demo/frontend/?uuid=6836dd20-00d5-11e0-bab1-856ed5f959ae">Demo Installation</a> des Projektes.</p>
<p>Die Box enthält folgende Komponenten:</p>
<ul>
<li>~230V Eingang über Kaltgerätestecker (geerdet, max. 10 Ampere)</li>
<li>~230V Ausgang über Schukostecker (geerdet, max. 16 Ampere)</li>
<li>Sicherungsautomat (Ein-/Ausschalter)</li>
<li>B&amp;G E-Tech DRS-154D S0-Zähler (einphasig, 2000 Impulse/kWh)</li>
<li><a href="http://wiki.volkszaehler.org/hardware/controllers/s0_server">Udo&#8217;s S0-Server</a> (basierend auf ATMEL AVR&#8217;s &amp; <a href="http://ethersex.de">ethersex</a>, 10 Mbit/s Ethernet, TFTP Bootloader)</li>
<li>Knopf zum manuellen Triggern von Impulsen</li>
<li>externer Anschluss von Zählern</li>
</ul>
<h3>Aktueller Stand</h3>
<p>Der alte Prototyp wurde nun durch ein flexibleres und modulares System ersetzt. Praktisch jede Kombination von Sensoren, Zählern, Controllern und Frontends ist möglich. Hier sind keine Grenzen mehr gesetzt.</p>
<p>Du kannst das Projekt zum Erfassen des eigenen Strom-/Wasser-/Gasverbrauchs ebenso benutzen wie zur Abrechnung eines ganzen Studentenwohnheims.</p>
<p>Zur Visualisierung bist du nicht mehr an das Browser basierte Web-Frontend gebunden. Durch den modularen Aufbau können viele Frontends gleichzeitig verwendet werden: Smartphone, Laptop etc.. Gleiches gilt für die Sensoren/Zähler. Hier kannst du beliebig viele gleichzeitig auswerten. Sie müssen noch nicht einmal am gleichen Ort installiert sein.</p>
<p>So schwebt derzeit die Idee im Raum ein Sensornetzwerk von Geigerzählern zur verteilten Strahlunsmessung aufzubauen.</p>
<div id="attachment_1274" class="wp-caption aligncenter" style="width: 310px"><a href="http://static.steffenvogel.de/wp-content/uploads/2011/01/frontend_screenshot_2.png"><img class="size-medium wp-image-1274 " title="Screenshot des Frontends" src="http://static.steffenvogel.de/wp-content/uploads/2011/01/frontend_screenshot_2-300x228.png" alt="" width="300" height="228" /></a><p class="wp-caption-text">Screenshot des Frontends</p></div>
<div id="attachment_1258" class="wp-caption aligncenter" style="width: 310px"><a href="http://static.steffenvogel.de/wp-content/uploads/2011/01/DSC00370.jpg"><img class="size-medium wp-image-1258 " title="DSC00370" src="http://static.steffenvogel.de/wp-content/uploads/2011/01/DSC00370-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Die Zählerbox</p></div>
<h3>Ausblick</h3>
<p>Die Ideen sprudeln nur so aus unser heraus. Es ist ein Jammer, dass ich gerade nicht mehr Zeit in das Projekt invertieren kann. Aber mein Studium hält mich derzeit sehr in Atem. Nach den Klausuren geht es dann wieder etwas schneller weiter.</p>
<p>Unsere Agenda ist endlos:</p>
<ul>
<li>erste stablie Version veröffentlichen</li>
<li>Betriebsstundezähler unterstützen</li>
<li>weitere Controller, wie den Flukso und &#8220;offizielle&#8221; Smartmeter unterstützen</li>
<li>Radioaktivität messen</li>
<li>Visualisierung für Smartphones</li>
<li>Visualisierung über Moodlights</li>
<li>Installation vereinfachen</li>
</ul>
<p>Hast du weitere Ideen, Anregungen, möchtest etwas verbessern oder eigene Features hinzufügen? Dann bist du immer auf unsere <a href="https://volkszaehler.org/mailman/listinfo/volkszaehler-dev">Mailingliste</a> willkommen! Wir freuen uns über jeden fleißigen Helfer <img src='http://static.steffenvogel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2011/01/25/volkszaehler-org-zahlerbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conway&#8217;s Game of Life</title>
		<link>http://www.steffenvogel.de/2010/12/01/conways-game-of-life/</link>
		<comments>http://www.steffenvogel.de/2010/12/01/conways-game-of-life/#comments</comments>
		<pubDate>Wed, 01 Dec 2010 00:33:01 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[conway]]></category>
		<category><![CDATA[game of life]]></category>
		<category><![CDATA[libncurses]]></category>
		<category><![CDATA[RWTH]]></category>
		<category><![CDATA[spiel des lebens]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=1213</guid>
		<description><![CDATA[Als Übung für meine Informatik Vorlesung an der RWTH Aachen habe ich diese C Implementation von Conways Game of Life geschrieben. Dieses simple &#8220;zero player&#8221; Game wird komplett im Terminal ausgeführt. Mit Mausunterstützung und Farben wurden mit libncurses realisiert. Den Quelltext findet ihr sammt Makefile in meinem Git-Repository. Hints &#38; Shortcuts &#8220;p&#8221; pausiert das Spiel [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://static.steffenvogel.de/wp-content/uploads/2010/12/conway.png"><img class="alignright size-thumbnail wp-image-1214" title="conway" src="http://static.steffenvogel.de/wp-content/uploads/2010/12/conway-150x150.png" alt="" width="150" height="150" /></a>Als Übung für meine Informatik Vorlesung an der RWTH Aachen habe ich diese C Implementation von<a href="http://de.wikipedia.org/wiki/Conways_Spiel_des_Lebens"> Conways Game of Life</a> geschrieben.</p>
<p>Dieses simple &#8220;<strong>zero player</strong>&#8221; Game wird komplett im Terminal ausgeführt. Mit Mausunterstützung und Farben wurden mit libncurses realisiert.</p>
<p>Den Quelltext findet ihr sammt Makefile in meinem <strong><a href="https://0l.de/cgit/rwth-info1.git/tree/src/conway.c">Git-Repository</a></strong>.</p>
<h3>Hints &amp; Shortcuts</h3>
<ul>
<li>&#8220;<strong>p</strong>&#8221; pausiert das Spiel</li>
<li>&#8220;<strong>q</strong>&#8221; beendet das Spiel</li>
<li>&#8220;<strong>c</strong>&#8221; leert das Spielfeld</li>
<li>die <strong>Leertaste</strong> setzt eine Zelle</li>
<li>die <strong>Pfeiltasten</strong> bewegen den Cursor</li>
<li>die <strong>Maus</strong> kann zum Bewegen des Cursors genutzt werden</li>
<li>&#8220;<strong>0</strong>&#8221; fügt ein chaotisches Anfangsmuster ein</li>
<li>&#8220;<strong>1</strong>&#8221; fügt einen Glider in das Spielfeld ein</li>
<li>&#8220;<strong>2</strong>&#8221; fügt einen Segler in das Spielfeld ein</li>
<li>&#8220;<strong>3</strong>&#8221; fügt einen Buffer in das Spielfeld ein</li>
<li>&#8220;<strong>+</strong>&#8221; erhöht die Anzahl der Generationen pro Sekunde (frames per second)</li>
<li>&#8220;<strong>-</strong>&#8221; erniedrigt die Anzahl der Generationen pro Sekunde (frames per second)</li>
</ul>
<p><a href="http://www.steffenvogel.de/2010/12/01/conways-game-of-life/"><em>Click here to view the embedded video.</em></a></p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2010/12/01/conways-game-of-life/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>fnordlicht vu meter</title>
		<link>http://www.steffenvogel.de/2010/11/12/fnordlicht-vu-meter/</link>
		<comments>http://www.steffenvogel.de/2010/11/12/fnordlicht-vu-meter/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 00:13:37 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Musik]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[fnordlicht]]></category>
		<category><![CDATA[level]]></category>
		<category><![CDATA[peak]]></category>
		<category><![CDATA[vu meter]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=1190</guid>
		<description><![CDATA[Last time, I showed you my new fnordlicht&#8217;s. Today, I&#8217;ve a little gift for you: I&#8217;ve written a small c program to control the lights according to the current peak level. The software analyses the audio signal of my system (Ubuntu 10.10 with pulseaudio). So you can dance to everything that can play audio.. Update: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.steffenvogel.de/2010/11/12/fnordlicht-vu-meter/"><em>Click here to view the embedded video.</em></a></p>
<p><a href="http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/">Last time</a>, I showed you my new <a href="http://wiki.lochraster.org/wiki/Fnordlichtmini">fnordlicht&#8217;s</a>. Today, I&#8217;ve a little gift for you: I&#8217;ve written a small c program to control the lights according to the current peak level.</p>
<p>The software analyses the audio signal of my system (Ubuntu 10.10 with pulseaudio). So you can dance to everything that can play audio.. <img src='http://static.steffenvogel.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>Update:</strong> As preparation for a exam, I added a discrete fourier analysis (DFT). Unfortunatly the serial bus is to slow to visualize the audio spectrogram in real time <img src='http://static.steffenvogel.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  The bars are colored with their complex phase-&gt;hue (HSV) aquivalent.</p>
<p><a href="http://static.steffenvogel.de/wp-content/uploads/2010/11/fnordlicht_fft.png"><img class="aligncenter size-full wp-image-1326" title="fnordlicht_fft" src="http://static.steffenvogel.de/wp-content/uploads/2010/11/fnordlicht_fft.png" alt="" width="420" height="235" /></a></p>
<p>The software uses and is distributed together with my fnlib (fnordlicht library) available under: <a title="http://web.git.0l.de/libfn.git/tree/fnvum" dir="ltr" href="http://web.git.0l.de/libfn.git" rel="nofollow" target="_blank">http://web.git.0l.de/libfn.git</a></p>
<h3>Some technical details (in german):</h3>
<p>Ich benutze <a href="http://pulseaudio.org/">PulseAudio</a> um mich in die Soundkarte des Systems einzuklingen. Das Programm tarnt sich als Recording-Tool. Und kann dadurch den kompletten Audio-Output oder nur bestimmte Programme visualisieren. Sogar das Mikrofon kann ich benutzen :p</p>
<p>PulseAudio liefert mir einen einfachen PCM Stream (44,1kHz Samplingrate, Mono &amp; 16-Bit signed Integers). Derzeit addiere ich immer nur x Werte dieses Bytestreams und mittele diese Summe dann über einen kurzen Zeitraum.</p>
<p>Geplant ist noch eine FFT-Analyse um  die Amplituden verschiedener Frequenzen gemäß der &#8220;Ohrkurve&#8221;, der Empfindlichkeit des menschlichen Gehörs, gewichten zu können. Der Schritt zur Spektraldarstellung (jedes meiner 10 fnordlichter als VU-Meter für ein bestimmtes Frequenzband) ist dann hoffentlich auch nicht mehr so weit.</p>
<div id="attachment_1196" class="wp-caption aligncenter" style="width: 510px"><a href="http://static.steffenvogel.de/wp-content/uploads/2010/11/Ohrkurve.gif"><img class="size-full wp-image-1196" title="Ohrkurve" src="http://static.steffenvogel.de/wp-content/uploads/2010/11/Ohrkurve.gif" alt="" width="500" height="281" /></a><p class="wp-caption-text">Ohrkurve</p></div>
<h4>Hints (for me)</h4>
<ul>
<li>FFT lib to use: <a href="http://www.fftw.org">http://www.fftw.org</a></li>
<li>Approximation for &#8220;Ohrkurve&#8221;</li>
</ul>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2010/11/12/fnordlicht-vu-meter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>visualize your power consumption with fnordlicht&#8217;s</title>
		<link>http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/</link>
		<comments>http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/#comments</comments>
		<pubDate>Sun, 31 Oct 2010 21:19:40 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[bus]]></category>
		<category><![CDATA[fd0. fnordlicht]]></category>
		<category><![CDATA[led]]></category>
		<category><![CDATA[metering]]></category>
		<category><![CDATA[modul]]></category>
		<category><![CDATA[seriell]]></category>
		<category><![CDATA[smart]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=1144</guid>
		<description><![CDATA[Gerade zurückgekommen vom elektro:camp(&#60;&#60;2010&#62;&#62;). aus Kaiserslautern, blogge ich heute über mein neustes Spielzeug: zehn fnordlichtmini&#8216;s. Vor ein paar Wochen bin ich auf das Projekt von Alexander Neumann aufmerksam geworden, um den Eingang neuer Mails, Nachrichten und meinen Stromverbrauch darzustellen. Meine 10 Module waren schnell aufgebaut. Sie bestehen aus je 3&#215;3 LED&#8217;s (RGB) und einem ATMega8 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3754.jpg"><img class="alignright size-thumbnail wp-image-1149" title="IMG_3754" src="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3754-150x150.jpg" alt="" width="150" height="150" /></a>Gerade zurückgekommen vom <a id="elektrocamp_2010__-_campcoordination" name="elektrocamp_2010__-_campcoordination" href="http://developer.mysmartgrid.de/doku.php?id=campcoordination"></a>elektro:camp(&lt;&lt;2010&gt;&gt;). aus Kaiserslautern, blogge ich heute über mein neustes Spielzeug: zehn <a href="http://wiki.lochraster.org/wiki/Fnordlichtmini">fnordlichtmini</a>&#8216;s.</p>
<p><a href="http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/"><em>Click here to view the embedded video.</em></a></p>
<p>Vor ein paar Wochen bin ich auf das Projekt von <a href="http://www.lochraster.org">Alexander Neumann</a> aufmerksam geworden, um den Eingang neuer Mails, Nachrichten und meinen Stromverbrauch darzustellen. Meine 10 Module waren schnell aufgebaut. Sie bestehen aus je 3&#215;3 LED&#8217;s (RGB) und einem ATMega8 Mikrocontroller, der die PWM-Ansteuerung und die Kommunikation über einen seriellen Bus übernimmt.</p>
<p>Leider gab es noch <a href="http://github.com/fd0/fnordlicht/tree/master/tests/">kein gutes Programm</a> für die Ansteuerung über einen Rechner. Also griff ich schnell zum Lötkolben und schrieb eine kleine C-Library. Mit der Ethernet-RS232 Bridge von <a href="http://www.ethersex.de">ethersex</a> (<a href="http://ethersex.de/index.php/YPORT">Y-Port</a>) konnte ich sogar die Ansteuerung über das Internet testen. Dies wird auch von der Library unterstützt.</p>
<p>Die Bibliothek sowie ein Beispiel-Programm für die Linux-Konsole gibt es in meinem <a href="https://0l.de/cgit/libfn.git/">git-Repository</a>.</p>

<a href='http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/img_3749/' title='IMG_3749'><img width="150" height="150" src="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3749-150x150.jpg" class="attachment-thumbnail" alt="IMG_3749" title="IMG_3749" /></a>
<a href='http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/img_3754/' title='IMG_3754'><img width="150" height="150" src="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3754-150x150.jpg" class="attachment-thumbnail" alt="IMG_3754" title="IMG_3754" /></a>
<a href='http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/img_3756/' title='IMG_3756'><img width="150" height="150" src="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3756-150x150.jpg" class="attachment-thumbnail" alt="IMG_3756" title="IMG_3756" /></a>
<a href='http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/img_3760/' title='IMG_3760'><img width="150" height="150" src="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3760-150x150.jpg" class="attachment-thumbnail" alt="IMG_3760" title="IMG_3760" /></a>
<a href='http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/img_3765/' title='IMG_3765'><img width="150" height="150" src="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3765-150x150.jpg" class="attachment-thumbnail" alt="IMG_3765" title="IMG_3765" /></a>
<a href='http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/img_3770/' title='IMG_3770'><img width="150" height="150" src="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3770-150x150.jpg" class="attachment-thumbnail" alt="IMG_3770" title="IMG_3770" /></a>
<a href='http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/img_3766/' title='IMG_3766'><img width="150" height="150" src="http://static.steffenvogel.de/wp-content/uploads/2010/10/IMG_3766-150x150.jpg" class="attachment-thumbnail" alt="IMG_3766" title="IMG_3766" /></a>

<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2010/10/31/visualize-your-power-consumption-with-fnordlichter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UNI-TREND UT61E Digital Multimeter</title>
		<link>http://www.steffenvogel.de/2009/11/29/uni-trend-ut61e-digital-multimeter/</link>
		<comments>http://www.steffenvogel.de/2009/11/29/uni-trend-ut61e-digital-multimeter/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 09:00:50 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Elektronik]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Datenlogger]]></category>
		<category><![CDATA[DMM]]></category>
		<category><![CDATA[GNUplot]]></category>
		<category><![CDATA[Logger]]></category>
		<category><![CDATA[Messen]]></category>
		<category><![CDATA[Optokopler]]></category>
		<category><![CDATA[Plotter]]></category>
		<category><![CDATA[UNI-TREND]]></category>
		<category><![CDATA[UT61E]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=594</guid>
		<description><![CDATA[Seit ein paar Wochen habe ich schon nun mein neues Multimeter: ein UT61E von UNI-TREND. Bisher bin ich rundum zufrieden damit. Gekauft habe ich es über das Internet bei Pinsonne-Elektronik. Lieferung und Bezahlung verlief schnell und problemlos. Den Laden kann ich also nur weiterempfehlen. Ein besonderes Highlight der neuen Messgeräte ist die RS232 Schnittstelle für [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_598" class="wp-caption alignright" style="width: 209px"><a href="http://static.steffenvogel.de/wp-content/uploads/2009/11/DSC00102.JPG"><img class="size-medium wp-image-598" title="DSC00102" src="http://static.steffenvogel.de/wp-content/uploads/2009/11/DSC00102-300x225.jpg" alt="Der Testaufbau" width="199" height="149" /></a><p class="wp-caption-text">Der Testaufbau</p></div>
<p>Seit ein paar Wochen habe ich schon nun mein neues Multimeter: ein <a href="http://www.pinsonne-elektronik.de/pi2/pd58.html">UT61E</a> von<a href="http://www.uni-trend.com/"> UNI-TREND</a>. Bisher bin ich rundum zufrieden damit. Gekauft habe ich es über das Internet bei <a href="http://www.pinsonne-elektronik.de/">Pinsonne-Elektronik</a>. Lieferung und Bezahlung verlief schnell und problemlos. Den Laden kann ich also nur weiterempfehlen.</p>
<p>Ein besonderes Highlight der neuen Messgeräte ist die RS232 Schnittstelle für die Auswertung am Rechner. Über diese per Optokopler isolierte Schnittstelle ist es möglich in aktuelle Messergebnisse am Rechner auszuwerten und weiter zu verarbeiten.</p>
<p>Leider haben die in China ansässigen Hersteller die Linux-Gemeinde aber mal wieder vergessen. Nach einigen Recherchen und etlichen Stunden später habe ich es dann jedoch geschafft ein kleines Tool für Linux zu entwickeln, welches mir die Messergebnisse im CSV Format liefert. In diesem Format kann ich sie nun in Open Office, MatLab und vielen anderen Programmen öffnen und auswerten.</p>
<p>Als besonderes Gimmick habe ich auch noch ein kleines Script geschrieben, das mit Hilfe <a href="http://www.gnuplot.info/">gnuplot </a>Graphen der Messergebnisse zeichnet. Diese werden dann 1-2 in der Sekunde aktualisiert. Mit einem Oszilloskop ist das jedoch lange noch nicht vergleichbar. Aber für Langzeit-Messungen durchaus sehr praktisch.</p>
<div id="attachment_595" class="wp-caption aligncenter" style="width: 310px"><a href="http://static.steffenvogel.de/wp-content/uploads/2009/11/screenshot.png"><img class="size-medium wp-image-595" title="screenshot" src="http://static.steffenvogel.de/wp-content/uploads/2009/11/screenshot-300x192.png" alt="Die Live-Darstellung der Messergebnisse mit gnuplot" width="300" height="192" /></a><p class="wp-caption-text">die Live-Darstellung der Messergebnisse mit gnuplot</p></div>
<p>Ich bedanke mich bei <a href="http://www-user.tu-chemnitz.de/~heha/">Henrik Haftmann</a> für <a href="http://static.steffenvogel.de/wp-content/uploads/2009/11/UT61E.txt.gzip">die detaillierte Beschreibung des Protokolls</a>, welche mir beim Entwickeln dieses Tools unheimlich geholfen hat.</p>
<p><strong>Update: </strong>Ich habe das Datenblatt es verwendeten IC&#8217;s gefunden. Es enthält auch eine Spezifikation des serielle Protokolls. <a href="/2011/01/25/inner-workings-of-uni-trend-ut61e-digital-multimeter/">Hier</a> geht es zum neuen Eintrag mit Bildern des Chips und der restlichen Platine.</p>
<p>Das Tool sowie das gnuplot Script habe ich hier <a href="http://static.steffenvogel.de/wp-content/uploads/2009/11/dmmut61e-0.01.tar.gz">in einem Archiv zusammengefasst</a>. Die Installation ist sicherlich nicht die einfachste. Aber die nötigen Kenntnisse setzte ich bei dieser Zielgruppe einfach mal voraus :p</p>
<p><strong>Achtung:</strong> Das Binary, das ich im Archiv beigelegt habe, ist für 64bit Linuxe kompiliert. Benötigt dafür aber keine weiteren dynamischen libs.</p>
<p>Anregungen, Patches und Bugreports sind per Mail immer willkommen.</p>
<p>Hier noch ein kleines Beispiel wie die Daten von meinem Tool ausgegeben werden. Für das Verständnis hilft sicherlich ein Blick in den Quelltext.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">1;0.0589;0.0589;0;0.0589;V;AC;Manual
2;0.07184;0.07184;0;0.06537;V;AC;Manual
3;0.12869;0.12869;0;0.0864767;V;AC;Manual
4;0.07876;0.12869;0;0.0845475;V;AC;Manual
5;0.06458;0.12869;0;0.080554;V;AC;Manual
6;0.09626;0.12869;0;0.0831717;V;AC;Manual
7;0.17355;0.17355;0;0.0960829;V;AC;Manual
8;0.17487;0.17487;0;0.105931;V;AC;Manual
9;0.13565;0.17487;0;0.109233;V;AC;Manual
10;0.10726;0.17487;0;0.109036;V;AC;Manual
11;0.16506;0.17487;0;0.114129;V;AC;Manual
12;0.14415;0.17487;0;0.116631;V;AC;Manual
13;0.15238;0.17487;0;0.119381;V;AC;Manual
14;0.17396;0.17487;0;0.123279;V;AC;Manual
15;0.11834;0.17487;0;0.12295;V;AC;Manual
16;0.2117;0.2117;0;0.128497;V;AC;Manual
17;0.18906;0.2117;0;0.132059;V;AC;Manual
18;0.17674;0.2117;0;0.134542;V;AC;Manual
19;0.08354;0.2117;0;0.131857;V;AC;Manual
20;0.053;0.2117;0;0.127915;V;AC;Manual
21;0.0688;0.2117;0;0.1251;V;AC;Manual
22;0.12796;0.2117;0;0.12523;V;AC;Manual
23;0.14954;0.2117;0;0.126287;V;AC;Manual
24;0.17535;0.2117;0;0.128331;V;AC;Manual
25;0.1381;0.2117;0;0.128722;V;AC;Manual
26;0.1588;0.2117;0;0.129878;V;AC;Manual
27;0.13258;0.2117;0;0.129979;V;AC;Manual
28;0.097;0.2117;0;0.128801;V;AC;Manual
29;0.04637;0.2117;0;0.125958;V;AC;Manual
30;0.06749;0.2117;0;0.124009;V;AC;Manual
31;0.09002;0.2117;0;0.122913;V;AC;Manual
32;0.07575;0.2117;0;0.121439;V;AC;Manual
33;0.0711;0.2117;0;0.119914;V;AC;Manual</pre></div></div>

<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2009/11/29/uni-trend-ut61e-digital-multimeter/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>GeoPortal macht Fortschritte</title>
		<link>http://www.steffenvogel.de/2009/03/13/geoportal-macht-fortschritte/</link>
		<comments>http://www.steffenvogel.de/2009/03/13/geoportal-macht-fortschritte/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 18:14:51 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[GeoPortal]]></category>
		<category><![CDATA[Projekt]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=312</guid>
		<description><![CDATA[Vor einem guten Jahr präsentierte ich euch bereits die ersten Pläne für mein neues OpenSource Projekt. Lange Zeit war es sehr ruhig um das GeoPortal Projekt. Mittlerweile habe ich es jedoch wieder aufgegriffen und mir etwas Gedanken um den mislungen Start gemacht. Ich bin zu dem Schluss gekommen, dass es dem Projekt noch an Struktur [...]]]></description>
			<content:encoded><![CDATA[<p>Vor einem guten Jahr <a href="../2007/12/05/geoportal-sucht-noch-freiwillige-entwickler/" target="_blank">präsentierte ich euch bereits</a> die ersten Pläne für mein neues OpenSource Projekt. Lange Zeit war es sehr ruhig um das GeoPortal Projekt. Mittlerweile habe ich es jedoch wieder aufgegriffen und mir etwas Gedanken um den mislungen Start gemacht. Ich bin zu dem Schluss gekommen, dass es dem Projekt noch an Struktur und Planung mangelte. <del datetime="2010-08-17T12:33:24+00:00">Also habe ich mit Trac und einem SVN Repository eine <a href="http://www.geoportal.griesm.de/" target="_blank">Platform</a> geschaffen auf der sich der Entwicklungsprozess transparent verfolgen lässt.</del> Seit kurzem gibt es auch ein neues Logo.</p>
<p><strong>Das Projekt wurde eingestellt. Die Platform ist nicht mehr verfügbar. Den Quellcode findet ihr noch in einem <a href="http:/web.git.0l.de/geoportal.git">git Repository</a>.</strong></p>
<div id="attachment_358" class="wp-caption aligncenter" style="width: 274px"><a href="http://static.steffenvogel.de/wp-content/uploads/2009/03/geoportal.png"><img class="size-full wp-image-358" title="GeoPortal" src="http://static.steffenvogel.de/wp-content/uploads/2009/03/geoportal.png" alt="Das neue Logo" width="264" height="78" /></a><p class="wp-caption-text">Das neue Logo</p></div>
<p>Momentan bin ich bis voraussichtlich bis Anfang April noch dabei ein detailliertes <a href="http://trac.griesm.de/geo/wiki/Design" target="_blank">Konzept</a> zu entwickeln. Dies soll es vor allem einsteigenden Entwicklern ermöglichen sich leichter zurechtzufinden und einen roten Faden vorgeben.</p>
<h3 style="text-align: center;">Hier könnt ihr einen Blick auf die neue Platform werfen: <a href="http://www.geoportal.griesm.de/" target="_blank">http://www.geoportal.griesm.de</a></h3>
<p>Um auch gleichzeitig mein Englisch zu verbessern, habe ich mich entschieden diese Platform englischsprachig zu halten. Dazu gehören dann natürlich auch Kommentare, Commit Logs, der Bug Tracker und die Dokumentation.</p>
<p>Zudem hat sich das Projekt etwas neu orientiert.  Google Maps und andere kommerzielle Dienste wurden weitestgehen verbannt. Anstelle dessen wird eine Kombination aus <a href="http://www.openstreetmaps.org/" target="_blank">OpenStreetMaps</a> und <a href="http://www.openlayers.org/" target="_blank">OpenLayers</a> eingesetzt. Neue Punkte wie Real Time Tracking und Community Funktionen stehen jetzt auch auf der Aufgabenliste. Mit dem zunehmend günstiger werdenden mobilen Internet wird es bald möglich sein über all auf GeoPortal zuzugreifen. Auch das Real Time Tracking wird so rentabel. Die Daten sollen nun nicht mehr nur aus den Einträgen des Protals selber bestehen, sondern auch von externen Datenquellen bezogen werden. Dies soll mit Plugins realsiert werden. Mögliche Quellen wären zum Beispiel:</p>
<ul>
<li>GeoRSS Feeds</li>
<li>Wettervorhersagen</li>
<li>Geocaches</li>
<li>FON WLAN Spots</li>
<li>usw…</li>
</ul>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2009/03/13/geoportal-macht-fortschritte/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>n-Damen Problem</title>
		<link>http://www.steffenvogel.de/2008/05/14/n-damen-problem/</link>
		<comments>http://www.steffenvogel.de/2008/05/14/n-damen-problem/#comments</comments>
		<pubDate>Wed, 14 May 2008 20:00:27 +0000</pubDate>
		<dc:creator>Steffen Vogel</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Informatik]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Backtick]]></category>
		<category><![CDATA[Backtrack]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[Damen]]></category>
		<category><![CDATA[n-Damen]]></category>
		<category><![CDATA[Problem]]></category>

		<guid isPermaLink="false">http://www.steffenvogel.de/?p=74</guid>
		<description><![CDATA[Für meine morgige Informatik-Klausur habe ich mich mal wieder an C++ gewagt um einen Algorithmus zu implementieren. Die Hauptthemen der Klausur werden das n-Dame Problem und das Josephus Problem sein. Für das n-Damen-Problem habe ich eine iterative Backtracking-Implementation in C++ geschrieben. Gleichzeitig ist es mein erstes funktionsfähiges und komplexeres C++ Programm Um euch meine Ergebnisse [...]]]></description>
			<content:encoded><![CDATA[<p>Für meine morgige Informatik-Klausur habe ich mich mal wieder an C++ gewagt um einen Algorithmus zu implementieren. Die Hauptthemen der Klausur werden das <a href="http://de.wikipedia.org/wiki/Damenproblem#cite_note-Rivin-1">n-Dame Problem</a> und das Josephus Problem sein.</p>
<p><a rel="attachment wp-att-76" href="http://www.steffenvogel.de/2008/05/14/n-damen-problem/dame/"><img class="aligncenter size-medium wp-image-76" title="n-Damen Problem" src="http://static.steffenvogel.de/wp-content/uploads/2008/05/dame-300x288.jpg" alt="JS, PHP &amp; CSS Frontend" width="300" height="288" /></a></p>
<p>Für das n-Damen-Problem habe ich eine iterative <a href="/demos/snippets/ndame">Backtracking-Implementation</a> in C++ geschrieben. Gleichzeitig ist es mein erstes funktionsfähiges und komplexeres C++ Programm <img src='http://static.steffenvogel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Um euch meine Ergebnisse zeigen zu können, habe ich mich bei der PHP, JS &amp; CSS Version meines Freundes Micha bedient und sie leicht angepasst.</p>
<p>Das PHP-Script ruft über den Backtick-Operator das C++ Programm auf und stellt es anschließen mit JS und CSS dar.</p>
<p>Um den Server zu schonen habe ich die maximale Feldgröße auf 13 beschränkt. Das sind zu mindestens schon mal 5 Damen mehr als bei der PHP-Version.</p>
<p>Ohne die Beschränkung sind auch Problemgrößen bis 16 in einem angemessenen Zeitrahmen zu bewältigen. An den Weltrekord (25 Damen) komme ich jedoch noch nicht <img src='http://static.steffenvogel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Wer interesse an dem Quellcode hat, kann sich einfach per Mail melden.</p>
<p class="wp-flattr-button"></p>]]></content:encoded>
			<wfw:commentRss>http://www.steffenvogel.de/2008/05/14/n-damen-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: www.steffenvogel.de @ 2012-02-08 12:07:00 by W3 Total Cache -->
