<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux @ Home &#187; opensource</title>
	<atom:link href="http://www.linuxhome.ch/category/opensource/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.linuxhome.ch</link>
	<description>Pinguine, Politik undsoweiter...</description>
	<lastBuildDate>Thu, 29 Jul 2010 22:14:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=2356</generator>
		<item>
		<title>KDE 4.4.0 ist da: ein erster und ein zweiter Blick&#8230;</title>
		<link>http://www.linuxhome.ch/linux/kde-4-4-0-ist-da-ein-erster-blick/</link>
		<comments>http://www.linuxhome.ch/linux/kde-4-4-0-ist-da-ein-erster-blick/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 17:22:22 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.linuxhome.ch/?p=610</guid>
		<description><![CDATA[Kaum wurde KDE SC 4.4.0 (SC steht für Software Compilation, seit ein paar Wochen nennt sich KDE so, weil es doch langsam viele Software aus dem Projekt gibt) und schon stehen für Fedora 12 die Pakete bereit. Natürlich rechnete ich mit Kinderkrankheiten, denn ein KDE 4-Release war noch nie &#8220;Produktionsreif&#8221; sondern eigentlich immer Beta. Das [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=d6b1294fe73eea0bc9dc84a732e5e880&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Kaum wurde KDE SC 4.4.0 (SC steht für Software Compilation, seit ein paar Wochen nennt sich KDE so, weil es doch langsam viele Software aus dem Projekt gibt) und schon stehen für Fedora 12 die Pakete bereit. Natürlich rechnete ich mit Kinderkrankheiten, denn ein KDE 4-Release war noch nie &#8220;Produktionsreif&#8221; sondern eigentlich immer Beta. Das ist nun mal so, wen das stört, der soll doch testen und helfen, damit sich das ändert.</p>
<p>Auf jeden Fall wurde KDE schlanker, was die Fensterdekoration angeht. Es gibt einen Formfaktor-Umschalter, der bei mir aber zuerst einmal den kwin-Prozess abstürzen liess.  Ein Erlebnis, welches sich unter verschiedensten Umständen wiederholen sollte. Die Intention des Umschalters ist jedoch durchaus klar, denn bei Netbooks kommt ein ganz anderes Prinzip zum tragen als bei Desktops:</p>
<p><a rel="attachment wp-att-613" href="http://www.linuxhome.ch/linux/kde-4-4-0-ist-da-ein-erster-blick/attachment/kde4_4_systemsettings_ff/"><img class="size-medium wp-image-613 alignnone" title="kde4_4_systemsettings_ff" src="http://www.linuxhome.ch/wp-content/uploads/2010/02/kde4_4_systemsettings_ff-451x300.png" alt="Systemsettings Formfaktor" width="451" height="300" /></a></p>
<h2><span id="more-610"></span>Semantischer Desktop (Nepomuk / Strigi)</h2>
<p>Beim semantischen Desktop hat es wieder mal eine Änderung im Backend gegeben. Virtuoso speichert nun die indizierten Daten, Tags etc. für Nepomuk. Angeblich viel schneller und stabiler, merke ich davon nichts. Im Gegenteil, der strigi-indexer ist noch nie soviele male abgestürzt wie jetzt. Er kann meine Dateien nicht mal fertig indexieren (und es sind beileibe nicht mehr als 6 GB). Wenn man nur Nepomuk alleine nutzt (z.B. Tags für Dateien, Kontakte u.ä.), sieht man jedoch, wie cool eine semantische Suchapplikation sein kann. Man gibt einen Namen ein und erhält als ersten Vorschlag &#8220;Mail senden an &#8230;&#8221; wenn der Name ein Mail-Kontakt ist (wenn Strigi hier die Mails indiziert hätte würden auch Namen angezeigt, die nicht in den Kontakten gespeichert sind, sondern mit denen wir einfach irgendwann mal in Kontakt waren). Weitere Vorschläge zeigen auch phonetisch ähnliche Suchanfragen in Wikipedia u.v.m. Würde Strigi funktionieren, wäre Nepomuk noch viel mächtiger, also bitte, stabilisiert den Indexier-Mist endlich, Google hat seit vielen Jahren den Desktop-Indexer stabil am laufen!</p>
<p>Krunner (wird mit ALT+F2 gestartet), den man am besten für die Suche oder Programmaufrufe benutzt, wurde an den oberen Bildschirmrand versetzt (was man natürlich weiterhin frei konfigurieren darf, wenn man das nicht mag). Leider bleibt er manchmal aus unersichtlichen Gründen (Nepomuk?) einige Sekunden stehen.</p>
<h2>Plasma</h2>
<p>Vieles hat sich in Plasma getan. Besonders freuten mich viele kleine und grössere Änderungen, die dem Benutzer viel mehr intuitives Arbeiten ermöglichen. Viele Details entdeckt man erst später, wie die verbesserten Desktopeffekte, da werden zum Beispiel beim Anzeigen aller virtuellen Desktops die jeweiligen geöffneten Fenster auseinandergehalten, denn wozu sonst ist die Übersicht gut, als um offene Programme zu finden? Bis anhin taugte sie eigentlich nur als netter Effekt um Kollegen zu beeindrucken. Solche Beispiele gibt es einige. Der Hammer ist für mich persönlich der Systemabschnitt der Kontrolleiste. Dort kann man nun diverse Plasmoiden reinwursteln, und es ist nicht einmal unansehnlich!</p>
<p><a rel="attachment wp-att-615" href="http://www.linuxhome.ch/linux/kde-4-4-0-ist-da-ein-erster-blick/attachment/systembox_conf1/"><img class="size-medium wp-image-615 alignnone" title="systembox_conf1" src="http://www.linuxhome.ch/wp-content/uploads/2010/02/systembox_conf1-428x300.png" alt="Systemabschnitt Konfiguration" width="428" height="300" /></a></p>
<p>Ich hätte ja nie gedacht, dass eine 4-Tage-Wettervorhersage so wenig Platz braucht und im Systemabschnitt Platz hat. Wenn man mit der Maus darüber fährt, erhältm man den ausführlichen Wetterbericht. Im Bild dazu sieht man auch den neuen Gerätemanager, der nun Automunt beherrscht, sowie vom Benutzer konfigurierbar ist. Wenn ein versierter Benutzer hat, kann er beliebige Befehle automatisch ablaufen lassen, sobald dieser Stick eingesteckt ist, was sehr viele Möglichkeiten eröffnet (automatische Synchronisation beim Einstecken u.v.m.)</p>
<p><a rel="attachment wp-att-616" href="http://www.linuxhome.ch/linux/kde-4-4-0-ist-da-ein-erster-blick/attachment/systembox_weather-2/"><img class="alignnone size-medium wp-image-616" title="systembox_weather" src="http://www.linuxhome.ch/wp-content/uploads/2010/02/systembox_weather1-600x260.png" alt="" width="600" height="260" /></a></p>
<p>Endlich wurde auch die Verknüpfung von Aktivitäten mit virtuellen Desktops in die normale Konfigurationsoberfläche übernommen:</p>
<p><a rel="attachment wp-att-619" href="http://www.linuxhome.ch/linux/kde-4-4-0-ist-da-ein-erster-blick/attachment/workspaces_conf1/"><img class="alignnone size-medium wp-image-619" title="workspaces_conf1" src="http://www.linuxhome.ch/wp-content/uploads/2010/02/workspaces_conf1-448x300.png" alt="Desktop und Aktivitäten zusammen konfiguriert" width="448" height="300" /></a></p>
<p>Ein paar der alten Probleme bleiben: Verkleinert man die Aktivitäten, wird das Scrolling wieder sehr zähflüssig. Bei Multi-Monitor-Betrieb mit TwinView noch viel schlimmer. Das Erstellen von 4 Aktivitäten (eine pro virt. Desktop) ist ja kein Problem, aber was passiert, wenn man es rückgängig macht? Die Aktivitäten bleiben bestehen. Hier müssen seit langem Komfortfunktionen geschaffen werden (eine kleine Aktivitätenvorschau, ohne im Plasma-Bereich zähflüssig herumzustraucheln). Denn wenn man die Zuordnung Aktivität/Desktop wieder einschaltet passiert etwas Altbekanntes: Die mühselig eingerichtete Aktivität wird einem anderen Desktop zugeordnet. Auch wenn man herauszoomt und bei der richtigen Aktivität wieder hineinzoomt, hat man früher oder später ein Durcheinander. So wie ich jetzt nach dem Testen: Weil meine zwei Monitore verschiedene Auflösungen haben, kann ich jetzt genausogut .kde/share/config/plasma* löschen, um von vorne anzufangen. Das bringt mich zum letzten Punkt. Kaum ein Release von KDE konnten die meisten Benutzer ihr .kde behalten. Immer wieder kommt man zum Punkt an dem man sagt „Besser ich lösche die Konfiguration sonst gibts wieder Probleme“. Denn es geht mehr Zeit verloren auf der Suche nach einzelnen Problemem als für die Neukonfiguration der KDE-Oberfläche. Nun kommt aber etwas problematisches hinzu: Nepomuk mit Strigi sammelt Daten in Datenbankdateien innerhalb von .kde. Wenn ein unbedarfter Benutzer nun 1 Jahr lang alle seine Dateien taggt und bei einem neuen Release mal wieder das Löschen von .kde vor der Tür steht&#8230;man kann sich vorstellen wie das weitergeht. Für Otto Normalbenutzer braucht es Sicherheit, was die Konfiguration anbelangt. Ein Möglichkeit zum XML-Export von Konfigurationen und Nepomuk-Daten vor Releaseses wäre so etwas. Es ist wie immer: Der Ideen hat es genug, aber es kann immer nur ein Bruchteil davon umgesetzt werden.</p>
<h2>Fazit</h2>
<p>Für einen als offiziell veröffentlichten Release gibt es viel zu viele Abstürze an so vielen Stellen, dass man das Marketing-Team entmündigen und mit 100 Windows-Installationen bestrafen sollte. Als Technologie-Preview zeigt es aber durchaus, wie exzellent KDE 4.4.x sein wird und das der semantische Desktop wirklich kommt und nützlich ist. Ausserdem sieht KDE unverschämt gut aus und viele Funktionen sind selbsterklärender geworden. Es ist schon lange überfällig, dass anstatt neuen Features die Stabilität in den Vordergrund rückt. Aaron Seigo und Co. wären gut beraten, einen Fork für die Feature-geilen Desktop-User zu machen, und einen Stable-Branch nebenbei zu führen. Denn KDE 4 wird sich wohl kaum in Enterprise-Distributionen verbreiten, wenn es erst in einem Jahr absturzfrei läuft. Was die Features anbelangt, wurde das Vorbild OSX schon vor zwei Jahren übertroffen, aber was die Stabilität angeht liegt sogar Windows 95 vorne im Moment (das soll ein Ansporn sein und kein Gejammere).</p>
<h2>Zweiter Eindruck</h2>
<p>Nachdem ich nun die meisten Verbesserungen gesehen und getestet habe, bin ich schon sehr viel milder gestimmt. Die Abstürze werden seltener, wenn man die Aktivitäten von Anfang an neu aufbaut. Wenn man ihnen dieselben Namen gibt wie den ihnen zugeordneten virtuellen Desktops (was imho eigentlich automatisch geschehen sollte, wenn man die Zuordnung aktiviert), gibt es auch weniger Konfusion in dieser Hinsicht. Wenn auch Nepomuk und Strigi ausgebaut und stabilisiert werden müssen, fühlt sich alles absolut flüssig und unheimlich konsistent an. KDE rockt wieder!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxhome.ch/linux/kde-4-4-0-ist-da-ein-erster-blick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Welt ist wieder in Ordnung, wenn Microsoft FUD verbreitet&#8230;</title>
		<link>http://www.linuxhome.ch/news/die-welt-ist-wieder-in-ordnung-wenn-microsoft-fud-verbreitet/</link>
		<comments>http://www.linuxhome.ch/news/die-welt-ist-wieder-in-ordnung-wenn-microsoft-fud-verbreitet/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 22:54:13 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[eee pc]]></category>

		<guid isPermaLink="false">http://www.linuxhome.ch/?p=434</guid>
		<description><![CDATA[Die enge „Zusammenarbeit“ (man könnte es auch Prostitution in Form von Girobuchungen nennen) mit dem Hardwarehersteller Asus zeigt uns, das Microsoft endlich wieder so handelt, wie wir es von früher kennen. Zu sehen ist dies in der neuesten EEE-PC-Kampagne von Asus. Beim ersten Blick auf die dazugehörige Webseite glaubt man erst, es handle sich um [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=d6b1294fe73eea0bc9dc84a732e5e880&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Die enge „Zusammenarbeit“ (man könnte es auch Prostitution in Form von Girobuchungen nennen) mit dem Hardwarehersteller Asus zeigt uns, das Microsoft endlich wieder so handelt, wie wir es von früher kennen. Zu sehen ist dies in der neuesten EEE-PC-Kampagne von Asus. Beim ersten Blick auf die dazugehörige <a title="Asus Windowi Kampagne" href="http://www.itsbetterwithwindows.com" target="_blank">Webseite</a> glaubt man erst, es handle sich um einen Witz. Falls das Video Zicken macht, ist es auch auf <a title="Youtube Link" href="http://www.youtube.com/watch?v=VQBj0CJtW-Q" target="_blank">Youtube</a> erhältlich. Aber es ist kein Fake sondern durchaus ernst gemeint. Offenbar traut der Konzern Frauen maximal die Bedienung von Windows XP zu (welche dabei debil lächeln, während das Familienoberhaupt die Brötchen verdient). Da spricht Asus wohl ein ganz bestimmtes Kundensegment an, welches von Emanzipation noch nie gehört geschweige den gelesen hat. Die beste Frau meines Lebens kann im übrigen sehr wohl mit Linux umgehen, sogar mit Fedora und sie würde sich beim Anblick dieses Sülzfilmes ziemlich sicher übergeben.</p>
<p>Schade ist, dass Asus sich schamlos bedient hat bei Linux, denn fast jedes Motherboard wird seit geraumer Zeit mit <a title="Splashtop Linux" href="http://www.splashtop.com/">Splashtop</a> ausgeliefert, wobei es sich um nichts anderes als ein kleines Linux-System handelt (aber der Kunde soll dies tunlichst nicht wissen). Der sensationelle Erfolg einer neuen Geräteklasse innerhalb von wenigen Monaten, den sogenannten „Netbooks“, durch die EEE-PC&#8217;s wurde mit Linux möglich, welches damals das Standard-Betriebssystem war (vor allem weil kein neueres Windows auf den kleinen Kistchen lauffähig ist und Windows XP offiziell nicht mehr im Verkauf war). Schnell musste Microsoft handeln und holte XP aus der Mottenkiste, die Kunden sollten besser ein 8jähriges System vorgesetzt bekommen als freie Linux-Luft zu atmen. In einer Diktatur ist Bildung eben der größte Feind. Den Netbookherstellern wurden Angebote unterbreitet, die sie nicht ablehnen konnten und heute muss man Linux extra bestellen beim Netbookkauf.  So darf Asus heute offiziell als „Leecher“ bezeichnet werden, also „Blutegel“ oder „Schmarotzer“, da sie sich mit Opensource bereichert haben, ohne je etwas zurückzugeben.</p>
<p>Für Linux-Benutzer und Admins trotzdem ein Grund zur Freude, denn man konnte in letzter Zeit fast ein bisschen Angst bekommen durch all die Bemühungen von Microsoft in Richtung Opensource zu gehen. Ein Microsoft-Logo beim Booten von Novell&#8217;s SuSE hätte wohl so manchen Linux-Admin seine Berufswahl überdenken lassen. Aber zum Glück kehrt der Konzern zu seinen Wurzeln der <a title="Wikipedia Artikel zu FUD" href="http://de.wikipedia.org/wiki/Fear,_Uncertainty_and_Doubt">FUD</a>-Verbreitung zurück.</p>
<p>Genießen wir das  wohlige Gefühl, endlich wieder Gewissheit zu haben, auf der richtigen Seite zu spielen, die propagandistischen Kapitalisten tun wieder das, was sie am besten können: Schwachsinn verbreiten und hoffen, das jemand anbeisst. Etwas Undergroundfeeling kommt wieder auf. Und noch etwas Gutes: Die Wahl der nächsten Hardwarekomponenten wird auch ein bisschen leichter <img src='http://www.linuxhome.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxhome.ch/news/die-welt-ist-wieder-in-ordnung-wenn-microsoft-fud-verbreitet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wie war das nochmal mit Aufträgen der öffentlichen Hand?</title>
		<link>http://www.linuxhome.ch/in-eigener-sache/wie-war-das-nochmal-mit-auftragen-der-offentlichen-hand/</link>
		<comments>http://www.linuxhome.ch/in-eigener-sache/wie-war-das-nochmal-mit-auftragen-der-offentlichen-hand/#comments</comments>
		<pubDate>Tue, 26 May 2009 17:47:08 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[Politik]]></category>

		<guid isPermaLink="false">http://www.linuxhome.ch/?p=373</guid>
		<description><![CDATA[Ach ja, öffentlich ausgeschrieben sollten sie jeweils werden! Offenbar gilt dies aber nicht für den IT-Sektor in der Schweiz, schade, dass uns erst die Engländer darauf aufmerksam machen müssen: http://www.eweekeurope.co.uk/news/red-hat-sues-switzerland-over-microsoft-monopoly-965 Update 28.05.2009: Wie ich gerade bei heise.de erfahren durfte, ist auch das Bundesverwaltungsgericht dieser Meinung Eine öffentliche Ausschreibung würde halt vermutlich wie beim Beispiel der [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=d6b1294fe73eea0bc9dc84a732e5e880&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Ach ja, öffentlich ausgeschrieben sollten sie jeweils werden! Offenbar gilt dies aber nicht für den IT-Sektor in der Schweiz, schade, dass uns erst die Engländer darauf aufmerksam machen müssen: http://www.eweekeurope.co.uk/news/red-hat-sues-switzerland-over-microsoft-monopoly-965</p>
<p><strong>Update 28.05.2009</strong>: Wie ich gerade bei heise.de erfahren durfte, ist auch das <a title="Artikel www.heise.de" href="http://www.heise.de/newsticker/Open-Source-Firmen-erzielen-Teilerfolg-gegen-Microsoft-in-der-Schweiz--/meldung/139556" target="_blank">Bundesverwaltungsgericht </a>dieser Meinung <img src='http://www.linuxhome.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Eine öffentliche Ausschreibung würde halt vermutlich wie beim Beispiel der <a title="Limux Stadt München" href="http://www.muenchen.de/limux" target="_blank">Stadt München</a> dazu führen, dass der Monopolist endlich abgelöst wird.</p>
<p>Ich kann die Krisen-Sprüche &#8220;Die Schweiz muss die Krise als Chance nutzen&#8221; angesichts solcher Mauscheleien (oder kann man hier gar schon von Korruption sprechen?) echt nicht mehr hören: Anstatt endlich einmal echte Chancen wahrzunehmen, einen ganzen Batzen Geld zu sparen, welches nach Redmond, USA fliesst, wird weiterhin der vermeintlich bequemere aber teure Weg der Abhängigkeit von einem einzigen Unternehmen gegangen. Der Leidens- und Finanzdruck kann also gar nicht so gross sein, sonst gäbe es in dieser Richtung wesentlich mutigere Entscheidungen.</p>
<p>Dabei geht es nicht mal so sehr um die vermiedenen Lizenzkosten, aber es würden dadurch langfristig Arbeitsplätze im Inland gefördert resp. zusätzlich geschaffen werden!</p>
<p>Hier noch ein sehenswertes Video von der letzten Cebit, in welchem der Projektleiter von Limux der Stadt München, Florian Schießl, das Projekt erläutert (Dauer: 30 Minuten):</p>
<p>http://streaming.linux-magazin.de/events/cos09/archiv/mi05/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxhome.ch/in-eigener-sache/wie-war-das-nochmal-mit-auftragen-der-offentlichen-hand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Argumente pro Linux / Open Source</title>
		<link>http://www.linuxhome.ch/linux/10-argumente-pro-linux-open-source/</link>
		<comments>http://www.linuxhome.ch/linux/10-argumente-pro-linux-open-source/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 21:16:58 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.linuxhome.ch/?p=290</guid>
		<description><![CDATA[Frei nach dem Linux Magazin 04/09 eine kurze Aufstellung der 10 ziemlich alles umfassenden Argumente, die für den Einsatz von Linux und Opensource sprechen. Die Reihenfolge ist übrigens willkürlich und spiegelt keine Priorität wider: 1.) Transparenz: Ein Einblick in die volle Konfiguration und sogar den Quelltext des Kernels und der eingesetzten Softwareinfrastruktur ist jederzeit möglich. [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=d6b1294fe73eea0bc9dc84a732e5e880&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Frei nach dem Linux Magazin 04/09 eine kurze Aufstellung der 10 ziemlich alles umfassenden Argumente, die für den Einsatz von Linux und Opensource sprechen. Die Reihenfolge ist übrigens willkürlich und spiegelt keine Priorität wider:<span id="more-290"></span></p>
<p>1.) <strong>Transparenz:</strong> Ein Einblick in die volle Konfiguration und sogar den Quelltext des Kernels und der eingesetzten Softwareinfrastruktur ist jederzeit möglich. Linux lässt sich auch<a title="Linux From Scratch Website" href="http://www.linuxfromscratch.org/"> „From scratch“</a> also von Grund auf selbst bauen, was nicht nur zu Schulungszwecken unschätzbare Dienste leisten kann. Auch <a title="Gentoo Website" href="http://www.gentoo.org/">„Gentoo“</a> lässt dies zu, nur lernt man durch die dort automatisierten Abläufe nicht ganz soviel über die inneren Werte des Kernels. Bei proprietären Produkten  jedoch hat der Benutzer eine geschlossene „Blackbox“ vor sich liegen, die theoretisch alles machen kann, ohne jegliche Kontrolle.</p>
<p>2.) <strong>Effizienz und Genügsamkeit</strong>: Auf dem Server ist das freie Betriebssystem nach wie vor ungeschlagen. Apache beispielsweise kann dank Prozess-Forking fast die fünffache Menge kleiner Dateien ausliefern (bei den mittleren und grossen schrumpft der Vorsprung dann auf 100 bzw. 10 Prozent mehr. Auf dem Desktop liegt Linux ungefähr gleichauf mit Windows XP dank verbesserter ACPI-Unterstützung der letzten Jahre. Der Hardwarehunger ist aber auch mit 3D-Effekten der Benutzeroberfläche ungleich bescheidener als beispielsweise mit Windows Vista.  Mit „Tiny Core Linux“ etwa lässt sich gar ein Rechner mit 486DX-Prozessor und 32MB RAM noch mit einem brauchbaren Linux inklusive grafischer Oberfläche ausrüsten!</p>
<p>3.) <strong>Softwareverwaltung</strong>: Gerade in diesem Punkt gibt es eigentlich nichts zu diskutieren: Dank Paketformaten wie RPM und DEB und den entsprechenden Verwaltungsdatenbanken lässt sich jede verfügbare Software inklusive derer benötigten Abhängigkeiten auf Knopfdruck installieren und auch wieder absolut sauber entfernen. Ausserdem wird bei einer Aktualisierung nicht nur das Betriebssystem selbst (Kernel und Subsysteme) sondern auch gleich alle ebenfalls per Paketverwaltung installierte Software aktualisiert. Bei Windows gibt es das Auto-Update nur für die Software von Microsoft selbst. Daher hat praktisch jede Software von Drittherstellern einen Update-Daemon am laufen, was zusätzlich an den Ressourcen und Nerven der Administratoren zerrt. Ausserdem haben diese Daemons häufig eine weitere unangenehme Eigenschaft: Sie „telefonieren nach Hause&#8221; und senden unter Umständen beliebige Daten des Benutzers an beliebige Stelle. Sind diese Daemons verständlicherweise abgeschaltet, muss die Software immer von Hand aktualisiert werden, wobei die Dateien von jedem Hersteller separat bezogen und mit jeweils einem spezifischen Installer installiert oder aktualisiert werden. Dabei können jederzeit Bibliotheken überschrieben werden. Wer schon mal  versucht hat, den Internet Explorer 5 mit Version 6 nebeneinander zu installieren, der weiss, wieviel Spass dies machen kann. Unter Linux können verschiedene Versionen ein und derselben Bibliothek (sogar der glibc!) und Software friedlich funktionierend nebeneinander existieren.</p>
<p>4.) <strong>Unabhängigkeit</strong>: Bei freier Software gibt es keine bösen Überraschungen mit Lieferanten, welche das Lizenzmodell von einem Augenblick auf den anderen zu Ungusten des Kunden ändern. Man bezahlt letztendlich wenn überhaupt nur den Support, d.h. die reine menschliche Arbeit und nicht anonyme Riesenfirmen mit mehr Anwälten und Verkäufern als Entwicklern und Supportern. Letztendlich sorgt quelloffene Software für mehr belebende Konkurrenz in einem Geschäft, wo viel über die „freie Marktwirtschaft“ geschwafelt wird, letztendlich aber Monopolismus und Protektionismus an der Tagesordnung sind. Dies erhöht auch die Sicherheit der Investitionen: Sollte ein Drittanbieter Konkurs gehen, hat man den Quelltext der Software zur Verfügung und kann sich jederzeit an eine andere Stelle wenden oder gar die Weiterentwicklung selbst in die Wege leiten. Ist die Software closed-source ist man tatsächlich auf Gedeih und Verderb dem Hersteller ausgeliefert. SAP mit ihrem neu obligatorischen  „Enterprise Support“ ist in meinen Augen ein gutes Beispiel dafür. Da passen kleine und mittlere Betriebe auch schnell mal aus Kostengründen  ihre vorhandenen Strukturen und Produkte an SAP&#8217;s Lösungen an, nur um sich kurz darauf im  vergoldeten Käfig des Vendor-Locking wiederzufinden.</p>
<p>5.) <strong>Kosten</strong>: Zugegeben, dies ist ein zweischneidiges Schwert. Die Kosten für Linux sind kurz- und mittelfristig zwar viel tiefer, dafür aber langfristig gesehen höher (über 5 Jahre hinaus). Dies ergibt sich kurz gesagt durch tiefere Anschaffungspreise und im Schnitt etwas höhere Supportpreise. Hier würde einem natürlich jeder Verkäufer seine „Sicht der Dinge“ aufschwatzen. Meine Sicht als Administrator ist aber klar: Wenn Geld in Firmen mit Arbeitsplätzen, welche den echten Bezug zur Branche haben fliesst, ist dies auch bei höheren Kosten besser als wenn es Firmen mit überproportional vielen branchenfremden Arbeitsplätzen (Anwälte, Rechtsabteilungen, Verkäufer etc.) zugute käme.</p>
<p>6.) <strong>Softskills / Zufriedenheit</strong>: Benutzer von Open Source zeigen gem. Umfragen von Wilken/Heise Open eine erheblich höhere Zufriedenheit als Benutzer von proprietärer Software. Dies kann nicht nur aus einer offeneren Einstellung der Benutzer selbst her kommen. Es gibt heute nämlich auch Benutzer (z.B. Angestellte der Stadt München), welche von Anfang an Linux benutzen, ohne dies direkt als Alternative zu wählen.<br />
Administratoren im Open Source Umfeld sind als pragmatisch und weltoffen bekannt, misstrauen aber einfach den grossen Konzernen, da diese rein gewinnorientierte Unternehmen sind (keine ernsthafter Admin nimmt beispielsweise die Ankündigungen von Microsoft im Bereich Opensource wirklich ernst). Ausserdem vertraut ein Linux-Administrator seine Zukunft nur sehr ungern einer Software an, deren Code er nicht jederzeit einsehen kann, um Fehler schnell beheben zu können mithilfe der Entwickler oder der Community.</p>
<p>7.) <strong>Portabilität</strong>: Linux ist mittlerweile auf ca. 24 (Tendenz zunehmend) verschiedenen CPU-Architekturen lauffähig vom Superrechner bis zum Handy (Nur NetBSD kann noch mehr vorweisen). Bei Windows sind es deren 2 (x86, x86_64), wenn ich mich nicht täusche? NT unterstützte damals noch 4 Plattformen.</p>
<p>8.) <strong>Tragfähigkeit / Businesskonzepte</strong>: Die Frage, warum Menschen ohne Lohn an einer Software arbeiten führt meistens auch zur Überlegung, was denn mit den Benutzern passiert, wenn die Entwickler mal keine Lust mehr haben, weiterzuarbeiten, da sie ja nicht vertraglich gebunden sind? Die Antwort: Da der Quellcode frei verfügbar ist, kann jederzeit eine andere Community oder Firma die Weiterentwicklung und/oder den Support übernehmen. Man kann auch selbst die Software weiterentwickeln, wenn man sich bestimmte Features wünscht und niemanden findet, der die Entwicklung weiterführt.<br />
Wie können die Menschen, welche mit viel Leidenschaft und auch Idealismus ihre Zeit und geistige Kraft in ein Projekt stecken, gar davon leben? In den allermeisten Fällen lautet die Antwort darauf: Vom Support. Es gibt einige Fälle, in denen gemischte Lizenzformen zum Einsatz kommen (erweiterte Features nur beim Kauf einer Lizenz u.ä.) aber diese sind meistens nicht sehr erfolgreich und das meiste Geld wird nach wie vor mit dem Support der Software verdient. Auch für den Kunden ist es ein besseres Gefühl, echte und ehrliche Arbeit anstatt fast nur Anwälte und Verkäufer von Grosskonzernen zu bezahlen. Natürlich ist klar: Mit freier Software wird man niemals so reich wie Bill Gates oder Steve Jobs.<br />
Die Gegenfrage zur ersten Frage müsste übrigens lauten: Was passiert denn, wenn ein Unternehmen, welches Closed Source Software anbietet Konkurs macht, oder ganz einfach entschliesst, ein Produkt einzustampfen (was bei Übernahmen von Konkurrenzprodukten sehr häufig passiert)? Gar nichts. Der Kunde hat schlicht keine Möglichkeit, die Software ohne Quellcode weiterzuentwickeln. Er muss eine Alternative suchen.</p>
<p>9.) <strong>Sicherheit</strong>: Auch hier sind die Fakten hinlänglich bekannt. Systembedingt können und werden Windows-Varianten in der heutigen Form niemals sicher sein, egal wie sehr uns dies die Marketingabteilung  mit „Get the facts“-Aktionen weiszumachen versucht. Schon alleine durch die Transparenz, welche mit freier Software besteht, werden Fehler offen kommuniziert und schnell behoben. Aber auch die Architektur des Betriebssystems hat einen grossen Anteil an der Sicherheit. Linux stammt durch seine Unix-Verwandtschaft aus den Serverräumen, wo Multiuser-Systeme schon vor über 30 Jahren Alltag waren. Daher ist das System schon  inhärent sicherer. Zusätzlich gibt es durch verschiedenste Massnahmen wie „Selinux&#8221;, „AppArmor&#8221;, uvm. auch eine äusserst gute Absicherung gegen mutwillige Angriffe von Innen und Aussen. Natürlich kommt es wie immer auch auf den Administrator an, wie sicher die Systemumgebung im Endeffekt ist. Windows ist nicht sicher und wird es in absehbarer Zeit nicht werden, Punkt.</p>
<p>10.) <strong>Fehlerbehebung / Verbesserung</strong>: Da nahezu jedes freie Softwareprojekt auch ein Bugtracking-Werkzeug (meistens Bugzilla) mitbringt, kann der Benutzer jederzeit Fehler oder Abstürze melden. Bei Problemen mit Windows-Software sendet ein Windows-Agent Daten an einen unbekannten Empfänger sendet (der Inhalt ist dem Benutzer sowieso völlig unbekannt). Bei Linux landen diese Fehlermeldungen nicht einfach im unbekannten Nirgendwo. Sie werden meist sehr schnell durch jemanden angeschaut. Manchmal wird der Benutzer aufgefordert, entsprechende Tracebacks zu senden und hat so die Möglichkeit, sich direkt an der Verbesserung der von ihm eingesetzten Software zu beteiligen. Auch dies ist ein nicht zu unterschätzender „Soft&#8221;-Faktor, der Benutzer ist so nicht länger einem Gefühl von Machtlosigkeit gegenüber dem Grosskonzern ausgeliefert.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxhome.ch/linux/10-argumente-pro-linux-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl 5.10 &#8211; was man wissen muss</title>
		<link>http://www.linuxhome.ch/programmierung/perl-510-was-man-wissen-muss/</link>
		<comments>http://www.linuxhome.ch/programmierung/perl-510-was-man-wissen-muss/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 15:45:15 +0000</pubDate>
		<dc:creator>Bo</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programmierung]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://www.linuxhome.ch/?p=154</guid>
		<description><![CDATA[Perl 5.10 ist nun bereits eine Weile draussen und hat Einzug auf die gängigen Linux-Distributionen gehalten. Aus diesem Grunde möchte ich an dieser Stelle einen kleinen Reminder bringen, welche Features für den Programmieraltag wirklich der Rede Wert sind. Viele der Neuerungen sind Backports aus der Designarbeit an Perl 6. Da dies keine Einführung in Perl [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=576c71ed74da11fdd1ca2c17617b2ee8&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Perl 5.10 ist nun bereits eine Weile draussen und hat Einzug auf die gängigen Linux-Distributionen gehalten. Aus diesem Grunde möchte ich an dieser Stelle einen kleinen Reminder bringen, welche Features für den Programmieraltag wirklich der Rede Wert sind. Viele der Neuerungen sind Backports aus der Designarbeit an Perl 6.</p>
<p>Da dies keine Einführung in Perl darstellt, sondern eine Info an Cracks, Admins und solche die es werden wollen, gehe ich nicht auf die Details ein. Ich schlage vor die Code-Beispiele jeweils in die Kommandozeile zu kopieren und zu damit herum zu spielen.</p>
<p>Wenn man die neuen Features benutzen will muss man dies im Skript deklarieren.</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">use</span> feature <span style="color: #ff0000;">':5.10'</span><span style="color: #339933;">;</span></pre></div></div>

<p><span id="more-154"></span></p>
<h2>Klein aber Oho</h2>
<p>Es gibt viele kleine Änderungen die es aber in sich haben. Ich möchte hier vier herauspicken die sich ganz besonders lohnen.</p>
<h3>Sag es</h3>
<p>Die kleinste, grösste, simpelste und wichtigste Änderung ist ganz klar die Funktion say. Endlich kann man eine Zeile ohne grosse Schreibarbeit ausgeben!</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;">say <span style="color: #ff0000;">'say means: never ever again print &quot;bla\n&quot;!'</span><span style="color: #339933;">;</span></pre></div></div>

<p>Man mag diese Änderung zwar belächeln. Aber es ist doch wichtig, das dies endlich geschehen ist&#8230; und wie ich finde ist es sehr elegant gelungen.</p>
<h3><span style="x-small;">Zeilen lesen</span></h3>
<p>Eine weitere Nettigkeit ist, das nun die Funktion readline wie der diamond operator (&lt;&gt;) agiert. Nun geht das Einlesen einiges intuitiver von der Hand:</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;">say <span style="color: #ff0000;">'press ctrl+d to resume...'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066;">readline</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000066;">print</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h3>Clevere Vergleiche</h3>
<p>Es steht nun ein sogenannter &#8220;smart match operator&#8221; zur Verfügung. Er entscheidet selber &#8220;intelligent&#8221; wie Strings und Zahlen miteinander verglichen werden sollen.</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;">say <span style="color: #ff0000;">'0 equals &quot;abc&quot; if compared with =='</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">&quot;abc&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
say <span style="color: #ff0000;">'But 0 differs from &quot;abc&quot; if using ~~ &quot;the smart operator&quot;'</span> <span style="color: #b1b100;">unless</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span> <span style="color: #339933;">~~</span> <span style="color: #ff0000;">&quot;abc&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h3>Defined or</h3>
<p>Ein neuer Operator ermöglicht einfach Verkettungen. Das besondere ist, das er undef statt false/true auswertet.</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">sub</span> a <span style="color: #009900;">&#123;</span> <span style="color: #000066;">return</span> <span style="color: #000066;">undef</span> <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">sub</span> b <span style="color: #009900;">&#123;</span> <span style="color: #000066;">return</span> <span style="color: #ff0000;">'b is defined!'</span> <span style="color: #009900;">&#125;</span>
<span style="color: #000000; font-weight: bold;">sub</span> c <span style="color: #009900;">&#123;</span> <span style="color: #000066;">return</span> <span style="color: #000066;">undef</span> <span style="color: #009900;">&#125;</span>
say a<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">//</span> b<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">//</span> c<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h2>Mal ganz was neues</h2>
<p>Neben den kleinen erwähnten Nettigkeiten gibt es aber auch grössere Ergänzungen und Änderungen. Es sind deren zwei die mir auffallen.</p>
<h3>Ein &#8220;kein&#8221; Switch-Statement</h3>
<p>Perl hat endlich ganz offiziell sein eigenes Switch-Statement. Doch wie könnte es anders sein, das Statement heisst nicht switch sondern given. Das ganze sieht ziemlich gut aus und kann sehr flexibel angewendet werden.</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;">say <span style="color: #ff0000;">'Tell me something for my switch-statement:'</span><span style="color: #339933;">;</span>
<span style="color: #000066;">chomp</span> <span style="color: #009900;">&#40;</span><span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$input</span> <span style="color: #339933;">=</span> <span style="color: #000066;">readline</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
given <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$input</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    when <span style="color: #009900;">&#40;</span><span style="color: #000066;">undef</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> say <span style="color: #ff0000;">'what the heck!'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
    when <span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'perl'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> say <span style="color: #ff0000;">'you name it!'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
    when <span style="color: #009900;">&#40;</span><span style="color: #009966; font-style: italic;">/\d+/</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> say <span style="color: #ff0000;">'nice number...'</span><span style="color: #339933;">;</span> <span style="color: #b1b100;">continue</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
    say <span style="color: #ff0000;">'you type boring stuff!'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Das Statement ist sehr flexibel, da der Mechanismus dahinter simpel ist. given setzt $_ und when wertet dieselbe aus.</p>
<h2>Neue Regex Engine!</h2>
<p>Die wichtigste Änderung mit dem grössten Impact dürfte die Neuimplementation der Regex-Engine sein. Details wie z.B. das sie nun iterativ statt rekursiv implementiert ist hören sich nett an, ändern aber wenig am Programmieraltag. Das beste Feature für mich ist ganz klar, dass man Teile des Regex nun benennen kann und sich so übersichtlicher Ausdrücke verschachteln lassen.</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;">say <span style="color: #ff0000;">'type any brackets to check if they are consistent'</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$regex</span> <span style="color: #339933;">=</span> <span style="color: #000066;">qr</span><span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;amp</span><span style="color: #339933;">;</span>BRA<span style="color: #009900;">&#41;</span>     <span style="color: #666666; font-style: italic;"># 'run' the pattern</span>
            <span style="color: #666666; font-style: italic;">#</span>
<span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #009900;">&#40;</span>DEFINE<span style="color: #009900;">&#41;</span>  <span style="color: #666666; font-style: italic;"># Define section</span>
<span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;lt</span><span style="color: #339933;">;</span>SIGN<span style="color: #0000ff;">&amp;gt</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;"># Pattern declaration of signs</span>
 <span style="color: #009900;">&#91;</span><span style="color: #339933;">^</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span>      <span style="color: #666666; font-style: italic;"># everithing except brackets</span>
<span style="color: #009900;">&#41;</span>           <span style="color: #666666; font-style: italic;">#</span>
<span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;lt</span><span style="color: #339933;">;</span>BRA<span style="color: #0000ff;">&amp;gt</span><span style="color: #339933;">;</span>     <span style="color: #666666; font-style: italic;"># Recursive pattern declaration of brackets</span>
 <span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;amp</span><span style="color: #339933;">;</span>SIGN<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>  <span style="color: #666666; font-style: italic;"># any signs or nothing</span>
 \<span style="color: #009900;">&#40;</span>         <span style="color: #666666; font-style: italic;"># followed by a opening bracket</span>
 <span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;amp</span><span style="color: #339933;">;</span>SIGN<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>  <span style="color: #666666; font-style: italic;"># possibly some further signs</span>
 <span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;amp</span><span style="color: #339933;">;</span>BRA<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>   <span style="color: #666666; font-style: italic;"># recursive call to deeper nested brackets</span>
 <span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;amp</span><span style="color: #339933;">;</span>SIGN<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>  <span style="color: #666666; font-style: italic;"># again there may be some stuff between</span>
 \<span style="color: #009900;">&#41;</span>         <span style="color: #666666; font-style: italic;"># now we need a closing bracket</span>
 <span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;amp</span><span style="color: #339933;">;</span>SIGN<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>  <span style="color: #666666; font-style: italic;"># and let again space for some signs</span>
 <span style="color: #009900;">&#40;</span><span style="color: #339933;">?</span><span style="color: #0000ff;">&amp;amp</span><span style="color: #339933;">;</span>BRA<span style="color: #009900;">&#41;</span><span style="color: #339933;">*</span>   <span style="color: #666666; font-style: italic;"># recursice call to brackets for outside nested ones</span>
<span style="color: #009900;">&#41;</span>           <span style="color: #666666; font-style: italic;">#</span>
<span style="color: #009900;">&#41;</span>           <span style="color: #666666; font-style: italic;"># End of the define section</span>
<span style="color: #009900;">&#125;</span>xms<span style="color: #339933;">;</span>       <span style="color: #666666; font-style: italic;"># End of the regex declaration</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$in</span> <span style="color: #339933;">=</span> <span style="color: #000066;">readline</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$in</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/ ^ $regex $ /xms</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    say <span style="color: #ff0000;">'Your input is valid'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    say <span style="color: #ff0000;">'Your input is NOT valid'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Dieses Beispiel findet heraus ob die Klammerung vollständig ist. Die Implementation ist von mir, also bitte nicht produktiv verwenden. Ich gebe keine Gewähr <img src='http://www.linuxhome.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <br />
Wer Besonders gut aufgepasst hat merkt, das dieser Regex rekursiv arbeitet. BRA wird in seiner eigenen Definition wieder verwendet.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxhome.ch/programmierung/perl-510-was-man-wissen-muss/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lesetip für Opensource-Fans und Geeks</title>
		<link>http://www.linuxhome.ch/geek/lesetip-fur-opensource-fans-und-geeks/</link>
		<comments>http://www.linuxhome.ch/geek/lesetip-fur-opensource-fans-und-geeks/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 10:43:47 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[geek]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.linuxhome.ch/?p=71</guid>
		<description><![CDATA[Das neue Opensource-Jahrbuch 2008 wurde veröffentlicht. Man kann es hier heruntergeladen werden mit oder ohne kleine Spende an die Autoren (so 2 Euro wären ja eigentlich angebracht). Ideal für ein paar einsame Stunden am sonnigen Strand (oder Balkon)! Vor allem wird die Freundin nicht neugierig drin blättern (ja ich weiss, das war jetzt ein klassisches [...]]]></description>
			<content:encoded><![CDATA[<img style='float: left; margin-right: 10px; border: none;' src='http://www.gravatar.com/avatar.php?gravatar_id=d6b1294fe73eea0bc9dc84a732e5e880&amp;default=http://use.perl.org/images/pix.gif' alt='No Gravatar' width=40 height=40/><p>Das neue <a href="http://www.opensourcejahrbuch.de/">Opensource-Jahrbuch 2008</a> wurde veröffentlicht. Man kann es <a href="http://www.opensourcejahrbuch.de/download/jb2008/download">hier</a> heruntergeladen werden mit oder ohne kleine Spende an die Autoren (so 2 Euro wären ja eigentlich angebracht). Ideal für ein paar einsame Stunden am sonnigen Strand (oder Balkon)! Vor allem wird die Freundin nicht neugierig drin blättern <img src='http://www.linuxhome.ch/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  (ja ich weiss, das war jetzt ein klassisches Vorurteil)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.linuxhome.ch/geek/lesetip-fur-opensource-fans-und-geeks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->