<?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>Die Welt ist gar nicht so. &#187; Software</title>
	<atom:link href="http://blog.dieweltistgarnichtso.net/category/technik-die-vergeistert/software/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.dieweltistgarnichtso.net</link>
	<description>Sie ist ganz anders.</description>
	<lastBuildDate>Sun, 29 Jan 2012 14:22:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>uii – a minimalist IRC client</title>
		<link>http://blog.dieweltistgarnichtso.net/uii-a-minimalist-irc-client</link>
		<comments>http://blog.dieweltistgarnichtso.net/uii-a-minimalist-irc-client#comments</comments>
		<pubDate>Wed, 25 Jan 2012 13:29:24 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=4476</guid>
		<description><![CDATA[uii is a minimalist text-based IRC client. uii is a shell script frontend for ii: using standard Unix utilities like tail and cat, it operates on files and directories representing input and output of servers, channels and other users. uiis &#8230; <a href="http://blog.dieweltistgarnichtso.net/uii-a-minimalist-irc-client">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<i>uii</i> is a minimalist text-based <a href="http://en.wikipedia.org/wiki/Internet_Relay_Chat"><abbr title="Internet Relay Chat">IRC</abbr></a> client. <i>uii</i> is a shell script frontend for <a href="http://tools.suckless.org/ii/"><i>ii</i></a>: using standard <i>Unix</i> utilities like <a href="http://en.wikipedia.org/wiki/Tail_%28Unix%29"><i>tail</i></a> and <a href="http://en.wikipedia.org/wiki/Cat_%28Unix%29"><i>cat</i></a>, it operates on files and directories representing input and output of servers, channels and other users.
</p>
<figure>
<img src="//daten.dieweltistgarnichtso.net/pics/screenshots/uii-spackeria.png" alt="Screenshot of uii's interface, showing the channel #spackeria on chat.freenode.org">
<figcaption>
<i>uii</i>s minimalist interface is dedicated entirely to one <abbr title="Internet Relay Chat">IRC</abbr> server, channel or nick name. It displays incoming text and has a <a href="http://en.wikipedia.org/wiki/GNU_readline"><i>readline</i></a>-enabled prompt at the bottom.
</figcaption>
</figure>
<p>
If data is received from an entity with no accompanying <i>uii</i> process, a <a href="http://developer.gnome.org/libnotify/">desktop notification</a> is shown. <i>uii</i> also has limited highlighting; if the nick name, preceded by a space character, occurs in the output, it is printed bold (using <a href="http://en.wikipedia.org/wiki/ANSI_escape_code"><abbr title="American National Standards Institute">ANSI</abbr> escape codes</a>) and a <a href="http://en.wikipedia.org/wiki/Bell_character">bell character</a> is emitted.
</p>
<p>
Users should be aware that <i>uii</i> output may look garbled if their terminal emulator does not show unicode glyphs correctly (<a href="http://en.wikipedia.org/wiki/Xterm"><i>xterm</i></a>) or has “clever” redraw behaviour (<a href="http://en.wikipedia.org/wiki/Rxvt"><i>urxvt</i></a>). Programs embedding the <a href="https://live.gnome.org/VTE">VTE Terminal Widget</a> (like <a href="https://en.wikipedia.org/wiki/GNOME_Terminal"><i>GNOME Terminal</i></a> or <a href="http://www.xfce.org/projects/terminal"><i>Xfce Terminal</i></a>) work well; I use <a href="http://www.tenshu.net/p/terminator.html"><i>Terminator</i></a>, as it can set an <a href="http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#URGENCY">urgent hint</a> when a bell character is output.
</p>
<p>
If you have read this far, you should check out <a href="https://github.com/erlehmann/uii"><i>uii</i>&#8216;s source code</a>.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/uii-a-minimalist-irc-client/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WissensWert-Projekt: Open-Access-Importer für Wikimedia Commons</title>
		<link>http://blog.dieweltistgarnichtso.net/wissenswert-projekt-open-access-importer-fur-wikimedia-commons</link>
		<comments>http://blog.dieweltistgarnichtso.net/wissenswert-projekt-open-access-importer-fur-wikimedia-commons#comments</comments>
		<pubDate>Wed, 18 Jan 2012 18:07:32 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Freie Lizenzen]]></category>
		<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[oaimporter]]></category>
		<category><![CDATA[openaccess]]></category>
		<category><![CDATA[wikimediacommons]]></category>
		<category><![CDATA[wissenswert2011]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=4458</guid>
		<description><![CDATA[Zusammen mit Daniel Mietchen und Raphael Wimmer werde ich in den kommenden Monaten Software entwickeln, um wissenschaftliche Inhalte automatisiert in Wikimedia Commons zu übertragen. Das Projekt wird im Rahmen des WissensWert-Wettbewerbs finanziell unterstützt durch Wikimedia Deutschland. Details gibt es im &#8230; <a href="http://blog.dieweltistgarnichtso.net/wissenswert-projekt-open-access-importer-fur-wikimedia-commons">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Zusammen mit <a href="http://en.wikiversity.org/wiki/User:Mietchen">Daniel Mietchen</a> und <a href="http://www.uni-regensburg.de/sprache-literatur-kultur/medieninformatik/sekretariat-team/raphael-wimmer/index.html">Raphael Wimmer</a> werde ich in den kommenden Monaten Software entwickeln, um <a href="http://de.wikiversity.org/wiki/Benutzer:OpenScientist/Offenes_Antragschreiben/Wissenswert_2011">wissenschaftliche Inhalte automatisiert in <i>Wikimedia Commons</i> zu übertragen</a>. Das Projekt wird <a href="http://blog.wikimedia.de/2011/12/15/wissenswert-2011-wir-gratulieren-den-fuenf-gewinnern/">im Rahmen des <i>WissensWert</i>-Wettbewerbs finanziell unterstützt durch <i>Wikimedia Deutschland</i></a>.
</p>
<p>
<a href="http://wir.okfn.org/2012/01/18/project-introduction-open-access-media-importer-for-wikimedia-commons/">Details gibt es im Blog der <i>Open Knowledge Foundation</i></a>, in dem ich wöchentlich über den Fortgang des Projektes bloggen werde.
</p>

<span id="more-4458"></span>

<blockquote cite="http://wir.okfn.org/2012/01/18/project-introduction-open-access-media-importer-for-wikimedia-commons/">
<p>
<a href="http://en.wikipedia.org/wiki/Open_access"><em>Open Access</em></a> scientific literature contains, almost by definition, content suitable – both in substance and licensing – for <a href="http://en.wikipedia.org/wiki/Wikimedia_Commons"><em>Wikimedia Commons</em></a>. However, currently, there seems to be no automated, easy way to identify such files, convert them into <a href="http://commons.wikimedia.org/wiki/Commons:Project_scope/Allowable_file_types">appropriate formats</a> and import them into <em>Commons</em>.
</p>

<p>
In November 2011, <a href="http://en.wikiversity.org/wiki/User:Mietchen">Daniel Mietchen</a> submitted <a href="http://en.wikiversity.org/wiki/User:OpenScientist/Open_grant_writing/Wissenswert_2011">a proposal</a> tackling the issue to the <a href="http://wikimedia.de/wiki/WissensWert"><em>WissensWert</em></a> funding scheme run by <a href="http://meta.wikimedia.org/w/index.php?title=Wikimedia_Deutschland/en&amp;uselang=en">the German chapter of <em>Wikimedia</em></a>. Among other projects, <a href="http://blog.wikimedia.de/2011/12/15/wissenswert-2011-wir-gratulieren-den-fuenf-gewinnern/">it was chosen to receive funding</a> (see <a href="http://wir.okfn.org/2011/12/15/supplementary-materials-to-wikimedia-commons-see-you-soon/">Daniel&#8217;s post</a>). As part of the team implementing the software envisioned, I will blog here about once a week until project conclusion.
</p>

<p>
Initially, the project will be focused on audio and video content available in <a href="http://en.wikipedia.org/wiki/PubMed_Central"><em>PubMed Central</em></a>&#8216;s <a href="http://www.ncbi.nlm.nih.gov/pmc/tools/openftlist/"><em>Open Access Subset</em></a> – however, <a href="http://en.wikiversity.org/wiki/User:OpenScientist/Open_grant_writing/Wissenswert_2011/Documentation">the toolchain is intended to be modular</a>, so other sources can be added as development continues.
</p>

<p>
The only component currently existing is a proof-of-concept <a href="https://github.com/erlehmann/open-access-media-importer/blob/master/crawler/crawler.py">crawler / downloader</a>: It downloads archives containing <abbr title="Extensible Markup Language">XML</abbr> files – each about a GiB in size – from <em>PubMed Central</em>, identifies articles referring to supplementary materials (attachments) and displays <abbr title="Uniform Resource Locator">URL</abbr>s to retrieve those.
</p>

<p>
Until next week, I intend to add metadata collection – minimally author, source and licensing terms – and downloading of supplementary materials. <a href="http://www.uni-regensburg.de/sprache-literatur-kultur/medieninformatik/sekretariat-team/raphael-wimmer/index.html">Raphael Wimmer</a> also proposed an option to only download new articles, which could reduce network load by several orders of magnitude compared to the currently existing naive implementation.
</p>

<p>
In line with the principles of <a href="https://en.wikipedia.org/wiki/Free_culture_movement"><em>free culture</em></a>, all tools will be released as <a href="http://www.gnu.org/philosophy/free-sw.html">Free Software</a>, licensed under the <a href="http://gnu.org/licenses/gpl-3.0-standalone.html"><abbr title="GNU is Not Unix">GNU</abbr> General Public License, version 3</a> (or any later version of the License published by the <a href="http://fsf.org/"><em>Free Software Foundation</em></a>).
</p>

<p>
<a href="https://github.com/erlehmann/open-access-media-importer">The source code is hosted on <em>GitHub</em>.</a>
</p>
</blockquote>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/wissenswert-projekt-open-access-importer-fur-wikimedia-commons/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Privatheit contra WWW</title>
		<link>http://blog.dieweltistgarnichtso.net/privatheit-contra-www</link>
		<comments>http://blog.dieweltistgarnichtso.net/privatheit-contra-www#comments</comments>
		<pubDate>Mon, 05 Dec 2011 14:11:31 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Netzpolitik]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[googleplus]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[spackeria]]></category>
		<category><![CDATA[spackeriade0]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=4190</guid>
		<description><![CDATA[Die Privacy-Checkbox ist eine Lüge Internetplattformen – maßgeblich Facebook und Google+ – vermitteln, Privatsphäre ließe sich durch das Setzen von Häkchen schützen. „Privat“ heißt dort: Inhalte sind nur für bestimmte Nutzer einsehbar. Plattform-Anbieter sammeln dennoch viele Nutzer-Informationen: Selbst wenn sie &#8230; <a href="http://blog.dieweltistgarnichtso.net/privatheit-contra-www">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3 id="privacy-checkbox-lüge">Die Privacy-Checkbox ist eine Lüge</h3>

<p>
    Internetplattformen – maßgeblich <a href="http://de.wikipedia.org/wiki/Facebook"><i>Facebook</i></a> und <a href="http://de.wikipedia.org/wiki/Google%2B"><i>Google+</i></a> – vermitteln, Privatsphäre ließe sich durch das <span title="im Privatsphären-Einstellungsdialog">Setzen von Häkchen</span> schützen. „Privat“ heißt dort: Inhalte sind nur für bestimmte Nutzer einsehbar.
</p>

<p>
    Plattform-Anbieter sammeln dennoch viele Nutzer-Informationen: Selbst wenn sie sie nicht zu Werbezwecken benötigen, müssen sie immerhin die Zugangsbeschränkungen verwalten. Die so propagierte Privatheit hat mit Datenschutz wenig zu tun; für beteiligte Firmen und Regierungen sind die Daten <a href="http://yro.slashdot.org/story/11/11/10/2021215/judge-rules-twitter-data-fair-game-in-wikileaks-investigation">jederzeit zugänglich</a>.
</p>

<p>
    Die zur Durchsetzung der Privatphäre in sozialen Netzwerken angewandten Nutzergängelungen widersprechen jedoch den <a href="http://www.w3.org/DesignIssues/Principles.html">Prinzipien, die das Web erfolgreich gemacht haben</a> – maßgeblich <a href="http://de.wikipedia.org/wiki/Hyperlink">Hyperlinks</a> und einfacher Zugang zu dezentral gelagerter <span title="In HTML können etwa Überschriften oder Zitate maschinenlesbar markiert werden.">strukturierter Information</span>.
</p>

<span id="more-4190"></span>

<h3 id="halbtote-links">Halbtote Links</h3>

<p>
    <a href="http://de.wikipedia.org/wiki/Uniform_Resource_Locator"><abbr title="Uniform Resource Locator">URL</abbr>s</a> – Verweise auf Resourcen im Netzwerk – sind das Rückgrat des Webs. Sie erst ermöglichen den einfachen Austausch von Informationen und werden sowohl <i lang=en>online</i> als auch <i lang=en>offline</i> verwendet, um Artikel, Bilder, Audio, Video <abbr title="und Vieles mehr">u.V.m.</abbr> mit Anderen zu teilen.
</p>

<p>
    Zwangs-Anmeldungen und Leseverbote behindern diesen Austausch von Informationen enorm. Um <abbr title="Uniform Resource Locator">URL</abbr>s gegenüber plattform-internen Verweisen zu entwerten, werden sie unleserlich gemacht, etwa durch <a href="http://de.wikipedia.org/wiki/Kurz-URL-Dienst">Kürzung</a>. <i>Google+</i> lügt bei privaten Beiträgen sogar, sie würden nicht existieren und gibt <a href="https://de.wikipedia.org/wiki/HTTP-Statuscode#4xx_.E2.80.93_Client-Fehler">Fehler 404</a> zurück.
</p>

<h3 id="balkanisierung">Balkanisierung</h3>

<p>
    Wer private Resourcen teilen möchte, kann diese nun dennoch an andere Stellen kopieren, die weniger Beschränkungen bezüglich Anschauung <abbr title="beziehungsweise">bzw.</abbr> Kommentaren haben. Dann jedoch geht der bisherige Kontext verloren.
</p>

<p>
    Öffentlich zugängliche Diskussionen an verschiedenen Orten sind unproblematisch – Kontextverlust stört jedoch massiv. Durch ihn können etwa <a href="http://mobile.twitter.com/shiterlesays/status/142625347031142400">scherzhafte Bemerkungen</a> <a href="http://mobile.twitter.com/hanhaiwen/status/142641563472900096">als Vergewaltigungswitz interpretiert</a> oder <a href="http://de.wikipedia.org/wiki/Emser_Depesche">Kriege provoziert</a> werden.
</p>

<h3 id="datenfriedhoefe">Datenfriedhöfe</h3>

<p>
    Um zu erschweren, dass Nutzer Privatheits-Restriktionen umgehen, darf ein entsprechendes System (<abbr title="Digital Restrictions Management">DRM</abbr>) nicht interoperabel sein. Wären abgerufene Daten einfach ausles- und verwend-bar, untergrübe dies das Vertrauen in die Privatheits-Propaganda einer Plattform.
</p>

<p>
    Könnten etwa Nutzer von <i>Google+</i> zum Lesen <a href="http://de.wikipedia.org/wiki/Feedreader">Feedreader</a> benutzen, wäre es trivial, Informationen an anderer Stelle neu zu veröffentlichen. Die vorgeblich zum Schutz der Privatheit existierende Weitergabe-Einschränkung <a href="http://www.google.com/+/learnmore/#circles"><i>circles</i></a> wäre so weitgehend wertlos.
</p>

<p>
    Teils verhindern eine Weiterverarbeitung schon die erwähnten Zombie-Links und eingestreute <a href="http://de.wikipedia.org/wiki/CAPTCHA">Turing-Tests</a>. Dazu kommt die Veröffentlichung von Daten in nicht standardisierten Formaten – gerne mit dem Verweis, durch eine Offenlegung der Spezifikation stehe einer Nutzung nur <abbr title="Als ob.">vernachlässigbarer Implementations-Aufwand</abbr> im Wege.
</p>

<p>
    Zuletzt herrscht auch für Anwendungen Identifikations-Zwang: Web-Plattformen machen diese oft zur Bedingung zum Zugriff auf ihre <a href="http://de.wikipedia.org/wiki/Programmierschnittstelle">Programmierschnittstellen</a>.
</p>

<p>
    Im Ergebnis entstehen Software-Ökosysteme für einzelne Plattformen, in denen individuelle Anwendungen bei Missverhalten leicht ausgeschlossen werden. Anpassbarkeit durch Benutzer wird generell als Risiko für die Privatheit anderer angesehen.
</p>

<p>
    Eingespeiste Daten können von Plattformbetreibern, deren Geschäftspartnern, Ermittlungsbehörden, Geheimdiensten und deren Kollegen aus Übersee verwendet werden. Ob das effektiver Datenschutz ist, ist fraglich. Der Nutzen für die Öffentlichkeit ist jedoch beschränkt – begründet durch Privatheits-Propaganda.
</p>

<h3 id="fazit">Fazit</h3>

<p>
    Natürlich stehen derartige Nutzergängelungen nicht im Vakuum: Jedes der beschriebenen antisozialen Phänomene hat strategische Vorteile für die Betreiber entsprechender Plattformen; Schutz des Privaten ist nur eine weitere passende Ausrede für Maßnahmen, die früher <span title="Das glaubt heute allerdings niemand mehr.">mit Spam-Vermeidung gerechtfertigt wurden</span>.
</p>

<p>
    Nutzer müssen sich das jedoch nicht gefallen lassen: Es ist durchaus möglich, sich selbst und anderen den Umgang mit eigenen Inhalten zu erleichtern. Der Leitsatz dieser Maßnahmen lautet <a href="http://mobile.twitter.com/mspro/statuses/24194168839"><q cite="http://mobile.twitter.com/mspro/statuses/24194168839">Mehr Daten für alle!</q></a>.
</p>

<p>
    Am Einfachsten ist es, Öffentlichkeit zum Default zu erklären. Wer seine Artikel etwa mit <a href="http://de.wikipedia.org/wiki/WordPress"><i>WordPress</i></a> veröffentlicht, limitiert die Weiterverteilung seiner Daten nicht und geht zudem kein Risiko ein, aufgrund eines <a href="http://www.linkedin.com/pub/melanie-unbekannt/24/615/b31">nicht echt klingenden Benutzernamens</a> gelöscht zu werden.
</p>

<p>
    Wer selber Web-Anwendungen entwickelt, könnte diese sicher <a href="http://saschalobo.com/2011/10/16/die-abschaffung-der-ruckseite-des-blogs/">nutzerfreundlich gestalten</a>, <a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/Imageboards">Zugangsbeschränkungen vermeiden</a>, <a href="https://tools.ietf.org/html/rfc4287">Standardformate</a> nutzen und <a href="http://netzpolitik.org">Kommentare</a> <a href="http://spreeblick.com">ohne</a> <a href="http://saschalobo.com">Anmeldung</a> ermöglichen. All das <a href="http://www.4chan.org/blog/2005/11/09/in-response-to-anonymity/">fördert die Diskussionskultur</a> – vermutlich ist es schlicht profitabler, es nicht zu tun.
</p>

<p>
    Selbst einzelne Entwickler können ihren Teil dazu beitragen, Datenfriedhöfen die Bedeutung zu nehmen. Jedes <a href="https://scraperwiki.com/">Export-Skript</a>, das plattform-spezifische Daten in <a href="https://fsfe.org/projects/os/def.de.html">offene Standard-Formate</a> umwandelt, hilft Nutzern und beschädigt die Privatheits-Propaganda.
</p>

<p>
    <small>
        Der obige Text ist <i>erlehmann</i>s <a href="http://blog.spackeria.org/2011/11/30/call-for-papers-0-spackeriade/">Einreichung zur nullten Spackeriade</a>.
    </small>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/privatheit-contra-www/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Weniger Programmieren ist mehr</title>
		<link>http://blog.dieweltistgarnichtso.net/weniger-programmieren-ist-mehr</link>
		<comments>http://blog.dieweltistgarnichtso.net/weniger-programmieren-ist-mehr#comments</comments>
		<pubDate>Tue, 08 Nov 2011 16:36:12 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[simplestthingthatworks]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=4127</guid>
		<description><![CDATA[Wenn ein Problem mit Hilfe eines Computerprogramms bearbeitet werden soll, ist es oft hilfreich, darüber nachzudenken, welcher Ansatz so einfach ist, dass er gerade so funktioniert. Eingeweihte nennen dies The Simplest Thing that Could Possibly Work. Diesem Paradigma folgende Lösungen &#8230; <a href="http://blog.dieweltistgarnichtso.net/weniger-programmieren-ist-mehr">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Wenn ein Problem mit Hilfe eines Computerprogramms bearbeitet werden soll, ist es oft hilfreich, darüber nachzudenken, welcher Ansatz so einfach ist, dass er <em>gerade so</em> funktioniert. <span title="Altschuchteln">Eingeweihte</span> nennen dies <a href="http://en.wikiquote.org/wiki/Ward_Cunningham#The_Simplest_Thing_that_Could_Possibly_Work"><i lang="en">The Simplest Thing that Could Possibly Work</i></a>.
</p>
<p>
Diesem Paradigma folgende Lösungen können selbst dann gut funktionieren, wenn sie auf den ersten Blick absurd wirken: Die Frage <a href="http://www.peterkroener.de/spamschutz-leichtgemacht/"><i>Was ist der Vorname von Franz Beckenbauer?</i> schützt gegen <i lang="en">spam</i></a> nämlich genau so gut wie ein <a href="http://de.wikipedia.org/wiki/Akismet">komplexes Analyse-<i>plugin</i></a>. Auch die Methode der <a href="http://riesenmaschine.de"><i>Riesenmaschine</i></a>, neue Kommentare gegen eine kurze Liste unerwünschter Wortbestandteile (etwa <i>!!</i>, <i>lugschei</i>) zu prüfen, kommt ohne komplizierte Filtermodelle aus.
</p>
<p>
<a href="http://lea.verou.me/2011/05/get-your-hash-the-bulletproof-way/">Wie es hingegen <em>nicht</em> geht, beschreibt Lea Verou</a> anhand der Aufgabe, das Doppelkreuz am Anfang von <abbr title="Uniform Resource Locator">URL</abbr>-Fragmenten zu entfernen. In einem Buch fand sie dazu den <i>JavaScript</i>-Schnipsel <code>location.hash.<a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/match">match</a>(/#(\w+)/)[1]</code>. Der enthält allerdings nicht nur einen unleserlichen <a href="http://de.wikipedia.org/wiki/Regul%C3%A4rer_Ausdruck">regulären Ausdruck</a>, sondern funktioniert auch nicht; so produziert die Verarbeitung des <a href="http://mathiasbynens.be/notes/html5-id-class">gültigen Werts</a> <i>#♥</i> einen Fehler. Verous in jedem Fall funktionierende Alternative lautet schlicht <code>location.hash.<a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring">substring</a>(1)</code>.
</p>
<p>
Um Fehler dieser Art zu verstehen, sollte man wissen, dass <a href="http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html">viele Programmierer nicht programmieren können</a>. Damit ist nicht gemeint, dass sie unfähig sind, lauffähigen Code zu produzieren – sie haben jedoch Schwierigkeiten, ein <a href="http://www.codinghorror.com/blog/2006/07/separating-programming-sheep-from-non-programming-goats.html">zutreffendes mentales Modell der Programmlogik</a> zu entwickeln. Hinzu kommt <a href="http://haacked.com/archive/2007/02/27/Why_Cant_Programmers._Read.aspx">mangelnde Lesekompetenz</a>: So lehnen Programme etwa <a href="http://www.jacobsen.no/anders/blog/archives/2002/08/24/email_addresses_with_a_are_valid.html">Email-Adressen mit Plus-Zeichen</a> ab, weil die Entwickler <a href="http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx">nicht wissen, welche Zeichen erlaubt sind</a> – und dennoch überzeugt sind, das Richtige zu tun.
</p>
<p>
Dass jemand einen Algorithmus oder eine Spezifikation missverstanden hat, ist jedoch für Außenstehende nicht auf den ersten Blick erkennbar, <a href="http://de.wikipedia.org/wiki/Dunning-Kruger-Effekt">für einen selber sogar noch weniger</a>. Unabhängig vom Ego gilt aber: Programme nach dem <i lang="en">Simplest Thing</i>-Prinzip zu schreiben reduziert das Risiko, etwas Unverständliches zu produzieren – selbst für <span title="Die BESTEN der BESTEN der BESTEN.">jene, die sich für besonders clever halten</span>. Als Fingerübung habe ich mir daher vorgenommen, so weit wie möglich auf reguläre Ausdrücke zu verzichten.
</p>
<p>
<i lang="en">The Simplest Thing that Could Possibly Work</i> muss übrigens nicht unbedingt aus eigenem Code bestehen: Spezialisierte Programmbibliotheken zu nutzen spart nicht nur Zeit, sondern reduziert ebenfalls die Fehlerrate. Faustregel: Wer komplexe Formate wie <abbr title="Hypertext Markup Language">HTML</abbr> parsen oder generieren möchte, sollte besser <a href="http://code.google.com/p/html5lib/">existierende Werkzeuge</a> benutzen, als sich selbst Gedanken zu machen – sonst besteht das Risiko, eine <a href="http://regex.info/blog/2006-09-15/247">beherrschte Technik in einem Bereich anzuwenden, für den sie vollkommen unpassend ist</a> (<a href="https://github.com/matthiasr/logformat/pull/4">Patch für Negativ-Beispiel</a>).
</p>
<p>
Gleich doppelt beleuchtet diese Kategorie <a href="https://github.com/juuso/BozoCrack"><i>BozoCrack</i></a> – ein Programm, das mit <a href="http://de.wikipedia.org/wiki/Md5"><abbr title="Message-Digest Algorithm 5">MD5</abbr></a> unkenntlich gemachte Passphrasen nicht selbst knackt, sondern Google bemüht (danke, <i>plomlompom</i>): Es benutzt nicht nur eine externe Resource, sondern zeigt auch, dass die <abbr title="Message-Digest Algorithm 5">MD5</abbr> nutzenden Entwickler nicht verstanden haben, <a href="http://codahale.com/how-to-safely-store-a-password/">wie Passwörter gespeichert werden sollten</a>.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/weniger-programmieren-ist-mehr/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The IT Crowd Theme in C</title>
		<link>http://blog.dieweltistgarnichtso.net/the-it-crowd-theme-in-c</link>
		<comments>http://blog.dieweltistgarnichtso.net/the-it-crowd-theme-in-c#comments</comments>
		<pubDate>Fri, 14 Oct 2011 08:29:54 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Netzkultur]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[8bit]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[itcrowd]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3923</guid>
		<description><![CDATA[Inspired by VIznut, in the last few days I have experimented with music creation using a C compiler. This morning, I chose to write small program playing a melody not entirely unlike the theme of The IT Crowd when piped &#8230; <a href="http://blog.dieweltistgarnichtso.net/the-it-crowd-theme-in-c">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://countercomplex.blogspot.com/2011/10/algorithmic-symphonies-from-one-line-of.html">Inspired by <i>VIznut</i></a>, in the last few days I have experimented with <a href="https://github.com/erlehmann/algorithmic-symphonies">music creation using a <i>C</i> compiler</a>. This morning, I chose to write small program playing a melody not entirely unlike the <a href="http://www.youtube.com/watch?v=w5-_B-tKnZw">theme of <i>The IT Crowd</i></a> when piped to <i>/dev/dsp</i>. True to the spirit of the intro, it ends with a <a href="http://cache.ohinternet.com/images/a/a4/Chrono_Vortex.jpg">division by zero</a>.
</p>
<code>
#include &lt;stdio.h&gt;
main() {long int t;for(t=0;;t++) {fputc((int)(
(0/(128000-t))|(((t&lt;92000)*0xff)&#038;
(t%2000*("  $&#038;  %'  '%  %$"[t%32000/2000]-32)
|t%2000*("$$  %%  ''  %%  "[t%32000/2000]-32)/2)|
(t%2000*("'&#038;"[t%92000/2000]-32)&#038;(t&gt;92000&#038;&#038;t&lt;96000)*0xff)|
(t%4000*("'&#038;(&#038;*$,*   "[t%96000/4000]-32)&#038;(t&gt;96000)*0xff))
), stdout);}}
</code>
<audio controls>
<source src="//daten.dieweltistgarnichtso.net/audio/music/c/it-crowd.oga">
<source src="//daten.dieweltistgarnichtso.net/audio/music/c/it-crowd.mp3">
</audio>
<ins datetime="2011-10-14T08:30:23+00:00"><p>
Much smaller version that sounds even better:
</p>
<code>
#include &lt;stdio.h&gt;
main() {long int t;for(t=0;;t++) {fputc((int)((1/(128000-t))|(t>96e3)?t%4000*("'&#038;(&#038;*$,*"[t%96000/4000]-32):(t%2000*
("$$$&#038;%%%''''%%%'&#038;"[t%32000/2000]-32-(2*((t>28e3)&#038;(t<32e3)))))/(1+(t%8000<4e3))), stdout);}}
</code>
<audio controls>
<source src="//daten.dieweltistgarnichtso.net/audio/music/c/it-crowd-2.oga">
<source src="//daten.dieweltistgarnichtso.net/audio/music/c/it-crowd-2.mp3">
</audio>
</ins>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/the-it-crowd-theme-in-c/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing IPython Pipe Handling</title>
		<link>http://blog.dieweltistgarnichtso.net/fixing-ipython-pipe-handling</link>
		<comments>http://blog.dieweltistgarnichtso.net/fixing-ipython-pipe-handling#comments</comments>
		<pubDate>Mon, 10 Oct 2011 13:27:54 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[ipython]]></category>
		<category><![CDATA[pipe]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sigpipe]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3907</guid>
		<description><![CDATA[On my Laptop, I use IPython as the default shell. Lately, I noticed pipe handling to be broken in some specific cases. I could trace this back to Python ignoring the SIGPIPE signal. SIGPIPE gets sent to a process when &#8230; <a href="http://blog.dieweltistgarnichtso.net/fixing-ipython-pipe-handling">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
On my Laptop, I use <a href="http://ipython.org/ipython-doc/dev/interactive/shell.html"><i>IPython</i> as the default shell</a>. Lately, I noticed <a href="http://en.wikipedia.org/wiki/Pipeline_%28Unix%29"><i>pipe</i> handling</a> to be broken in some specific cases. I could trace this back to Python ignoring the <a href="http://en.wikipedia.org/wiki/SIGPIPE"><i>SIGPIPE</i></a> signal.
</p>
<p>
<i>SIGPIPE</i> gets sent to a process when it tries to write to a pipe that is not read by another process. The default action for a process under these circumstances is to terminate.
</p>
<p>
Imagine a process yielding a huge amount of text, piped to <a href="https://www.gnu.org/software/coreutils/manual/html_node/head-invocation.html"><i>head</i></a> to print the first ten lines. With <i>SIGPIPE</i> ignored, the process will continue after head has stopped reading. Usually, this will only affect runtime – however, if the original process outputs an endless data stream, the shell will hang.
</p>
<p>
To check whether your shell ignores <i>SIGPIPE</i>, try the following command: <kbd>yes | tee | head</kbd>. It should print 10 lines with a single <samp>y</samp> each, then terminate. If the shell hangs, printing a message similar to <samp>tee: standard output: Broken pipe</samp>, <i>SIGPIPE</i> is ignored.
</p>
<p>
<b><abbr title="Too long; didn't read">TL;DR</abbr>:</b> In <i>IPython</i>, proper <i>SIGPIPE</i> handling can be restored using the <a href="http://docs.python.org/library/signal.html"><i>signal</i> module</a>: <code>signal.signal(signal.SIGPIPE, signal.SIG_DFL)</code>.
</p>
<h3>Further reading</h3>
<ul>
<li><a href="http://bugs.python.org/issue1652">Python tracker: <i>Issue 1652: subprocess should have an option to restore SIGPIPE to default action</i></a></li>
<li><a href="http://www.chiark.greenend.org.uk/ucgi/~cjwatson/blosxom/2009-07-02-python-sigpipe.html"><i>Python SIGPIPE Handling</i></a></li>
<li><a href="http://blog.nelhage.com/2010/02/a-very-subtle-bug/"><i>A Very Subtle Bug</i></a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/fixing-ipython-pipe-handling/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vortragsfolien: „Quo vadis, Web?“</title>
		<link>http://blog.dieweltistgarnichtso.net/vortragsfolien-quo-vadis-web</link>
		<comments>http://blog.dieweltistgarnichtso.net/vortragsfolien-quo-vadis-web#comments</comments>
		<pubDate>Fri, 16 Sep 2011 20:00:14 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[inkscapeslide]]></category>
		<category><![CDATA[maxwinde]]></category>
		<category><![CDATA[peterkroener]]></category>
		<category><![CDATA[regineheidorn]]></category>
		<category><![CDATA[rp11]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3887</guid>
		<description><![CDATA[Wie angekündigt fand auf der diesjährigen re:publica eine Podiumsdiskussion zu Webstandards statt (Foto). Als Einleitung hielt ich einen Kurzvortrag zur Geschichte der im Web verwendeten Technologien; hier sind die Folien, hier meine Notizen. Peter Zschunke hat den Verlauf der Veranstaltung &#8230; <a href="http://blog.dieweltistgarnichtso.net/vortragsfolien-quo-vadis-web">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://blog.dieweltistgarnichtso.net/panel-zu-webstandards-auf-der-republica-2011" title="exactly-as-planned.jpg">Wie angekündigt</a> fand auf der diesjährigen <a href="http://re-publica.de/11/"><i>re:publica</i></a> eine <a href="http://re-publica.de/11/blog/panel/quo-vadis-web/">Podiumsdiskussion zu Webstandards</a> statt (<a href="http://www.flickr.com/photos/re-publica/5618907516/">Foto</a>). Als Einleitung hielt ich einen Kurzvortrag zur Geschichte der im Web verwendeten Technologien; <strong><a href="http://daten.dieweltistgarnichtso.net/docs/presentations/quo-vadis-web/quo-vadis-web.pdf">hier sind die Folien</a></strong>, <a href="http://daten.dieweltistgarnichtso.net/docs/presentations/quo-vadis-web/notizen.html">hier meine Notizen</a>.
</p>
<p>
Peter Zschunke hat den <a href="http://www.xml-ecke.de/?p=471">Verlauf der Veranstaltung</a> zusammengefasst; <a href="http://www.peterkroener.de/webstandards-panel-auf-der-republica-11/#comment-35212">mein Fazit</a> steht bei Peter Kröner in den Kommentaren:
</p>
<blockquote cite="http://www.peterkroener.de/webstandards-panel-auf-der-republica-11/#comment-35212">
		<p>Aufnahmen gibt es wohl keine, aber die zu meiner Überraschung dann doch ganz gut angekommenen Folien poste ich alsbald bei mir im Blog, sobald ich den Fehler im Folienskript gefunden, gefixt und ein PDF generiert habe.</p>
<p>Kritik war unisono, dass eine Stunde zu wenig war für dieses relativ große Fass – ähnliche Erfahrungen machte ich bereits beim Troll-Vortrag auf der letzten re:publica, nächstes Mal bestelle ich dann einen größeren Slot oder übe vorher mit Lichtdoubles. Titel und Lineup hatten bei manchen außerdem eine eher technische Diskussion erwarten lassen.</p>
<p>Highlights: Peter betonte, dass es zwischen dem ursprünglichen Modell von <em>Webseiten</em> und heutigen <em>Webapps</em> Unterschiede gibt – so darf etwa eine WebGL-Anwendung durchaus Hardwareanforderungen stellen. Max stellte neben <em>Nutzer</em> und <em>Webentwickler</em> noch den <em>Medien-Produzenten</em> als weitere Fraktion mit teilweise konträren Motivationen vor (Videos doppelt und dreifach kodieren ist Arbeit) und Regine erklärte mit einem Rückgriff auf <abbr title="Deutsches Institut für Normung">DIN</abbr>-Standards, warum Normierung traditionellerweise eher in Industriekonsortien als im akademischen Kontext geschieht.</p>
<p>Von mir wahrgenommenes Fazit: Sich selber als Entwickler in Standardisierungsprozesse einzubringen ist einerseits schwierig und demotivierend, andererseits kommt man bisweilen selber schon gar nicht mehr hinterher mit den Neuerungen. Den Browserherstellern gegenüber sind wir alle Bit-Steller (höhöhö).</p>
</blockquote>
<p>
<small>
Die Folien erstellte ich mit <a href="http://inkscape.org/"><i>Inkscape</i></a> und <a href="http://projects.abourget.net/inkscapeslide/"><i>Inkscape Slide</i></a>. Die beiden Grafiken zu Teichenbeschleunigung und frühen Webbrowsern stammen von <a href="http://en.wikipedia.org/wiki/File:CMS_Higgs-event.jpg">hier</a> und <a href="http://en.wikipedia.org/wiki/File:Erwise5.jpg">hier</a>.
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/vortragsfolien-quo-vadis-web/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Textänderungen dekorieren mit CSS</title>
		<link>http://blog.dieweltistgarnichtso.net/textanderungen-dekorieren-mit-css</link>
		<comments>http://blog.dieweltistgarnichtso.net/textanderungen-dekorieren-mit-css#comments</comments>
		<pubDate>Sun, 11 Sep 2011 22:20:41 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[del]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ins]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3837</guid>
		<description><![CDATA[Änderungen in HTML-Dokumenten werden durch die Tags &#60;del&#62; und &#60;ins&#62; ausgezeichnet. Standardmäßig werden diese vom Browser durch- bzw. unterstrichen angezeigt. Problematisch ist Letzteres, da Unterstreichungen typischerweise auf Hyperlinks hinweisen. Bei komplett unterstrichene Absätzen leidet zudem die Lesbarkeit. Dabei geht es &#8230; <a href="http://blog.dieweltistgarnichtso.net/textanderungen-dekorieren-mit-css">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Änderungen in <abbr title="Hypertext Markup Language">HTML</abbr>-Dokumenten werden durch die Tags <code>&lt;del&gt;</code> und <code>&lt;ins&gt;</code> ausgezeichnet. Standardmäßig werden diese vom Browser durch- bzw. unterstrichen angezeigt. Problematisch ist Letzteres, da Unterstreichungen typischerweise auf Hyperlinks hinweisen. Bei komplett unterstrichene Absätzen leidet zudem die Lesbarkeit. 
</p>
<p>
Dabei geht es optisch durchaus besser: <a href="http://de.wikipedia.org/wiki/Heise_online"><i>heise online</i></a> etwa umklammert Textänderungen und stellt längeren Hinzufügungen die Anmerkung „Update:“ voran – bei mehreren Überarbeitungen sogar durchnummeriert. Ein Beispiel hierfür ist die <a href="http://www.heise.de/newsticker/meldung/Facebook-beschwert-sich-ueber-datenschutzfreundlichen-2-Klick-Button-2-Update-1335658.html">Berichterstattung zum datenschutz<del>schonenden</del><ins>freundlichen</ins> Facebook-Button</a>.
</p>
<p>
<i>Heise online</i> erledigt dies serverseitig und gibt entsprechend verändertes <abbr title="Hypertext Markup Language">HTML</abbr> zurück. Machbar ist die Dekoration jedoch auch ohne zusätzliche Programmlogik — unter Nutzung der <abbr title="Cascading Style Sheets">CSS</abbr>-Pseudo-Elemente <a href="http://www.w3.org/TR/css3-content/#inserting"><code>::before</code> und <code>::after</code></a> sowie des <code>content</code>-Attributs. Mit diesen ist es nämlich möglich, dem Seitenlayout vollkommen neue Elemente hinzuzufügen.
</p>
<p>
Befinden sich etwa innerhalb eines <code>&lt;article&gt;</code>-Elements mehrere Absätze (<code>&lt;p&gt;</code>), fügt die <abbr title="Cascading Style Sheets">CSS</abbr>-Anweisung <code>article &gt; ins &gt; p:first-child::before { content: "Nachtrag: " }</code> vor dem ersten Absatz jeder eingefügten Textstelle einen entsprechender Hinweis ein. Auf ähnliche Weise lassen sich Änderungen innerhalb von Absätzen und mehrere Absätze umfassende Einfügungen mit <a href="http://en.wikipedia.org/wiki/Bracket#Angle_and_half_brackets_.EF.BD.A2.EF.BD.A3.2C_.E2.8C.8A_.E2.8C.8B">(halben) eckige Klammern</a> umgeben.
</p>
<p>
Die noch fehlende Nummerierung der Änderungen erfolgt mit <a href="http://www.w3.org/TR/css3-lists/#counter-style"><abbr title="Cascading Style Sheets">CSS</abbr>-Zählern</a>; Peter Kröner hat das schon einmal <a href="http://www.peterkroener.de/effektvolles-zahlen-mit-css-countern-und-absoluter-positionierung/">erklärt</a>. Am Ende steht eine wesentlich hübscheres und nützlicheres Dekoration für Änderungen in <abbr title="Hypertext Markup Language">HTML</abbr>-Dokumenten.
</p>
<p>
<strong><a href="http://daten.dieweltistgarnichtso.net/src/css-del-ins.html">Hier ist die Demo.</a></strong>
</p>
<p>
<small>
Ebenfalls interessant ist <a href="http://snook.ca/archives/html_and_css/an_experiment_w">diese Javascript-Technik</a> zum dynamischen Anzeigen von Textänderungen.
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/textanderungen-dekorieren-mit-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>guttenviz reloaded</title>
		<link>http://blog.dieweltistgarnichtso.net/guttenviz-reloaded</link>
		<comments>http://blog.dieweltistgarnichtso.net/guttenviz-reloaded#comments</comments>
		<pubDate>Fri, 17 Jun 2011 18:14:17 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[barcode]]></category>
		<category><![CDATA[guttenberg]]></category>
		<category><![CDATA[guttenplag]]></category>
		<category><![CDATA[guttenviz]]></category>
		<category><![CDATA[visualisierung]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3560</guid>
		<description><![CDATA[Die letzten beiden Tage habe ich ein bisschen an guttenviz gebastelt, einem interaktiven Überblick über die beim GuttenPlag-Wiki gelisteten Plagiatsfragmente in Karl-Theodor Freiherr zu Guttenbergs Dissertation. Zusammengehackt hatte ich den bereits im Februar – Netzpolitik.org berichtete und auch im 2. &#8230; <a href="http://blog.dieweltistgarnichtso.net/guttenviz-reloaded">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href="http://daten.dieweltistgarnichtso.net/src/guttenviz/"><img src="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/thumbs/guttenviz.png" alt="Bildschirmfoto: Barcode, darunter der Hinweis „5 Fragmente auf Seite 123“." /></a>
<p>
Die letzten beiden Tage habe ich ein bisschen an <a href="http://daten.dieweltistgarnichtso.net/src/guttenviz/"><i>guttenviz</i></a> gebastelt, einem interaktiven Überblick über die beim <a href="http://de.guttenplag.wikia.com/wiki/GuttenPlag_Wiki"><i>GuttenPlag</i>-Wiki</a> gelisteten Plagiatsfragmente in <a href="http://de.wikipedia.org/wiki/Plagiatsaff%C3%A4re_Guttenberg">Karl-Theodor Freiherr zu Guttenbergs Dissertation</a>. <span title="Diese Software wurde zu 70% in Unterwäsche geschrieben.">Zusammengehackt</span> hatte ich den bereits im Februar – <a href="http://www.netzpolitik.org/2011/neue-visualisierung-und-navigierung-fur-guttenplag-wiki/1"><i>Netzpolitik.org</i> berichtete</a> und auch im <a href="http://de.guttenplag.wikia.com/wiki/2._Zwischenbericht">2. Zwischenbericht von <i>GuttenPlag</i></a> wird <i>guttenviz</i> erwähnt.
</p>
<p>
Seitdem wurde die Schnittstelle zum <i>GuttenPlag</i>-Wiki allerdings abgeändert, bis <i>guttenviz</i> irgendwann nicht mehr funktionierte; die Fachwelt nennt so etwas <a href="http://www.catb.org/jargon/html/B/bit-rot.html"><i>bit rot</i></a>. Damit das nicht mehr passieren kann, wird die <a href="http://daten.dieweltistgarnichtso.net/src/guttenviz/guttenplag.csv">Liste der Fragmente</a> nun nicht mehr automatisch generiert: Sie liegt statt dessen als statische <a href="http://de.wikipedia.org/wiki/CSV_(Dateiformat)"><abbr title="Comma-Separated Value">CSV</abbr>-Datei</a> vor und kann somit auch vom Tabellenkalkulationsprogramm eurer Wahl geladen werden. Zudem hat die dargestellte Tabelle mehr Rand und weniger Spalten, sie sollte so etwas ordentlicher aussehen.
</p>
<p>
Der <a href="https://github.com/erlehmann/guttenviz"><i>guttenviz</i>-Quellcode</a> ist auf <i>GitHub</i> verfügbar; Dank an dieser Stelle an <a href="https://github.com/fiesh"><i>fiesh</i></a> und <a href="https://github.com/kahrl"><i>kahrl</i></a>, die den von ihnen geschriebenen PHP-Code unter der <a href="http://www.opensource.org/licenses/bsd-license.php">2-Klausel-<abbr title="Berkeley Software Distribution">BSD</abbr>-Lizenz</a> bereitstellen.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/guttenviz-reloaded/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vortragsfolien: code4copyleft</title>
		<link>http://blog.dieweltistgarnichtso.net/vortragsfolien-code4copyleft</link>
		<comments>http://blog.dieweltistgarnichtso.net/vortragsfolien-code4copyleft#comments</comments>
		<pubDate>Wed, 15 Jun 2011 13:45:21 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[creativecommons]]></category>
		<category><![CDATA[inkscapeslide]]></category>
		<category><![CDATA[rdfa]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3546</guid>
		<description><![CDATA[Auf dem diesjährigen taz-Medienkongress habe ich im Rahmen der Veranstaltung code4copyleft einen Kurzvortrag über maschinenlesbare Auszeichnung von Nutzungsrechten gehalten. Ich erklärte u. A. die Grundlagen von RDFa und stellte den Creative Commons License Manager vor. Hier sind die Folien, von &#8230; <a href="http://blog.dieweltistgarnichtso.net/vortragsfolien-code4copyleft">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Auf dem diesjährigen <a href="http://www.taz.de/1/leben/taz-medienkongress-2011/"><i>taz</i>-Medienkongress</a> habe ich im Rahmen der Veranstaltung <a href="http://www.tazlab.de/programm/events/210.de.html"><i>code4copyleft</i></a> einen Kurzvortrag über maschinenlesbare Auszeichnung von Nutzungsrechten gehalten. Ich erklärte u. A. die Grundlagen von <a href="http://www.w3.org/TR/xhtml-rdfa-primer/"><abbr title="Resource Description Framework in Attributes">RDFa</abbr></a> und stellte den <a href="http://blog.dieweltistgarnichtso.net/cc-license-manager"><i>Creative Commons License Manager</i></a> vor.
</p>
<p>
<a href="http://daten.dieweltistgarnichtso.net/docs/presentations/code4copyleft/code4copyleft.pdf">Hier sind die Folien</a>, von der Veranstaltung gibt es auch <a href="http://www.taz.de/videos/tazlab_2011/taz2011k2_code4copyleft_cut.flv">ein Video</a>. Vorbereitet wurde das Ganze übrigens in <a href="http://piratepad.net/ep/pad/view/code4copyleft/rev.5188">einem <i>Pad</i></a>.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/vortragsfolien-code4copyleft/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://www.taz.de/videos/tazlab_2011/taz2011k2_code4copyleft_cut.flv" length="325710745" type="video/x-flv" />
		</item>
		<item>
		<title>Minetest Δ – ein Minecraft-Klon</title>
		<link>http://blog.dieweltistgarnichtso.net/minetest-delta</link>
		<comments>http://blog.dieweltistgarnichtso.net/minetest-delta#comments</comments>
		<pubDate>Sat, 04 Jun 2011 19:02:28 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Spiele]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3494</guid>
		<description><![CDATA[Minetest Δ ist ein Computerspiel, das Minecraft nachempfunden ist: Die Spieler befinden sich in einer zufallsgenerierten 3D-Welt aus Blöcken mit etwa einem Meter Kantenlänge; diese lassen sich mittels verschiedener Werkzeuge abbauen, kombinieren und neu in der Welt verteilen. Eine irgendwie &#8230; <a href="http://blog.dieweltistgarnichtso.net/minetest-delta">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<img src="http://daten.dieweltistgarnichtso.net/pics/screenshots/games/minetest/minetest-cactii.png" alt="Screenshot von Minetest Δ: Kaktus am Strand" />
<p>
<span title="Für des Griechischen Unkundige: „Minetest Delta“."><i>Minetest Δ</i></span> ist ein Computerspiel, das <a href="http://de.wikipedia.org/wiki/Minecraft"><i>Minecraft</i></a> nachempfunden ist: Die Spieler befinden sich in einer zufallsgenerierten 3D-Welt aus Blöcken mit etwa einem Meter Kantenlänge; diese lassen sich mittels verschiedener Werkzeuge abbauen, kombinieren und neu in der Welt verteilen. Eine irgendwie geartete Handlung gibt es nicht: Tagsüber sucht man Rohstoffe, nachts verteidigt man sich gegen <a href="http://lurkmore.ru/Winged_Doom">komische Vögel</a>, zwischendurch gräbt man Tunnelsysteme oder baut Festungen über den Wolken.
</p>
<p>
Grundsätzlich ist es also virtuelles Lego – mit einigen Unterschieden: Erstens enthält die ca. 32000³ Blöcke große Welt <span title="Eine Größenordnung von 10¹³."><em>ziemlich</em> viel Material</span>, zweitens ist <i>Minetest Δ</i> <a href="http://www.gnu.org/philosophy/free-sw.de.html">frei lizenziert</a>: Neue Materialien, Werkzeuge usw. lassen sich hinzufügen, sofern man <a href="http://en.wikipedia.org/wiki/Cargo_cult_programming">halbwegs Ahnung von C++</span></a> hat – tatsächlich habe ich schon eineinhalb Nächte mit abwechselndem Spielen und Programmieren verbracht. Der bessere Vergleich wäre also eine virtuelle Legofabrik.
</p>
<p>
<i>Minetest Δ</i> basiert auf <a href="http://celeron.55.lt/~celeron55/minetest/"><i>Minetest-c55</i></a>, dessen Hauptentwickler Fremdbeiträge <a href="http://celeron.55.lt/blog/?p=232">eher vorsichtig handhabt</a>; <a href="http://daten.dieweltistgarnichtso.net/pics/screenshots/games/minetest/">Bildschirmfotos gibt es hier</a>, der <a href="https://github.com/erlehmann/minetest-delta">Quellcode ist auf GitHub</a>. <strong style="whitespace: pre;">(ﾉﾟ-ﾟ)ﾉ CONTRIBUTE!</strong>
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/minetest-delta/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Podcasting … Warum nicht?</title>
		<link>http://blog.dieweltistgarnichtso.net/podcasting-warum-nicht</link>
		<comments>http://blog.dieweltistgarnichtso.net/podcasting-warum-nicht#comments</comments>
		<pubDate>Sat, 21 May 2011 23:51:59 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[aac]]></category>
		<category><![CDATA[erlehmann]]></category>
		<category><![CDATA[johl]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[plomlompom]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[redokast]]></category>
		<category><![CDATA[vorbis]]></category>
		<category><![CDATA[warumnicht]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3325</guid>
		<description><![CDATA[Seit heute gibt es einen neuen Stern am Podcasthimmel: Warum nicht? mit mir, johl und plomlompom. Die Themen der ersten Folge liegen irgendwo zwischen Kryptografie, Feminismus und kontemporärem amerikanischen Action-Kino. Und da wir das jetzt regelmäßig machen wollen, gibt es &#8230; <a href="http://blog.dieweltistgarnichtso.net/podcasting-warum-nicht">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Seit heute gibt es einen neuen Stern am Podcasthimmel: <a href="http://warumnicht.so"><i>Warum nicht?</i></a> mit mir, <a href="http://www.johl.io/"><i>johl</i></a> und <a href="http://www.plomlompom.de/"><i>plomlompom</i></a>. Die Themen der <a href="http://warumnicht.so/wn-1.html">ersten Folge</a> liegen irgendwo zwischen Kryptografie, Feminismus und kontemporärem amerikanischen Action-Kino. Und da wir das jetzt regelmäßig machen wollen, gibt es auch <a href="http://warumnicht.so/feed.atom">ein Feed</a>. Die nullte Folge gibt es <a href="http://www.plomlompom.de/PlomWiki/plomwiki.php?title=PodcastWarumNichtBeta">im PlomWiki</a>.
</p>
<p>
Da ich ziemlich faul bin, habe ich für das ganze Drumherum <a href="https://github.com/erlehmann/redokast/tree/warumnicht">ein paar Shellskripte</a> gebastelt, die das hervorragende Buildsystem <a href="https://github.com/apenwarr/redo/"><i>redo</i></a> nutzen. So brauche ich für eine neue Folge neben der unbearbeiteten Aufnahme nur eine Textdatei mit Metadaten und die Linkliste – mit nur einem Kommando wird dann kodiert, Webseite und Feed generiert und hochgeladen.
</p>
<p>
Die so erstellte Webseite hat eine Besonderheit: Beim Abspielen wird einerseits auf die jeweils relevanten Links hingewiesen, zudem lässt sich per Klick auf den Zeitstempel im Podcast springen. Die Idee dazu kommt von <a href="http://praegnanz.de/weblog/link-handling-im-audioblog">Gerrit van Aaken</a>, ich experimentierte damit schon <a href="http://daten.dieweltistgarnichtso.net/src/audio-linkliste/audio-linkliste.xhtml">ein-</a>, <a href="http://daten.dieweltistgarnichtso.net/src/audio-linkliste/audio-linkliste-trackback.xhtml">zweimal</a>.
</p>
<p>
Als Audioformat gibt es bisher nur Ogg Vorbis, d.h. kein MP3 oder AAC. Warum? Einerseits, weil bereits die Installation eines entsprechenden Enkoders komische Frickelei ist und ich von den Tools keine Ahnung habe. Andererseits, weil ich generell nicht gerne unbezahlt Probleme löse, <a href="http://blog.dieweltistgarnichtso.net/liebe-apfelventilatoren">die sich andere Leute selber schaffen</a>. <del datetime="2011-05-22T20:35:59+00:00">Ursprünglich wollte bzw. sollte unser Apfelnutzer <i>johl</i> das einbauen, bisher habe ich von ihm jedoch keinen Code diesbezüglich gesehen. Falls er den nicht liefern sollte, muss es also jemand anders machen – <i>patches welcome</i>.</del>
</p>
<ins datetime="2011-05-22T20:35:59+00:00">
<p>
<i>johl</i>s <a href="https://github.com/erlehmann/redokast/pull/2">Patch zum Generieren von MP3s</a> baue ich morgen früh ein. Dann gibt es auch die MP3-Datei, es mangelt mir gerade an Konzentration und Bandbreite.
</p>
</ins>
<ins datetime="2011-05-23T21:43:10+00:00">
<p>
So, für die Apfelfraktion gibts auch MP3. Wisst ihr übrigens, für welche Software man früher seine Webseiten anpassen musste, während es überall sonst relativ problemlos lief? <em>Internet Explorer 6.</em>
</p>
</ins>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/podcasting-warum-nicht/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Liebe Apfelventilatoren,</title>
		<link>http://blog.dieweltistgarnichtso.net/liebe-apfelventilatoren</link>
		<comments>http://blog.dieweltistgarnichtso.net/liebe-apfelventilatoren#comments</comments>
		<pubDate>Fri, 20 May 2011 05:32:15 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[ipod]]></category>
		<category><![CDATA[itunes]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[vorbis]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3318</guid>
		<description><![CDATA[immer wenn ich irgendwo eine Audiodatei hochlade, beschwert ihr euch. Sowohl euer angeblich so moderner Browser Safari als der auch der Interface-Alptraum iTunes können das Audioformat Ogg Vorbis nämlich nicht abspielen. Weder euer glänzendes iPad, noch euer zerkratztes iPhone, noch &#8230; <a href="http://blog.dieweltistgarnichtso.net/liebe-apfelventilatoren">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
immer wenn ich irgendwo eine Audiodatei hochlade, beschwert ihr euch. Sowohl euer angeblich so moderner Browser <i>Safari</i> als der auch der <a href="http://gigaom.com/apple/itunes-10-interface-where-apple-went-wrong-2/">Interface-Alptraum <i>iTunes</i></a> können das Audioformat <a href="https://secure.wikimedia.org/wikipedia/de/wiki/Vorbis">Ogg Vorbis</a> nämlich nicht abspielen. Weder euer glänzendes <i>iPad</i>, noch euer zerkratztes <i>iPhone</i>, noch euer abgegriffener <i>iPod</i> schaffen das.
</p>

<p>
<i>Google Chrome</i>, <i>Mozilla Firefox</i> und <i>Opera</i> hingegen bekommen das hin. <i>mplayer</i>, <i>VLC</i> und <i>Winamp</i> ebenfalls. Jedes <i>Android</i>-Handy und sogar <a href="https://secure.wikimedia.org/wikipedia/en/wiki/S1_MP3_Player">billige China-Hardware</a> kann Ogg Vorbis einfach so abspielen. Eure Apfelprodukte hingegen brauchen dafür <a href="http://www.xiph.org/quicktime/download.html">Plugins</a> und <a href="https://secure.wikimedia.org/wikipedia/de/wiki/Rockbox">Firmware-Upgrades</a> – falls ihr überhaupt Programme darauf <a href="http://www.fsf.org/news/ibad_launch">installieren</a> könnt.
</p>

<p>
„Naja, es gibt doch MP3“, sagt ihr, „– das geht überall, selbst auf Apfelprodukten!“. Und damit habt ihr nicht einmal Unrecht. Ihr vernachlässigt natürlich, dass Vorbis-Dateien bei gleicher Qualität kleiner als MP3s sind. Dass MP3-Metadaten <a href="https://secure.wikimedia.org/wikipedia/de/wiki/ID3-Tag#ID3v2">idiotischen Restriktionen</a> unterliegen. Dass <a href="https://secure.wikimedia.org/wikipedia/de/wiki/Unterbrechungsfreie_Wiedergabe">störende Pausen</a> zwischen Liedern auftreten können. Klar, das sind alles vernachlässigbare Probleme.
</p>

<p>
Aber dann übergeht ihr, dass Autoren von Software mit MP3-Unterstützung <a href="http://www.chillingeffects.org/patent/notice.cgi?NoticeID=464">böse Briefe</a> erhalten haben. Briefe, die darauf hinweisen, dass man für die Nutzung des Formats <a href="http://www.mp3licensing.com/royalty/">Schutzgeld</a> zu bezahlen hat. Und natürlich hat das dazu geführt, dass viele Programme das Erstellen von MP3-Dateien von Haus aus nicht mehr unterstützen, aus ganz pragmatischen Erwägungen.
</p>

<p>
Klar könnte ich jetzt rumfrickeln, hier <a href="http://www.rarewares.org/debian.php">runterladen</a>, dort <a href="http://www.hydrogenaudio.org/forums/lofiversion/index.php/t56165.html">kompilieren</a>. Aber für Ogg und Vorbis existiert ein ganzer Haufen Software, der problemlos funktioniert. Inwiefern sollte es mich da noch interessieren, ob eure verkrüppelten Hipster-Statussymbole meine Dateien verarbeiten können? Ihr bezahlt mich ja nicht einmal.
</p>

<p>
Ich habe nichts dagegen, dass ihr euch glitzerndes Technikspielzeug kauft. Aber wenn der Hersteller einen jahrelang bekannten Defekt nicht korrigiert, beschwert euch dort. Oder repariert es selber. Meinetwegen verzichtet halt auf von mir produzierte Audiodaten und Software. Eure autoritären Sehnsüchte behaltet aber bitte für euch, anstatt sie mir in Form einer idiotischen Anspruchshaltung vor die Füße zu kotzen.
</p>

<ins datetime="2011-05-20T13:02:44+00:00">
<p>
Falls das nicht klar genug rüber gekommen ist: Mir geht es nicht primär um Audioformate, sondern um das, was man gemeinhin als <i>sense of entitlement</i> bezeichnet – Leute sind vehement der Meinung, ich wäre dafür zuständig, dass irgendwas bei ihnen funktioniert und meckern, wenn ich mit den Schultern zucke.
</p>
<p>
Wer sich also lieber über Audioformate streitet, sollte das besser in der <a href="http://tim.geekheim.de/2011/03/26/ls001-audio-dateiformate-feeds-und-itunes">Kommentarspalte des <i>Lautsprecher</i>s</a> tun, einem Podcast über das Podcasten. Dort erfährt man dann auch, <a href="http://tim.geekheim.de/2011/03/26/ls001-audio-dateiformate-feeds-und-itunes/#comment-668475">welche <em>Autoradios</em> Ogg Vorbis abspielen</a>.
</p>
</ins>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/liebe-apfelventilatoren/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Fefesbook</title>
		<link>http://blog.dieweltistgarnichtso.net/fefesbook</link>
		<comments>http://blog.dieweltistgarnichtso.net/fefesbook#comments</comments>
		<pubDate>Tue, 19 Apr 2011 01:53:02 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fefe]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3273</guid>
		<description><![CDATA[Im Jahr 2011 gründet IT-Sicherheitsexperte Felix von Leitner, genannt Fefe, das Blog Fefesbook, nachdem er sich erfolglos an einigen anderen Internetprojekten versucht hatte. Fefesbook (dt. Fefes Buch) ist eine Website zum Erstellen und Verbreiten von Rants und Verschwörungstheorien. Die Plattform &#8230; <a href="http://blog.dieweltistgarnichtso.net/fefesbook">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<a href="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/fefesbook.png"><img src="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/fefesbook.png" alt="Fefes Blog im Facebook-Stil" /></a>
<p>
Im Jahr 2011 gründet <abbr title="Informationstechnologie">IT</abbr>-Sicherheitsexperte Felix von Leitner, genannt <i>Fefe</i>, das Blog <a href="http://blog.fefe.de/?css=http://daten.dieweltistgarnichtso.net/src/fefesbook-css/fefesbook.css"><b>Fefesbook</b></a>, nachdem er sich erfolglos an <a href="http://www.fefe.de/fnord/">einigen</a> <a href="http://www.fefe.de/tinyldap/">anderen</a> <a href="http://www.fefe.de/gatling/">Internetprojekten</a> versucht hatte. <i>Fefesbook</i> (dt. Fefes Buch) ist eine Website zum Erstellen und Verbreiten von Rants und Verschwörungstheorien. Die Plattform ist im April 2011 erstmals zugänglich und wurde nach eigenen Angaben <q cite="http://blog.fefe.de/faq.html">in C gehackt, mit <i>dietlibc</i>, <i>libowfat</i>, unter <i>gatling</i> laufend und mit einem <i>tinyldap</i>-Backend</q>.
</p>
<p><small>
J.K. Rowling schreibt <a href="https://github.com/erlehmann/fefesbook-css">sieben Bücher</a> darueber, Stephen Spielberg <a href="http://blog.refefe.de/?css=http://daten.dieweltistgarnichtso.net/src/fefesbook-css/fefesbook.css">verfilmt</a> die Story schließlich. Prognostiziertes <abbr title="Internet Movie Database">IMDb</abbr>-Rating: 9.3/10
</small></p>
<ins datetime="2011-09-10T19:12:50+00:00">
<p>
Ich habe gerade zwei Bugs am Stylesheet gefixt. Einer ist schon in den Kommentaren erwähnt worden: Im aktuellen Chromium war <q cite="http://blog.dieweltistgarnichtso.net/fefesbook#comment-15327">der hintergrund komplett blau</q>. Das lag daran, dass Chromium den Selektor <code>html::before</code> wohl nicht richtig versteht und die Hintergrundfarbe des generierten <a href="http://www.w3.org/TR/css3-content/#pseudo-elements">Pseudoelements</a> auch auf das nachfolgende <code>html</code>-Element anwendet.
</p>
<p>
Die zweite Änderung hat ebenfalls mit Browserfersagen zu tun: Das Logo hatte zwar die gleiche blaue Hintergrundfarbe, die im Stylesheet verwendet wird – es gibt da aber <a href="http://hsivonen.iki.fi/png-gamma/">Unterschiede in der Gammakorrektur zwischen <abbr title="Portable Network Graphics">PNG</abbr> und <abbr title="Cascading Style Sheets">CSS</abbr></a>. Bei <i>Iceweasel</i> auf Debian fiel das besonders ins Auge; durch ein <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=626537">falsches Farbprofil</a> sah das verwendete Blau eher lila aus. Der Logo-Hintergrund ist daher jetzt transparent.
</p>
</ins>
]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/fefesbook/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>aabeehijlpstz.</title>
		<link>http://blog.dieweltistgarnichtso.net/aabeehijlpstz</link>
		<comments>http://blog.dieweltistgarnichtso.net/aabeehijlpstz#comments</comments>
		<pubDate>Thu, 11 Nov 2010 03:26:50 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Bilder]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[boingboing]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[luminance]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3094</guid>
		<description><![CDATA[Inspiriert von einem Artikel auf BoingBoing habe ich ein bookmarklet geschrieben, das Text alphabetisch und Pixel nach Luminanz sortiert. Es befindet sich hinter diesem Link (alphabetize.js) und auf GitHub. Hier ein kurzer Vergleich mit der homepage von Bre Pettis: Von &#8230; <a href="http://blog.dieweltistgarnichtso.net/aabeehijlpstz">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Inspiriert von einem <a href="http://www.boingboing.net/2010/11/08/cut-up-artist-alphab.html">Artikel auf BoingBoing</a> habe ich ein <a href="http://de.wikipedia.org/wiki/Bookmarklet"><i lang="en">bookmarklet</i></a> geschrieben, das Text alphabetisch und Pixel nach <a href="http://de.wikipedia.org/wiki/Luminanz">Luminanz</a> sortiert. Es befindet sich <ins datetime="2010-11-11T16:26:14+00:00">hinter diesem Link (<strong><a href="javascript:function%20alphabetize(c)%7Breturn%20c.replace(%2F%20%2Fg%2C%22%22).split(%22%22).sort(asort).join(%22%5Cu200b%22)%7Dfunction%20asort(d%2Cf)%7Bif(d.charCodeAt(0)%3C%3D64)%7Bif(f.charCodeAt(0)%3C%3D64)%7Bif(d%3Ef)%7Breturn%201%7Dif(d%3Cf)%7Breturn%20-1%7D%7Dif(65%3C%3Df.charCodeAt(0)%3C%3D122)%7Breturn%201%7Dif(f.charCodeAt(0)%3E%3D123)%7Breturn%20-1%7D%7Dif(f.charCodeAt(0)%3C%3D64)%7Bif(65%3C%3Dd.charCodeAt(0)%3C%3D122)%7Breturn%20-1%7Dif(d.charCodeAt(0)%3E%3D123)%7Breturn%201%7D%7Dvar%20e%3DString(d).toUpperCase()%3Bvar%20c%3DString(f).toUpperCase()%3Bif(e%3Ec)%7Breturn%201%7Dif(e%3Cc)%7Breturn%20-1%7Dreturn%200%7Dvar%20xPathResult%3Ddocument.evaluate('.%2F%2Ftext()%5Bnormalize-space(.)%20!%3D%20%22%22%5D'%2Cdocument.body%2Cnull%2CXPathResult.ORDERED_NODE_SNAPSHOT_TYPE%2Cnull)%3Bfor(var%20i%3D0%2Cl%3DxPathResult.snapshotLength%3Bi%3Cl%3Bi%2B%2B)%7Bvar%20textNode%3DxPathResult.snapshotItem(i)%3Bif(textNode!%3Dnull)%7BtextNode.data%3Dalphabetize(textNode.data)%7D%7Dfunction%20luminance(c)%7Breturn((0.299*c%5B0%5D)%2B(0.587*c%5B1%5D)%2B(0.114*c%5B2%5D))*(1%2Fc%5B3%5D)%7Dfunction%20isort(d%2Cf)%7Bvar%20e%3Dluminance(d)%3Bvar%20c%3Dluminance(f)%3Bif(e%3Ec)%7Breturn%201%7Dif(e%3Cc)%7Breturn%20-1%7Dreturn%200%7Dfunction%20luminize(k)%7Bvar%20j%3Ddocument.createElement(%22canvas%22)%3Bvar%20m%3Dj.getContext(%222d%22)%3Bvar%20f%3Dk.width%3Bvar%20o%3Dk.height%3Bj.width%3Df%3Bj.height%3Do%3Bm.drawImage(k%2C0%2C0)%3Btry%7Bvar%20c%3Dm.getImageData(0%2C0%2Cf%2Co)%7Dcatch(n)%7Bvar%20j%3Ddocument.createElement(%22canvas%22)%3Bvar%20m%3Dj.getContext(%222d%22)%3Bj.width%3Df%3Bj.height%3Do%3Bvar%20c%3Dm.createImageData(f%2Co)%3Br%3DparseInt(Math.random()*256)%3Bg%3DparseInt(Math.random()*256)%3Bb%3DparseInt(Math.random()*256)%3Ba%3D256%3Bfor(y%3D0%3By%3Co%3By%2B%2B)%7Boutpos%3Dy*f*4%3Bfor(x%3D0%3Bx%3Cf%3Bx%2B%2B)%7Bif(Math.random()%3C0.00001)%7Br%3DparseInt(Math.random()*256)%3Bg%3DparseInt(Math.random()*256)%7Dif(Math.random()%3C0.00001)%7Bg%3DparseInt(Math.random()*256)%3Bb%3DparseInt(Math.random()*256)%7Dif(Math.random()%3C0.00001)%7Bb%3DparseInt(Math.random()*256)%3Br%3DparseInt(Math.random()*256)%7Dif(Math.random()%3C0.001)%7Ba%3DparseInt(Math.random()*256)%7Dc.data%5Boutpos%2B%2B%5D%3Dr-4%2BparseInt(Math.random()*4)%3Bc.data%5Boutpos%2B%2B%5D%3Dg-4%2BparseInt(Math.random()*4)%3Bc.data%5Boutpos%2B%2B%5D%3Db-4%2BparseInt(Math.random()*4)%3Bc.data%5Boutpos%2B%2B%5D%3Da-4%2BparseInt(Math.random()*4)%7D%7D%7Dvar%20h%3Dnew%20Array(0)%3Bfor(y%3D0%3By%3Co%3By%2B%2B)%7Binpos%3Dy*f*4%3Bfor(x%3D0%3Bx%3Cf%3Bx%2B%2B)%7Bvar%20d%3Dnew%20Array(4)%3Bd%5B0%5D%3Dc.data%5Binpos%2B%2B%5D%3Bd%5B1%5D%3Dc.data%5Binpos%2B%2B%5D%3Bd%5B2%5D%3Dc.data%5Binpos%2B%2B%5D%3Bd%5B3%5D%3Dc.data%5Binpos%2B%2B%5D%3Bh.push(d)%7D%7Dh%3Dh.sort(isort)%3Bfor(y%3D0%3By%3Co%3By%2B%2B)%7Boutpos%3Dy*f*4%3Bfor(x%3D0%3Bx%3Cf%3Bx%2B%2B)%7Bd%3Dh.pop()%3Bc.data%5Boutpos%2B%2B%5D%3Dd%5B0%5D%3Bc.data%5Boutpos%2B%2B%5D%3Dd%5B1%5D%3Bc.data%5Boutpos%2B%2B%5D%3Dd%5B2%5D%3Bc.data%5Boutpos%2B%2B%5D%3Dd%5B3%5D%7D%7Dm.putImageData(c%2C0%2C0%2C0%2C0%2Cc.width%2Cc.height)%3Breturn%20j.toDataURL()%7Dfunction%20luminizeDelayLoop()%7Bif(i%3Cimages.length)%7Bvar%20c%3Dimages%5Bi%5D%3Bif(c.src.slice(0%2C5)!%3D%22data%3A%22)%7Bc.src%3Dluminize(c)%7Di%2B%2B%3Bwindow.setTimeout(%22luminizeDelayLoop()%22%2C100)%7D%7Dvar%20images%3Ddocument.getElementsByTagName(%22img%22)%3Bvar%20i%3D0%3BluminizeDelayLoop()%3B">alphabetize.js</a></strong>) und</ins> <a href="https://github.com/erlehmann/alphabetize.js">auf GitHub</a>. Hier ein kurzer Vergleich mit der <a href="http://brepettis.com/"><i lang="en">homepage</i> von <i>Bre Pettis</i></a>:
</p>
<img src="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/thumbs/brepettis.com.png" alt="unmodifiziertes Bildschirmfoto von http://brepettis.com" />
<img src="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/thumbs/brepettis.com-alphabetized.png" alt="mit alphabetizer.js modifiziertes Bildschirmfoto von http://brepettis.com" />
<p>
Von anderen <a href="http://de.wikipedia.org/wiki/Same_Origin_Policy"><i lang="en">origins</i></a> stammende oder per <abbr title="Cascading Style Sheets">CSS</abbr> eingebundene Bilder können leider nicht gefiltert werden. Für Erstere behelfe ich mir mit zufällig generierten Ersatzgrafiken, Zweitere lasse ich schlicht in Ruhe.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/aabeehijlpstz/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>3D-Anaglyph-Text mit CSS</title>
		<link>http://blog.dieweltistgarnichtso.net/3d-anaglyph-text-mit-css</link>
		<comments>http://blog.dieweltistgarnichtso.net/3d-anaglyph-text-mit-css#comments</comments>
		<pubDate>Thu, 07 Oct 2010 15:14:33 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[anaglyph]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[fefe]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=3017</guid>
		<description><![CDATA[Bemüht man die Suchmaschine seiner Wahl, erhält man bisher exakt einen auf den ersten Blick brauchbaren Artikel zur Themenkombination „Anaglyph-Effekte und CSS“ (Demo). Die dort vorgestellte Methode ist allerdings aus mehreren Gründen unbrauchbar: Der zu dekorierende Text wird mittels generiertem &#8230; <a href="http://blog.dieweltistgarnichtso.net/3d-anaglyph-text-mit-css">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Bemüht man die Suchmaschine seiner Wahl, erhält man bisher exakt einen <span title="d.h. absolut nicht">auf den ersten Blick</span> brauchbaren <a href="http://line25.com/tutorials/how-to-create-a-cool-anaglyphic-text-effect-with-css">Artikel</a> zur Themenkombination „<a href="http://de.wikipedia.org/wiki/Anaglyphenbild">Anaglyph</a>-Effekte und <abbr title="Cascading Style Sheets">CSS</abbr>“ (<a href="http://line25.com/wp-content/uploads/2009/anaglyphic-text/demo/demo.html">Demo</a>). Die dort vorgestellte Methode ist allerdings aus mehreren Gründen unbrauchbar:
</p>
<ul>
	<li>Der zu dekorierende Text wird mittels <a href="http://www.w3.org/TR/CSS2/generate.html#content">generiertem Inhalt</a> in einem <a href="http://www.w3.org/TR/CSS2/selector.html#pseudo-elements">Pseudo-Element</a> dupliziert. Einfacher und semantisch sauberer wäre die Verwendung des CSS3-Attributes <a href="http://www.w3.org/TR/css3-text/#text-shadow"><i>text-shadow</i></a>.</li>
	<li>Die Glyphen sind nicht nur horizontal, sondern auch vertikal gegeneinander versetzt — man müsste den Kopf also stets schräg halten, um den gewünschten Effekt zu erzielen.</li>
	<li>Die verwendeten Farben sind Rot und Blau. Für Anaglyphendarstellungen werden heutzutage aber Rot und Cyan verwendet.</li>
</ul>
<p>
Nachdem <a href="http://twitter.com/discordianfish"><i>fish</i></a> mir eine Anaglyphenbrille überließ, habe ich mich heute morgen daran gemacht, ein eigenes <i>stylesheet</i> ohne diese Missstände zu erstellen. Umgesetzt habe ich das Ganze natürlich für unseren Lieblings-CSS-Sandkasten (<a href="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/fefe-anaglyph.png"><i>screenshot</i></a>) …
</p>
<a href="http://blog.fefe.de/?css=http://daten.dieweltistgarnichtso.net/src/fefe-anaglyph-css/anaglyph.css"><img src="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/fefe-anaglyph-logo.png" alt="Fefes Blog" /></a>
<p>
Um den 3D-Effekt zu verstärken, wird der <i>:hover</i>-Status mittels <a href="http://www.w3.org/TR/css3-transitions/"><i>CSS Transitions</i></a> animiert; in aktuellen <i>WebKit</i>- und <i>Gecko</i>-Browsern (Chrome, Safari, Firefox ab Version 4.0) sollten diese problemlos funktionieren. Der Quellcode findet sich <a href="http://github.com/erlehmann/fefe-anaglyph-css">auf <i>GitHub</i></a>.
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/3d-anaglyph-text-mit-css/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Der Creative Commons License Manager, ein Plugin für WordPress</title>
		<link>http://blog.dieweltistgarnichtso.net/cc-license-manager</link>
		<comments>http://blog.dieweltistgarnichtso.net/cc-license-manager#comments</comments>
		<pubDate>Sat, 18 Sep 2010 08:25:05 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Freie Lizenzen]]></category>
		<category><![CDATA[In eigener Sache]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[creativecommons]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mediamanager]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[rdfa]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=2847</guid>
		<description><![CDATA[Wie bereits angekündigt, habe ich mich dieses Jahr am Google Summer of Code beteiligt. Mein Projektvorschlag sah vor, den WordPress-Media-Manager um Unterstützung für Creative-Commons-Lizenzen zu erweitern; das nun fertige Plugin leistet dies — und sogar noch ein bisschen mehr: Der &#8230; <a href="http://blog.dieweltistgarnichtso.net/cc-license-manager">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Wie bereits <a href="http://blog.dieweltistgarnichtso.net/google-summer-of-code-2010">angekündigt</a>, habe ich mich dieses Jahr am <a href="http://de.wikipedia.org/wiki/Google_Summer_of_Code"><i xml:lang="en">Google Summer of Code</i></a> beteiligt. Mein Projektvorschlag sah vor, den WordPress-Media-Manager um Unterstützung für <a href="http://de.creativecommons.org/was-ist-cc/">Creative-Commons-Lizenzen</a> zu erweitern; das nun fertige Plugin leistet dies — und sogar noch ein bisschen mehr:
</p>
<p>
Der <i>Creative Commons License Manager</i> ermöglicht es, Lizenz, Rechteinhaber, Quell-<abbr title="Uniform Resource Identifier">URI</abbr> und Jurisdiktion sowohl global (als Standard) als auch individuell für einzelne Medien-Anhänge zu setzen (<a href="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/wordpress-cc-plugin/finished-interface.png"><i xml:lang="en">screenshot</i></a>). Wenn ein Blogartikel dargestellt wird, wird entsprechendes HTML5-Markup für Bilder, Video- und Audio-Inhalte generiert, das <a href="http://wiki.creativecommons.org/RDFa">maschinenlesbare Metadaten</a> enthält. Die mitgelieferten <i xml:lang="en">stylesheets</i> ermöglichen es, die Darstellung anzupassen — so ist etwa eines enthalten, das den minimalistischen Stil des Blogs <a href="http://spreeblick.com">Spreeblick</a> imitiert.
</p>
<p> Heruntergeladen werden kann das Plugin im <a href="http://wordpress.org/extend/plugins/creative-commons-license-manager/">Plugin-Verzeichnis von WordPress.org</a>. Ein <a href="http://mirrors.creativecommons.org/movingimages/wordpress-cc-plugin-with-subtitles.ogv">englischsprachiges Video</a> mit deutschen und englischen Untertiteln (die im Browser leider nicht angezeigt werden) zeigt, wie der <i><abbr title="Creative Commons">CC</abbr> License Manager</i> benutzt wird.
</p>
<p>
Anja Krieger hat mich bezugnehmend auf meine Arbeit am Plugin interviewt und daraus ein <a href="http://anjakrieger.com/2010/09/06/nils-moskopp/">Audioporträt</a> erstellt, in dem ich meine Gedanken zu Creative Commons und freier Kultur vortrage. Dieses ist auch im <i>feed</i>-Magazin <a href="http://feed-magazin.de/nils-dagsson-moskopp-kultur-fur-alle/">erschienen</a>.
</p>
<p>
Wer sich für technische Details und die Entstehungsgeschichte interessiert, sollte meine <a href="http://labs.creativecommons.org/category/wordpress/">wöchentlichen Fortschrittsberichte</a> im Labs-Blogs von <i>Creative Commons</i> nachlesen. Der Quellcode ist über ein <a href="http://code.creativecommons.org/viewgit/wordpress-cc-plugin.git/">Webinterface</a> und über <a href="git://code.creativecommons.org/wordpress-cc-plugin.git">Git</a> zugänglich; <i xml:lang="en">patches</i> und <i xml:lang="en">bug reports</i> sind natürlich immer erwünscht, letztere auch gerne in den Kommentaren.
</p>
<ins datetime="2010-09-18T13:13:12+00:00">
<p>
Das Paketierungsproblem ist in der Version 0.7.4 behoben. Ich empfehle, zu warten, bis diese im Pluginverzeichnis auftaucht; sehr Ungeduldige klicken <a href="http://code.creativecommons.org/viewgit/wordpress-cc-plugin.git/snapshot/wordpress-cc-plugin-0.7.4.zip">hier</a>.
</p>
</ins>
<span id="more-2847"></span>
<p>
Obwohl die Mehrzahl der nachfolgenden Personen keinen Quellcode beigesteuert hat, wäre das Plugin ohne sie in seiner jetzigen Form nicht möglich gewesen. Ich möchte ihnen daher an dieser Stelle herzlich danken.
</p>
<ul>
<li><b>Matthias Mehldau (<i>wetterfrosch</i>)</b> schrieb einen <a href="http://einmachglas.wordpress.com/2009/03/10/creative-commons-html-code/">Blogpost</a>, in dem er über mögliches Markup für Creative-Commons-lizenzierte Inhalte sinnierte.</li>
<li><b>Julia Seeliger (<i>zeitrafferin</i>)</b> verfasste einen <a href="http://julia-seeliger.de/wunschzettel-creative-commons-plugin-fur-wordpress/">verwandten Artikel</a>, der das inspirierende Moment für mich wurde.</li>
<li><b>Johnny Häusler</b> schickte mir auf Anfrage einen <a href="http://daten.dieweltistgarnichtso.net/pics/screenshots/web/spreeblick-plugin.png"><i xml:lang="en">screenshot</i></a> des Spreeblick-Plugin-Interfaces.</li>
<li><b>Nathan Yergler</b> beriet mich bezüglich <abbr title="Resource Description Framework in Attributes">RDFa</abbr>.</li>
<li><b>Nathan Kinkade</b> war mein Mentor beim <i xml:lang="en">Summer of Code</i>; er schlug Verbesserungen vor und erklärte mir geduldig, wenn meine Ansätze ein Problem nicht lösten. Ebenso organisierte er die etwas komplizierte Veröffentlichung im Plugin-Verzeichnis auf WordPress.org.</li>
<li><b>Moritz Metz (<i>mtz</i>)</b> wies mich darauf hin, dass Nichtstandard-Wordpress-Verzeichnisnamen und <i xml:lang="en">post thumbnails</i> berücksichtigt werden sollten.</li>
<li><b>Markus Beckedahl</b> schlug die <i xml:lang="en">embed</i>-Funktionalität vor.</li>
<li><b>Nicolas Ricquemaque</b> schrieb eine <a href="http://opensource.grisambre.net/ogg/">hilfreiche Ogg-Bibliothek</a>, die das Plugin nutzt, um die Dauer von Audio- und Video-Dateien zu ermitteln.</li>
<li><b>Bernd Holzmüller</b> erklärte mir, wie man Speicherlecks vermeidet.</li>
<li><b>Matthias Rampke (<i>matthiasr</i>)</b> beseitigte die Beschränkung, dass das Plugin-Verzeichnis den Wert „wordpress-cc-plugin“ haben musste.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/cc-license-manager/feed</wfw:commentRss>
		<slash:comments>36</slash:comments>
<enclosure url="http://mirrors.creativecommons.org/movingimages/wordpress-cc-plugin-with-subtitles.ogv" length="10899978" type="video/ogg" />
		</item>
		<item>
		<title>Rauchverbot: Gesünder diskutieren mit Filter</title>
		<link>http://blog.dieweltistgarnichtso.net/rauchverbot-gesunder-diskutieren-mit-filter</link>
		<comments>http://blog.dieweltistgarnichtso.net/rauchverbot-gesunder-diskutieren-mit-filter#comments</comments>
		<pubDate>Mon, 05 Jul 2010 21:46:09 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Bayern]]></category>
		<category><![CDATA[Recht]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[nichtraucherschutz]]></category>
		<category><![CDATA[rauchverbot]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wortfilter]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=2533</guid>
		<description><![CDATA[Julia Seeliger hat in den letzten Tagen gleich zwei Artikel zum per Volksentscheid festgeschriebenen Rauchverbot in Bayern produziert: Eine im Vorhinein der Abstimmung in der taz erschienene Polemik und einen erläuternden Blogeintrag, in dem sie das Regulierungsgebaren der Befürworter neben &#8230; <a href="http://blog.dieweltistgarnichtso.net/rauchverbot-gesunder-diskutieren-mit-filter">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<i>Julia Seeliger</i> hat in den letzten Tagen gleich zwei Artikel zum per Volksentscheid festgeschriebenen <a href="http://de.wikipedia.org/wiki/Volksbegehren_%E2%80%9EF%C3%BCr_echten_Nichtraucherschutz!%E2%80%9C">Rauchverbot in Bayern</a> produziert: Eine im Vorhinein der Abstimmung in der <i>taz</i> erschienene <a href="http://www.taz.de/1/debatte/kommentar/artikel/1/auf-eine-zigarette/">Polemik</a> und einen <a href="http://julia-seeliger.de/rauchverbot-die-grunen-nannys/">erläuternden Blogeintrag</a>, in dem sie das Regulierungsgebaren der Befürworter neben sonstiges grünes <em>Nannyverhalten</em> stellt (z.B. was <a href='http://www.google.com/search?q="renate+künast"+"dicke+kinder"'><em>dicke Kinder</em></a> angeht).
</p>
<p>
In den Kommentaren fallen nun übermäßig viele euphemisierende Formulierungen auf — gerade auf Seiten der Verbotsbefürworter. Um diesem Abhilfe zu schaffen, habe ich auf die Schnelle ein WordPress-Plugin gebastelt, das diskursverzerrende Begriffe durch politisch korrekte Alternativen ersetzt. Und so wird aus der verharmlosenden Formulierung „Ich als Nichtraucher bin ja für strikte Maßnahmen. Nichtraucherschutz ist eine Entscheidung der MEHRHEIT.“ nun das ehrlichere „Ich als militanter Nichtraucher bin ja für totale Maßnahmen. Rauchverbot ist eine Entscheidung der FASCHISTEN.“. <a href="http://daten.dieweltistgarnichtso.net/src/nichtraucherschutz.php"><i>So einfach ist das.</i></a>
</p>
<p>
<small>
Leider hat Julia das Plugin nicht installiert; ihr liegt wohl etwas mehr an ernsthaftem Diskurs als mir.
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/rauchverbot-gesunder-diskutieren-mit-filter/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Jetzt neu: Instant-Kopierpaste für den Hausgebrauch</title>
		<link>http://blog.dieweltistgarnichtso.net/jetzt-neu-instant-kopierpaste-fur-den-hausgebrauch</link>
		<comments>http://blog.dieweltistgarnichtso.net/jetzt-neu-instant-kopierpaste-fur-den-hausgebrauch#comments</comments>
		<pubDate>Fri, 25 Jun 2010 14:45:40 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Netzkultur]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[kopierpaste]]></category>
		<category><![CDATA[krautchan]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=2522</guid>
		<description><![CDATA[Sie kennen es sicher auch: Sie wollen einem Faden Qualität verleihen, haben die entsprechende Kopierpaste aber nicht zur Hand ? Damit ist jetzt Schluss: Mit dem CP-Manager aus dem Hause Die Welt ist gar nicht so sind Sie immer in &#8230; <a href="http://blog.dieweltistgarnichtso.net/jetzt-neu-instant-kopierpaste-fur-den-hausgebrauch">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
Sie kennen es sicher auch: Sie wollen einem Faden Qualität verleihen, haben die entsprechende <a href="http://schuchtel.net/mwiki/Kopierpastete">Kopierpaste</a> aber nicht zur Hand ? Damit ist jetzt Schluss: Mit dem <a href="http://github.com/erlehmann/copypasta-manager/archives/master"><i><abbr title="Copypasta">CP</abbr>-Manager</i></a> aus dem Hause <i>Die Welt ist gar nicht so</i> sind Sie immer in der Lage, aktuelle Kopierpaste zu pfostieren. Der <i><abbr title="Copypasta">CP</abbr>-Manager</i> kann so viel !
</p>
<ul>
	<li><em>Import</em> von Kopierpasteten aus einem Verzeichnis mit Textdateien</li>
	<li><em>Editieren</em> von Kopierpasteten</li>
	<li><em>Erstellen</em> neuer Kopierpasteten</li>
	<li><em>Löschen</em> bestehender Kopierpasteten</li>
	<li>Und natürlich: <em>Kopieren</em> von Kopierpasteten</li>
</ul>
<p>
Laden Sie jetzt den <i><abbr title="Copypasta">CP</abbr>-Manager</i> (<a href="http://daten.dieweltistgarnichtso.net/pics/screenshots/cp-manager-krautchan.png"><i xml:lang="en">screenshot</i></a>) und erhalten Sie <em>gratis</em> ein <a href="http://github.com/erlehmann/krautchan-kopierpasteten/archives/master">Jahrespaket Kopierpasteten</a> dazu !
</p>
<p>
<small>
Der <i><abbr title="Copypasta">CP</abbr>-Manager</i> benötigt <i>Python</i> mit <a href="http://www.pygtk.org/"><i>PyGTK</i></a>. Zu Quellcode und Nebenwirkungen klonen Sie das <a href="http://github.com/erlehmann/copypasta-manager"><i>GitHub</i>-Repository</a> oder fragen sie ihren Enterprise- oder Expertenprogrammierer.
</small>
</p>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/jetzt-neu-instant-kopierpaste-fur-den-hausgebrauch/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Uweseelers wegfiltern mit sox</title>
		<link>http://blog.dieweltistgarnichtso.net/uweseelers-wegfiltern-mit-sox</link>
		<comments>http://blog.dieweltistgarnichtso.net/uweseelers-wegfiltern-mit-sox#comments</comments>
		<pubDate>Mon, 14 Jun 2010 11:31:06 +0000</pubDate>
		<dc:creator>erlehmann</dc:creator>
				<category><![CDATA[Audio]]></category>
		<category><![CDATA[Bastelei]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[sox]]></category>
		<category><![CDATA[uweseeler]]></category>
		<category><![CDATA[vuvuzela]]></category>

		<guid isPermaLink="false">http://blog.dieweltistgarnichtso.net/?p=2466</guid>
		<description><![CDATA[Tube von den Surfpoeten hat einen Filter für gegen die nervigen WM-Tröten gebastelt. Leider macht er es potentiellen Nachahmern unnötig schwierig, indem er den dafür benötigten Bandstoppfilter mit dem teuren, proprietären, auf Mac OS X beschränkten Logic Express implementiert. Dabei &#8230; <a href="http://blog.dieweltistgarnichtso.net/uweseelers-wegfiltern-mit-sox">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>
<i>Tube</i> von den Surfpoeten hat einen <a href="http://www.surfpoeten.de/tube/vuvuzela_filter">Filter</a> <del>für</del> <ins>gegen</ins> die <a href="http://de.wikipedia.org/wiki/Vuvuzela">nervigen WM-Tröten</a> gebastelt. Leider macht er es potentiellen Nachahmern unnötig schwierig, indem er den dafür benötigten <span title="Wie der Name schon sagt: Ein Filter, der bestimmte Frequenzbänder nicht durchlässt.">Bandstoppfilter</span> mit dem teuren, proprietären, auf Mac OS X beschränkten <a href="http://www.apple.com/de/logicexpress/"><i>Logic Express</i></a> implementiert. Dabei lässt sich der benötigte Effekt ganz einfach mit dem Audioeditor <a href="http://sox.sourceforge.net/"><i>sox</i></a> erzeugen:
</p>
<p>
<kbd>play vuvuzela.oga bandreject 233 3.4q bandreject 466 3.4q bandreject 932 3.4q bandreject 1864 3.4q</kbd>
</p>
<p>
Für die Faulen und Ungläubigen unter den Lesern habe ich einen Vorher-Nachher-Vergleich zum Direktanhören:
</p>
<audio src="http://daten.dieweltistgarnichtso.net/audio/vuvuzela/vuvuzela_vorher.oga" controls="controls"/>
<audio src="http://daten.dieweltistgarnichtso.net/audio/vuvuzela/vuvuzela_nachher.oga" controls="controls"/>]]></content:encoded>
			<wfw:commentRss>http://blog.dieweltistgarnichtso.net/uweseelers-wegfiltern-mit-sox/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://daten.dieweltistgarnichtso.net/audio/vuvuzela/vuvuzela_vorher.oga" length="579068" type="audio/ogg" />
<enclosure url="http://daten.dieweltistgarnichtso.net/audio/vuvuzela/vuvuzela_nachher.oga" length="635871" type="audio/ogg" />
		</item>
	</channel>
</rss>

