<?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>Freak-und-Informatiker &#187; Programmierung</title>
	<atom:link href="http://www.freak-und-informatiker.de/category/programmierung/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.freak-und-informatiker.de</link>
	<description>Debugger sind was für Memmen! Echte Männer kompilieren direkt auf die Master CD ...</description>
	<lastBuildDate>Wed, 29 Sep 2010 16:00:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Visual Studio Done Right &#8211; The Powertools</title>
		<link>http://www.freak-und-informatiker.de/2010/07/03/visual-studio-done-right-the-powertools/</link>
		<comments>http://www.freak-und-informatiker.de/2010/07/03/visual-studio-done-right-the-powertools/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 08:31:40 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1639</guid>
		<description><![CDATA[Ich bin im Zuge von relativ vielen Experimenten mit Silverlight und XAML schon früh auf den Visual Studio 2010 Zug aufgesprungen und war damit im Allgemeinen wesentlich zufriedener als die Meisten: Keine Abstürze, keine extremen Geschwindigkeitseinbrüche, keine Probleme mit der Migration von C++ Projekten. Alles in allem also durchaus erfreulich. Aber sehr überrascht war ich [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin im Zuge von relativ vielen Experimenten mit Silverlight und XAML schon früh auf den Visual Studio 2010 Zug aufgesprungen und war damit im Allgemeinen wesentlich zufriedener als die Meisten: Keine Abstürze, keine extremen Geschwindigkeitseinbrüche, keine Probleme mit der Migration von C++ Projekten. Alles in allem also durchaus erfreulich.</p>
<p>Aber sehr überrascht war ich dann davon, dass zwei der größten Mankos der älteren Visual Studio Versionen immernoch vorhanden waren:</p>
<ul>
<li>Der &#8220;Add Assembly Reference&#8221; Dialog (für.Net Projekte) ist immernoch unglaublich langsam, nicht durchsuchbar und dadurch vollkommen unübersichtlich.</li>
<li>Document Tabs lassen es stark an Anpassungsmöglichkeiten vermissen. Gerade wenn man Dateien mit identischen Namen in verschiedenen Projekten hat, ist das Chaos vorprogrammiert.</li>
</ul>
<p>Beide Probleme bekommt man wunderbar mit den <a href="http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef">Visual Studio 2010 Pro Power Tools</a> in den Griff. Übrigens nicht mit den &#8220;<a href="http://msdn.microsoft.com/de-de/vstudio/bb980963.aspx">Visual Studio 2010 – Power Tools</a>&#8221; zu verwechseln, das sind Kommandozeilentools &#8230; Wer sich auch immer bei Microsoft um die Namensgebung kümmert macht schon länger keinen guten Job! Die Umbenennung der Visual Studio Versionen hat mich eigentlich schon genug Nerven gekostet!</p>
<p>Aber back to Topic: Der neue Add Assembly Reference Dialog ist großartig!</p>
<p style="text-align: center;"><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2010/07/vs2010propowertoolsaddassemblyreference.png" rel="lightbox[1639]"><img class="aligncenter size-medium wp-image-1640" title="vs2010propowertoolsaddassemblyreference" src="http://www.freak-und-informatiker.de/wp-content/uploads/2010/07/vs2010propowertoolsaddassemblyreference-468x269.png" alt="" width="468" height="269" /></a></p>
<p>Endlich durchsuchbar, Aufteilung in Core Assemblies und Extensions! Mehr wollte ich ja garnicht.</p>
<p>Und die Document Tabs sind nun wirklich unglaublich flexibel. Für eine komplette Übersicht verweise ich mal auf das <a href="http://blogs.msdn.com/b/visualstudio/archive/2010/06/10/document-well-2010-plus.aspx">Visual Studio Blog</a>, mir persönlich reichen aber schon die folgenden Möglichkeiten:</p>
<ul>
<li>&#8220;Pinnbare&#8221; Tabs. Wer regelmäßig zwischen &gt; 15 Dokumenten springt wird es schätzen, die wenigen wirklich wichtigen seperat auszeichnen zu können.</li>
<li>Projektabhängige Tabfarben. Endlich keine unendliche Verwirrung mehr bei gleichen Dateinamen.</li>
</ul>
<p>So schaut das ganze dann bei mir aus:</p>
<p style="text-align: center;"><img class="size-full wp-image-1641  aligncenter" title="vs2010propowertoolsdocumenttabs" src="http://www.freak-und-informatiker.de/wp-content/uploads/2010/07/vs2010propowertoolsdocumenttabs.png" alt="" width="456" height="45" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2010/07/03/visual-studio-done-right-the-powertools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreePaTris</title>
		<link>http://www.freak-und-informatiker.de/2009/10/26/freepatris/</link>
		<comments>http://www.freak-und-informatiker.de/2009/10/26/freepatris/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 12:37:25 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Spiele]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[FH Wedel]]></category>
		<category><![CDATA[FreePascal]]></category>
		<category><![CDATA[Tetris]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1583</guid>
		<description><![CDATA[Strike! Ich hab es geschafft mich von der Programmiersprachen 1 Übung befreien zu lassen. Jeder der sich für fit genug hielt, konnte eine sogenannte Befreiungsaufgabe schreiben: Tetris =) Und zwar in FreePascal. Also mal ganz was Neues, auch für mich. Mein Zeitplan sah dann in etwa so aus: Freitag: FreePascal und sonstige Tools einrichten, bisschen [...]]]></description>
			<content:encoded><![CDATA[<p>Strike! Ich hab es geschafft mich von der Programmiersprachen 1 Übung befreien zu lassen.</p>
<p>Jeder der sich für fit genug hielt, konnte eine sogenannte Befreiungsaufgabe schreiben: Tetris =) Und zwar in <a href="http://www.freepascal.org/">FreePascal</a>. Also mal ganz was Neues, auch für mich. Mein Zeitplan sah dann in etwa so aus:</p>
<ul>
<li>Freitag: FreePascal und sonstige Tools einrichten, bisschen mit FreePascal vertraut machen</li>
<li>Samstag: Ein Framework für Sachen wie Gamestates und Timing auf die Beine stellen</li>
<li>Sonntag: Tetris!</li>
</ul>
<p>Klappte ganz gut, wenn man von diversen IDE Bugs absieht. FreePascal stürzt bei mir mittlerweile kommentarlos ab, sobald ich auch nur versuche irgendeine Datei zu öffnen &#8230; Aber ich hab dann wunderbar mit <a href="http://de.wikipedia.org/wiki/Lazarus_(Entwicklungsumgebung)">Lazarus</a> weiterarbeiten können.</p>
<p>Allgemein war die Aufgabe schwieriger, als einem zunächst schien. So Sachen wie Blockrotation haben mich dann doch noch an den Rand des Wahnsinns getrieben, bis ich es einfach irgendwann aufgegeben habe, dafür einen allgemeingültigen Algorithmus zu suchen &#8230;</p>
<p>Die Anmeldezahlen zur Abnahme waren dann auch dementsprechend. Irgendwann Samstag waren es wohl noch um die 40, Sonntag Abend dann noch ca. 20, Montag (also heute) Morgen waren es noch 9 und bei der Abnahme waren wir dann zu viert &#8230;</p>
<p>Und so schaut meine Lösung aus:</p>
<p style="text-align: center;"><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/10/freepatris.png" rel="lightbox[1583]"><img class="size-thumbnail wp-image-1584 aligncenter" title="freepatris" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/10/freepatris-150x150.png" alt="freepatris" width="150" height="150" /></a></p>
<p>Wer mag kann sich das Ganze auch runterladen, aber wirklich gut spielen kann man das nicht. Zumindestens nicht, wenn man unter &#8220;spielen&#8221; auch &#8220;Spaß haben&#8221; versteht.</p>
<ul>
<li>Windows: <a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/10/FreePaTris.zip">FreePaTris.exe</a></li>
<li>Linux: <a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/10/FreePaTris">FreePaTris</a></li>
</ul>
<p>Wer Interesse am Quellcode hat, der ist unter folgender URL öffentlich einsehbar:</p>
<ul>
<li><a href="svn://svn.gurxite.de/FreePaTris/trunk">svn://svn.gurxite.de/FreePaTris/trunk</a></li>
</ul>
<p>Update:</p>
<p>So, nun auch mit Linux Version. Die flackert auch nicht so nervig <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/10/26/freepatris/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows.Forms &#8211; Enum in Combobox</title>
		<link>http://www.freak-und-informatiker.de/2009/09/04/windows-forms-enum-in-combobox/</link>
		<comments>http://www.freak-und-informatiker.de/2009/09/04/windows-forms-enum-in-combobox/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 09:09:28 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Windows.Forms]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1514</guid>
		<description><![CDATA[Eine Combobox mit vorgegebenen Werten zu füllen ist etwas, dass fast Jedem Interfaceentwickler mal unterkommen wird. Meist liegen die Werte dabei schon im Code vor, oft als enum. Es gibt nun mindestens zwei &#8220;automatisierte&#8221; Möglichkeiten diese Werte in die Combobox zu füllen: // Yeah, händisch iterieren und zufügen! foreach &#40;SomeEnum val in Enum.GetValues&#40;typeof&#40;SomeEnum&#41;&#41;&#41; &#123; myComboBox.Items.Add&#40;val&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Combobox mit vorgegebenen Werten zu füllen ist etwas, dass fast Jedem Interfaceentwickler mal unterkommen wird. Meist liegen die Werte dabei schon im Code vor, oft als enum. Es gibt nun mindestens zwei &#8220;automatisierte&#8221; Möglichkeiten diese Werte in die Combobox zu füllen:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">// Yeah, händisch iterieren und zufügen!</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span>SomeEnum val <span style="color: #0600FF;">in</span> <span style="color: #FF0000;">Enum</span>.<span style="color: #0000FF;">GetValues</span><span style="color: #000000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #000000;">&#40;</span>SomeEnum<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
	myComboBox.<span style="color: #0000FF;">Items</span>.<span style="color: #0000FF;">Add</span><span style="color: #000000;">&#40;</span>val<span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"> <span style="color: #008080; font-style: italic;">// Whoops, was macht denn die DataSource Eigenschaft ;)</span>
myComboBox.<span style="color: #0000FF;">DataSource</span> <span style="color: #008000;">=</span> <span style="color: #FF0000;">Enum</span>.<span style="color: #0000FF;">GetValues</span><span style="color: #000000;">&#40;</span><span style="color: #008000;">typeof</span><span style="color: #000000;">&#40;</span>SomeEnum<span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>Leider kann man die DataSource Eigenschaft nicht schon im Designer mit beliebigen Ausdrücken versehen, die Zuweisung muss also im Quellcode erfolgen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/09/04/windows-forms-enum-in-combobox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wenns mal wieder länger dauert</title>
		<link>http://www.freak-und-informatiker.de/2009/05/14/wenns-mal-wieder-langer-dauert/</link>
		<comments>http://www.freak-und-informatiker.de/2009/05/14/wenns-mal-wieder-langer-dauert/#comments</comments>
		<pubDate>Thu, 14 May 2009 08:39:03 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Doxygen]]></category>
		<category><![CDATA[MSDN]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1239</guid>
		<description><![CDATA[Die MSDN ist nicht unbedingt ein Synonym für unglaublich schnellen Seitenaufbau. Ich hab mich schon mehr als einmal über Ladezeiten &#62; 30 Sekunden aufgeregt. Meistens natürlich dann wenn man sich von einer Klassenbeschreibung zu einer speziellen Methode durchklickt &#8230; Aber ungefähr ein knappes Jahr zu spät habe auch ich gemerkt, wie man die Ladezeiten dramatisch [...]]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://msdn.microsoft.com/">MSDN</a> ist nicht unbedingt ein Synonym für unglaublich schnellen Seitenaufbau. Ich hab mich schon mehr als einmal über Ladezeiten &gt; 30 Sekunden aufgeregt. Meistens natürlich dann wenn man sich von einer Klassenbeschreibung zu einer speziellen Methode durchklickt &#8230;</p>
<p>Aber ungefähr ein knappes Jahr zu spät habe auch ich gemerkt, wie man die Ladezeiten dramatisch reduzieren kann: Man schaltet den Low Bandwith (loband) Modus ein. Im Vergleich schaut das dann so aus:</p>
<p style="text-align: center;"><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/05/msdnnormal.png" rel="lightbox[1239]"><img class="size-medium wp-image-1241  aligncenter" title="MSDN &quot;Normal&quot;" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/05/msdnnormal-468x351.png" alt="MSDN &quot;Normal&quot;" width="468" height="351" /></a></p>
<p style="text-align: center;"><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/05/msdnloband.png" rel="lightbox[1239]"><img class="size-medium wp-image-1240  aligncenter" title="MSDN loband" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/05/msdnloband-468x351.png" alt="MSDN loband" width="468" height="351" /></a></p>
<p>Als Referenz nochmal die Seite als Link in beiden Versionen:</p>
<ul>
<li><a href="http://msdn.microsoft.com/en-us/library/system.io.binaryreader(VS.80).aspx">&#8220;Normale&#8221; Version</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/system.io.binaryreader(VS.80,loband).aspx">&#8220;Low Bandwith&#8221; Version</a></li>
</ul>
<p>Herrlich! Erinnert in dieser Aufmachung ziemlich an JavaDoc oder Doxygen, für mich ein eindeutiger Vorteil. Einen Haken hat die Sache dann aber doch: Die loband Seite scheint ohne Suchfeld zu kommen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/05/14/wenns-mal-wieder-langer-dauert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buildkonfiguration im C# Visual Studio Express</title>
		<link>http://www.freak-und-informatiker.de/2009/04/29/buildkonfiguration-im-c-visual-studio-express/</link>
		<comments>http://www.freak-und-informatiker.de/2009/04/29/buildkonfiguration-im-c-visual-studio-express/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 06:17:11 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1206</guid>
		<description><![CDATA[Wer wie ich mal mit den Express Editionen und mal mit den &#8220;echten&#8221; Versionen des Visual Studio arbeitet merkt mit der Zeit dann doch, welche Kleinigkeiten ihm in der abgespeckten Version fehlen. Erstmal natürlich die Addins, aber dann sind da noch andere Kleinigkeiten. Nicht in diese Kategorie fällt die fehlende Buildkonfiguration. Die scheint zwar auch [...]]]></description>
			<content:encoded><![CDATA[<p>Wer wie ich mal mit den Express Editionen und mal mit den &#8220;echten&#8221; Versionen des Visual Studio arbeitet merkt mit der Zeit dann doch, welche Kleinigkeiten ihm in der abgespeckten Version fehlen. Erstmal natürlich die Addins, aber dann sind da noch andere Kleinigkeiten.</p>
<p>Nicht in diese Kategorie fällt die fehlende Buildkonfiguration.</p>
<p style="text-align: center;"><img class="size-full wp-image-1207 aligncenter" title="Fehlende Buildkonfiguration im Visual Studio" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/04/vsmissingbuildconfig.png" alt="Fehlende Buildkonfiguration im Visual Studio" width="369" height="88" /></p>
<p>Die scheint zwar auch zu fehlen, ist aber nur versteckt. Ich habe hier gerade die englische Version vom Visual Studio, das Vorgehen bei der deutschen Version ist aber naheliegenderweise ähnlich:</p>
<ul>
<li>&#8220;Tools&#8221; Menü öffnen</li>
<li>&#8220;Options&#8221; Eintrag auswählen</li>
<li>Im Optionsdialog ein Häkchen bei &#8220;Show all settings&#8221; setzen</li>
<li>Unter &#8220;Projects and Solutions -&gt; General&#8221; einen Haken bei der &#8220;Show advanced build configurations&#8221; setzen</li>
</ul>
<p style="text-align: center;"><img class="size-full wp-image-1208 aligncenter" title="Voila, die Buildkonfiguration" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/04/vsexistingbuildconfig.png" alt="Voila, die Buildkonfiguration" width="369" height="88" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/04/29/buildkonfiguration-im-c-visual-studio-express/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Und was mach ich mit 2009?</title>
		<link>http://www.freak-und-informatiker.de/2009/03/24/und-was-mach-ich-mit-2009/</link>
		<comments>http://www.freak-und-informatiker.de/2009/03/24/und-was-mach-ich-mit-2009/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 11:58:43 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Projekt]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1202</guid>
		<description><![CDATA[Irgendwie hatte ich meine &#8220;Programmier Bestrebungen&#8221; für dieses Jahr noch garnicht schematisiert. Bisher hab ich mir für jedes Jahr vorgenommen mich zumindestens oberflächlich in eine neue Programmiersprache einzuarbeiten. Aber mir fällt das dieses Jahr auch wesentlich schwerer als die Jahre davor &#8230; Zum Ende des letzten Jahres hin habe ich mich ein wenig mit Ruby und [...]]]></description>
			<content:encoded><![CDATA[<p>Irgendwie hatte ich meine &#8220;Programmier Bestrebungen&#8221; für dieses Jahr noch garnicht schematisiert. Bisher hab ich mir für jedes Jahr vorgenommen mich zumindestens oberflächlich in eine neue Programmiersprache einzuarbeiten. Aber mir fällt das dieses Jahr auch wesentlich schwerer als die Jahre davor &#8230; Zum Ende des letzten Jahres hin habe ich mich <a href="http://www.freak-und-informatiker.de/2008/11/30/projekt-2009/">ein wenig mit Ruby und Ruby on Rails befasst</a>, aber richtig lange dabei geblieben bin ich nicht. Macht zwar Spaß, aber Webentwicklung ist nicht so ganz meine Welt.</p>
<p>Einfach weil ich mich mit meinem jetzigen Stand eigentlich ganz wohl fühle, es gibt keine &#8220;Ecke&#8221; mehr bei der ich Angst habe etwas zu verpassen.</p>
<p>Für wirklich zeitkritische oder lowlevel Sachen greife ich zu C++, alles was irgendwie schön mit einer Oberfläche daherkommen oder einfach schnell gemacht werden soll mach ich mit C# (oder auch Java, wenn mich jemand dazu animiert) und wenn ich was skripten muss dann greif ich zu Python.</p>
<p>Also wird dieses Jahr wieder ein bisschen angepasst: Platformen statt Sprachen. Handy statt PC, Webbrowser statt &#8220;echter&#8221; Anwendung.</p>
<p>Jetzt muss ich mich &#8220;nur&#8221; noch nach einem Vehikel dafür umsehen. Es ist ja schon reizvoll alles in den &#8220;Microsoft Topf&#8221; zu werfen und sich auf Windows Mobile und / oder Silverlight zu fokussieren. Aber erstmal will ich noch ein bisschen die Alternativen prüfen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/03/24/und-was-mach-ich-mit-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Geekwear</title>
		<link>http://www.freak-und-informatiker.de/2009/01/17/geekwear/</link>
		<comments>http://www.freak-und-informatiker.de/2009/01/17/geekwear/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 07:48:32 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Real Life]]></category>
		<category><![CDATA[Schule]]></category>
		<category><![CDATA[TShirt]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=1054</guid>
		<description><![CDATA[Fast passend zu dem &#8220;Geschenke für Informatiker&#8221; Beitrag bin ich gerade über zwei total geniale TShirts gestolpert. Richard Stallman als Che und Bruce Schneier als Chuck Norris. Die beiden gibts zu relativ humanen Preisen im geekz Shop. Wer lieber Donald Knuth oder Eric S. Raymond tragen möchte wird dort übrigens auch fündig. Meiner Meinung nach [...]]]></description>
			<content:encoded><![CDATA[<p>Fast passend zu dem &#8220;Geschenke für Informatiker&#8221; Beitrag bin ich gerade über zwei total geniale TShirts gestolpert.</p>
<p><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/01/che-stallman-tshirt-show.jpg" rel="lightbox[1054]"><img class="alignleft size-thumbnail wp-image-1055" title="Che Stallman" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/01/che-stallman-tshirt-show-150x150.jpg" alt="Che Stallman" width="150" height="150" /></a> <a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/01/schneier-tshirt-show.jpg" rel="lightbox[1054]"><img class="alignright size-thumbnail wp-image-1056" title="Bruce Schneier" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/01/schneier-tshirt-show-150x150.jpg" alt="Bruce Schneier" width="150" height="150" /></a><a href="http://de.wikipedia.org/wiki/Richard_Stallman">Richard Stallman</a> als Che und <a href="http://de.wikipedia.org/wiki/Bruce_Schneier">Bruce Schneier</a> als Chuck Norris.</p>
<p>Die beiden gibts zu relativ humanen Preisen im <a href="http://geekz.co.uk/shop/">geekz Shop</a>. Wer lieber <a href="http://de.wikipedia.org/wiki/Donald_Knuth">Donald Knuth</a> oder Eric S. Raymond tragen möchte wird dort übrigens auch fündig. Meiner Meinung nach kommen letztere Shirts aber nicht an das geniale Design der hier vorgestellten ran.</p>
<p>Wirklich tragen wollen würde ich das Stallman Shirt allerdings eher nicht. Aber das hat politische Hintergründe, Fundamentalisten sind eher nicht so mein Fall. Egal was sie geleistet haben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/01/17/geekwear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programmierer und Feiertage</title>
		<link>http://www.freak-und-informatiker.de/2009/01/05/programmierer-und-feiertage/</link>
		<comments>http://www.freak-und-informatiker.de/2009/01/05/programmierer-und-feiertage/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 14:27:19 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Lustiges]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Zahlensysteme]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=961</guid>
		<description><![CDATA[Why do programmers always mix up Halloween and Christmas? Because Oct 31 equals Dec 25.]]></description>
			<content:encoded><![CDATA[<blockquote><p>Why do programmers always mix up Halloween and Christmas?<br />
Because Oct 31 equals Dec 25.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/01/05/programmierer-und-feiertage/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Boost und mingw</title>
		<link>http://www.freak-und-informatiker.de/2009/01/03/boost-und-mingw/</link>
		<comments>http://www.freak-und-informatiker.de/2009/01/03/boost-und-mingw/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 17:17:33 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Boost]]></category>
		<category><![CDATA[mingw]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=928</guid>
		<description><![CDATA[Mehr oder weniger fieser Stolperstein für alle, die gelesen haben ein simples bjam &#8211;toolset=gcc &#8211;build-type=complete stage würde ausreichen um Boost unter Windows mit dem mingw zu kompilieren: Das setzt vorraus, dass euer System &#8220;korrekt&#8221; eingerichtet ist Korrekt in diesem Sinne heisst, dass sich (unter anderem) die g++.exe und die cc1plus.exe in der PATH Umgebungsvariable befinden [...]]]></description>
			<content:encoded><![CDATA[<p>Mehr oder weniger fieser Stolperstein für alle, die gelesen haben ein simples <strong>bjam &#8211;toolset=gcc &#8211;build-type=complete stage</strong> würde ausreichen um Boost unter Windows mit dem mingw zu kompilieren: Das setzt vorraus, dass euer System &#8220;korrekt&#8221; eingerichtet ist <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Korrekt in diesem Sinne heisst, dass sich (unter anderem) die g++.exe und die cc1plus.exe in der PATH Umgebungsvariable befinden müssen. Ansonsten meckert bjam diese Programme als &#8220;fehlend&#8221; an.</p>
<p>Die Einrichtung ist aber wirklich einfach (zumindestens unter Vista und XP):</p>
<ul>
<li>Sucht den Pfad zu eurer mingw Installation raus. Ich werden diesen Pfad im Folgenden als $mingw bezeichnen.</li>
<li>Tipp am Rande: Wenn ihr mit Code::Block arbeitet ist mingw in dem Unterordner &#8220;mingw&#8221; eurer Code::Blocks Installation zu finden.</li>
<li>Öffnet die Systemeigenschaften (z.B. über Arbeitsplatz -&gt; Eigenschaften).</li>
<li>Wählt dort den Punkt &#8220;Erweitert&#8221; aus.</li>
<li>Klickt dort auf &#8220;Umgebungsvariablen&#8221;.</li>
<li>Wählt bei den Systemvariablen die Variable &#8220;Path&#8221; aus und hängt die folgende Zeichenkette hinten dran: <em>&#8220;$mingw\bin&#8221;;&#8221;</em><em>$mingw\</em><em>libexec\gcc\mingw32\3.4.5&#8243;;</em></li>
<li><strong>Wichtig</strong>: Nehmt die Anführungszeichen um den Eintrag mit und löscht keine Einträge!</li>
<li>Nun müsst ihr gegebenenfalls noch eine neue Instanz der cmd.exe starten und dann sollte das gcc toolset wirklich funktionieren <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ul>
<p>Und abschließend nochmal ein Screenshot zur Verdeutlichung:</p>
<p style="text-align: center;"><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2009/01/umgebungsvariablen.png" rel="lightbox[928]"><img class="size-full wp-image-929 aligncenter" title="Definieren der Umgebungsvariablen" src="http://www.freak-und-informatiker.de/wp-content/uploads/2009/01/umgebungsvariablen.png" alt="Definieren der Umgebungsvariablen" width="419" height="525" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2009/01/03/boost-und-mingw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dinge, die in der Informatik keinen Platz haben (sollten)</title>
		<link>http://www.freak-und-informatiker.de/2008/12/24/dinge-die-in-der-informatik-keinen-platz-haben-sollten/</link>
		<comments>http://www.freak-und-informatiker.de/2008/12/24/dinge-die-in-der-informatik-keinen-platz-haben-sollten/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 12:04:43 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Religion]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=876</guid>
		<description><![CDATA[Religion! Und dabei geht es mir nicht um den lieben Gott, Buddha oder Allah! Aber was (subjektiv gerade extrem häufig) einige Leute auf AMD, Intel, Linux, Windows, Java, C# (&#8230;) halten kann man nur noch als religiösen Eifer bezeichnen. Zumindestens finden sich in Diskussionen die gleichen Merkmale, wie man sie aus den &#8220;echten&#8221; Religionskriegen kennt. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Religion!</strong></p>
<p>Und dabei geht es mir nicht um den lieben Gott, Buddha oder Allah! Aber was (subjektiv gerade extrem häufig) einige Leute auf AMD, Intel, Linux, Windows, Java, C# (&#8230;) halten kann man nur noch als religiösen Eifer bezeichnen. Zumindestens finden sich in Diskussionen die gleichen Merkmale, wie man sie aus den &#8220;echten&#8221; Religionskriegen kennt.</p>
<ol>
<li><strong>Unbelehrbarkeit</strong><br />
Beide Seiten werden auf ihrer Meinung beharren.</li>
<li><strong>Unwissenheit</strong><br />
90% der Argumente beruhen auf Vorurteilen.</li>
<li><strong>Uneinsichtigkeit</strong><br />
Die (maximal) 10% der stichhaltigen Argumente werden ignoriert, sofern sie unbequem sind.</li>
<li><strong>Unendlichkeit</strong><br />
Ein Konsens wird sich nicht finden.</li>
</ol>
<p>Dabei könnte man diese Probleme durch eine einfache Einsicht umgehen: Die perfekte Programmiersprache (das perfekte OS (&#8230;)) gibt es nicht! Das sind alles Werkzeuge für spezifische Aufgabengebiete! Und mal passt halt das eine besser und mal das andere.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/12/24/dinge-die-in-der-informatik-keinen-platz-haben-sollten/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Python 3</title>
		<link>http://www.freak-und-informatiker.de/2008/12/04/python-3/</link>
		<comments>http://www.freak-und-informatiker.de/2008/12/04/python-3/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 17:25:55 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=864</guid>
		<description><![CDATA[Hui, fast verpasst &#8230; Python 3 ist da, hier findet sich eine Liste der Neuerungen. Sollte ich etwas Zeit finden, schreib ich nochmal ein bisschen mehr dazu.]]></description>
			<content:encoded><![CDATA[<p>Hui, fast verpasst &#8230; <a href="http://python.org/">Python 3 ist da</a>, hier findet sich eine <a href="http://docs.python.org/3.0/whatsnew/3.0.html">Liste der Neuerungen</a>.</p>
<p>Sollte ich etwas Zeit finden, schreib ich nochmal ein bisschen mehr dazu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/12/04/python-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Projekt 2009</title>
		<link>http://www.freak-und-informatiker.de/2008/11/30/projekt-2009/</link>
		<comments>http://www.freak-und-informatiker.de/2008/11/30/projekt-2009/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 14:16:42 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=846</guid>
		<description><![CDATA[Einarbeitung in Ruby &#38; Ruby on Rails. Und weil ich ungeduldig bin, habe ich schonmal ein wenig angefangen. Und plötzlich macht mir sogar Webentwicklung einigermaßen Spaß. Das Rails &#60;openbook&#62; ist übrigens ein guter Einstiegspunkt für alle, die es sich zutrauen Ruby (als Sprache) &#8220;nebenher&#8221; zu lernen. Ist zwar ungewohnt, aber der Syntax erschließt sich einem [...]]]></description>
			<content:encoded><![CDATA[<p>Einarbeitung in <a href="http://www.ruby-lang.org/de/">Ruby</a> &amp; <a href="http://www.rubyonrails.de/">Ruby on Rails</a>. Und weil ich ungeduldig bin, habe ich schonmal ein wenig angefangen. Und plötzlich macht mir sogar Webentwicklung einigermaßen Spaß.</p>
<p>Das <a href="http://openbook.galileocomputing.de/ruby_on_rails/">Rails &lt;openbook&gt;</a> ist übrigens ein guter Einstiegspunkt für alle, die es sich zutrauen Ruby (als Sprache) &#8220;nebenher&#8221; zu lernen. Ist zwar ungewohnt, aber der Syntax erschließt sich einem doch sehr schnell.</p>
<p>Jetzt muss ich mir nur noch eine passende IDE dafür zusammensuchen. Zum ausprobieren reicht mir zwar noch <a href="http://www.nano-editor.org/">nano</a>, aber auf Dauer &#8230; Theoretisch muss ich mir nur noch ein passendes Projekt zum Umsetzen überlegen, sonst macht das Projekt irgendwie nicht so recht Sinn.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/11/30/projekt-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Satz der Informatik</title>
		<link>http://www.freak-und-informatiker.de/2008/11/06/satz-der-informatik/</link>
		<comments>http://www.freak-und-informatiker.de/2008/11/06/satz-der-informatik/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 15:49:54 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Lustiges]]></category>
		<category><![CDATA[Programmierung]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=819</guid>
		<description><![CDATA[Satz der Informatik: Offenbar gelten: Jedes Programm hat mindestens einen Fehler. Jedes Programm kann durch geeignete Optimierungen um mindestens eine Instruktion verkuerzt werden ohne den Funktionsumfang zu verändern. Daraus folgt per Induktion: Jedes Programm kann bei gleichbleibendem Funktionsumfang auf eine einzige Instruktion verkuerzt werden, die nicht funktioniert.]]></description>
			<content:encoded><![CDATA[<blockquote><p><span class="postbody"><span style="font-weight: bold;">Satz der Informatik:</span><br />
Offenbar gelten:<br />
</span></p>
<ol>
<li><span class="postbody">Jedes Programm hat mindestens einen Fehler.</span></li>
<li>Jedes Programm kann durch geeignete Optimierungen um mindestens eine Instruktion verkuerzt werden ohne den Funktionsumfang zu verändern.</li>
</ol>
<p><span class="postbody"><strong> Daraus folgt per Induktion:</strong><br />
Jedes Programm kann bei gleichbleibendem Funktionsumfang auf eine einzige Instruktion verkuerzt werden, die nicht funktioniert.</span></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/11/06/satz-der-informatik/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jetzt gehts los mit der AG!</title>
		<link>http://www.freak-und-informatiker.de/2008/11/02/jetzt-gehts-los-mit-der-ag/</link>
		<comments>http://www.freak-und-informatiker.de/2008/11/02/jetzt-gehts-los-mit-der-ag/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 10:16:48 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Schule]]></category>
		<category><![CDATA[C++ AG]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=814</guid>
		<description><![CDATA[So, wie Freitag besprochen einmal die Druckvorlagen für Torben (oder sonstwen, falls er sich dazu berufen fühlen sollte): Zip Archiv mit odt und pdf Version des Aushangs Solltet ihr Tipp- oder andere Fehler finden, bitte einen kurzen Hinweis in den Kommentaren vermerken. Nett wäre es auch, wenn ihr mir mitteilt wo / wieviele von den [...]]]></description>
			<content:encoded><![CDATA[<p>So, wie Freitag besprochen einmal die Druckvorlagen für Torben (oder sonstwen, falls er sich dazu berufen fühlen sollte):</p>
<ul>
<li><a href="http://www.freak-und-informatiker.de/wp-content/uploads/2008/11/c-ag-08.zip">Zip Archiv mit odt und pdf Version des Aushangs</a></li>
</ul>
<p>Solltet ihr Tipp- oder andere Fehler finden, bitte einen kurzen Hinweis in den Kommentaren vermerken. Nett wäre es auch, wenn ihr mir mitteilt wo / wieviele von den Aushängen ihren Weg in die THS gefunden haben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/11/02/jetzt-gehts-los-mit-der-ag/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C++0x &#8211; Vorfreude</title>
		<link>http://www.freak-und-informatiker.de/2008/11/02/cpp0x-vorfreude/</link>
		<comments>http://www.freak-und-informatiker.de/2008/11/02/cpp0x-vorfreude/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 09:31:03 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[C++0x]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=813</guid>
		<description><![CDATA[Der kommende C++ Standard ist echt ein bisschen wie eine Wundertüte. Bei den meisten Sachen kam ich gar nicht so Recht auf den Gedanken, dass ich sie vermisse, bis ich mich mal damit beschäftigt habe. (&#8220;Disclaimer&#8221;: C++0x ist aber noch nicht standarisiert! Verhaltensweisen etc. können sich theoretisch noch ändern!) Lambda Funktionen Damit wird die ganze [...]]]></description>
			<content:encoded><![CDATA[<p>Der kommende C++ Standard ist echt ein bisschen wie eine Wundertüte. Bei den meisten Sachen kam ich gar nicht so Recht auf den Gedanken, dass ich sie vermisse, bis ich mich mal damit beschäftigt habe. (&#8220;Disclaimer&#8221;: C++0x ist aber noch nicht standarisiert! Verhaltensweisen etc. können sich theoretisch noch ändern!)</p>
<ul>
<li><strong>Lambda</strong> Funktionen<br />
Damit wird die ganze &lt;algorithm&gt; Funktionalität der STL drastisch vereinfacht beziehungsweise intuitiver. Auf <a href="http://cschleiden.spaces.live.com/blog/cns!A8BBB8A086E51796!170.entry">c.s. notes</a> gibt es eine gute Erklärung was Lambdas eigentlich so sind. In Kurzform: Damit kann man sich z.B. endlich alle möglichen Strukturen, die nur den Operator() implementieren ein für alle mal sparen! 
</li>
<li>Das <strong>auto</strong> Keyword<br />
Im &#8220;jetzigen&#8221; Standard ist auto als eigenes Keyword eigentlich komplett sinnfrei. Es bezeichnet lediglich die &#8220;normale&#8221; <a href="http://www.cpp-tutor.de/cpp/le07/le07_03.htm">Speicherklasse</a> von Variablen. Aber mit C++0x wird daraus eine Art Kurzschreibweise für &#8220;bekannte&#8221; Typen. Verkürzt gesagt, hat eine Autovariable immer den Typ der Variable, der ihr als erstes zugewiesen wird. Damit kann man sich z.B. bei Iterationen mittels for() eine Menge Tipparbeit sparen:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">std<span style="color: #008080;">::</span><span style="color: #007788;">vector</span><span style="color: #000080;">&lt;</span>sometype<span style="color: #000080;">&gt;</span> v<span style="color: #008080;">;</span>
<span style="color: #666666;">// v sollte natürlich noch mit Werten gefüllt werden,</span>
<span style="color: #666666;">// aber für ein Beispiel geht das auch mal so.</span>
<span style="color: #666666;">// Ohne auto iterieren</span>
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span>std<span style="color: #008080;">::</span><span style="color: #007788;">vector</span><span style="color: #000080;">&lt;</span>sometype<span style="color: #000080;">&gt;</span><span style="color: #008080;">::</span><span style="color: #007788;">iterator</span> it <span style="color: #000080;">=</span> v.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it <span style="color: #000040;">!</span><span style="color: #000080;">=</span> v.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #000040;">*</span>it <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #666666;">// Mit auto iterieren</span>
<span style="color: #0000ff;">for</span> <span style="color: #008000;">&#40;</span><span style="color: #0000ff;">auto</span> it <span style="color: #000080;">=</span> v.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it <span style="color: #000040;">!</span><span style="color: #000080;">=</span> v.<span style="color: #007788;">end</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> it<span style="color: #000040;">++</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
    std<span style="color: #008080;">::</span><span style="color: #0000dd;">cout</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #000040;">*</span>it <span style="color: #000080;">&lt;&lt;</span> std<span style="color: #008080;">::</span><span style="color: #007788;">endl</span><span style="color: #008080;">;</span>
    <span style="color: #000040;">*</span>it <span style="color: #000080;">=</span> anothertype<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span> <span style="color: #666666;">// Fehler, it ist vom Typ sometype</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Plötzlich passt die Iteration also sogar bequem in die beschränkte Breite dieses Blogs. Und natürlich könnte man hier auch mit typedefs arbeiten (sollte man imho auch), dadurch verschiebt sich das eigentliche Problem aber nur. </li>
<li><strong>nullptr</strong><br />
Eines der von C geerbten Probleme von C++ ist es, zwischen dem Zahlenwert 0 und einem Nullpointer zu unterscheiden. C++0x führt (hoffentlich) endlich ein explizit für dieses Szenario gedachtes keyword ein: nullptr. Ich kann hierfür leider kein direktes Beispiel geben (ich find einfach keins), aber alleine die Aussicht auf ein Verhalten wie man es auch von Java oder meinetwegen C# kennt ist großartig!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/11/02/cpp0x-vorfreude/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Peinlich &#8230;</title>
		<link>http://www.freak-und-informatiker.de/2008/10/15/peinlich/</link>
		<comments>http://www.freak-und-informatiker.de/2008/10/15/peinlich/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 11:39:00 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Tile Library]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=795</guid>
		<description><![CDATA[Ich komme in letzter Zeit definitv viel zu wenig zum Programmieren &#8230; Zwar hatte ich vor dem Zivildienst auch &#8220;nur&#8221; ein Projekt wirklich aktiv forciert, aber es nervt schon dafür momentan so ungefähr gar keine Zeit mehr zu finden Ich hoffe ja inständig, dass sich das noch bessert! Wenn einem dann aber Leute plötzlich noch [...]]]></description>
			<content:encoded><![CDATA[<p>Ich komme in letzter Zeit definitv viel zu wenig zum Programmieren &#8230; Zwar hatte ich vor dem Zivildienst auch &#8220;nur&#8221; ein Projekt wirklich aktiv forciert, aber es nervt schon dafür momentan so ungefähr gar keine Zeit mehr zu finden <img src='http://www.freak-und-informatiker.de/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Ich hoffe ja inständig, dass sich das noch bessert!</p>
<p>Wenn einem dann aber Leute plötzlich noch Ergänzungen, Wünsche oder sogar fertige Plugins zu einem schon etwas länger nicht mehr angeschauten Projekt schicken wirds dann doch etwas peinlich &#8230; Aber stimmt, es gibt da ja ein schon länger vor sich hin schlummerndes (überarbeitetes) Framework einer Tilelibrary. Ich werd da wohl mal wieder reinschauen!</p>
<p>Aus irgendwelchen Gründen hatte ich darüber nie so recht gebloggt, aber wenn man sich die Liste der bisherigen nicht erfolgreichen Projekte mal so ansieht ist das vllt auch besser so &#8230;</p>
<p>Naja, das &#8220;aktuelle&#8221; Framework hat mit den <a href="http://www.freak-und-informatiker.de/category/gurxite/tilelib/">bisher hier zu sehenden Sachen</a> nur am Rande was zu tun. Optisch mag es sich stark ähneln (zumindest der Editor), unter der Haube ist aber einiges passiert. Der ganze Editor wird momentan über Plugins aufgebaut und bietet ohne diese Plugins eigentlich nichts weiter als einen Projektbrowser (der nichtmal was anzeigt, weil &#8230; siehe oben). Dadurch kann (in der Theorie) jeder den Editor an seine Bedürfnisse anpassen.</p>
<p>In der Praxis existieren momentan nur zwei Plugins: jene für Tilesets und Gebiete. Und um nun auf den in der Überschrift angedeuteten Peinlichkeitsfaktor zu kommen &#8230; Es hat mir jemand noch ein drittes Plugin (Animationen) und viele Anregungen zu der Allgemeinen Architektur. Danke! Ich werds einpflegen!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/10/15/peinlich/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wer braucht eine IDE im Browser?</title>
		<link>http://www.freak-und-informatiker.de/2008/09/19/wer-braucht-eine-ide-im-browser/</link>
		<comments>http://www.freak-und-informatiker.de/2008/09/19/wer-braucht-eine-ide-im-browser/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 10:10:00 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=782</guid>
		<description><![CDATA[Golem.de berichtete gerade, dass das Eclipse Projekt anscheinend plant, die nächste Version auch in einem Browser laufen zu lassen. Spontan fallen mir dazu zwei Vorgehensweisen ein: Man realisiert das ganze als Java Applet, was nicht unbedingt schwer fallen sollte. Immerhin ist Eclipse schon in Java geschrieben, der Sinn dahinter bliebe mir dann allerdings verborgen. Man [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.golem.de/0809/62520.html">Golem.de berichtete gerade</a>, dass das Eclipse Projekt anscheinend plant, die nächste Version auch in einem Browser laufen zu lassen. Spontan fallen mir dazu zwei Vorgehensweisen ein:</p>
<ul>
<li>Man realisiert das ganze als Java Applet, was nicht unbedingt schwer fallen sollte. Immerhin ist Eclipse schon in Java geschrieben, der Sinn dahinter bliebe mir dann allerdings verborgen.</li>
<li>Man will tatsächlich eine auf HTML / CSS / JavaScript basierte Lösung erstellen.</li>
</ul>
<p>Ich hab die Antwort auf die Schnelle leider nicht gefunden, aber wenn man dort tatsächlich den zweiten Weg wählen sollte, frag ich mich echt was die Entwickler da gerade reitet. Trotz der <a href="http://www.golem.de/0809/62517.html">immer schneller werdenden JavaScript Implementierungen</a>, kann ich mir nicht vorstellen das eine solche Anwendung wirklich &#8220;flüssig&#8221; laufen würde.</p>
<p>Was will man also damit bezwecken? Soll Eclipse bald auf jedem Rechner verfügbar sein, auch ohne Java? Dann frag ich mich ernsthaft was für ein Entwickler Java Programmiert ohne eine Java Runtime zu haben. Zugegebenermaßen lässt sich Eclipse auch für andere Sprachen einsetzen, aber ich halte Java immer noch für das &#8220;Standbein&#8221; der IDE.</p>
<p>Sieht für mich nach einer immensen Verschleuderung von Resourcen aus, die man anderswo besser einsetzen könnte!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/09/19/wer-braucht-eine-ide-im-browser/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>wxWidgets und &#8220;zufällige&#8221; Abstürze</title>
		<link>http://www.freak-und-informatiker.de/2008/09/18/wxwidgets-und-zufallige-absturze/</link>
		<comments>http://www.freak-und-informatiker.de/2008/09/18/wxwidgets-und-zufallige-absturze/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 07:11:20 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[wxWidgets]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=779</guid>
		<description><![CDATA[Vorab: Ich finde wxWidgets toll! Aber hie und da ist es gut in der Lage mich in den Wahnsinn zu treiben. Ein Erfahrungsbericht: Aus der Sicht eines Windowsprogrammierers ist es verdammt einfach Linux zu unterstützen! Ein praktisches Tool namens wxconfig kennt die Feinheiten des Linuxsystems auf dem es installiert ist und nimmt es dem Programmierer [...]]]></description>
			<content:encoded><![CDATA[<p>Vorab: Ich finde <a href="http://www.wxwidgets.org/">wxWidgets</a> toll! Aber hie und da ist es gut in der Lage mich in den Wahnsinn zu treiben. Ein Erfahrungsbericht:</p>
<ul>
<li>Aus der Sicht eines Windowsprogrammierers ist es verdammt einfach Linux zu unterstützen! Ein praktisches Tool namens wxconfig kennt die Feinheiten des Linuxsystems auf dem es installiert ist und nimmt es dem Programmierer ab, Linker- und Compileroptionen statisch zu setzen. Bei meinem aktuellen Projekt übergeb ich als einzige Linker Option so zum Beispiel das:
<pre>`wx-config --libs --gl-libs`</pre>
<p>Und schon werden die benötigten Libraries mitgelinkt. In der überaus heterogenen Welt der Linux Distributionen äusserst hilfreich!</li>
<li>Die RAD Tools sind vorhanden und zumindestens brauchbar. Ich persönlich habe mich für den <a href="http://wxformbuilder.org/">wxFormBuilder</a> entschieden. Dieser erzeugt eine Basisklasse mit allen Layoutinformationen und Controls und ich muss dann nur noch davon erben und kann dann Events überschreiben. Andererseits muss ich nach jedem Erstellvorgang den Quellcode doch nochmal von Hand anpassen, weil die &#8220;relative Pfadangaben&#8221; Option vor alle Pfade ein &#8220;./..&#8221; klatscht. Das entspricht zwar dann dem Layout in der Quellcode Ordnerhierarchie, aber nicht der Ordnerhierarchie des Programms.</li>
<li>Einige Teile von wxWidgets wirken sehr &#8220;offiziell&#8221; sind aber nur sehr mäßig unterstützt. In meinem Fall war das wxGlCanvas, also eine &#8220;integrierte&#8221; OpenGL Zeichenfläche ein Stolperstein. Ich verweise hierbei auf <a href="http://wxforum.shadonet.com/viewtopic.php?t=20882&amp;highlight=">einen Thread von mir im wxWidgets Forum</a>. Für Faule: die &#8220;Lösung&#8221; meines Problems war am Ende, dass sich zwei (verschieden überladene) Konstruktoren undokumentiert anders Verhalten haben &#8230;</li>
<li>Die wxString Klasse hat irgendwie in Verbindung mit dem gcc Compiler (und auch dem MinGW) einen Klatsch weg. wxString::Format() und wxString(char*, wxConvUTF8) führen teilweise zu äusserst bizarren Fehlern, die erst nach den obigen Methoden auftauchen. Ich hab keine Ahung woran das liegt, vielleicht ist es am Ende ja doch nur ein Fehler auf meiner Seite &#8230; Der MSVC++ Compiler frissts aber!</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/09/18/wxwidgets-und-zufallige-absturze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSI New York und VisualBasic</title>
		<link>http://www.freak-und-informatiker.de/2008/09/16/csi-new-york-und-visualbasic/</link>
		<comments>http://www.freak-und-informatiker.de/2008/09/16/csi-new-york-und-visualbasic/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 06:55:59 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[Lustiges]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[CSI]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=778</guid>
		<description><![CDATA[Ist btw aus dem Spieleprogrammierer.de Forum, aber über sowas muss die Welt doch aufgeklärt werden *g*]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Ni_rAamVP2s&#038;hl=de&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/Ni_rAamVP2s&#038;hl=de&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Ist btw aus dem <a href="http://www.spieleprogrammierer.de/phpBB2/viewtopic.php?p=113708#113708">Spieleprogrammierer.de Forum</a>, aber über sowas muss die Welt doch aufgeklärt werden *g*</p>
]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/09/16/csi-new-york-und-visualbasic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Argumente in main vs WinMain</title>
		<link>http://www.freak-und-informatiker.de/2008/07/26/argumente-in-main-vs-winmain/</link>
		<comments>http://www.freak-und-informatiker.de/2008/07/26/argumente-in-main-vs-winmain/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 10:46:56 +0000</pubDate>
		<dc:creator>Marcus</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[C++ Standard]]></category>
		<category><![CDATA[Parameter]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.freak-und-informatiker.de/?p=742</guid>
		<description><![CDATA[Windows macht Dinge anders. Das ist bekannt und ich bin trotzdem wieder mal reingefallen &#8230; Standard C++ definiert die bekannte main() Funktion. int main&#40;int argc, char** argv&#41; Die Windows spezifische Version schaut so aus: int WINAPI WinMain&#40;HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow&#41; Ich werde hier nicht weiter auf die Unterschiede bezüglich hPrevInstance und [...]]]></description>
			<content:encoded><![CDATA[<p>Windows macht Dinge anders. Das ist bekannt und ich bin trotzdem wieder mal reingefallen &#8230;</p>
<p>Standard C++ definiert die bekannte main() Funktion.</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> main<span style="color: #008000;">&#40;</span><span style="color: #0000ff;">int</span> argc, <span style="color: #0000ff;">char</span><span style="color: #000040;">**</span> argv<span style="color: #008000;">&#41;</span></pre></div></div>

<p>Die Windows spezifische Version schaut so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">int</span> WINAPI WinMain<span style="color: #008000;">&#40;</span>HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   <span style="color: #0000ff;">int</span> nCmdShow<span style="color: #008000;">&#41;</span></pre></div></div>

<p>Ich werde hier nicht weiter auf die Unterschiede bezüglich hPrevInstance und hInstance eingehen, da weiß Google besser bescheid. Stattdessen gehe ich auf lpCmdLine und nCmdShow ein.</p>
<p>Wer sich an Dinge wie die STL gewöhnt, vermutet immer gerne mal wieder, dass Dinge überall gleich funktionieren. Sollten sie zwar auch, hier tun sie es aber nicht!</p>
<p>Ich ging in meiner Naivität davon aus, dass nCmdShow die Entsprechung für argc und lpCmdLine die Entsprechung von argv wäre. NEIN! lpCmdLine schmeisst einen Teil der Vorteile von argv weg: Es fügt die Kommandozeilen Parameter in einem einzigen String zusammen. Während argv also eher wie ein Array aus char* zu handhaben ist, wobei der Index 0 dem Pfad zum Programm entspricht, ist lpCmdLine ein einziger String aller Parameter ohne den Pfad zum Programm.</p>
<p>Gegenübergestellt schaut das so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="cpp" style="font-family:monospace;">Kommandozeile<span style="color: #008080;">:</span> <span style="color: #000040;">/</span>usr<span style="color: #000040;">/</span>bin<span style="color: #000040;">/</span>foo <span style="color: #000040;">-</span>key value <span style="color: #000040;">-</span>foo <span style="color: #FF0000;">&quot;foo bar&quot;</span>
lpCmdLine<span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;-key value -foo <span style="color: #000099; font-weight: bold;">\&quot;</span>foo bar<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;/usr/bin/foo&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">1</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;-key&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;value&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">3</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;-foo&quot;</span>
argv<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">4</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">:</span> <span style="color: #FF0000;">&quot;foo bar&quot;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.freak-und-informatiker.de/2008/07/26/argumente-in-main-vs-winmain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

