<?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>ComSubVies Creative Content &#187; Programmieren</title>
	<atom:link href="http://blog.ocrs.at/tag/programmieren/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ocrs.at</link>
	<description></description>
	<lastBuildDate>Wed, 17 Mar 2010 12:23:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Installation eines Git-Hosts</title>
		<link>http://blog.ocrs.at/2010/01/24/installation-eines-git-hosts/</link>
		<comments>http://blog.ocrs.at/2010/01/24/installation-eines-git-hosts/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 18:27:32 +0000</pubDate>
		<dc:creator>Markus Schabel</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Versionskontrolle]]></category>

		<guid isPermaLink="false">http://blog.ocrs.at/?p=937</guid>
		<description><![CDATA[Eine Kurzanleitung zur Installation und Konfiguration eines Git-Servers mittels des Tools gitosis, sowie ein kleines Beispiel wie ein lokales Verzeichnis in ein remote Repository übertragen werden kann.]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich derzeit ohnehin keinen vernünftigen privaten Software-Development Server habe, und es dann doch schön langsam an der Zeit ist, die diversen Projekte wieder mal unter eine Versionskontrolle zu stellen (TimeMachine Backups sind zwar durchaus sicher, einfach und zuverlässig, aber eben nur Backups), habe ich beschlossen diesmal auf git zu setzen &#8211; nachdem ich ja in den Jahren zuvor meistens mit CVS bzw. vereinzelt mit SVN gefahren bin, wollte ich mal was neues probieren&#8230;</p>
<p>Um Git Repositories vernünftig hosten zu können gibt es das Tool <code class="codecolorer text default"><span class="text">gitosis</span></code>, welches bereits als Debian-Paket verfügbar und somit leicht zu installieren ist:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$apt-get install gitosis</div></div>
<p>Im Anschluss muss man gitosis mit einem SSH public key initialisieren, damit man sich ohne Passwort mit dem gitosis Repository (welches zur Konfiguration verwendet wird) verbinden kann. Eine entsprechenden Schlüssel kann man mit <code class="codecolorer text default"><span class="text">ssh-keygen</span></code> erzeugen:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ssh-keygen -t rsa</div></div>
<p>Diesen Schlüssel muss man jetzt für gitosis aktivieren:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$sudo -H -u gitosis gitosis-init &lt; ~/.ssh/id_rsa.pub</div></div>
<p><code class="codecolorer text default"><span class="text">gitosis</span></code> verfügt über ein eigenes Konfigurations-Repository über das es konfiguriert werden kann. Dieses lässt sich wie folgt auschecken:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$git clone gitosis@localhost:gitosis-admin.git</div></div>
<p>Dieser Befehl checkt das Repository aus und speichert es im aktuellen Pfad im Verzeichnis <code class="codecolorer text default"><span class="text">gitosis-admin</span></code>. In diesem befindet sich einerseits eine Konfigurationsdatei <code class="codecolorer text default"><span class="text">gitosis.conf</span></code>, sowie zusätzlich ein Verzeichnis <code class="codecolorer text default"><span class="text">keydir</span></code>, in dem die SSH public keys der Benutzer gespeichert werden.</p>
<p>In der Konfigurationsdatei <code class="codecolorer text default"><span class="text">gitosis.conf</span></code> gibt es Blöcke für Benutzergruppen und Repositories. Ich lege daher einfach einmal eine Gruppe für Entwickler an (wo allerdings momentan nur ich Mitglied bin). Außerdem sage ich, dass diese Gruppe mit dem Repository <code class="codecolorer text default"><span class="text">diplomarbeit</span></code> (vielleicht sollte ich mehr Leute in diese Gruppe schreiben, vielleicht findet sich ja ein Depp der mir die Arbeit abnimmt) arbeiten darf.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[group developers]<br />
members = markus<br />
writable = diplomarbeit</div></div>
<p>Die geänderte Konfiguration kann mittels der folgenden Befehle aktiviert werden:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$git commit -a -m &quot;Created group developers with access to repository diplomarbeit&quot;<br />
$git push</div></div>
<p>Der erste Befehl speichert dabei die Änderungen in der lokalen Kopie des Repositorys, während mit <code class="codecolorer text default"><span class="text">git push</span></code> die Änderungen auf das Remote-Repository übertragen werden.</p>
<p>Die Diplomarbeit lässt sich jetzt in das Repository einchecken (dazu muss zuerst in das entsprechende Verzeichnis gewechselt werden):</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$git init<br />
$git remote add origin gitosis@SERVER:diplomarbeit.git</div></div>
<p>Mit <code class="codecolorer text default"><span class="text">git init</span></code> wird dabei ein lokales git Repository angelegt (d.h. das Verzeichnis <code class="codecolorer text default"><span class="text">.git</span></code> wird erstellt), mit <code class="codecolorer text default"><span class="text">git remote add</span></code> wird ein neues Ziel <code class="codecolorer text default"><span class="text">origin</span></code> angelegt, welches der angegebenen URL entspricht). Anschließend können die lokalen Dateien für die Versionskontrolle aktiviert werden (<code class="codecolorer text default"><span class="text">git add</span></code> teilt <code class="codecolorer text default"><span class="text">git</span></code> mit, das diese Dateien ab sofort unter Versionskontrolle sein sollen):</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$git add .</div></div>
<p>Die Änderungen (d.h. das Hinzufügen der Dateien) muss nun noch bestätigt werden, wobei hier zusätzlich ein entsprechender Kommentar angegeben werden sollte, der die Änderungen beschreibt:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$git commit -m &quot;Initial import&quot;</div></div>
<p>Das Repository muss nun auch auf den Server gepusht werden. Hierbei werden die Änderungen an das Ziel <code class="codecolorer text default"><span class="text">origin</span></code> (welches zuvor mit <code class="codecolorer text default"><span class="text">git remote add</span></code> konfiguriert wurde) übertragen. Diese werden dabei in die lokale Branch <code class="codecolorer text default"><span class="text">master</span></code> als remote Branch <code class="codecolorer text default"><span class="text">heads/master</span></code> gespeichert werden soll:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$git push origin master:refs/heads/master</div></div>
<p>Die Repositories werden auf dem Server dabei im Verzeichnis <code class="codecolorer text default"><span class="text">/srv/gitosis/repositories/</span></code> gespeichert, welches natürlich entsprechend in die Backups aufgenommen werden sollte.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.ocrs.at/2010/01/24/installation-eines-git-hosts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AVR microtouch Projekt</title>
		<link>http://blog.ocrs.at/2009/11/26/avr-microtouch-projekt/</link>
		<comments>http://blog.ocrs.at/2009/11/26/avr-microtouch-projekt/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 13:37:52 +0000</pubDate>
		<dc:creator>Markus Schabel</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Touchscreen]]></category>

		<guid isPermaLink="false">http://blog.ocrs.at/?p=812</guid>
		<description><![CDATA[Ein nettes kleines Projekt, welches mittels eines AVR Controllers ein Display mit Touch-Bedienung ansteuert. Eine recht eindrucksvolle Demo wenn man die Rechenleistung der AVR Controller beachtet.]]></description>
			<content:encoded><![CDATA[<p>Auf <a href="http://hackaday.com/">Hack a Day</a> habe ich einen interessanten Artikel über Projekt gefunden, welches einen AVR Controller (ATmega644) verwendet, um ein Display mit Touch-Bedienung (und einfacher 3D-Engine!) anzusprechen: <a href="http://hackaday.com/2009/11/03/8-bit-device-quenches-iphone-envy/">8-bit Devise quenches iPhone envy</a>.</p>
<p>Die Ankündigung des Programmierers findet sich hier: <a href="http://rossum.posterous.com/avr-homebrew-device-with-iphone-aspirations">AVR homebrew device with iPhone aspirations</a>, hier ein kleiner Auszug:</p>
<blockquote><p>Microtouch: AVR homebrew device with iPhone aspirations. Can you make an iPhone out of an AVR? No.<br />
Can you get a surprising amount of functionality out of a humble 8 bit processor and a cheap touch LCD? Yes.</p>
<h3>Hardware</h3>
<p>320&#215;240 LCD with 4 wire resistive touch screen &#8211; a ELT240320ATP variant from a dead Sylvania MP3 player &#8211; uses a ILI9325 controller.<br />
12Mhz Atmega644 CPU with 64k Flash and 4k RAM &#8211; demo fits in 32k.<br />
USB connector for PC communication and charging.<br />
Lithium polymer battery with software controlled power.<br />
Software controlled backlight.<br />
SD Micro slot.</p>
<h3>Software</h3>
<p>LCD driver to support blitting image decompression and smooth scrolling.<br />
Z-sorted span 3D engine with zero overdraw.<br />
Basic UI framework for gadgets and poorly drawn pictures.<br />
USB mouse or keyboard HID support.<br />
Sampling profiler.<br />
Movie playback.<br />
Sprite engine.</p></blockquote>
<p>Es gibt auch eine eigene Projekthomepage auf SourceForge: <a href="http://sourceforge.net/projects/microtouch/">microtouch</a>, wo sowohl die dazu verwendete Schaltung als auch der entsprechende Code veröffentlicht wurde. Jedenfalls ein sehr interessantes Projekt.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.ocrs.at/2009/11/26/avr-microtouch-projekt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tips zum Schreiben von Dokumentationen</title>
		<link>http://blog.ocrs.at/2009/11/13/tips-zum-schreiben-von-dokumentationen/</link>
		<comments>http://blog.ocrs.at/2009/11/13/tips-zum-schreiben-von-dokumentationen/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 16:40:57 +0000</pubDate>
		<dc:creator>Markus Schabel</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Dokumentation]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://blog.ocrs.at/?p=230</guid>
		<description><![CDATA[Jacob Kaplan-Moss kennt sich mit Dokumentationen aus - und er hat seine Ideen in 3 Artikeln veröffentlicht. Ein muss für alle die irgendwie mit Software zu tun haben (und daher auch Dokumentationen schreiben müssten)!]]></description>
			<content:encoded><![CDATA[<p><a href="http://jacobian.org/">Jacob Kaplan-Moss</a> ist an der Phyton Dokumentation beteiligt und hat eine Serie von 3 Artikeln (<a href="http://jacobian.org/writing/great-documentation/">Writing good documentation</a>) herausgegeben, in der er zusammenfasst, worauf man achten muss, wenn man eine gute Dokumentation schreiben will. Die Serie besteht aus den 3 Teilen <a href="http://jacobian.org/writing/great-documentation/what-to-write/">What to write</a>, <a href="http://jacobian.org/writing/great-documentation/technical-style/">How to write</a> und <a href="http://jacobian.org/writing/great-documentation/editors/">you need an editor</a>. Man sollte sich diese Artikel zumindest einmal durchgelesen haben, weil hier durchaus schön zusammengefasst wird, worauf es ankommt &#8211; und auch welche Unterschiede es zwischen Online-Dokumentationen und gedrucktem Material gibt.</p>
<p>Und nicht vergessen:</p>
<blockquote><p>Documentation is like sex, when it&#8217;s good it&#8217;s really really good and when it&#8217;s bad it&#8217;s better than nothing at all.</p></blockquote>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.ocrs.at/2009/11/13/tips-zum-schreiben-von-dokumentationen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Berechnung von Pi</title>
		<link>http://blog.ocrs.at/2009/10/19/aufgabe-berechnung-von-pi/</link>
		<comments>http://blog.ocrs.at/2009/10/19/aufgabe-berechnung-von-pi/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 16:48:46 +0000</pubDate>
		<dc:creator>Markus Schabel</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Rätsel]]></category>

		<guid isPermaLink="false">http://informatik.ocrs.at/?p=29</guid>
		<description><![CDATA[Dies ist der erste Artikel meiner neuen Programmier-Rätsel-Serie. Bei bei der Berechnung von Pi handelt es sich um eine relativ einfache Aufgabe, daher sind hier nur verschiedene Lösungsansätze erläutert, entsprechende Referenzimplementierungen sind ohnehin nicht schwer zu finden.]]></description>
			<content:encoded><![CDATA[<p>Hier ist bereits der erste Artikel der Programmier-Rätsel/Aufgaben-Serie (diesmal von <a href="http://programmingpraxis.com/">Programming Praxis</a>). Eine sehr beliebte Aufgabe ist die <a href="http://programmingpraxis.com/2009/10/09/calculating-pi/">Berechnung von Pi</a>, eine Übung die ich auch meinen Schülern gerne gebe &#8211; oft mit der Zusatzaufgabe zu bestimmen, wie viele Iterationen man benötigt, um eine entsprechende Genauigkeit zu erreichen. Hier ein kurzer Auszug der ersten Aufgabe des Beispiels (Berechnung von Pi mittels <a href="http://de.wikipedia.org/wiki/Monte-Carlo-Simulation">Monte Carlo Simulation</a>, d.h. mit Hilfe von Zufallszahlen):</p>
<blockquote><p>An interesting method for calculating π uses Monte Carlo simulation. If a circle of radius <em>r</em> is inscribed in a square with sides of length 2<em>r</em>, the area of the circle will be π<em>r</em><sup>2</sup> and the area of the square will be (2<em>r</em>)<sup>2</sup>, so the ratio of the area of the circle to the area of the square will be π/4. Another way of looking at this, [..] is to consider just the first quadrant of the circle; the square has an area of <em>r</em> <sup>2</sup>, and the portion of the circle within the square has an area of π<em>r</em><sup>2</sup>/4.</p>
<p>By taking a large number of points randomly distributed throughout the square and counting how many are within the inscribed circle, we can estimate the value of π. We could do that by building a model, scattering sand over it, and counting the individual grains of sand, but since we are programmers, it is easier to write a program to do the counting for us.</p></blockquote>
<p>Eine alternative Lösung ist es, einen Kreis zu nehmen, und diesen mit einem umlaufenden und einem eingebundenen Polygon zu versehen, und bei diesen Polygonen die Seitenanzahl möglichst hoch zu wählen. Je höher die Seitenzahl wird, desto ähnlicher werden die Polygone einem Kreis, bzw. desto ähnlicher werden die Umfänge der beiden Polygone, wobei der Kreisumfang zwischen beiden Werten liegt. Diese Aufgabe wird hier ebenfalls gestellt:</p>
<blockquote><p>The second method is due to Archimedes (287–212 BC), a Greek mathematician who lived in Syracuse, who famously bounded the value of π within a small range by measuring the perimeters of inscribed and circumscribed regular polygons with ninety-six sides: 223/71 &lt; π &lt; 22/7.</p>
<p>Consider a circle with radius 1 and circumference 2π in which regular polygons of 3 × 2<sup><em>n</em>-1</sup> sides are inscribed and circumscribed; [..]. If <em>b<sub>n</sub></em> is the semiperimeter of the inscribed polygon, and <em>a<sub>n</sub></em> is the semiperimeter of the circumscribed polygon, then as <em>n</em> increases, <em>b</em><sub>1</sub>, <em>b</em><sub>2</sub>,<em>b</em><sub>3</sub>, … defines an increasing sequence, and <em>a</em><sub>1</sub>, <em>a</em><sub>2</sub>, <em>a</em><sub>3</sub>, … defines a decreasing sequence, each with limit π.</p>
<p>Given <em>K</em> = 3 × 2<sup><em>n</em>-1</sup>, the semiperimeters are <em>a<sub>n</sub></em> = <em>K</em> tan(π/<em>K</em>) and <em>b<sub>n</sub></em> = <em>K</em> sin(π/<em>K</em>) by the definitions of sine and tangent. Likewise, <em>a</em><sub><em>n</em>+1</sub> = 2<em>K</em> tan(π/2<em>K</em>) and<em>a</em> <sub><em>n</em>+1</sub> = 2<em>K</em> sin(π/2<em>K</em>).</p>
<p>Then, simple trigonometry allows us to calculate (1/<em>a<sub>n</sub></em> + 1/<em>b<sub>n</sub></em>) = 2/<em>a</em><sub><em>n</em>+1</sub> and <em>a</em><sub><em>n</em>+1</sub><em>b<sub>n</sub></em> = (<em>b</em><sub><em>n</em>+1</sub>)<sup>2</sup>. Archimedes started with <em>a</em><sub>1</sub> = 3 tan(π/3) = 3√3 and <em>b</em><sub>1</sub> = 3 sin(π/3) = 3√3/2 and calculated <em>b</em><sub>6</sub> &lt; π &lt; <em>a</em><sub>6</sub>.</p></blockquote>
<p>Letztendlich kann man Pi auch noch mit Hilfe von verschiedenen Reihen berechnen (diese Aufgabe findet sich jedoch nicht im entsprechenden Programming Praxis Artikel). Die bekannteste Reihe zur Berechnung von Pi dürfte die folgende sein:</p>
<blockquote><p>π/4 = 1/1 &#8211; 1/3 + 1/5 &#8211; 1/7 + 1/9 &#8211; 1/11 + 1/13 &#8211; 1/15 + 1/n &#8211; 1/(n+2)</p></blockquote>
<p>Viel Erfolg beim Nachprogrammieren! Entsprechende Lösungen werden gerne als Kommentare gesehen, bzw. werde ich selber bei Gelegenheit den einen oder anderen Lösungsvorschlag bringen.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.ocrs.at/2009/10/19/aufgabe-berechnung-von-pi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Puzzle Websites to Sharpen Your Programming Skills</title>
		<link>http://blog.ocrs.at/2009/10/19/puzzle-websites-to-sharpen-your-programming-skills/</link>
		<comments>http://blog.ocrs.at/2009/10/19/puzzle-websites-to-sharpen-your-programming-skills/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 10:51:21 +0000</pubDate>
		<dc:creator>Markus Schabel</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Rätsel]]></category>

		<guid isPermaLink="false">http://blog.ocrs.at/?p=3</guid>
		<description><![CDATA[Im Laufe der nächsten Zeit möchte ich hier das eine oder andere Programmierrätsel veröffentlichen. Es existieren natürlich bereits zahlreiche Seiten und Blogs die sich mit diesem Thema beschäftigen, daher habe ich hier eine erste Zusammenfassung der verschiedenen Seiten erstellt und werde diese laufend ergänzen und mit Links zu den bereits von mir behandelten Aufgaben vervollständigen.]]></description>
			<content:encoded><![CDATA[<p>Bei meinen täglichen Exkursionen durchs Internet habe ich auf <a href="http://sixrevisions.com/">Six Revisions</a> eine Liste von verschiedenen Webseiten gefunden (<a href="http://sixrevisions.com/resources/10-puzzle-websites-to-sharpen-your-programming-skills/">10 Puzzle Websites to Sharpen Your Programming Skills</a>), die regelmäßig verschiedene Rätsel posten, die durchaus ihren Reiz besitzen. Nach näherer Auseinandersetzung mit dem Thema sind mir auch ein paar andere Seiten eingefallen. Ich möchte in dieser Artikelserie einen kurzen Überblick über die verschiedenen Seiten und Rätsel liefern.</p>
<p>Hier die bisher behandelten Seiten und Themen:</p>
<h1><a href="http://programmingpraxis.com/">Programming Praxis</a></h1>
<p>Diese Webseite bietet mehr oder weniger regelmäßig verschiedene Programmieraufgaben, wobei bei den meisten Aufgaben keine spezifische Programmiersprache notwendig ist. Es ist allerdings natürlich zu empfehlen, für jede Aufgabe die entsprechend passendste Sprache zu wählen, oder das ganze entsprechend in mehreren verschiedenen Sprachen umzusetzen, um ein Gefühl für die Sprache und ihre Anwendungsfälle zu bekommen. Die Lösungen für die Aufgaben sind meistens in Scheme realisiert, allerdings finden sich in den Kommentaren auch oft andere Lösungen.</p>
<p>Von mir bereits behandelte Rätsel:</p>
<ul>
<li><a href="http://informatik.ocrs.at/2009/10/19/aufgabe-berechnung-von-pi/">Berechung von π</a></li>
</ul>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.ocrs.at/2009/10/19/puzzle-websites-to-sharpen-your-programming-skills/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stanford CS193P: iPhone Application Programming</title>
		<link>http://blog.ocrs.at/2009/04/03/stanford-cs193p/</link>
		<comments>http://blog.ocrs.at/2009/04/03/stanford-cs193p/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 21:16:13 +0000</pubDate>
		<dc:creator>Markus Schabel</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[Cocoa Touch]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://blog.ocrs.at/?p=878</guid>
		<description><![CDATA[Stanford bietet einen freien Kurs zur iPhone-Programmierung an, wobei die Vorträge in iTunes U veröffentlich werden und die Kursunterlagen auf der CS193P Homepage laufend ergänzt werden. Ich finde das recht interessant und werde mir das nach Ostern nochmals näher ansehen. Eventuell lässt sich ja etwas davon verwenden. Außerdem plane ich nach Ostern dann wieder die [...]]]></description>
			<content:encoded><![CDATA[<p>Stanford bietet einen freien Kurs zur iPhone-Programmierung an, wobei die Vorträge in <a href="http://deimos3.apple.com/WebObjects/Core.woa/Browse/itunes.stanford.edu.2024353965.02024353968">iTunes U</a> veröffentlich werden und die Kursunterlagen auf der <a href="http://www.stanford.edu/class/cs193p/cgi-bin/index.php">CS193P Homepage</a> laufend ergänzt werden.</p>
<p>Ich finde das recht interessant und werde mir das nach Ostern nochmals näher ansehen. Eventuell lässt sich ja etwas davon verwenden. Außerdem plane ich nach Ostern dann wieder die nächsten Tutorials zu erstellen sowie mein FlightLog-Programm fertigzustellen. Aber zuerst gehts mal eine Woche skifahren&#8230;</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.ocrs.at/2009/04/03/stanford-cs193p/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How a programmer reads your resume</title>
		<link>http://blog.ocrs.at/2009/03/29/how-a-programmer-reads-your-resume/</link>
		<comments>http://blog.ocrs.at/2009/03/29/how-a-programmer-reads-your-resume/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 20:11:35 +0000</pubDate>
		<dc:creator>Markus Schabel</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Programmieren]]></category>

		<guid isPermaLink="false">http://blog.ocrs.at/?p=1012</guid>
		<description><![CDATA[Unterschiedliche Interpretationen eines Lebenslaufs von HR-Leuten und Programmierern.]]></description>
			<content:encoded><![CDATA[<p>Der Matthias hat mich heute indirekt auf <a href="http://gandolf.homelinux.org/~smhanov/blog/">Steve Hanov&#8217;s Technology Blog</a> aufmerksam gemacht, insbesondere auf die obige Darstellung.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.ocrs.at/2009/03/29/how-a-programmer-reads-your-resume/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UML Sequence Diagram Online</title>
		<link>http://blog.ocrs.at/2009/03/29/uml-sequence-diagram-online/</link>
		<comments>http://blog.ocrs.at/2009/03/29/uml-sequence-diagram-online/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 20:08:06 +0000</pubDate>
		<dc:creator>Markus Schabel</dc:creator>
				<category><![CDATA[Informatik]]></category>
		<category><![CDATA[Dokumentation]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://blog.ocrs.at/?p=1006</guid>
		<description><![CDATA[Eine praktische Seite um Sequenzdiagramme online zu erstellen.]]></description>
			<content:encoded><![CDATA[<p>Ich bin heute zufällig über <a href="http://www.websequencediagrams.com/">http://www.websequencediagrams.com/</a> gestolpert, einer Seite auf der man schnell und einfach Sequenzdiagramme erstellen kann. Finde ich sehr gut gelungen und werde ich in Zukunft für derartige Diagramme verwenden.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.ocrs.at/2009/03/29/uml-sequence-diagram-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

