<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>quellcode &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/quellcode/</link>
	<description>Feed of posts on WordPress.com tagged "quellcode"</description>
	<pubDate>Sun, 27 Dec 2009 05:17:06 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Code-Monkey-Theorie]]></title>
<link>http://drazraeltod.wordpress.com/2009/11/30/code-monkey-theorie/</link>
<pubDate>Mon, 30 Nov 2009 10:45:10 +0000</pubDate>
<dc:creator>Dr. Azrael Tod</dc:creator>
<guid>http://drazraeltod.wordpress.com/2009/11/30/code-monkey-theorie/</guid>
<description><![CDATA[Letzten Abend ging mir mal wieder eine Idee durch den Kopf, die ich einfach nicht wieder los bekomme]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Letzten Abend ging mir mal wieder eine Idee durch den Kopf, die ich einfach nicht wieder los bekommen habe und die ich natürlich wieder haarklein ausarbeiten musste. Grundsätzlich gehe ich dabei von 2 Annahmen aus:</p>
<ul>
<li>Technologie aus dem IT-Sektor steigt permanent  in Abstraktionsebenen</li>
<li>Programmierer/Netzwerktechniker/Whatever lernen permanent dazu, bzw. werden in dem was sie tun besser, solange sie sich ernsthaft darum kümmern was sie in ihrem Beruf so tun und selbst besser werden wollen</li>
</ul>
<p>Im Folgenden werde ich für Personen die sich nicht mehr weiterentwickeln den Begriff &#8220;Code-Monkey&#8221; verwenden, es handelt sich dabei um Personen mit stagnierenden Fähigkeiten, die kein wirkliches Interesse mehr für ihren Beruf aufbringen. Dabei werde ich mal einfach ignorieren dass diese Erscheinung durchaus nicht an Code gebunden ist (sprich: ich rede nicht nur von Programmierern) sondern wohl in der ganzen Branche (oder wahrscheinlich auch weit darüber hinaus) vorkommen wird.</p>
<p>Diese Grundlagen werde ich nun erstmal genauer ausführen und dann meine Schlüsse erläutern.<br />
<!--more--></p>
<h2>zu den Grundannahmen</h2>
<h3>Steigende Abstraktionsebene</h3>
<p>Jegliche Software scheint sich immer weiter von den relativ statischen Grundlagen der Computertechnik zu entfernen, um flexiblere Funktionen anzubieten. Dies bedeutet einerseits dass die Verwirklichung von immer größeren Projekten immer einfacher wird, da flexiblere Werkzeuge zur Verfügung stehen, andernseits bedeutet es aber auch dass sich Technik in Zwiebelschichten übereinander legt und immer stärker verhüllt was auf den untersten Schichten wirklich passiert.</p>
<p>Ein leider viel zu selten beachteter Nebeneffekt ist leider dass diese Struktur auch immer dazu neigt langsamer zu sein als andere Lösungen, die der physikalischen Grundlage auf der die Technologie basieren, näher sind. (Ein Thema das ich an dieser Stelle wohl erstmal außen vor lassen, ein Rant darüber dass man auch vor 20 Jahren schon Texte schreiben konnte ohne 20sec. auf den Startvorgang des Editors zu warten kommt dann wohl mal wieder gesondert)</p>
<h3>permanentes Lernen</h3>
<p>Diese Grundlage stellt gleich den wackeligsten Punkt meiner Theorie dar. Natürlich habe ich nicht wirklich die Möglichkeit diese Behauptung mit wahnsinnig vielen Beobachtungen belegen zu können. Wirklich dauerhaft beobachten kann ich dies wohl nur bei mir selbst, dort besitze ich auch die beste Möglichkeit um möglichst genau vergleichen zu können welches Wissen ich mir wann, wo und auf welche Art angeeignet habe.<br />
Bei anderen Personen kann ich allerhöchstens als Außenstehender versuchen den geschriebenen Code in seiner Qualität zu vergleichen, manchmal mag dies schon aufgrund des eigenen Unwissens um bestimmte Hintergründe unmöglich sein, an anderen Stellen wird es ganz einfach durch die eigenen Vorlieben beeinflusst sein. Je länger man mit jemandem zusammen arbeitet, desto stärker muss sich natürlich die Art der Lösungen, die man erzeugt, aneinander angleichen/anpassen.<br />
Dies sorgt sicher für den Effekt dass man z.B. Quellcode den ein Kollege nach 3-4 Jahren zusammenarbeit produziert als &#8220;besser&#8221; oder zumindest &#8220;angenehmer&#8221; empfindet als Code den er geschrieben hat ohne zu wissen wer das jemals lesen wird, welchen Stil dieser verwendet oder gar über welche Wissensbasis er verfügt.</p>
<p>Weiterhin mag es durchaus eine Grenze geben, ab der man sich persönlich nicht weiterentwickeln kann, sei es aufgrund des eigenen, begrenzten Intellektes oder anderer Umstände. Bisher konnte ich noch keinen derartigen Effekt beobachten, bin mir aber auch ziemlich sicher dass jemand der von einem derartigem Effekt betroffen wäre, ihn auch nicht wahrnehmen würde oder sich dann zumindest in einer ernsthaften Motivationskriese befinden müsste.</p>
<h2>Schlussfolgerungen</h2>
<p>Da sich jeder IT-ler permanent in seinem Wissen und seinen Fähigkeiten verbessert, wird er mit dem Verlauf der Komplexitätsebenen auf seinem Tätigkeitsfeld immer besser werden. Verstärkt wird dies durch eben jene Komplexitätsebenen, da man meist eine neue Ebene besser verwenden kann, wenn man die ihr zugrunde liegende Technologie besser verstanden hat.<br />
Ein typisches Beispiel wäre dass es von Vorteil ist wenn man weiß wie eine Datenbank funktioniert, während man ein ORM verwendet. (Sonst kommt z.B. <a href="http://snippets.symfony-project.org/snippet/375" target="_blank">sowas</a> raus)<br />
Gebremst wird dieser Verlauf wohl hauptsächlich durch ein &#8220;Aussteigen&#8221; der Personen, indem sie entweder die Lust an persönlicher Weiterentwicklungen, bzw. den Wissensdrang nach Hintergründen verlieren, den Tätigkeitsbereich wechseln oder indem sie an persönliche Grenzen stoßen, also z.B. mit einer neuen Komplexitätsebene nicht zurecht kommen.</p>
<p>Je länger und interessierter sich also jemand auf dem Sektor beschäfftigt, umso qualifizierter wird er wohl sein, desto stärker steigt aber auch die Wahrscheinlichkeit dass er &#8220;aussteigt&#8221;. (Übertrieben formuliert: Nur die allerwenigsten Programmierer werden mehr als 100 Jahre Berufserfahrung sammeln.)<br />
Von den ausgestiegenen Arbeitern werden nur die Stagnierenden (oder, sollte das möglich sein, diejenigen die sich verschlechtern) in der Branche bleiben.</p>
<h2>eigentliche Theorie</h2>
<p>Je mehr Abstraktionsebenen ein IT-Arbeiter in seiner Karriere miterlebt hat und je mehr er sich für sein Fachgebiet interessiert, desto fähiger ist er auf diesem Gebiet. Je fähiger/erfahrener man jedoch wird, desto höher die Wahrscheinlichkeit dass er zu einem reinen &#8220;Code-Monkey&#8221; wird und nur noch desinteressiert seinen Job macht und in seiner Entwicklung stagniert.<br />
Oder noch kürzer:</p>
<p><b>Je länger die Berufserfahrung, desto höher die Fähigkeitsstufe, desto höher aber auch die Wahrscheinlichkeit auf einen &#8220;Code-Monkey&#8221;.</b></p>
<h2>Abschließende Bemerkungen</h2>
<p>Natürlich habe ich hier noch keinerlei Randerscheinungen beachtet, so kann es z.B. durchaus sein dass jemand nach einiger Zeit als Code-Monkey doch wieder interesse aufbringt oder (und diese Wahrscheinlichkeit ist sogar ziemlich hoch) bereits aus anderen Gründen, als ernstem Interesse am Gebiet, in die Branche wechselt/ausgebildet wird und so seine Laufbahn bereits als Code-Monkey beginnt.</p>
<p>Code-Monkey ist absichtlich ein abwertend gemeinter Begriff, da ich diese Variante weit weniger erstrebenswert ansehe als sich ernsthaft dafür zu interessieren was man tut.<br />
Code Monkeys hingegen als Gesamterscheinung sind durchaus nicht nur negativ zu betrachten, es gibt im täglichen Leben nunmal weit mehr langweilige Tipparbeit und Routinejobs, in denen sich ernsthaft interessierte Zeitgenossen wohl weit weniger wohl fühlen als ein Code Monkey, der sich vlt. sogar mit Routine abgefunden hat. Sie mögen nicht mal annähernd guten Code schreiben, doch sie schreiben verdammt viel davon. Auch wenn jemand besser qualifiziertes also vlt. doppelt so viel Arbeit erledigt, die dann wiederrum nur die Hälfte an Wartungsarbeit verursacht, könnten Code-Monkeys diese Arbeit genauso erledigen, einfach weil es erheblich mehr von denen gibt.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Listings für Asymptote]]></title>
<link>http://kapaneus.wordpress.com/2009/11/21/listings-for-asymptote/</link>
<pubDate>Sat, 21 Nov 2009 16:38:08 +0000</pubDate>
<dc:creator>kapaneus</dc:creator>
<guid>http://kapaneus.wordpress.com/2009/11/21/listings-for-asymptote/</guid>
<description><![CDATA[Das Paket Listings verfügt bislang noch nicht über Definitionen für die Vektorgraphik-Sprache Asympt]]></description>
<content:encoded><![CDATA[Das Paket Listings verfügt bislang noch nicht über Definitionen für die Vektorgraphik-Sprache Asympt]]></content:encoded>
</item>
<item>
<title><![CDATA[Meine Bugs sind harmlos! \o/]]></title>
<link>http://drazraeltod.wordpress.com/2009/11/18/meine-bugs-sind-harmlos-o/</link>
<pubDate>Wed, 18 Nov 2009 15:43:20 +0000</pubDate>
<dc:creator>Dr. Azrael Tod</dc:creator>
<guid>http://drazraeltod.wordpress.com/2009/11/18/meine-bugs-sind-harmlos-o/</guid>
<description><![CDATA[Also ich hab ja in letzter Zeit viel ebensolche mit dem Beheben von Bugs^Wzufällig entstandenen Zusa]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Also ich hab ja in letzter Zeit viel ebensolche mit dem Beheben von <del datetime="2009-11-18T15:18:34+00:00">Bugs</del>^W<a href="http://www.yet-another-geek.org/pages/geekiness.html" target="_blank">zufällig entstandenen Zusatzfunktionen</a> verbracht. Bei dieser Tätigkeit kommt man immer wieder an Stellen bei denen man denkt &#8220;WTF? Wie hab ich das übersehen können?&#8221; oder sonst irgendwie spontan den Wunsch entwickelt mit dem Kopf eine Wand aus dem Weg zu räumen.<br />
Da draußen, im großen, bunten Intarweb gibts aber Schilderungen von Problemen die alles in den Schatten stellen was mir so tagtäglich vor das Keyboard läuft. Ein paar besonders schöne Exemplare will ich euch heute mal zeigen&#8230;<br />
<!--more--></p>
<p>Die ersten beiden stammen aus dem Android-Umfeld:</p>
<ul>
<li><a href="http://www.engadget.com/2009/11/17/motorola-droid-camera-autofocus-fixed-in-secrecy/comments/23182303/" target="_blank">datumsabhängige Qualität der Autofocus-Funktion</a> </li>
<li><a href="http://blogs.zdnet.com/Burnette/?p=680" target="_blank">Nach einem Neustart wird jedes eingegebene Wort, im Hintergrund, unbemerkt, mit root-Rechten als Befehl interpretiert</a></li>
</ul>
<p>Einen weiteren, besonders schönen hat <a href="http://martin.ringehahn.de/blog/" target="_blank">Chronodd</a> entdeckt:<br />
<a href="http://blogs.msdn.com/ieinternals/archive/2009/07/27/Bugs-in-the-IE8-Lookahead-Downloader.aspx" target="_blank">IE-Lookahead-Bug</a><br />
um die Funktionalität mal zusammenzufassen:</p>
<blockquote><p>
The incorrect behavior occurs if your page contains a JavaScript URL which spans exactly the 4096th byte of the HTTP response. If such a URL is present, under certain timing conditions the lookahead downloader will attempt to download a malformed URL consisting of the part of the URL preceding the 4096th byte combined with whatever text follows the 8192nd byte, up to the next quotation mark. Web developers encountering this problem will find that their logs contain requests for bogus URLs with long strings of URLEncoded HTML at the end.
</p></blockquote>
<p>Zum Abschluss noch eine alternative Variante wie man seine Funktionen benennen kann.. erinnert mich ziemlich stark an unsere Idee während des Studiums doch alle Funktionen nur noch <a href="http://en.wikipedia.org/wiki/Three-letter_acronym">TLA</a>/<a href="http://en.wikipedia.org/wiki/FLAB" target="_blank">XTLA</a>/SXTLA oder ähnliches zu nennen. Die Idee dann aber <a href="http://thedailywtf.com/Articles/modHmm.aspx" target="_blank">in Produktivcode durchzuziehen</a> hat schon eigentlich wieder einen balls-of-steel-award verdient.</p>
<p>Bei solchen Aktionen finde ich den Begriff &#8220;Quählkot&#8221; doch ziemlich treffend&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sicheres Programmieren lernen – Der Weg zu guter Software]]></title>
<link>http://softwarequalitaet.wordpress.com/2009/11/03/sicheres-programmieren-lernen-%e2%80%93-der-weg-zu-guter-software/</link>
<pubDate>Tue, 03 Nov 2009 18:04:33 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://softwarequalitaet.wordpress.com/2009/11/03/sicheres-programmieren-lernen-%e2%80%93-der-weg-zu-guter-software/</guid>
<description><![CDATA[Sichere Software gewinnt zunehmend an Bedeutung. Sicher im Sinne von „extrem schwer angreifbar“ (Sec]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sichere Software gewinnt zunehmend an Bedeutung. Sicher im Sinne von „extrem schwer angreifbar“ (Security) ebenso wie im Sinne von „extrem zuverlässig“ (Safety). Das macht es erforderlich, Sicherheitsaspekte bereits in den Entwicklungsprozess der Software zu integrieren, anstatt die Sicherheit erst nachträglich „reinzupatchen“.</p>
<p>Um Abhilfe zu schaffen, haben sich zahlreiche Unternehmen in einem Verein – dem <a href="http://www.isseco.org/">International Secure Software Engineering Council (ISSECO)</a> – zusammengeschlossen. Und dort einen zertifizierbaren Standard für sichere Softwareentwicklung entwickelt.</p>
<p>Will man das Problem der Sicherheitslücken und Qualitätsmängel in Softwareprodukten an der Wurzel packen, muss das Thema Sicherheit in den Entwicklungsprozess integriert werden, um so frühzeitig der Entstehung von Sicherheitslücken entgegenzuwirken.</p>
<p>Das hierfür notwendige Wissen zur Vermeidung von Sicherheitslücken ist jedoch bis heute nur ein Randthema in der Ausbildung von Softwareentwicklern. Auch wenn Fachverbände wie der <a href="http://www.asqf.de/">Arbeitskreis Software-Qualität und -Fortbildung</a> oder die <a href="http://www.gi-ev.de/">Gesellschaft für Informatik</a> hier bereits seit längerem Verbesserungen anmahnen. Zudem lässt die zunehmende Komplexität von Softwareprodukten erwarten, dass das Ausmaß der Bedrohungen durch Sicherheitslücken und Qualitätsmängeln in den kommenden Jahren weiter zunehmen wird.</p>
<p>Der ISSECO hat daher einen Standard sowie ein Fortbildungscurriculum (<a href="http://www.isseco.org/certification/content.html">ISSECO Certified Professional for Secure Software Engineering &#8211; CPSSE</a>) entwickelt, um diese Lücke zu schließen. Das Thema Sicherheit soll dadurch zum selbstverständlichen Bestandteil jedes Softwareentwicklungsprozesses werden. Dieser internationale Zertifizierungsstandard für sichere Softwareentwicklung soll in der Softwareindustrie etabliert werden, um den Anwendern Sicherheit bei der Verwendung von Softwareprodukten zu garantieren und so auch verlorenes Vertrauen in die Softwarequalität zurück zu gewinnen.</p>
<p>Inhalte des Curriculums zur sicheren Softwareentwicklung sind Themen wie die Angreiferperspektive sowie die Kundenperspektive auf Software, Thread Modeling, Methoden sicherer Softwareentwicklung und Lebenszyklusmodelle für Software, Anforderungsanalyse, sicheres Design von Software, sicheres Testen, sicherer Rollout, Reaktion auf Angriffe und Qualitätsmängel sowie Sicherheit mit Metriken transparent machen. Dies wird entlang der Etappen des Softwareentwicklungsprozesses verdeutlicht:<br />
•    Requirements Engineering<br />
•    Design und Spezifikation<br />
•    Programmierung und Test<br />
•    Evaluierung, Distribution &#38; Maintenance</p>
<p>Erste Schulungsangebote zum CPSSE werden derzeit am deutschen Markt etabliert. Zielgruppen sind Anforderungsanalysten, Softwarearchitekten, Designer, Entwickler, Softwarequalitätsmanager, Softwaretester, Projektmanager – kurz alle, die entscheidend an der Entwicklung von guter Software beteiligt sind.</p>
<p>Wenn sich Ideen wie der CPSSE im Markt durchsetzen, kann dies ein wichtiger Schritt zu sicherer und qualitativ hochwertigerer Software sein.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Sicheres Programmieren lernen – Der Weg zu guter Software]]></title>
<link>http://itsicherheit.wordpress.com/2009/11/03/sicheres-programmieren-lernen-%e2%80%93-der-weg-zu-guter-software/</link>
<pubDate>Tue, 03 Nov 2009 18:02:54 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://itsicherheit.wordpress.com/2009/11/03/sicheres-programmieren-lernen-%e2%80%93-der-weg-zu-guter-software/</guid>
<description><![CDATA[Sichere Software gewinnt zunehmend an Bedeutung. Sicher im Sinne von „extrem schwer angreifbar“ (Sec]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sichere Software gewinnt zunehmend an Bedeutung. Sicher im Sinne von „extrem schwer angreifbar“ (Security) ebenso wie im Sinne von „extrem zuverlässig“ (Safety). Das macht es erforderlich, Sicherheitsaspekte bereits in den Entwicklungsprozess der Software zu integrieren, anstatt die Sicherheit erst nachträglich „reinzupatchen“.</p>
<p>Um Abhilfe zu schaffen, haben sich zahlreiche Unternehmen in einem Verein – dem <a href="http://www.isseco.org/">International Secure Software Engineering Council (ISSECO)</a> – zusammengeschlossen. Und dort einen zertifizierbaren Standard für sichere Softwareentwicklung entwickelt.</p>
<p>Will man das Problem der Sicherheitslücken und Qualitätsmängel in Softwareprodukten an der Wurzel packen, muss das Thema Sicherheit in den Entwicklungsprozess integriert werden, um so frühzeitig der Entstehung von Sicherheitslücken entgegenzuwirken.</p>
<p>Das hierfür notwendige Wissen zur Vermeidung von Sicherheitslücken ist jedoch bis heute nur ein Randthema in der Ausbildung von Softwareentwicklern. Auch wenn Fachverbände wie der <a href="http://www.asqf.de/">Arbeitskreis Software-Qualität und -Fortbildung</a> oder die <a href="http://www.gi-ev.de/">Gesellschaft für Informatik</a> hier bereits seit längerem Verbesserungen anmahnen. Zudem lässt die zunehmende Komplexität von Softwareprodukten erwarten, dass das Ausmaß der Bedrohungen durch Sicherheitslücken und Qualitätsmängeln in den kommenden Jahren weiter zunehmen wird.</p>
<p>Der ISSECO hat daher einen Standard sowie ein Fortbildungscurriculum (<a href="http://www.isseco.org/certification/content.html">ISSECO Certified Professional for Secure Software Engineering &#8211; CPSSE</a>) entwickelt, um diese Lücke zu schließen. Das Thema Sicherheit soll dadurch zum selbstverständlichen Bestandteil jedes Softwareentwicklungsprozesses werden. Dieser internationale Zertifizierungsstandard für sichere Softwareentwicklung soll in der Softwareindustrie etabliert werden, um den Anwendern Sicherheit bei der Verwendung von Softwareprodukten zu garantieren und so auch verlorenes Vertrauen in die Softwarequalität zurück zu gewinnen.</p>
<p>Inhalte des Curriculums zur sicheren Softwareentwicklung sind Themen wie die Angreiferperspektive sowie die Kundenperspektive auf Software, Thread Modeling, Methoden sicherer Softwareentwicklung und Lebenszyklusmodelle für Software, Anforderungsanalyse, sicheres Design von Software, sicheres Testen, sicherer Rollout, Reaktion auf Angriffe und Qualitätsmängel sowie Sicherheit mit Metriken transparent machen. Dies wird entlang der Etappen des Softwareentwicklungsprozesses verdeutlicht:<br />
•    Requirements Engineering<br />
•    Design und Spezifikation<br />
•    Programmierung und Test<br />
•    Evaluierung, Distribution &#38; Maintenance</p>
<p>Erste Schulungsangebote zum CPSSE werden derzeit am deutschen Markt etabliert. Zielgruppen sind Anforderungsanalysten, Softwarearchitekten, Designer, Entwickler, Softwarequalitätsmanager, Softwaretester, Projektmanager – kurz alle, die entscheidend an der Entwicklung von guter Software beteiligt sind.</p>
<p>Wenn sich Ideen wie der CPSSE im Markt durchsetzen, kann dies ein wichtiger Schritt zu sicherer und qualitativ hochwertigerer Software sein.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Zeige mir wo mein Platz hin ist...]]></title>
<link>http://apfelblitz.wordpress.com/2009/10/26/zeig-mir-wo-mein-platz-hin-ist/</link>
<pubDate>Mon, 26 Oct 2009 08:49:54 +0000</pubDate>
<dc:creator>Fabio</dc:creator>
<guid>http://apfelblitz.wordpress.com/2009/10/26/zeig-mir-wo-mein-platz-hin-ist/</guid>
<description><![CDATA[Festplatten sind heute ja wirklich groß und bieten meist mehr als genug Platz. Ebenso sind aber auch]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Festplatten sind heute ja wirklich groß und bieten meist mehr als genug Platz. Ebenso sind aber auch die Dateigrößen für HD Filme, hochauflösende Fotos, Spiele, Programme usw. hoch gegangen. Eben weil man es sich jetzt erlauben kann auch. Allerdings ist das trotzdem kein Grund unnötige Dateien auf der Festplatte schlummern zu lassen. Wenn die Festplatte mehr suchen muss, dauert es länger und man selbst verliert bei zu vielen Dateien auch den Überblick.</p>
<p>Eine gute Möglichkeit mal zu schauen was denn nun so viel Platz auf der Festplatte belegt bieten zwei Freeware Tools, welche die Dateien nach Größe sortiert grafisch darstellen. Beide lassen einen zu Beginn auswählen welchen Bereich einer Festplatte man durchsuchen möchte, und zeigen dann in entsprechenden großen grafischen Blöcken die Dateien an, und lassen einen so nicht mehr verwendete Dateien aufspüren und löschen.</p>
<p>Beide Tools sind kostenlos, und es ist sicher Geschmacksache welches man lieber verwendet. Ich finde die direkte Listenansicht von Disk Inventory X auf jeden Fall ganz nett. Die Ansicht selbst ist bei beiden ähnlich. Beide Programme laufen einwandfrei unter Snow Leopard.</p>
<p><strong>GrandPerspective</strong></p>
<p><strong><img class="alignnone size-full wp-image-641" title="grandperspective_suche" src="http://apfelblitz.wordpress.com/files/2009/10/grandperspective_suche.png" alt="grandperspective_suche" width="451" height="242" /></strong></p>
<p><strong><img class="alignnone size-full wp-image-642" title="grandperspective_shot" src="http://apfelblitz.wordpress.com/files/2009/10/grandperspective_shot.png" alt="grandperspective_shot" width="510" height="396" /></strong></p>
<p><a href="http://grandperspectiv.sourceforge.net/" target="_blank">http://grandperspectiv.sourceforge.net/</a></p>
<p><strong>Disk Inventory X</strong></p>
<p><strong><img class="alignnone size-full wp-image-643" title="diskinventoryx_suche" src="http://apfelblitz.wordpress.com/files/2009/10/diskinventoryx_suche.png" alt="diskinventoryx_suche" width="448" height="215" /></strong></p>
<p><strong><img class="alignnone size-full wp-image-644" title="diskinventoryx_shot" src="http://apfelblitz.wordpress.com/files/2009/10/diskinventoryx_shot.png" alt="diskinventoryx_shot" width="510" height="427" /></strong></p>
<p><a href="http://www.derlien.com/" target="_blank">http://www.derlien.com/</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Coverity-Report: Open-Source-Software wird immer besser]]></title>
<link>http://softwarequalitaet.wordpress.com/2009/09/28/coverity-report-open-source-software-wird-immer-besser/</link>
<pubDate>Mon, 28 Sep 2009 17:15:10 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://softwarequalitaet.wordpress.com/2009/09/28/coverity-report-open-source-software-wird-immer-besser/</guid>
<description><![CDATA[Coverity, ein Anbieter von Werkzeugen zur Codeanalyse, gibt seit 2006 den „Coverity Scan Open Source]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.coverity.com/">Coverity</a>, ein Anbieter von Werkzeugen zur Codeanalyse, gibt seit 2006 den „<a href="http://scan.coverity.com/report/Coverity_White_Paper-Scan_Open_Source_Report_2009.pdf">Coverity Scan Open Source Report</a>“ (PDF, 2,8 MB) heraus, indem jährlich über die Entwicklung der Softwarequalität von quelloffener Software berichtet wird.</p>
<p>Die Ergebnisse basieren auf einer über drei Jahre gehenden Analyse von 60 Millionen Zeilen Code aus 280 Open-Source-Projekten, darunter Firefox, Linux, PHP, Ruby und Samba. Sie basieren auf Coveritys Scan-Service den die Firma OS-Entwicklern In Kooperation mit der Stanford University und in Zusammenarbeit mit dem <a href="http://www.dhs.gov/">US Department of Homeland Security</a> kostenfrei anbietet. Ziel ist es, die Qualität von quelloffener Software grundsätzlich durch formalisierte Qualitätssicherung anzuheben. Nicht zuletzt deshalb, weil die US-Behörde in ihrer <a href="http://www.dhs.gov/xlibrary/assets/National_Cyberspace_Strategy.pdf">National Cyberspace Strategy</a> (PDF, 0,5 MB) u.a. die Ziele der Aufdeckung vorhandener Qualitätsmängel und Sicherheitslücken in verbreiteten Softwaresystemen sowie die Entwicklung von Systemen mit einer geringerer Anzahl an Mängeln verfolgt.</p>
<p>So kam Coverity für 2008/09 zu dem Ergebnis, dass die Integrität, Qualität und Sicherheit von quelloffenem Code weiter zunimmt. Man fand seit 2006 mehr als 11.200 Fehler, die der <a href="http://scan.coverity.com/">Scan-Service</a> in 180 zur Prüfung eingereichten Programmen entdeckt hat und die daraufhin beseitigt werden konnten. Insgesamt sieht die Firma einen Rückgang von 16 Prozent der in statischen Analysen festgestellten Fehler.</p>
<p>Coverity legt seiner Prüfung ein eigenes Reifegradmodell zugrunde, anhand dessen es geprüfte Software klassifiziert und zertifiziert. 144 Projekte laufen zurzeit in der ersten Stufe, 36 in der zweiten. Auf der höchsten Stufe finden sich derzeit vier OS-Projekte, darunter die Programmiersprache Ruby, der Samba-Server und das TOR-Netzwerk.</p>
<p>Insgesamt könne ein kontinuierlich steigendes Qualitäts- und Sicherheitsniveau im Bereich der Open-Source-Software festgestellt werden, so die Softwareprüfer. Die Entwickler in den OS-Ptrojeten treiben das Thema Softwarequalität aktiv voran. Die am häufigsten auftretenden Fehler der teilnehmenden Projekte waren über die Jahre hinweg NULL-Pointer-Variablen, Ressourcenlöcher und unabsichtlich nicht beachtete Expressions. Etliche OS-Projekte erreichten bereits den Status „defect-free“, d.h. man fand gar keine Fehler mehr.</p>
<p>Daneben bietet Coverity auch eine auf den Qualitätsprüfungen basierende <a href="http://scan.coverity.com/arch/">Architekturbibliothek</a> an, in der Architekturdaten von Anwendungen sowie Diagramme zu über 2500 Open-Source-Projekten frei zugänglich hinterlegt sind. Die Architektur-Bibliothek soll Entwicklern zugutekommen, die quelloffene Software in ihre eigenen Applikationen integrieren wollen und dazu die Architektur bekannter Projekte studieren möchten, um ein tieferes Verständnis der Struktur und zu den Fähigkeiten der Software zu erhalten. Sie kann ebenso bei Sicherheits- und Qualitätsaudits als Referenz herangezogen werden. Die Informationen werden unter einer Creative-Commons-Lizenz (CC-BY) bereitgestellt.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Coverity-Report: Open-Source-Software wird immer besser]]></title>
<link>http://itsicherheit.wordpress.com/2009/09/28/coverity-report-open-source-software-wird-immer-besser/</link>
<pubDate>Mon, 28 Sep 2009 17:12:12 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://itsicherheit.wordpress.com/2009/09/28/coverity-report-open-source-software-wird-immer-besser/</guid>
<description><![CDATA[Coverity, ein Anbieter von Werkzeugen zur Codeanalyse, gibt seit 2006 den „Coverity Scan Open Source]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://www.coverity.com/">Coverity</a>, ein Anbieter von Werkzeugen zur Codeanalyse, gibt seit 2006 den „<a href="http://scan.coverity.com/report/Coverity_White_Paper-Scan_Open_Source_Report_2009.pdf">Coverity Scan Open Source Report</a>“ (PDF, 2,8 MB) heraus, indem jährlich über die Entwicklung der Softwarequalität von quelloffener Software berichtet wird.</p>
<p>Die Ergebnisse basieren auf einer über drei Jahre gehenden Analyse von 60 Millionen Zeilen Code aus 280 Open-Source-Projekten, darunter Firefox, Linux, PHP, Ruby und Samba. Sie basieren auf Coveritys Scan-Service den die Firma OS-Entwicklern In Kooperation mit der Stanford University und in Zusammenarbeit mit dem <a href="http://www.dhs.gov/">US Department of Homeland Security</a> kostenfrei anbietet. Ziel ist es, die Qualität von quelloffener Software grundsätzlich durch formalisierte Qualitätssicherung anzuheben. Nicht zuletzt deshalb, weil die US-Behörde in ihrer <a href="http://www.dhs.gov/xlibrary/assets/National_Cyberspace_Strategy.pdf">National Cyberspace Strategy</a> (PDF, 0,5 MB) u.a. die Ziele der Aufdeckung vorhandener Qualitätsmängel und Sicherheitslücken in verbreiteten Softwaresystemen sowie die Entwicklung von Systemen mit einer geringerer Anzahl an Mängeln verfolgt.</p>
<p>So kam Coverity für 2008/09 zu dem Ergebnis, dass die Integrität, Qualität und Sicherheit von quelloffenem Code weiter zunimmt. Man fand seit 2006 mehr als 11.200 Fehler, die der <a href="http://scan.coverity.com/">Scan-Service</a> in 180 zur Prüfung eingereichten Programmen entdeckt hat und die daraufhin beseitigt werden konnten. Insgesamt sieht die Firma einen Rückgang von 16 Prozent der in statischen Analysen festgestellten Fehler.</p>
<p>Coverity legt seiner Prüfung ein eigenes Reifegradmodell zugrunde, anhand dessen es geprüfte Software klassifiziert und zertifiziert. 144 Projekte laufen zurzeit in der ersten Stufe, 36 in der zweiten. Auf der höchsten Stufe finden sich derzeit vier OS-Projekte, darunter die Programmiersprache Ruby, der Samba-Server und das TOR-Netzwerk.</p>
<p>Insgesamt könne ein kontinuierlich steigendes Qualitäts- und Sicherheitsniveau im Bereich der Open-Source-Software festgestellt werden, so die Softwareprüfer. Die Entwickler in den OS-Ptrojeten treiben das Thema Softwarequalität aktiv voran. Die am häufigsten auftretenden Fehler der teilnehmenden Projekte waren über die Jahre hinweg NULL-Pointer-Variablen, Ressourcenlöcher und unabsichtlich nicht beachtete Expressions. Etliche OS-Projekte erreichten bereits den Status „defect-free“, d.h. man fand gar keine Fehler mehr.</p>
<p>Daneben bietet Coverity auch eine auf den Qualitätsprüfungen basierende <a href="http://scan.coverity.com/arch/">Architekturbibliothek</a> an, in der Architekturdaten von Anwendungen sowie Diagramme zu über 2500 Open-Source-Projekten frei zugänglich hinterlegt sind. Die Architektur-Bibliothek soll Entwicklern zugutekommen, die quelloffene Software in ihre eigenen Applikationen integrieren wollen und dazu die Architektur bekannter Projekte studieren möchten, um ein tieferes Verständnis der Struktur und zu den Fähigkeiten der Software zu erhalten. Sie kann ebenso bei Sicherheits- und Qualitätsaudits als Referenz herangezogen werden. Die Informationen werden unter einer Creative-Commons-Lizenz (CC-BY) bereitgestellt.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft stellt Prüftools für Security-Tester bereit]]></title>
<link>http://softwarequalitaet.wordpress.com/2009/09/24/microsoft-stellt-pruftools-fur-security-tester-bereit/</link>
<pubDate>Thu, 24 Sep 2009 17:05:43 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://softwarequalitaet.wordpress.com/2009/09/24/microsoft-stellt-pruftools-fur-security-tester-bereit/</guid>
<description><![CDATA[Microsoft ist bereits seit längerem bestrebt, sich bzgl. Sicherheit und Softwarequalität seiner Prod]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Microsoft ist bereits seit längerem bestrebt, <a href="http://itsicherheit.wordpress.com/2009/08/24/das-%e2%80%9esecurity-by-design%e2%80%9c-prinzip/">sich bzgl. Sicherheit und Softwarequalität seiner Produkte als führend zu positionieren</a>. Daher hat die Firma u.a. das <a href="http://www.microsoft.com/sdl">Vorgehensmodell des „Security Development Lifecycle (SDL)“</a> entwickelt, um Entwicklern bei der weiteren Verbesserung der Qualität sicherheitsbezogener Eigenschaften ihrer Software für die Windows-Plattform zu unterstützen.</p>
<p>Der Microsoft Bin Scope Binary Analyzer überprüft binären Code darauf, ob alle empfohlenen und notwendigen Security Flags, Schutzmechanismen und Kontrollen vorhanden sind. Das stellt sicher, dass in Anwendungen nicht durch gängige Sicherheitsfehler beim Coding Schwachstellen und Sicherheitslücken implementiert werden.</p>
<p>Der Microsoft MiniFuzz File Fuzzer ist eine Lösung für Tester, die unerwartete Verhaltensweisen ihrer Anwendungen eingrenzen wollen. Der Fuzzer automatisiert Sicherheitsüberprüfungen und testet den Code mit zufällig erzeugten Eingabedaten um das Verhalten der Applikation bei deren Verarbeitung zu prüfen. Auf diesem Wege wird bereits sehr früh im Entwicklungsprozess festgestellt, ob etwa Programmabstürze als Sicherheitsrisiken untersucht werden müssen.</p>
<p><em>„SDL hat sich seit seiner Einführung als effizienter Prozess zur Steigerung der Softwarequalität bewährt“</em>, so Prof. Dr. Sachar Paulus, Vorstandsvorsitzender der <a href="http://www.isseco.org/">ISSECO (International Secure Software Engineering Council e.V.)</a>. <em>„Dank der guten Methodologie und einfachen Umsetzbarkeit hat sich SDL mittlerweile bei vielen Entwicklern etabliert. Die beiden neuen Tools sind weitere Bausteine hin zu einer besseren, sichereren Softwareentwicklung“</em>.</p>
<p>Hinzu kommen weitere Hilfen für Entwickler wie z.B. das SDL Process Template für Visual Studio Team System, das SDL Threat Modeling Tool, FxCop (ein Tool zur Analyse von.NET-Assemblies) sowie einige weitere Werkzeuge für die statische Codeanalyse mit Microsoft-Entwicklungsumgebungen.</p>
<p>Alle Tools können bei Microsoft im <a href="http://msdn.microsoft.com/en-us/security/cc421514.aspx">SDL Tools Repository</a> kostenlos heruntergeladen werden.</p>
<p>Der Security Development Lifecycle ist ein Kernelement der Trustworthy Computing Initiative von Microsoft zur Verbesserung der Sicherheitseigenschaften seiner Produkte. Der Prozess wurde zunächst geschaffen, um firmenintern sichere Anwendungen zu liefern und Attacken besser widerstehen zu können. Jedes Produkt von Microsoft, das mit dem Internet kommuniziert oder für den Unternehmenseinsatz konzipiert ist, muss Angaben von Microsoft gemäß den SDL-Prozess durchlaufen.</p>
<p>Tom Köhler, Direktor Strategie Informationssicherheit Kommunikation bei Microsoft Deutschland hierzu: <em>„Wir schützen damit unsere Plattform. Dazu gehört nicht nur, dass wir unsere eigenen Betriebssysteme und Anwendungen immer sicherer machen, sondern auch Partner und andere Anbieter dabei unterstützen. Gerade Anwendungen von Drittanbietern stehen immer mehr im Zentrum der Attacken durch Schadsoftware. Jeder Entwickler, ob Freiberufler, Microsoft Partner oder Firmenentwickler muss bereits im Designprozess darauf achten, dass seine Anwendungen in der Praxis sicher funktionieren. SDL hilft dabei“.<br />
</em><br />
Kein Zweifel – der Security Development Lifecycle Prozess dürfte für Entwickler auf der Windows-Plattform zunehmend an Bedeutung gewinnen.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Microsoft stellt Prüftools für Security-Tester bereit]]></title>
<link>http://itsicherheit.wordpress.com/2009/09/24/microsoft-stellt-pruftools-fur-security-tester-bereit/</link>
<pubDate>Thu, 24 Sep 2009 17:01:55 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://itsicherheit.wordpress.com/2009/09/24/microsoft-stellt-pruftools-fur-security-tester-bereit/</guid>
<description><![CDATA[Microsoft ist bereits seit längerem bestrebt, sich bzgl. Sicherheit und Softwarequalität seiner Prod]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Microsoft ist bereits seit längerem bestrebt, <a href="http://softwarequalitaet.wordpress.com/2009/08/24/das-%e2%80%9esecurity-by-design%e2%80%9c-prinzip/">sich bzgl. Sicherheit und Softwarequalität seiner Produkte als führend zu positionieren</a>. Daher hat die Firma u.a. das <a href="http://www.microsoft.com/sdl">Vorgehensmodell des „Security Development Lifecycle (SDL)“</a> entwickelt, um Entwicklern bei der weiteren Verbesserung der Qualität sicherheitsbezogener Eigenschaften ihrer Software für die Windows-Plattform zu unterstützen.</p>
<p>Der Microsoft Bin Scope Binary Analyzer überprüft binären Code darauf, ob alle empfohlenen und notwendigen Security Flags, Schutzmechanismen und Kontrollen vorhanden sind. Das stellt sicher, dass in Anwendungen nicht durch gängige Sicherheitsfehler beim Coding Schwachstellen und Sicherheitslücken implementiert werden.</p>
<p>Der Microsoft MiniFuzz File Fuzzer ist eine Lösung für Tester, die unerwartete Verhaltensweisen ihrer Anwendungen eingrenzen wollen. Der Fuzzer automatisiert Sicherheitsüberprüfungen und testet den Code mit zufällig erzeugten Eingabedaten um das Verhalten der Applikation bei deren Verarbeitung zu prüfen. Auf diesem Wege wird bereits sehr früh im Entwicklungsprozess festgestellt, ob etwa Programmabstürze als Sicherheitsrisiken untersucht werden müssen.</p>
<p><em>„SDL hat sich seit seiner Einführung als effizienter Prozess zur Steigerung der Softwarequalität bewährt“</em>, so Prof. Dr. Sachar Paulus, Vorstandsvorsitzender der <a href="http://www.isseco.org/">ISSECO (International Secure Software Engineering Council e.V.)</a>. <em>„Dank der guten Methodologie und einfachen Umsetzbarkeit hat sich SDL mittlerweile bei vielen Entwicklern etabliert. Die beiden neuen Tools sind weitere Bausteine hin zu einer besseren, sichereren Softwareentwicklung“</em>.</p>
<p>Hinzu kommen weitere Hilfen für Entwickler wie z.B. das SDL Process Template für Visual Studio Team System, das SDL Threat Modeling Tool, FxCop (ein Tool zur Analyse von.NET-Assemblies) sowie einige weitere Werkzeuge für die statische Codeanalyse mit Microsoft-Entwicklungsumgebungen.</p>
<p>Alle Tools können bei Microsoft im <a href="http://msdn.microsoft.com/en-us/security/cc421514.aspx">SDL Tools Repository</a> kostenlos heruntergeladen werden.</p>
<p>Der <a href="http://www.microsoft.com/sdl"></a>Security Development Lifecycle ist ein Kernelement der Trustworthy Computing Initiative von Microsoft zur Verbesserung der Sicherheitseigenschaften seiner Produkte. Der Prozess wurde zunächst geschaffen, um firmenintern sichere Anwendungen zu liefern und Attacken besser widerstehen zu können. Jedes Produkt von Microsoft, das mit dem Internet kommuniziert oder für den Unternehmenseinsatz konzipiert ist, muss Angaben von Microsoft gemäß den SDL-Prozess durchlaufen.</p>
<p>Tom Köhler, Direktor Strategie Informationssicherheit Kommunikation bei Microsoft Deutschland hierzu: <em>„Wir schützen damit unsere Plattform. Dazu gehört nicht nur, dass wir unsere eigenen Betriebssysteme und Anwendungen immer sicherer machen, sondern auch Partner und andere Anbieter dabei unterstützen. Gerade Anwendungen von Drittanbietern stehen immer mehr im Zentrum der Attacken durch Schadsoftware. Jeder Entwickler, ob Freiberufler, Microsoft Partner oder Firmenentwickler muss bereits im Designprozess darauf achten, dass seine Anwendungen in der Praxis sicher funktionieren. SDL hilft dabei“.<br />
</em><br />
Kein Zweifel – der Security Development Lifecycle Prozess dürfte für Entwickler auf der Windows-Plattform zunehmend an Bedeutung gewinnen.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Das „Security by Design“-Prinzip]]></title>
<link>http://softwarequalitaet.wordpress.com/2009/08/24/das-%e2%80%9esecurity-by-design%e2%80%9c-prinzip/</link>
<pubDate>Mon, 24 Aug 2009 15:55:38 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://softwarequalitaet.wordpress.com/2009/08/24/das-%e2%80%9esecurity-by-design%e2%80%9c-prinzip/</guid>
<description><![CDATA[Eine der grundlegenden Erkenntnisse das Qualitätsmanagements besteht darin, dass es besser ist Quali]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Eine der grundlegenden Erkenntnisse das Qualitätsmanagements besteht darin, dass es besser ist Qualität gleich mit einzubauen als sie nachträglich „reinzuprüfen“. Also qualitätssichernde Vorgehensweisen und Praktiken zum verbindlichen  Bestandteil des Produktionsprozesses werden zu lassen.</p>
<p>Die zunehmende Bedeutung von Vorgehensmodellen, Reifegradmodellen und Standards in der Softwareentwicklung macht deutlich, dass die Industrialisierung der Softwareentwicklung auch zur Übernahme qualitätssichernder Konzepte und Methoden führt.</p>
<p>Das Thema „Security by Design“ wurde in den letzten Jahren maßgeblich von Microsoft durch die Entwicklung des <a href="http://msdn.microsoft.com/en-us/security/cc448177.aspx">Security Development Lifecycle (SDL)</a> vorangetrieben und von zahlreichen anderen Softwareherstellern in der ein oder anderen Form übernommen.</p>
<p>Gängige Instrumente der Software-Qualitätssicherung wie das Testen entsprechender Features, Code-Review oder auch Penetration Tests fertiger Produkte mit sicherheitsrelevanten Eigenschaften erwiesen sich zunehmend als unzureichend, da sie nur punktuell prüfen, anstatt den ganzen Prozess der Entwicklung qualitätssichernd zu begleiten.</p>
<p>Abhilfe schaffen da lebenszyklusorientierte Ansätze wie der SDL bzw. das „Security by Design“-Prinzip, durch die Sicherheit bereits als explizite Anforderung definiert und im weiteren Entwicklungsprozess implementiert und verifiziert wird.</p>
<p>Security by Design bzw. SDL ist dabei keine Technik, sondern eine Sicherheitsmaßnahme, die den Entwicklungsprozess kontinuierlich begleitet. Die Maßnahmen sollen eine integrierte und nachhaltige Sicherheit der entwickelten Softwareprodukte zur Folge haben.</p>
<p>Generell umfasst SDL Sicherheitsmaßnahmen, die den Softwareentwicklungsprozess ergänzen und gewährleisten, dass Sicherheit im notwendigen Umfang berücksichtigt und integriert wird, unabhängig davon, mit welchen Vorgehensweisen und Werkzeugen gearbeitet wird. Die Sicherheitsmaßnahmen lassen sich immer parallel zu den Entwicklungsschritten ausführen.</p>
<p>Ein voll implementierter „Security by Design“-Entwicklungsprozess ist allerdings – ähnlich wie ein umfangreiches Testmanagement – recht aufwändig. Wie man den umfangreichen <a href="http://itsicherheit.wordpress.com/2009/03/24/microsoft-glanzt-im-hacker-wettbewerb-pwn2own/">Microsoft-Ansatz</a> auch auf kleinere Entwicklungsteams und Unternehmen herunterbrechen kann, schildert ein <a href="http://www.heise.de/developer/artikel/print/143738">Fachartikel auf Heise Developer</a>.</p>
<p>Im Wesentlichen wird dazu der SDL-Prozess auf seine fünf essenziellen Schritte Managementunterstützung sicherstellen, Awareness und Schulung, Risikoanalysen, sichere Programmierung anwenden, Test und Review reduziert.</p>
<p>Sichere Programmierung anwenden meint damit Schritte, die in eigentlich jeder Programmiersprache nachvollzogen werden können und durch die sich Software-Schwachstellen wie SQL-Injection, Cross-Site Scripting oder Fehler in der Zugriffskontrolle merklich reduzieren lassen:</p>
<ol>
<li> Prüfung von Ein- und Ausgaben vor ihrer Weiterverarbeitung.</li>
<li> Authentisierung und Zugriffskontrollen.</li>
<li> Korrektes Handhaben und Schutz von sensitiven Informationen und Daten.</li>
<li> Befolgen des &#8220;Least Privilege&#8221;-Prinzips, das die geringstmöglichen Privilegien zur Umsetzung einer Handlung vergibt oder benötigt.</li>
<li> Verhindern von Informationspreisgaben.</li>
</ol>
<p>Ähnliche, aber generellere Ansätze der Qualitätssteigerung während der Entwicklung verfolgt auch das <a href="http://itsicherheit.wordpress.com/2009/08/14/clean-code-development-%e2%80%93-ein-weg-zu-besserer-software/">Clean Code Development (CCD)</a>.</p>
<p>Hinzu kommt „nachfolgende Qualitätssicherung“ durch Sicherheitstests der fertigen Anwendung. Dadurch wird weiterhin geprüft, ob die Vorgaben zur sicheren Programmierung eingehalten wurden, um zu gewährleisten, dass keine Fehler, speziell keine sicherheitsrelevanten, implementiert wurden. Beispielsweise durch Prüfung des Quellcodes (Code-Review). Es lassen sich nicht nur Konventionen und Qualität prüfen, sondern Entwickler können konkret nach Sicherheitslücken suchen, sie dokumentieren und beheben.</p>
<p>Um einen SDL und damit „Security by Design“ einzuführen oder weiter auszubauen, lassen sich spezielle sicherheitsbezogene Vorgehensmodelle einsetzen. So weist Niklaus Schild in dem bereits erwähnten Heise-Artikel auf die Ansätze des <a href="http://www.bsi-mm.com/">Building Security In Maturity Model</a> (BSIMM, Reifegradmodell für zwölf Praktiken, wie sie sich in der sicheren Softwareentwicklung anwenden lassen) sowie des <a href="http://www.opensamm.org/">Software Assurance Maturity Model</a> (SAMM, Reifegrade und zusätzliche Beschreibungen und Empfehlungen für eine Umsetzung und Weiterentwicklung) hin.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Das „Security by Design“-Prinzip]]></title>
<link>http://itsicherheit.wordpress.com/2009/08/24/das-%e2%80%9esecurity-by-design%e2%80%9c-prinzip/</link>
<pubDate>Mon, 24 Aug 2009 15:52:33 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://itsicherheit.wordpress.com/2009/08/24/das-%e2%80%9esecurity-by-design%e2%80%9c-prinzip/</guid>
<description><![CDATA[Eine der grundlegenden Erkenntnisse das Qualitätsmanagements besteht darin, dass es besser ist Quali]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Eine der grundlegenden Erkenntnisse das Qualitätsmanagements besteht darin, dass es besser ist Qualität gleich mit einzubauen als sie nachträglich „reinzuprüfen“. Also qualitätssichernde Vorgehensweisen und Praktiken zum verbindlichen  Bestandteil des Produktionsprozesses werden zu lassen.</p>
<p>Die zunehmende Bedeutung von Vorgehensmodellen, Reifegradmodellen und Standards in der Softwareentwicklung macht deutlich, dass die Industrialisierung der Softwareentwicklung auch zur Übernahme qualitätssichernder Konzepte und Methoden führt.</p>
<p>Das Thema „Security by Design“ wurde in den letzten Jahren maßgeblich von Microsoft durch die Entwicklung des <a href="http://msdn.microsoft.com/en-us/security/cc448177.aspx">Security Development Lifecycle (SDL)</a> vorangetrieben und von zahlreichen anderen Softwareherstellern in der ein oder anderen Form übernommen.</p>
<p>Gängige Instrumente der Software-Qualitätssicherung wie das Testen entsprechender Features, Code-Review oder auch Penetration Tests fertiger Produkte mit sicherheitsrelevanten Eigenschaften erwiesen sich zunehmend als unzureichend, da sie nur punktuell prüfen, anstatt den ganzen Prozess der Entwicklung qualitätssichernd zu begleiten.</p>
<p>Abhilfe schaffen da lebenszyklusorientierte Ansätze wie der SDL bzw. das „Security by Design“-Prinzip, durch die Sicherheit bereits als explizite Anforderung definiert und im weiteren Entwicklungsprozess implementiert und verifiziert wird.</p>
<p>Security by Design bzw. SDL ist dabei keine Technik, sondern eine Sicherheitsmaßnahme, die den Entwicklungsprozess kontinuierlich begleitet. Die Maßnahmen sollen eine integrierte und nachhaltige Sicherheit der entwickelten Softwareprodukte zur Folge haben.</p>
<p>Generell umfasst SDL Sicherheitsmaßnahmen, die den Softwareentwicklungsprozess ergänzen und gewährleisten, dass Sicherheit im notwendigen Umfang berücksichtigt und integriert wird, unabhängig davon, mit welchen Vorgehensweisen und Werkzeugen gearbeitet wird. Die Sicherheitsmaßnahmen lassen sich immer parallel zu den Entwicklungsschritten ausführen.</p>
<p>Ein voll implementierter „Security by Design“-Entwicklungsprozess ist allerdings – ähnlich wie ein umfangreiches Testmanagement – recht aufwändig. Wie man den umfangreichen <a href="http://itsicherheit.wordpress.com/2009/03/24/microsoft-glanzt-im-hacker-wettbewerb-pwn2own/">Microsoft-Ansatz</a> auch auf kleinere Entwicklungsteams und Unternehmen herunterbrechen kann, schildert ein <a href="http://www.heise.de/developer/artikel/print/143738">Fachartikel auf Heise Developer</a>.</p>
<p>Im Wesentlichen wird dazu der SDL-Prozess auf seine fünf essenziellen Schritte Managementunterstützung sicherstellen, Awareness und Schulung, Risikoanalysen, sichere Programmierung anwenden, Test und Review reduziert.</p>
<p>Sichere Programmierung anwenden meint damit Schritte, die in eigentlich jeder Programmiersprache nachvollzogen werden können und durch die sich Software-Schwachstellen wie SQL-Injection, Cross-Site Scripting oder Fehler in der Zugriffskontrolle merklich reduzieren lassen:</p>
<ol>
<li> Prüfung von Ein- und Ausgaben vor ihrer Weiterverarbeitung.</li>
<li> Authentisierung und Zugriffskontrollen.</li>
<li> Korrektes Handhaben und Schutz von sensitiven Informationen und Daten.</li>
<li> Befolgen des &#8220;Least Privilege&#8221;-Prinzips, das die geringstmöglichen Privilegien zur Umsetzung einer Handlung vergibt oder benötigt.</li>
<li> Verhindern von Informationspreisgaben.</li>
</ol>
<p>Ähnliche, aber generellere Ansätze der Qualitätssteigerung während der Entwicklung verfolgt auch das <a href="http://itsicherheit.wordpress.com/2009/08/14/clean-code-development-%e2%80%93-ein-weg-zu-besserer-software/">Clean Code Development (CCD)</a>.</p>
<p>Hinzu kommt „nachfolgende Qualitätssicherung“ durch Sicherheitstests der fertigen Anwendung. Dadurch wird weiterhin geprüft, ob die Vorgaben zur sicheren Programmierung eingehalten wurden, um zu gewährleisten, dass keine Fehler, speziell keine sicherheitsrelevanten, implementiert wurden. Beispielsweise durch Prüfung des Quellcodes (Code-Review). Es lassen sich nicht nur Konventionen und Qualität prüfen, sondern Entwickler können konkret nach Sicherheitslücken suchen, sie dokumentieren und beheben.</p>
<p>Um einen SDL und damit „Security by Design“ einzuführen oder weiter auszubauen, lassen sich spezielle sicherheitsbezogene Vorgehensmodelle einsetzen. So weist Niklaus Schild in dem bereits erwähnten Heise-Artikel auf die Ansätze des <a href="http://www.bsi-mm.com/">Building Security In Maturity Model</a> (BSIMM, Reifegradmodell für zwölf Praktiken, wie sie sich in der sicheren Softwareentwicklung anwenden lassen) sowie des <a href="http://www.opensamm.org/">Software Assurance Maturity Model</a> (SAMM, Reifegrade und zusätzliche Beschreibungen und Empfehlungen für eine Umsetzung und Weiterentwicklung) hin.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Skype - Ein kleines Für und Wider]]></title>
<link>http://nilskueper.wordpress.com/2009/08/23/skype-ein-kleines-fur-und-wider/</link>
<pubDate>Sun, 23 Aug 2009 20:57:33 +0000</pubDate>
<dc:creator>Nils</dc:creator>
<guid>http://nilskueper.wordpress.com/2009/08/23/skype-ein-kleines-fur-und-wider/</guid>
<description><![CDATA[Skype. Für all Diejenigen, die bisher von Instant-Messaging oder Voice-Over-IP gar nichts gehört hab]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-thumbnail wp-image-47" title="Skype-Logo" src="http://nilskueper.wordpress.com/files/2009/08/skype2.png?w=150" alt="Skype-Logo" width="150" height="71" />Skype. Für all Diejenigen, die bisher von Instant-Messaging oder Voice-Over-IP gar nichts gehört haben oder aber ausschließlich ICQ nutzen ein paar einführende Worte: Skype ist ein relativ kleines Programm, mit dessen Hilfe andere Skype-User via Internetverbindung kostenlos angerufen werden können (auch Videotelefonie und Telefonkonferenzen). Telefonate ins Festnetz sind gebührenpflichtig aber ebenfalls möglich. Zudem können mit Skype Textnachrichten und Dateien verschickt werden. Zusätzliche Tools ermöglichen gemeinsames Spielen und Remote-Desktop-Verbindungen, die sich insbesondere bei Studenten großer Beliebtheit erfreuen (ein Beispiel: mit Hilfe von Skype können Dokumente von mehreren Nutzern zeitgleich bearbeitet werden; zeitaufwendige Treffen können so ersetzt werden). Skype ist dezentral und funktioniert über die Peer-to-Peer-Struktur.</p>
<p>Ich persönlich nutze Skype seit längerer Zeit und gehe davon aus, dass meine Skype-Nutzung weiter zunehmen wird, denn kostengünstiger kann man im Grunde nicht über große Entfernungen zwischen verschiedenen Ländern kommunizieren und telefonieren. Den Vergleich mit ICQ gewinnt Skype für mich aus zwei Gründen: Zum Einen ist (Video-)Telefonie mit Skype ein Kinderspiel, zum Anderen ist das Programm im Vergleich zu ICQ so gut wie werbefrei und im Design deutlich schlanker und eleganter (zumindest die Mac-Version).</p>
<p>Dennoch gibt es zahlreiche Gründe, Skype nicht zu nutzen. Der wohl entscheidende Punkt ist die Tatsache, dass das Programm proprietär ist und der Quellcode nicht offengelegt wird. Damit entsteht ein mächtiges Instrument, denn die steigende Anzahl an Nutzern und der zunehmende Einsatz in mittelständischen Unternehmen bei Unklarheit über Verschlüsselungsmechanismen birgt für den Eigentümer (aktuell ist dies übrigens eBay) enormes Potential und einen möglicherweise einfachen Zugriff auf sensible Informationen. Zudem ist die Abhörsicherheit nach Meinung zahlreicher Experten nicht gegeben.</p>
<p>Ein weiterer Kritikpunkt ist die Beobachtung, dass Skype im Laufe eines Monats bis zu 1 Gigabyte an Daten sendet (im Leerlauf, wenn man selber lediglich online ist ohne aber Nachrichten oder Anrufe zu tätigen). Welche Art von Daten gesendet wird bleibt dabei weitgehend unklar.</p>
<p>Skype kann also zusammenfassend als Blackbox mit vielen nützlichen Funktionen und Tools bezeichnet werden, die allerdings insbesondere bei sensiblen Daten mit Vorsicht anzuwenden ist. Für mich persönlich überwiegen derzeit klar die Vorteile, aber die Nutzung von Skype zur Abwicklung der gesamten internen Unternehmenskommunikation ist für mich fahrlässig und nicht nachvollziehbar</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Bundestrojaner: Ein Programmierer erzählt]]></title>
<link>http://freiheitskampf1984.wordpress.com/2009/08/21/bundestrojaner-ein-programmierer-erzahlt/</link>
<pubDate>Fri, 21 Aug 2009 21:02:46 +0000</pubDate>
<dc:creator>freiheitskampf1984</dc:creator>
<guid>http://freiheitskampf1984.wordpress.com/2009/08/21/bundestrojaner-ein-programmierer-erzahlt/</guid>
<description><![CDATA[Ruben Unteregger hat rund sieben Jahre lang als Softwareentwickler beim Schweizer Unternehmen ERA IT]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Ruben Unteregger hat rund sieben Jahre lang als Softwareentwickler beim Schweizer Unternehmen ERA IT Solutions gearbeitet. Seine Aufgabe dort war das Erstellen von Schadprogrammen, die ein Eindringen in die Computer von Privatanwendern ermöglichen soll. Die ERA IT Solutions soll insbesondere am Aufbau von Trojanern beteiligt sein, die dem Abhören von VoIP-Telefonaten dienen. Will er keine Vertragsstrafe zahlen, so muss er sich über die Kunden des Unternehmens ausschweigen. Zeitgleich zur Veröffentlichung dieses Interviews will Herr Unteregger der Öffentlichkeit den Quellcode seines Trojaners zur Verfügung stellen. Interview lesen auf <a href="http://www.gulli.com/news/bundestrojaner-ein-2009-08-21/" target="_blank">gulli.com</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Clean Code Development – ein Weg zu besserer Software?]]></title>
<link>http://softwarequalitaet.wordpress.com/2009/08/20/clean-code-development-%e2%80%93-ein-weg-zu-besserer-software/</link>
<pubDate>Thu, 20 Aug 2009 08:35:36 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://softwarequalitaet.wordpress.com/2009/08/20/clean-code-development-%e2%80%93-ein-weg-zu-besserer-software/</guid>
<description><![CDATA[Software besser zu machen, d.h. insbesondere ihre Qualität, Zuverlässigkeit, Fehlerfreiheit und Sich]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Software besser zu machen, d.h. insbesondere ihre Qualität, Zuverlässigkeit, Fehlerfreiheit und Sicherheit zu steigern, ist mittlerweile ein Trendthema geworden. Bislang ging man dabei den Weg, über Vorgehens- und Reifegradmodelle zur Softwareentwicklung den Entwicklungsprozess zu verbessern. Softwareentwicklung also zunehmend durch Standardisierung zur Ingenieursdisziplin (Engineering) zu machen. In dieselbe Richtung gehen auch agile Methoden wie SCRUM oder XP, die auf die Verbesserung der Projekt- und Arbeitsorganisation der Softwareentwicklung abzielen.</p>
<p>Mit <a href="http://www.clean-code-developer.de/">Clean Code Development (CCD)</a> wurde zum Jahresanfang nun eine Initiative gestartet, die auf das eigentliche Herzstück der Softwareentwicklung abzielt: den Softwareentwickler.</p>
<p>Basierend auf den Arbeiten von Robert C. Martin, die dieser in seinem Buch „Clean Code“ veröffentlichte, befasst sich CCD mit Praktiken wie Codeoptimierung (Refactoring), Entwurfsmuster (Patterns) sowie Testen und Techniken zur Erstellung sauberen Quellcodes. Sozusagen die Rückführung der Softwareentwicklung auf gute handwerkliche Arbeit, durch die sich der Profi vom Amateur und Bastler unterscheidet.</p>
<p>Für Code als Quelltext und strukturiertem Ausdruck der Funktionalität sowie als kleinsten gemeinsamen Nenner zwischen Softwareentwicklern aller Art beschreibt Clean Code eine Menge von Prinzipien und Best Practices als kleinsten gemeinsamen Nenner.</p>
<p>Dazu gehört u.a. ein aus Prinzipien und Praktiken guter handwerklicher Arbeit bestehendes <a href="http://www.clean-code-developer.de/wiki/CcdWertesystem">CDD-Wertesystem</a>. Sowie eine Einteilung in <a href="http://www.clean-code-developer.de/wiki/CcdGrade">aufeinander aufbauender Grade fortschreitender Professionalisierung</a>, die sich mit Themen wie Automatisierung von Abläufen, Testen, Testautomation, projektbegleitende Qualitätssicherung sowie Steigerung der Produktivität als Entwickler auseinandersetzen.</p>
<p><a href="http://www.heise.de/developer/artikel/print/143437">Ralf Westphal, Mitbegründer der „Clean Code Development“-Initiative in einem Interview mit Heise Developer</a>:</p>
<blockquote><p>Mir ging es darum, Unternehmen bewusst zu machen, wie viel Geld sie mit schlechter Softwarequalität „verbrennen“ – selbst wenn die Umsätze sie irgendwie gerade noch tragen. Die Idee stieß bei Stefan auf offene Ohren, und so sahen wir das Buch &#8220;Clean Code&#8221; als pragmatischen Ausgangspunkt für mehr Bewusstsein hinsichtlich innerer Softwarequalität. Denn um die geht es uns. Wir machen keine Aussage zu äußerer Qualität, die zum Beispiel mit Funktionen, Usability oder Skalierbarkeit zu tun hat. Uns geht es um Wartbarkeit – auch wenn wir den Begriff unglücklich finden. Sehr viele Projekte stecken in einem Wartungsalbtraum. Aus dem wollen wir sie wecken. Andere Projekte bewegen sich darauf zu. Denen wollen wir zeigen, dass der Albtraum vermeidbar ist.</p></blockquote>
<p>Dort weist er auch auf die Lücken bisheriger Ansätze zur Qualitätssicherung in der Softwareentwicklung hin:</p>
<blockquote><p>Schließlich ist Softwarequalität das Thema von Verbänden und Normen. Da kann man sich ISO-zertifizieren lassen oder sich auf ein CMMI-Level heben. Das ist alles schön und gut. Nur sehen wir nicht, dass diese Initiativen auf breiter Front Erfolg haben. Der Entwickler einer Branchensoftware in einem 5-Mann-Team hat davon sogar wahrscheinlich nicht einmal gehört. Ganz zu schweigen davon, dass seine kleine Softwareschmiede eine Zertifizierung wegen der hohen Kosten nicht durchlaufen würde. Die „große“, „formale“, „offizielle“ Softwarequalität lässt also eine sehr große Zahl von Projekten außen vor, weil sie bürokratisch und teuer ist.</p>
<p>Mit Clean Code Developer wollten wir daher eine Lücke schließen, die wir in unserer Arbeit in vielen Projekten gesehen haben. Es geht uns „nur“ um eine ganz pragmatische und vor allem innere Softwarequalität, die sich mit etwas gutem Willen und ein paar Werkzeugen in jedem Projekt herstellen lässt. Von anderen Initiativen unterscheiden wir uns also schon einmal durch unseren Fokus.</p>
<p>Darüber hinaus legen wir Wert auf die Didaktik. Denn der schönste Fokus nützt nichts, wenn sich das Ziel nicht erreichen lässt. Clean Code Developer unterscheidet sich unserer Meinung nach daher von anderen Initiativen durch sein Stufenkonzept. Wir haben den „Lernstoff“ von vornherein eingeteilt, sodass ein klarer Weg hindurch sichtbar ist. Wir holen die Entwickler bei ihrer Überlastung ab und zeigen ihnen, wie sie in kleinen Schritten – definiert in den CCD-Graden – zu einer Veränderung ihrer Haltung und damit zu höherer Codequalität kommen.</p></blockquote>
<p>Es bleibt abzuwarten, ob und wie sich CCD weiter entwickeln wird. Zumindest dort wo heute bereits mit agilen Methoden, d.h. sehr am einzelnen Entwickler orientiert gearbeitet wird, dürften CCD-Ansätze eine weitere methodische Ergänzung darstellen.</p>
<p>Insbesondere aber wer die Entwicklung von Software neu erlernt oder Entwicklungsprojekte häufiger auf Codeebene zu prüfen hat, täte gut daran sich mit den Überlegungen des Clean Code Development zu befassen.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Clean Code Development – ein Weg zu besserer Software?]]></title>
<link>http://itsicherheit.wordpress.com/2009/08/14/clean-code-development-%e2%80%93-ein-weg-zu-besserer-software/</link>
<pubDate>Fri, 14 Aug 2009 16:57:50 +0000</pubDate>
<dc:creator>Guido Strunck</dc:creator>
<guid>http://itsicherheit.wordpress.com/2009/08/14/clean-code-development-%e2%80%93-ein-weg-zu-besserer-software/</guid>
<description><![CDATA[Software besser zu machen, d.h. insbesondere ihre Qualität, Zuverlässigkeit, Fehlerfreiheit und Sich]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Software besser zu machen, d.h. insbesondere ihre Qualität, Zuverlässigkeit, Fehlerfreiheit und Sicherheit zu steigern, ist mittlerweile ein Trendthema geworden. Bislang ging man dabei den Weg, über Vorgehens- und Reifegradmodelle zur Softwareentwicklung  den Entwicklungsprozess zu verbessern. Softwareentwicklung also zunehmend durch Standardisierung zur Ingenieursdisziplin (Engineering) zu machen. In dieselbe Richtung gehen auch agile Methoden wie SCRUM oder XP, die auf die Verbesserung der Projekt- und Arbeitsorganisation der Softwareentwicklung abzielen.</p>
<p>Mit <a href="http://www.clean-code-developer.de/">Clean Code Development (CCD)</a> wurde zum Jahresanfang nun eine Initiative gestartet, die auf das eigentliche Herzstück der Softwareentwicklung abzielt: den Softwareentwickler.</p>
<p>Basierend auf den Arbeiten von Robert C. Martin, die dieser in seinem Buch „Clean Code“ veröffentlichte, befasst sich CCD mit Praktiken wie Codeoptimierung (Refactoring), Entwurfsmuster (Patterns) sowie Testen und Techniken zur Erstellung sauberen Quellcodes. Sozusagen die Rückführung der Softwareentwicklung auf gute handwerkliche Arbeit, durch die sich der Profi vom Amateur und Bastler unterscheidet.</p>
<p>Für Code als Quelltext und strukturiertem Ausdruck der Funktionalität sowie als kleinsten gemeinsamen Nenner zwischen Softwareentwicklern aller Art beschreibt Clean Code eine Menge von Prinzipien und Best Practices als kleinsten gemeinsamen Nenner.</p>
<p>Dazu gehört u.a. ein aus Prinzipien und Praktiken guter handwerklicher Arbeit bestehendes <a href="http://www.clean-code-developer.de/wiki/CcdWertesystem">CDD-Wertesystem</a>. Sowie eine Einteilung in <a href="http://www.clean-code-developer.de/wiki/CcdGrade">aufeinander aufbauender Grade fortschreitender Professionalisierung</a>, die sich mit Themen wie Automatisierung von Abläufen, Testen, Testautomation, projektbegleitende Qualitätssicherung sowie Steigerung der Produktivität als Entwickler auseinandersetzen.</p>
<p><a href="http://www.heise.de/developer/artikel/print/143437">Ralf Westphal, Mitbegründer der „Clean Code Development“-Initiative in einem Interview mit Heise Developer</a>:</p>
<blockquote><p>Mir ging es darum, Unternehmen bewusst zu machen, wie viel Geld sie mit schlechter Softwarequalität „verbrennen“ – selbst wenn die Umsätze sie irgendwie gerade noch tragen. Die Idee stieß bei Stefan auf offene Ohren, und so sahen wir das Buch &#8220;Clean Code&#8221; als pragmatischen Ausgangspunkt für mehr Bewusstsein hinsichtlich innerer Softwarequalität. Denn um die geht es uns. Wir machen keine Aussage zu äußerer Qualität, die zum Beispiel mit Funktionen, Usability oder Skalierbarkeit zu tun hat. Uns geht es um Wartbarkeit – auch wenn wir den Begriff unglücklich finden. Sehr viele Projekte stecken in einem Wartungsalbtraum. Aus dem wollen wir sie wecken. Andere Projekte bewegen sich darauf zu. Denen wollen wir zeigen, dass der Albtraum vermeidbar ist.</p></blockquote>
<p>Dort weist er auch auf die Lücken bisheriger Ansätze zur Qualitätssicherung in der Softwareentwicklung hin:</p>
<blockquote><p>Schließlich ist Softwarequalität das Thema von Verbänden und Normen. Da kann man sich ISO-zertifizieren lassen oder sich auf ein CMMI-Level heben. Das ist alles schön und gut. Nur sehen wir nicht, dass diese Initiativen auf breiter Front Erfolg haben. Der Entwickler einer Branchensoftware in einem 5-Mann-Team hat davon sogar wahrscheinlich nicht einmal gehört. Ganz zu schweigen davon, dass seine kleine Softwareschmiede eine Zertifizierung wegen der hohen Kosten nicht durchlaufen würde. Die „große“, „formale“, „offizielle“ Softwarequalität lässt also eine sehr große Zahl von Projekten außen vor, weil sie bürokratisch und teuer ist.</p>
<p>Mit Clean Code Developer wollten wir daher eine Lücke schließen, die wir in unserer Arbeit in vielen Projekten gesehen haben. Es geht uns „nur“ um eine ganz pragmatische und vor allem innere Softwarequalität, die sich mit etwas gutem Willen und ein paar Werkzeugen in jedem Projekt herstellen lässt. Von anderen Initiativen unterscheiden wir uns also schon einmal durch unseren Fokus.</p>
<p>Darüber hinaus legen wir Wert auf die Didaktik. Denn der schönste Fokus nützt nichts, wenn sich das Ziel nicht erreichen lässt. Clean Code Developer unterscheidet sich unserer Meinung nach daher von anderen Initiativen durch sein Stufenkonzept. Wir haben den „Lernstoff“ von vornherein eingeteilt, sodass ein klarer Weg hindurch sichtbar ist. Wir holen die Entwickler bei ihrer Überlastung ab und zeigen ihnen, wie sie in kleinen Schritten – definiert in den CCD-Graden – zu einer Veränderung ihrer Haltung und damit zu höherer Codequalität kommen.</p></blockquote>
<p>Es bleibt abzuwarten, ob und wie sich CCD weiter entwickeln wird. Zumindest dort wo heute bereits mit agilen Methoden, d.h. sehr am einzelnen Entwickler orientiert gearbeitet wird, dürften CCD-Ansätze eine weitere methodische Ergänzung darstellen.</p>
<p>Insbesondere aber wer die Entwicklung von Software neu erlernt oder Entwicklungsprojekte häufiger auf Codeebene zu prüfen hat, täte gut daran sich mit den Überlegungen des Clean Code Development zu befassen.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Burn Baby Burn....]]></title>
<link>http://bastardadmin.wordpress.com/2009/07/23/burn-baby-burn/</link>
<pubDate>Thu, 23 Jul 2009 15:03:52 +0000</pubDate>
<dc:creator>Jürgen</dc:creator>
<guid>http://bastardadmin.wordpress.com/2009/07/23/burn-baby-burn/</guid>
<description><![CDATA[Zum 40. Jahrestag der ersten bemannten Mondlandung wurde nun auf Google Code der Quellcode der damal]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Zum 40. Jahrestag der ersten bemannten Mondlandung wurde nun auf <a href="http://googlecode.blogspot.com/2009/07/apollo-11-missions-40th-anniversary-one.html" target="_blank">Google Code der Quellcode</a> der damals benutzten Steuerungs-Software veröffentlicht &#8211; und zwar mitsamt der orignalen Kommentare&#8230;<br />
Es gibt die Quellcodes für die <a href="http://code.google.com/p/virtualagc/source/browse/trunk/Comanche055/" target="_blank">Saturn V </a>und für die <a href="http://code.google.com/p/virtualagc/source/browse/trunk/Luminary099/" target="_blank">Landefähre Eagle</a>.</p>
<p>Und dass die Programmierer damals (wie heute) immer für ein wenig Spaß gut sind, zeigt der Name der Startroutine für die Eagle:</p>
<h3><a href="http://code.google.com/p/virtualagc/source/browse/trunk/Luminary099/BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.agc" target="_blank"><span>BURN_BABY_BURN&#8211;MASTER_IGNITION_ROUTINE.agc</span></a></h3>
<h3><span> </span></h3>
<pre><span>
</span></pre>
<p><a href="http://www.heise.de/newsticker/Mondlandung-fuer-jedermann-Apollo-11-Code-veroeffentlicht--/meldung/142490" target="_blank">Zum Heise-Artikel</a></p>
<p>Auch wenn <a href="http://lotharf.wordpress.com/2009/07/21/prasident-kennedy-war-schuld/" target="_blank">die Konstruktionspläne weg sein sollten</a>&#8230;  der Quellcode ist im <a href="http://web.mit.edu/museum/about/pr/2009/lunar.html" target="_blank">MIT-Museum</a> zu finden.</p>
<p>Nein, ich werte das nicht &#8211; <a href="http://de.wikipedia.org/wiki/Mondlandungsl%C3%BCge" target="_blank">Verschwörungstheorien</a> und <a href="http://www.mondlandung.pcdl.de/" target="_blank">Beweise</a> hin oder her <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/RMINSD7MmT4&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' /><param name='allowfullscreen' value='true' /><param name='wmode' value='transparent' /><embed src='http://www.youtube.com/v/RMINSD7MmT4&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;hd=0' type='application/x-shockwave-flash' allowfullscreen='true' width='425' height='350' wmode='transparent'></embed></object></span></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Facebook verklagt StudiVZ - "StudiVZ nur eine Kopie"]]></title>
<link>http://svzkritik.wordpress.com/2009/04/29/facebook-verklagt-studivz-facebook-studivz-nur-eine-kopie/</link>
<pubDate>Wed, 29 Apr 2009 16:14:37 +0000</pubDate>
<dc:creator>fabi93</dc:creator>
<guid>http://svzkritik.wordpress.com/2009/04/29/facebook-verklagt-studivz-facebook-studivz-nur-eine-kopie/</guid>
<description><![CDATA[Der deutsche Ableger von facebook.com hat seinen Konkurrenten StudiVZ, und damit auch SchülerVZ, ver]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Der deutsche Ableger von facebook.com hat seinen Konkurrenten StudiVZ, und damit auch SchülerVZ, verklagt.</p>
<p>Grund für die Anklage ist die Tatsache, dass StudiVZ Logo, Features und den Service von facebook kopiert und übernommen haben soll. Vorallem aber geht es um die Features, die laut facebook geistiges Gut sein. Desweitern habe StudiVZ auf verbotene Weise Zugriff auf das facebook-Computersystem gehabt haben, unteranderem auch auf den Quellcode.</p>
<p>Die Gemeinsamkeiten sind kaum zu übersehen, von dem Design über die &#8220;Pinnwand&#8221; bis zur &#8220;Freundefunktion&#8221; haben die beiden Portale viel Gemeinsamkeiten. Bleibt natürlich die Frage, ob das Huhn oder das Ei zuerst da war.  In diesem Fall ist es wohl eindeutig: facebook ging bereits im Februar 2004 online, StudiVZ erst im November 2005&#8230;</p>
<ul></ul>
<p>Quelle: <a href="http://www.spiegel.de/wirtschaft/0,1518,621814,00.html">SPIEGEL ONLINE</a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[[Tool] Treiber sammeln]]></title>
<link>http://keinezeit.wordpress.com/2009/04/29/tool-treiber-sammeln/</link>
<pubDate>Wed, 29 Apr 2009 13:23:03 +0000</pubDate>
<dc:creator>luckyluke09</dc:creator>
<guid>http://keinezeit.wordpress.com/2009/04/29/tool-treiber-sammeln/</guid>
<description><![CDATA[Besitzen Sie auch zig Treiber-CDs mit jede Menge Treibern, die nur wenige Megabyte groß sind? Besitz]]></description>
<content:encoded><![CDATA[Besitzen Sie auch zig Treiber-CDs mit jede Menge Treibern, die nur wenige Megabyte groß sind? Besitz]]></content:encoded>
</item>
<item>
<title><![CDATA[Die ersten Zeilen stehen und das Panorama "ist fett"]]></title>
<link>http://gmansion2.wordpress.com/2009/04/15/die-ersten-zeilen-stehen-und-das-panorama-ist-fett/</link>
<pubDate>Wed, 15 Apr 2009 14:43:42 +0000</pubDate>
<dc:creator>kamphausen</dc:creator>
<guid>http://gmansion2.wordpress.com/2009/04/15/die-ersten-zeilen-stehen-und-das-panorama-ist-fett/</guid>
<description><![CDATA[Sorry das ich in den letzten Tagen nicht zum posten neuer Artikel gekommen bin. Fakt ist aber, dass ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sorry das ich in den letzten Tagen nicht zum posten neuer Artikel gekommen bin. Fakt ist aber, dass ich gerade gewaltig viel Arbeit habe.</p>
<p>Nein: Ich spreche hier nicht von meinem Studium und</p>
<p>Ja: Ich meine Giga Mansion 2!</p>
<p>Endlich haben wir genug Material, um mit der Programmierung anzufangen. Ihr glaubt nicht, wie aufregend das sein kann! Zeitweise habe ich mich wie ein richtiger Spiel-Entwickler gefühlt, und ich muss sagen: es hat mir gefallen! Aber fangen wir erstmal ganz am Anfang an.</p>
<p><strong>Wie läuft das mit der Programmierung überhaupt ab?</strong></p>
<p>Als erstes muss ich hier Kollege Henning meinen Dank aussprechen (ja mal wieder!). Er steuert ja nicht nur seine Engine bei, sondern auch noch den Szeneneditor &#8220;Atlantis&#8221;. Mit dessen Hilfe kann ich die Grafiken von Guido nehmen und eine so genannte Szenerie erstellen. Dazu gehören der Hintergrund, verschiedene Grafiken und Images für (animierte) Entitäten im Vordergrund, sowie eine Polygon- und Pointerstruktur, um die Geometrie der Szene zu beschreiben. All diese Elemente kann ich in Atlantis, mit nur ein paar Mausklicks, zu einer Gesamtkomposition verbinden. Gerne würde ich euch an dieser Stelle einen Screenshot präsentieren, aber das muss ich auf Sonntag verschieben, da mir noch die Erlaubnis des Teams fehlt.</p>
<p>Dafür kann ich euch als Programmierer einen Auszug aus den ersten Zeilen Quellcode zeigen. Insgesamt sind es bereits weit über 700 Zeilen, die wir zusammen haben. Als guter Entwickler weiß man zwar, das diese Zahl überhaupt nichts bedeutet, aber es soll euch die minimalistische Größe dieses Ausschnittes verdeutlichen.</p>
<pre><em>class Halo : SceneEntity {

    Halo_Panorama haloScene;

    this(char[] actiontext,Halo_Panorama scene){
        super(actiontext);
        defaultAction_ = g_actions.lookAction;
        this.haloScene = scene;
    }

    override ActionState executeAction(Action action, ActionTarget[] otherTargets){
        if(action is philboy.g_actions.lookAction) {
            haloScene.center(haloScene.atlantis.halo_center_point);
            SceneEntity.mainCharacter.sayPause(1000);
            SceneEntity.mainCharacter.say("WOOOOOOOW! Fettes Panorama");
            haloScene.center(SceneEntity.mainCharacter.position);
            return ActionState.HANDLED;
        }
        return ActionState.UNHANDLED;
    }
}</em></pre>
<p>Was will uns der Autor mit diesem Text sagen? Nun in erster Linie will er nicht mit euch sprechen, sondern mit eurem Rechner! Abgesehen davon scheint es sich hier um eine Entität zu handeln. Wir sehen also nicht die Klasse einer kompletten Szenerie, aber wir sehen ein Element. Welches Element? Nun&#8230; sagen wir einfach: die Weitsicht ist fantastisch <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ich hoffe ich konnte euer Interesse wecken. Am Sonntag wird es spannend, also unbedingt am Ball bleiben.</p>
<p>Bis dahin noch viel Spaß</p>
<p>Euer GM2-Team</p>
<p>mit Benjamin <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Delphi]]></title>
<link>http://pccomputer.wordpress.com/2009/03/30/delphi/</link>
<pubDate>Mon, 30 Mar 2009 01:41:26 +0000</pubDate>
<dc:creator>pccomputer</dc:creator>
<guid>http://pccomputer.wordpress.com/2009/03/30/delphi/</guid>
<description><![CDATA[Eine der wichtigsten Programme, die ich auf mein PC habe ist sicher Delphi Programmiersprache. Ich h]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Eine der wichtigsten Programme, die ich auf mein PC habe ist sicher Delphi Programmiersprache. Ich habe arbeite mit Delphi schon lange, ungefähr fünf Jahren. Grund warum ich Delphi ausgewählt habe für meine Programmiersprache für Win32 Umgebung ist das ich schon in Gymnasium mit Pascal programmiert habe und ich habe mich auf diese Programmiersprache so angewöhnt, dass es kein Sinn machte das zu wechseln und damit auch viele Kenntnisse verlieren, die ich in Pascal gewonnen habe und dann in Delphi mitnehmen konnte. Deshalb programmiere ich jetzt schon lange Zeit in Delphi, obwohl die Sprache nicht sehr verbreitet, zumindest nicht so sehr wie die Konkurrenz.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Vertikale CSS Navigation mit Tooltip - CSS Vertical Navigation with Teaser]]></title>
<link>http://sura1.wordpress.com/2009/03/26/vertikale-css-navigation-mit-tooltip-css-vertical-navigation-with-teaser/</link>
<pubDate>Thu, 26 Mar 2009 21:22:27 +0000</pubDate>
<dc:creator>sura1</dc:creator>
<guid>http://sura1.wordpress.com/2009/03/26/vertikale-css-navigation-mit-tooltip-css-vertical-navigation-with-teaser/</guid>
<description><![CDATA[Vertikale CSS Navigation mit Tooltips &#8211; CSS Vertical Navigation with Teaser Die Technik, in ei]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><div style="background-color:#669900;padding:30px;">
<div style="background-color:#efefef;padding:20px;"><img class="alignnone size-full wp-image-11323" style="border:0 none;" title="silver26" src="http://sura1.wordpress.com/files/2009/03/silver26.png" alt="silver26" width="128" height="128" /><br />
<a title="Bookmark and Share" href="http://www.addthis.com/bookmark.php" target="_blank"><img style="border:0 none;" src="http://s9.addthis.com/button1-addthis.gif" border="0" alt="Bookmark and Share" width="125" height="16" /></a></p>
<h2><em><span style="color:#008000;font-size:25px;font-family:Georgia;"><strong>Vertikale CSS Navigation mit Tooltips &#8211; CSS Vertical Navigation with Teaser</strong></span></em></h2>
<p><span style="color:#000000;"><strong>Die Technik, in eine vertikale CSS-Navigation eine Infobox (Tooltip, Teaser) einzubauen, erlaubt Ihnen auf einfache Art und Weise, nähere Informationen zu den jeweiligen Menüpunkten anzuzeigen.</strong></span></p>
<h2 style="text-align:center;"><span style="color:#008000;"><strong>Fertiges Beispiel ansehen [<span style="color:#000000;">Grafik anklicken!</span>]</strong></span></h2>
<p style="text-align:center;"><a href="http://sura1.at/vert_nav_teaser/blue.html" target="_blank"><img class="alignnone size-full wp-image-11333" src="http://sura1.wordpress.com/files/2009/03/vert_nav_teaser_blue.jpg" alt="vert_nav_teaser_blue" width="229" height="374" /></a></p>
<h2 style="text-align:center;"><em><span style="color:#008000;font-size:30px;font-family:Georgia;"><strong>HTML:</strong></span></em></h2>
<p><span style="color:#000000;"><strong>Ich starte im Quellcode mit einer einfachen ungeordneten Liste. In die &#60;li&#62;-Tags werden    Hyperlinks eingebaut und innerhalb dieser werden &#60;span&#62;-Tags eingefügt. Im Beispiel-Code sind nur die ersten 3 Punkte der vertikalen Navigation angeführt.</strong></span></p>
<pre style="border:2px solid #669900;font-size:12px;color:#000;font-family:Verdana;background-color:#dfdfdf;padding:5px;">&#60;ul class="sidenav"&#62;
        &#60;li&#62;
                &#60;a href="#"&#62;Home
                &#60;span&#62;Blandit turpis patria euismod at iaceo appellatio,
                             demoveo esse. Tation utrum utrum abigo demoveo immitto
                             aliquam sino aliquip.
                &#60;/span&#62;
                &#60;/a&#62;
        &#60;/li&#62;
        &#60;li&#62;
                &#60;a href="#"&#62;Blog
                &#60;span&#62;Blandit turpis patria euismod at iaceo appellatio,
                             demoveo esse. Tation utrum utrum abigo demoveo immitto
                             aliquam sino aliquip.
                &#60;/span&#62;
                &#60;/a&#62;
        &#60;/li&#62;
        &#60;li&#62;
                &#60;a href="#"&#62;Tutorials
                &#60;span&#62;Blandit turpis patria euismod at iaceo appellatio,
                             demoveo esse. Tation utrum utrum abigo demoveo immitto
                             aliquam sino aliquip.
                &#60;/span&#62;
                &#60;/a&#62;
        &#60;/li&#62;
&#60;/ul&#62;</pre>
<h2 style="text-align:center;"><em><span style="color:#008000;font-size:30px;font-family:Georgia;"><strong>CSS:</strong></span></em></h2>
<p style="text-align:center;"><span style="color:#000000;"><strong>Zuerst werden die Listenelemente für die vertikale Navigation formatiert </strong></span></p>
<pre style="border:2px solid #669900;font-size:12px;color:#000;font-family:Verdana;background-color:#dfdfdf;padding:5px;">ul.sidenav {
        font-size: 1.2em;
        float: left;
        width: 200px;
        margin: 0;
        padding: 0;
        list-style: none;
        background: #005094;
        border-bottom: 1px solid #3373a9;
        border-top: 1px solid #003867;
}
ul.sidenav li a {
        display: block;
        color: #fff;
        text-decoration: none;
        width: 155px;
        padding: 10px 10px 10px 35px;
        background: url(sidenav_a.gif) no-repeat 5px 7px;
        border-top: 1px solid #3373a9;
        border-bottom: 1px solid #003867;
}</pre>
<p><span style="color:#008000;"><strong>Zwischenergebnis: <span style="color:#000000;">Vertikale Navigation</span></strong></span></p>
<p><img class="alignnone size-full wp-image-11341" title="vert_nav_blue" src="http://sura1.wordpress.com/files/2009/03/vert_nav_blue1.jpg" alt="vert_nav_blue1" width="224" height="127" /></p>
<p><span style="color:#000000;"><strong>Als nächstes wird der hide/show-Effekt hinzugefügt. Wenn Sie danach mit der Maus über die Hpyerlinks fahren, bewirkt der hover-Effekt das Öffnen der Infobox mit den zusätzlichen Infos.</strong></span></p>
<pre style="border:2px solid #669900;font-size:12px;color:#000;font-family:Verdana;background-color:#dfdfdf;padding:5px;">ul.sidenav li a:hover {
        background: #003867 url(sidenav_a.gif) no-repeat 5px 7px;
        border-top: 1px solid #1a4c76;
}
ul.sidenav li span{     display: none; }
ul.sidenav li a:hover span {
        display: block;
        font-size: 0.8em;
        padding: 10px 0;
}</pre>
<p><span style="color:#000000;"><strong><span style="color:#008000;">Ergebnis:</span> Vertikale Navigation mit Tooltip/Teaser</strong></span></p>
<p><img class="alignnone size-full wp-image-11333" title="vert_nav_teaser_blue" src="http://sura1.wordpress.com/files/2009/03/vert_nav_teaser_blue.jpg" alt="vert_nav_teaser_blue" width="229" height="374" /></p>
<h2><span style="color:#008000;"><strong>Abschließende Bemerkung:</strong></span></h2>
<p><span style="color:#000000;"><strong>Sie können die oben beschriebene Technik nicht nur in einer vertikalen Navigation, sondern nach entsprechender Modifikation auch in allen anderen Elementen Ihrer Webseite einsetzen (z.B.: Links im Fließtext, Überschriften, Profile etc.).</strong></span></p>
<h3><span style="color:#000000;"><strong>Zusätzlich zum Original  habe ich auch eine Variante in grüner Farbe erstellt.</strong></span></h3>
<h2><span style="color:#000000;"><strong><span style="color:#0000ff;">Variante 1 (blau)</span> und <span style="color:#008000;">Variante 2 (grün)</span> ansehen [Grafik anklicken!]</strong></span></h2>
<pre style="border:2px solid #669900;width:340px;font-size:12px;color:#000000;font-family:Verdana;background-color:#dfdfdf;padding:5px;"><a href="http://sura1.at/vert_nav_teaser/blue.html" target="_blank"><img class="alignnone size-full wp-image-11342" style="border:0 none;" title="http://sura1.at/vert_nav_teaser/blue.html" src="http://sura1.wordpress.com/files/2009/03/vertnav_teaser_blue.jpg" alt="vertnav_teaser_blue" width="150" height="118" /></a><a href="http://sura1.at/vert_nav_teaser/green.html" target="_blank"><img class="alignnone size-full wp-image-11343" style="border:0 none;" title="http://sura1.at/vert_nav_teaser/green.html" src="http://sura1.wordpress.com/files/2009/03/vertnav_teaser_green.jpg" alt="vertnav_teaser_green" width="150" height="118" /></a></pre>
<h2><span style="color:#000000;"><strong>Beide Beispiele zusammen als <span style="color:#008000;">*Zip-Datei (7,5KB)</span> downloaden [Grafik anklicken!]</strong></span></h2>
<pre style="border:2px solid #669900;width:323px;font-size:12px;color:#000000;font-family:Verdana;background-color:#dfdfdf;padding:5px;"><a href="http://cid-4961f4e8bffc2861.skydrive.live.com/self.aspx/%c3%96ffentlich/vert%7C_nav%7C_teaser.zip" target="_blank"><img class="alignnone size-full wp-image-11350" style="border:0 none;" src="http://sura1.wordpress.com/files/2009/03/vertnav_teaser_green1-horz.jpg" alt="vertnav_teaser_green1-horz" width="303" height="118" /></a></pre>
<div style="border:2px solid #690;background-color:#dedede;padding:10px;">
<h2><span style="color:#008000;"><strong>Zum Originalartikel [bitte Grafik anklicken!]</strong></span></h2>
<p><a href="http://www.sohtanaka.com/web-design/css-vertical-navigation-with-teaser/" target="_blank"><img class="alignnone size-full wp-image-11354" style="border:0 none;" title="http://www.sohtanaka.com/" src="http://sura1.wordpress.com/files/2009/03/sohtanka.png" alt="sohtanka" width="356" height="184" /></a></div>
<h3><span style="color:#008000;"><span style="text-decoration:underline;"><strong>Ähnliche Artikel:</strong></span></span></h3>
<p><a href="../2008/07/27/css-tooltips-erstellen-ballon-quickinfosballoon-pop-ups/">CSS Tooltips erstellen: Ballon-Quickinfos / ballon pop-ups</a><br />
<a href="../2008/11/11/css-tricks-css-tooltip-erstellen/">CSS-Tricks: CSS Tooltip erstellen</a><br />
<a href="../2008/07/24/css-tooltips-infoboxen-uber-html-elementen-erstellen/">CSS-Tooltips erstellen: Infoboxen über HTML-Elementen / Teil 1</a><br />
<a href="../2008/07/25/css-tooltips-erstellen-infoboxen-uber-html-elementen-teil-2/">CSS-Tooltips erstellen: Infoboxen über HTML-Elementen / Teil 2</a><br />
<a href="../2008/11/15/super-simple-css-bars-%E2%80%93-diagramme-mit-css-erstellen/">Super simple css bars &#8211;  einfache Diagramme mit CSS erstellen</a><br />
<a href="../2008/12/19/pure-css-animated-progress-bar-%E2%80%93-animierter-fortschrittsbalken/">Pure CSS Animated Progress Bar &#8211; Animierter Fortschrittsbalken</a><br />
<a href="../2008/08/13/formatierung-von-uberschriften-mit-css/">Formatierung von Überschriften mit CSS</a><br />
<a href="../2008/08/20/css-ubung-initial-gestalten-dropcap/">CSS-Übung: Initial gestalten (DropCap)</a><br />
<a href="../2008/09/02/css-liste-mit-grafischen-aufzahlungszeichen/">CSS-Liste mit grafischen Aufzählungszeichen</a><br />
<a href="../2008/09/03/css-listen-mit-sonderzeichen/">CSS-Listen mit Sonderzeichen</a></div>
</div>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Warum ich Linux benutze]]></title>
<link>http://tomswochenschau.wordpress.com/2009/02/11/warum-ich-linux-benutzte/</link>
<pubDate>Wed, 11 Feb 2009 12:34:55 +0000</pubDate>
<dc:creator>tom</dc:creator>
<guid>http://tomswochenschau.wordpress.com/2009/02/11/warum-ich-linux-benutzte/</guid>
<description><![CDATA[Linux würde ich aus ideologischen Gründen selbst dann verwenden, wenn es das schlechteste der drei b]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-full wp-image-3054" title="tux_blogparade" src="http://tomswochenschau.wordpress.com/files/2009/02/tux_blogparade.png" alt="tux_blogparade" width="120" height="146" style="border:none;" /><span style="font-size:1.5em;">L</span>inux würde ich aus ideologischen Gründen selbst dann verwenden, wenn es das schlechteste der drei bekanntesten Betriebssysteme wäre, was aber wahrlich nicht der Fall ist. Würde man die OpenSource-Philosophie auf die gesamte globale Gesellschaft übertragen, wäre dieser unser Planet garantiert ein besserer Ort. Die Linux-Community hat großartiges geleistet. Sie hat bewiesen, dass man mit nichtkommerziellen Gemeinschaftssinn genauso viel und mehr leisten kann, als mit &#8220;geiz-ist-geil&#8221; und Shareholder Value. Frei bedeutet hier nicht Freibier, sondern <strong>Freiheit</strong>, die totale Kontrolle über Betriebssystem und Rechner, anstatt Hardwareeenteignung. Dank des offenen Quellcodes kann jeder sich sein eigenes individuelles Linux zusammenschrauben. Linux ist dezentral, kann niemals zum Monopol-Moloch anschwellen,  weil die GPL-Lizenz dafür sorgt, dass der Quellcode offen bleibt. Dadurch kann jeder Programmierer auf erarbeitetes Wissen aufbauen und weiterentwickeln.<br />
<!--more--><br />
Dem <a href="http://janeijking.kilu.de/blog/2009/02/08/blogparade-warum-nutzen-sie-linux/">Initiator</a> dieser Blogparade muss ich trotz des guten Themas, die gelbe oder noch besser die gelbrote Karte zeigen und zwar wegen diesem Satz:</p>
<blockquote><p>
Sie sind Linux-User? Gut, aber warum haben Sie sich für das freie, kostenlose <u>aber leider auch aufwändiger zu bedienendere Betriebssystem (im Gegensatz zu Windows oder Mac OS X)</u> entschieden?
</p></blockquote>
<p>Einspruch! Ubuntu kann sogar ein besoffenes halbblindes Huhn installieren, wenn man ihm 5 Körner auf die linke Maustaste legt. Davon abgesehen, ist Linux für mich ebenso einfach oder schwer bedienbar, wie das System aus Redmond, man muss nur die Windows-Schiene verlassen und umdenken. Ich bin beileibe kein Nerd, sondern ein ganz gewöhnlicher User. Wenn ich mit dem Pinguin klarkomme schafft das jeder! Linux verfügt über komfortable Benutzeroberflächen, die Zeiten, wo man ständig krytische Befehle in die Shell eintippen musste, sind längst vorbei.</p>
<p>Das freie Betriebssystem ist sicherer. In 3 Monaten Windows war meine Festplatte voller elektronischer Ungeziefer und Quälgeister, in 6 Jahren Linux dagegen, sind mir solche Probleme gänzlich unbekannt geblieben. Ich brauche auch kein saudämliches Antivirenprogramm, welches mich ständig nervt und meinen Rechner unnötig ausbremst.</p>
<p>Linux ist weniger ressourcenhungrig, während beispielsweise ein Vista brutalste Hardwareanforderungen stellt. Die aktuellsten Linux-Distributionen dagegen machen selbst älteren Rechnern noch Beine, inklusive Desktopeffekte und 3D-Graphik! </p>
<p>Überragend ist auch die Hülle und Fülle an Software, welche die meisten Linux-Distributionen schon bei der Grundinstallation mitbringen. Um bei Windows die gleiche Vielfalt an Programmen auf die Platte zu bringen, musst Du Dir erst stundenlang den Arsch abinstallieren. Dass das OpenSource-Betriebssystem im Preis-Leistungsverhältnis unschlagbar ist, braucht eigentlich nicht erwähnt zu werden, da es kostenlos zu Verfügung steht. Diese Tatsache ist aber kein Hauptargument Pro-Linux für mich, ich würde auch dafür zahlen. Für die SUSE 10.0-Box inklusive Hanbuch und Installationssupport habe ich schonmal 49 Euro bezahlt&#8230;</p>
<p>Das waren die Argumente, die mir recht spontan zugunsten von Linux einfielen, kaum ein Grund spricht aus meiner Sicht für die Benutzung von Windows oder einem MAC.<br />
<u>Noch ein paar Zeilen zur &#8220;Konkurrenz&#8221;:</u><br />
Microsoft hat seine quasi Monoplstellung oftmals zur politischen Einflussnahme missbraucht. Ich mag die Unternehmensphilosophie der Redmonder nicht, bin froh von denen nicht abhängig zu sein. Auch Apple fährt die Strategie, mit proprietärer Software, eine möglichst starke Kundenbindung zu erreichen. Gleichzeitig schafft man erfolgreiche &#8220;Kultmarken&#8221; wie z.B. das iPhone oder den iPod. Ich denke, wenn ich versuchen würde, das iPöttchen mit Linux zu betreiben, wäre ich ganz schön am iArsch. Warum kann man nicht jeden mobilen Musikplayer, wie eine externe Festplatte oder einen ordinären USB-Stick einbinden? Welch eine Technikverhinderung,&#8230; </p>
<p>Wer Freiheit und Entfaltung liebt, diese Ideologie lebt, müsste folglich Linux-User sein <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Vim plugin Align]]></title>
<link>http://codecocktail.wordpress.com/2009/02/01/vim-plugin-align/</link>
<pubDate>Sat, 31 Jan 2009 22:53:30 +0000</pubDate>
<dc:creator>Thomas</dc:creator>
<guid>http://codecocktail.wordpress.com/2009/02/01/vim-plugin-align/</guid>
<description><![CDATA[Will man strukturierten Programmcode erstellen, kann man zum Beispiel Variablendefinitionen am Gleic]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Will man strukturierten Programmcode erstellen, kann man zum Beispiel Variablendefinitionen am Gleichheitszeichen ausrichten, oder Kommentare einheitlich in der gleichen Spalte beginnen.</p>
<p>Zum Beispiel statt:</p>
<p>i = 0; /*Zählervariable*/</p>
<p>blubb = 5; /* bla */</p>
<p>so:</p>
<p>i          = 0;      /* Zählervariable */</p>
<p>blubb = 556; /* bla                      */</p>
<p>Damit man das nicht per Hand machen muss, gibt es für vim-User (ja, crackpod, für dich nicht =P) ein Plugin namens &#8220;Align&#8221; mit dem man den Code nach belieben ausrichten kann, mit nur wenigen Tastendrücken. Dazu makiert man einfach im visuellen Modus den Block, auf den man die Änderung anwenden möchte und tippt dann z.B. &#8216;\t=&#8217;, um die Definitionen am Gleichheitszeichen auszurichten. Danach kann man noch mit &#8216;\acom&#8217;, die Kommentare ausrichten. Nahezu genial.</p>
<p>Das Plugin, zusammen mit einer Installationsanleitung und weiteren Beispielen für die Benutzung, findet man <a title="Vim Plugin Align" href="http://www.vim.org/scripts/script.php?script_id=294" target="_blank">hier</a>.</p>
<p>Darauf gestoßen, bin ich in diesem <a title="Vim-Kurzanleitung" href="http://lug.fh-swf.de/vim/vim-kurzanleitung.ps.gz" target="_self">PDF-Dokument</a>, einer Kurzanleitung zum Programmieren in vim, mit vielen nützlichen Tipps.</p>
</div>]]></content:encoded>
</item>

</channel>
</rss>
