<?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>usage.de :: what goes around, comes around</title>
	<atom:link href="http://www.usage.de/content/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.usage.de/content</link>
	<description></description>
	<lastBuildDate>Tue, 16 Mar 2010 19:55:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Große Verzeichnisse löschen per NFS / Linux</title>
		<link>http://www.usage.de/content/2010/03/16/grosse-verzeichnisse-loschen-per-nfs/</link>
		<comments>http://www.usage.de/content/2010/03/16/grosse-verzeichnisse-loschen-per-nfs/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 19:51:32 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Job]]></category>
		<category><![CDATA[Journal]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netapp]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=2003</guid>
		<description><![CDATA[Ich wurde heute gefragt wieso es so lange dauert ein großes Verzeichnis mit vielen Dateien zu löschen, welches per NFS gemountet wurde. Angenommen ich habe die folgende Verzeichnisstruktur:
/fileserver/Vorratsdatenspeicherung/
/fileserver/Vorratsdatenspeicherung/2007/Januar/
/fileserver/Vorratsdatenspeicherung/2007/Januar/01/Server1/&#8230;
/fileserver/Vorratsdatenspeicherung/2007/Januar/01/Server2/&#8230;
[...]
/fileserver/Vorratsdatenspeicherung/2007/Januar/31/Server1/&#8230;
/fileserver/Vorratsdatenspeicherung/2007/Januar/31/Server2/&#8230;
[...]
/fileserver/Vorratsdatenspeicherung/2010/Januar/31/Server1/&#8230;
/fileserver/Vorratsdatenspeicherung/2010/Maerz/02/Server2/&#8230;
usw&#8230;
und möchte das aus gegebenen Anlass loswerden. Die Vermutung war, dass der Linux Client an den NFS Server nur den Befehl  &#8216;lösche das Verzeichnis &#8220;Vorratsdatenspeicherung&#8221;&#8216;  schicken müsste, und [...]]]></description>
			<content:encoded><![CDATA[<p>Ich wurde heute gefragt wieso es so lange dauert ein großes Verzeichnis mit vielen Dateien zu löschen, welches per NFS gemountet wurde. Angenommen ich habe die folgende Verzeichnisstruktur:</p>
<blockquote><p>/fileserver/Vorratsdatenspeicherung/<br />
/fileserver/Vorratsdatenspeicherung/2007/Januar/<br />
/fileserver/Vorratsdatenspeicherung/2007/Januar/01/Server1/&#8230;<br />
/fileserver/Vorratsdatenspeicherung/2007/Januar/01/Server2/&#8230;<br />
[...]<br />
/fileserver/Vorratsdatenspeicherung/2007/Januar/31/Server1/&#8230;<br />
/fileserver/Vorratsdatenspeicherung/2007/Januar/31/Server2/&#8230;<br />
[...]<br />
/fileserver/Vorratsdatenspeicherung/2010/Januar/31/Server1/&#8230;<br />
/fileserver/Vorratsdatenspeicherung/2010/Maerz/02/Server2/&#8230;</p>
<p>usw&#8230;</p></blockquote>
<p>und möchte das aus gegebenen Anlass loswerden. Die Vermutung war, dass der Linux Client an den NFS Server nur den Befehl  &#8216;lösche das Verzeichnis &#8220;Vorratsdatenspeicherung&#8221;&#8216;  schicken müsste, und den Rest würde der NFS Server dann automagisch tun. Ein Vorgang der innerhalb von 1-2 Sekunden also zumindest aus Client Sicht erledigt wäre. In der Realität sieht das ganze etwas anders aus, weshalb es schonmal eine Weile dauert, bis so ein großes Verzeichnis leer ist.</p>
<p>Warum?</p>
<p><span id="more-2003"></span></p>
<p>Wenn ich den oben genannten Befehl (rm -rf /fileserver/Vorratsdatenspeicherung) absetze, muss der Linux Client das ersteinmal für das Linux Dateisystem übersetzen, denn der Benutzer spricht nicht direkt mit dem NFS Server, sondern über eine Dateisystem-Zwischenschicht, die im Hintergrund Dateisystem-Anfragen in NFS-Operationen umwandelt.</p>
<p>(<strong>Achtung</strong>: Es folgt eine abstrakte Übersicht über das, was im Hintergrund dabei passiert. Diese Übersicht ist nicht vollständig und in der Realität noch x-fach komplexer)</p>
<p>Der NFS Server kennt den Pfad /fileserver/Vorratsdatenspeicherung vermutlich gar nicht. Der Fileserver hat die Daten vielleicht unter /vol/datenschutzabteilung/Server/Vorratsdatenspeicherung/ liegen und muss nun mit Löschbefehlen gefüttert werden. Der Linux Client läuft also los und sagt &#8216;Hey Verzeichnis Vorratsdatenspeicherung/, ich lösch dich jetz!&#8217;. Das Linux Filesystem antwortet darauf und meinte &#8220;Nee, das ist ein Verzeichnis, das geht so nicht, das muss erstmal leer sein, bevor du das löschen kannst. Und dann geht der Spaß los:</p>
<p>- Das Verzeichnis wird geöffnet, openat(Vorratsdatenspeicherung)<br />
- Die Verzeichnisattribute werden eingelesen, fstat()<br />
- Die Verzeichnisinhalte werden abgefragt, getdents()</p>
<p>Die Ausgabe von getdents wird überprüft und oh schreck. Da sind ja noch mehr Verzeichnisse! Also geht das Spiel wieder los für das Verzeichnis Vorratsdatenspeicherung/2007/, dann für Vorratsdatenspeicherung/2007/Januar/, Vorratsdatenspeicherung/2007/Januar/01/ bis Vorratsdatenspeicherung/2007/Januar/01/Server01/ und dann meint der Server, ja, da sind momentan (z.B.) 8192 Dateien drin. Daraufhin holt sich der Linux Client die Liste der Dateien und fängt dann an nach und nach alle 8192 Dateien in dem Verzeichnis zu löschen:</p>
<p>unlinkat(Datei0)<br />
unlinkat(Datei1)<br />
unlinkat(Datei2)<br />
[...]<br />
unlinkat(Datei8191)</p>
<p>Jetzt ist das erste Unterverzeichnis leer. Dann schaut der Client zur Sicherheit mit getdents() nochmal nach ob alles weg ist und erst dann wird das erste Unterzeichnis Vorratsdatenspeicherung/2007/Januar/01/Server01/ entfernt &#8211; unlinkat(Server01, AT_REMOVEDIR).</p>
<p>Der Übersicht halber habe ich hier einige Systembefehle weggelassen.  In der Realtität passiert da noch viel viel mehr. Bis das gesamte Verzeichnis Vorratsdatenspeicherung/ tatsächlich weg ist, wird der Linux Client mehrere zehntausende Dateisystem-Anfragen gestellt haben und bis zu dieser Stelle hab ich noch gar nicht über NFS(v3) Anfragen gesprochen.</p>
<p>Im Hintergrund wird jede herkömmliche Linux Filesystem-Anfrage in diesem Fall in NFS RPC Calls übersetzt und an den NFS Server übermittelt. Am Ende dieses Löschbefehls wird der NFS Server also vielleicht einige Millionen Befehle empfangen haben, bis das Verzeichnis tatsächlich auf dem Share gelöscht ist. Und genau deshalb dauert es manchmal ziemlich lang einen kleinen unscheinbaren Befehl auszuführen.</p>
<p>Weiterführende Doku:</p>
<ul>
<li><a href="http://nfs.sourceforge.net/">Linux NFS FAQ</a></li>
<li><a href="http://en.wikipedia.org/wiki/Network_File_System_(protocol)">Wikipedia über das NFS Protokoll</a></li>
<li><a href="http://www.faqs.org/rfcs/rfc1813.html">RFC1813</a> (NFS Version 3 Protocol Specification)</li>
<li><a href="http://blogs.netapp.com/eislers_nfs_blog/">Mike Eislers NFS Blog</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/16/grosse-verzeichnisse-loschen-per-nfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mikael</title>
		<link>http://www.usage.de/content/2010/03/14/ikea-mikael/</link>
		<comments>http://www.usage.de/content/2010/03/14/ikea-mikael/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 19:10:41 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[in eigener Sache]]></category>
		<category><![CDATA[ich]]></category>
		<category><![CDATA[Ikea]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1994</guid>
		<description><![CDATA[Fototag, Ikea Tisch Mikael (sorry for crosspost)

]]></description>
			<content:encoded><![CDATA[<p>Fototag, Ikea Tisch <a href="http://www.ikea.com/de/de/catalog/products/10111489">Mikael</a> (sorry for crosspost)</p>
<p style="text-align: center;"><a href="http://www.usage.de/content/wp-content/uploads/2010/03/tisch-mikael-small.jpg"><img class="aligncenter size-full wp-image-1998" title="Preview: Ikea Tisch Mikael (klick für größere Version)" src="http://www.usage.de/content/wp-content/uploads/2010/03/tisch-mikael-verysmall.jpg" alt="" width="600" height="400" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/14/ikea-mikael/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weiter gehts, nix passiert!</title>
		<link>http://www.usage.de/content/2010/03/14/weiter-gehts-nix-passiert/</link>
		<comments>http://www.usage.de/content/2010/03/14/weiter-gehts-nix-passiert/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 23:48:35 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[in eigener Sache]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1983</guid>
		<description><![CDATA[Nachdem die alte Hardware einfach nicht mehr tragbar war, musste ich quasi im laufenden Betrieb umziehen.

Und irgendwie hats geklappt. Aber das war ja auch zu erwarten &#8230; ich als alter Admin Profi! *hust* Auf die nächsten  5 Jahre mit dann hoffentlich besser Support Untersützung, wenns mal nicht mehr gehen sollte &#8211; liebe Strato!
]]></description>
			<content:encoded><![CDATA[<p>Nachdem die alte Hardware einfach nicht mehr tragbar war, musste ich quasi im laufenden Betrieb umziehen.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1984" title="strato-umzug" src="http://www.usage.de/content/wp-content/uploads/2010/03/strato-umzug.jpg" alt="" width="490" height="218" /></p>
<p>Und irgendwie hats geklappt. Aber das war ja auch zu erwarten &#8230; ich als alter Admin Profi! *hust* Auf die nächsten  5 Jahre mit dann hoffentlich besser Support Untersützung, wenns mal nicht mehr gehen sollte &#8211; liebe Strato!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/14/weiter-gehts-nix-passiert/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Am Ende sind es alles Menschen</title>
		<link>http://www.usage.de/content/2010/03/14/am-ende-sind-es-alles-menschen/</link>
		<comments>http://www.usage.de/content/2010/03/14/am-ende-sind-es-alles-menschen/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 23:13:08 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Sozialkritik]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Medien]]></category>
		<category><![CDATA[Statistik]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1979</guid>
		<description><![CDATA[Und sofern es auch nur ansatzweise die Chance gibt, dass die Menschen bis 2050 unabhängig von ihrer Religion lernen sich gegenseitig zu respektieren, sollte es sowas von egal sein ob die Person neben einem Christ, Moslem oder Atheist ist. Zugegeben, die Chance ist weitaus höher bis 2050 einen globalen Krieg im Namen einer Religion zu [...]]]></description>
			<content:encoded><![CDATA[<p>Und sofern es auch nur ansatzweise die Chance gibt, dass die Menschen bis 2050 unabhängig von ihrer Religion lernen sich gegenseitig zu respektieren, sollte es sowas von egal sein ob die Person neben einem Christ, Moslem oder Atheist ist. Zugegeben, die Chance ist weitaus höher bis 2050 einen globalen Krieg im Namen einer Religion zu erleben. Aber man wird ja wohl noch auf die Vernunft hoffen dürfen.</p>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/mINChFxRXQs&#038;hl=de_DE&#038;fs=1&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/mINChFxRXQs&#038;hl=de_DE&#038;fs=1&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385" class="aligncenter"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/14/am-ende-sind-es-alles-menschen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ja nee, is klar</title>
		<link>http://www.usage.de/content/2010/03/12/ja-nee-is-klar/</link>
		<comments>http://www.usage.de/content/2010/03/12/ja-nee-is-klar/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 21:56:55 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[in eigener Sache]]></category>
		<category><![CDATA[Doh!]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1975</guid>
		<description><![CDATA[Ich wollte wissen wieso der Windows Media Player selbst unter Windows7 kein MP4 (genau gesagt AVC1) abspielt. Microsoft meint dazu:
MPEG-4-Videoinhalte können mithilfe von Windows Media Tools und Windows  Media Encoder in einem ASF-Dateicontainer codiert und gespeichert  werden. Sie können diese Dateien dann in Windows Media Player  wiedergeben.
Ah ja. Dann eben nicht. Hallo [...]]]></description>
			<content:encoded><![CDATA[<p>Ich wollte wissen wieso der Windows Media Player selbst unter Windows7 kein MP4 (genau gesagt AVC1) abspielt. Microsoft <a href="http://support.microsoft.com/kb/316992">meint dazu</a>:</p>
<blockquote><p>MPEG-4-Videoinhalte können mithilfe von Windows Media Tools und Windows  Media Encoder in einem ASF-Dateicontainer codiert und gespeichert  werden. Sie können diese Dateien dann in Windows Media Player  wiedergeben.</p></blockquote>
<p>Ah ja. Dann eben nicht. Hallo <a href="http://www.videolan.org/vlc/">VLC</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/12/ja-nee-is-klar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teamspeak 3, Unterschied merkbar</title>
		<link>http://www.usage.de/content/2010/03/11/teamspeak-3-unterschied-merkbar/</link>
		<comments>http://www.usage.de/content/2010/03/11/teamspeak-3-unterschied-merkbar/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 19:13:15 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Undso]]></category>
		<category><![CDATA[made in germany]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1964</guid>
		<description><![CDATA[Also ganz ehrlich: Der Unterschied zwischen Teamspeak Version 2 und Version 3 ist spürbar, und zwar nicht nur im Design. Es erinnert ein wenig an Ventrilo, ohne aber den Bezug zu vorherigen Versionen verloren zu haben. Die Sprachqualität hat sich extrem verbessert. Die Tage an denen man Kopfschmerzen durch Teamspeak bekam, sind damit hoffentlich vorbei. [...]]]></description>
			<content:encoded><![CDATA[<p>Also ganz ehrlich: Der Unterschied zwischen Teamspeak Version 2 und Version 3 ist spürbar, und zwar nicht nur im Design. Es erinnert ein wenig an <a href="http://www.ventrilo.com/">Ventrilo</a>, ohne aber den Bezug zu vorherigen Versionen verloren zu haben. Die Sprachqualität hat sich extrem verbessert. Die Tage an denen man Kopfschmerzen durch Teamspeak bekam, sind damit hoffentlich vorbei. Und das Beste: Sowohl Client als auch Server gibts ab sofort direkt für Windows, Linux und MacOS!</p>
<p><img class="aligncenter size-full wp-image-1965" title="Screenshot: Teamspeak3 Client" src="http://www.usage.de/content/wp-content/uploads/2010/03/teamspeak3.jpg" alt="" width="443" height="640" /></p>
<p>Ein Minuspunkt: Ich darf die Sondertasten meiner Tastatur nicht mehr als Push2Talk Tasten benutzen. Ab Version 3 tut TS so, als würden die Tasten gar nicht mehr existieren. Ich hoffe das wird noch gefixt. Bei guter Software aus Deutschland[tm] bin ich da guter Hoffnung. ;-) Den aktuellen TS Client bekommt ihr <a href="http://www.teamspeak.com/">hier</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/11/teamspeak-3-unterschied-merkbar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>George Carlin &#8211; Back In Town</title>
		<link>http://www.usage.de/content/2010/03/08/george-carlin-back-in-town/</link>
		<comments>http://www.usage.de/content/2010/03/08/george-carlin-back-in-town/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 03:23:54 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Sarkasmus]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1957</guid>
		<description><![CDATA[Der unglaubliche &#8220;7 things you can&#8217;t say on radio or tv&#8221; George Carlin. Am besten das ganze Programm reinziehen (Teil 1-6):

]]></description>
			<content:encoded><![CDATA[<p>Der unglaubliche &#8220;7 things you can&#8217;t say on radio or tv&#8221; George Carlin. Am besten das ganze Programm reinziehen (Teil 1-6):</p>
<p><object width="640" height="505"><param name="movie" value="http://www.youtube.com/v/vX_0MVOUytU&#038;hl=de_DE&#038;fs=1&#038;hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/vX_0MVOUytU&#038;hl=de_DE&#038;fs=1&#038;hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="505" class="aligncenter"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/08/george-carlin-back-in-town/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>akutes Selbstschämen</title>
		<link>http://www.usage.de/content/2010/03/07/akutes-selbstschamen/</link>
		<comments>http://www.usage.de/content/2010/03/07/akutes-selbstschamen/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 02:42:50 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Undso]]></category>
		<category><![CDATA[in eigener Sache]]></category>
		<category><![CDATA[ich]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1945</guid>
		<description><![CDATA[Manchmal muss man auch die Größe haben NICHT stolz auf das zu sein, was man fabriziert hat:

Möge es in Frieden ruhen und irgendwann in den weiten der Bits&#38;Bytes in Vergessenheit geraten. Wir machen weiter mit Musik.
]]></description>
			<content:encoded><![CDATA[<p>Manchmal muss man auch die Größe haben NICHT stolz auf das zu sein, was man fabriziert hat:</p>
<p style="text-align: center;"><img class="size-full wp-image-1946 aligncenter" title="Screenshot: Perl, baeh, pfui" src="http://www.usage.de/content/wp-content/uploads/2010/03/perl-baeh-pfui.png" alt="" width="624" height="260" /></p>
<p style="text-align: left;">Möge es in Frieden ruhen und irgendwann in den weiten der Bits&amp;Bytes in Vergessenheit geraten. Wir machen weiter mit <a href="http://www.youtube.com/watch?v=3vDEsQYNK4E">Musik</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/07/akutes-selbstschamen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tool of the week: dygraphs</title>
		<link>http://www.usage.de/content/2010/03/06/tool-of-the-week-dygraphs/</link>
		<comments>http://www.usage.de/content/2010/03/06/tool-of-the-week-dygraphs/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 18:48:59 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Undso]]></category>
		<category><![CDATA[World of Warcraft]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[WoW]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1919</guid>
		<description><![CDATA[Letzte Woche bekam ich eine riesen Liste von Performance Daten im CSV (Comma-Separated Values) Format. Excel konnte sich mit den Dateien nicht recht anfreunden, also musste eine brauchbare Lösung her, die auch Offline funktioniert und aus den Listen irgendwas menschenlesbares macht.
Nach kurzer Suche fand ich &#8220;dygraphs&#8221; (JavaScript Visualization Library) &#8211; eine Möglichkeit Daten zu visualisieren. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Letzte Woche bekam ich eine riesen Liste von Performance Daten im CSV (<em>Comma-Separated Values) </em>Format. Excel konnte sich mit den Dateien nicht recht anfreunden, also musste eine brauchbare Lösung her, die auch Offline funktioniert und aus den Listen irgendwas menschenlesbares macht.</p>
<p style="text-align: left;">Nach kurzer Suche fand ich &#8220;dygraphs&#8221; (JavaScript Visualization Library) &#8211; eine Möglichkeit Daten zu visualisieren. Dygraphs nimmt als Quelle CSV Daten (per HTTP/GET) oder einzeln im Source aufgeführte Werte; also ein richtig schönes Spielzeug!</p>
<p style="text-align: left;">Was kann man damit machen? So ziemlich alles visualisieren, was einfach gestrickt ist. Wer selbst damit rumspielen möchte, findet <a href="http://danvk.org/dygraphs/">hier</a> Anleitungen und die Quellen. Leider verträgt sich meine Blog-Engine nicht mit js/xhtml gewusel, weshalb an dieser Stelle ein statischer Screenshot herhalten muss &#8211; eine Live Demo könnte <a title="Prices of Flasks, Horde Auction House, Eu-Anub'Arak" href="http://www.usage.de/anub-auctions.php">ungefähr so</a> aussehen.</p>
<p style="text-align: left;">
<p style="text-align: center;"><a href="http://danvk.org/dygraphs/"><img class="size-full wp-image-1930 aligncenter" title="Screenshot: dygraphs  in Action" src="http://www.usage.de/content/wp-content/uploads/2010/03/dygraphs1.png" alt="" width="618" height="360" /></a></p>
<p style="text-align: center;">(Horde Auctions House / EU-Anub&#8217;Arak)</p>
<p style="text-align: left;">
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/06/tool-of-the-week-dygraphs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kommando zurück!</title>
		<link>http://www.usage.de/content/2010/03/03/kommando-zuruck/</link>
		<comments>http://www.usage.de/content/2010/03/03/kommando-zuruck/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 18:35:06 +0000</pubDate>
		<dc:creator>Stefan</dc:creator>
				<category><![CDATA[Undso]]></category>
		<category><![CDATA[in eigener Sache]]></category>
		<category><![CDATA[Businesskasper]]></category>

		<guid isPermaLink="false">http://www.usage.de/content/?p=1917</guid>
		<description><![CDATA[Jetzt fing ich hier grad an auf hohem Niveau ausgiebig schriftlich zu jammern und dann fällt mir ein das wollt ich ja gar nicht mehr tun. Diese blöden Verhaltensmanipulatoren! (also ich fand das war jetzt recht kurz, yay!)
]]></description>
			<content:encoded><![CDATA[<p>Jetzt fing ich hier grad an auf hohem Niveau ausgiebig schriftlich zu jammern und dann fällt mir ein das wollt ich ja gar nicht mehr tun. Diese blöden Verhaltensmanipulatoren! (also ich fand das war jetzt recht kurz, yay!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.usage.de/content/2010/03/03/kommando-zuruck/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
