<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Taach! - Der Morgenblog</title>
	<atom:link href="http://taach.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://taach.wordpress.com</link>
	<description>Linux, Anime und gute Bücher</description>
	<lastBuildDate>Fri, 24 May 2013 06:57:05 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='taach.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/f3aa150ff768ffc2e545822a69498c2a?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Taach! - Der Morgenblog</title>
		<link>http://taach.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://taach.wordpress.com/osd.xml" title="Taach! - Der Morgenblog" />
	<atom:link rel='hub' href='http://taach.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Austr(al)ia</title>
		<link>http://taach.wordpress.com/2013/05/24/australia/</link>
		<comments>http://taach.wordpress.com/2013/05/24/australia/#comments</comments>
		<pubDate>Fri, 24 May 2013 06:56:55 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Österreich]]></category>
		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">https://taach.wordpress.com/?p=577</guid>
		<description><![CDATA[Wir sollten endlich eine Lösung für das ewige Verwechslungsproblem Austria/Australia finden.&#160;Selbst die Tiere kommen schon durcheinander. =-=-=-=-=Powered by Blogilo Einsortiert unter:Österreich, Humor<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=577&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Wir sollten endlich eine Lösung für das ewige Verwechslungsproblem Austria/Australia finden.&nbsp;<a href="http://news.orf.at/stories/2183700/" title="orf.at - Unfall mit Känguru im Innviertel">Selbst die Tiere kommen schon durcheinander</a>.</p>
</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href='http://blogilo.gnufolks.org/'>Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/osterreich/'>Österreich</a>, <a href='http://taach.wordpress.com/category/humor/'>Humor</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/577/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/577/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=577&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/05/24/australia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>LaTeX &#8211; Mathe-Modus und BibTex</title>
		<link>http://taach.wordpress.com/2013/05/08/latex-mathe-modus-und-bibtex/</link>
		<comments>http://taach.wordpress.com/2013/05/08/latex-mathe-modus-und-bibtex/#comments</comments>
		<pubDate>Wed, 08 May 2013 06:09:33 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">https://taach.wordpress.com/?p=572</guid>
		<description><![CDATA[Wie ich schon&#160;vor längerer Zeit geschrieben habe, halte ich in diesem Semester, zusammen mit zwei Kollegen, am Informatik-Institut der Uni Wien einen LaTeX-Workshop ab. Dieses Mal waren die Themen, die wir vorgetragen haben Mathematik-Modus (Formelsetzen) und BibTeX (Zitieren). Selbstverständlich ist auch diesen Folien der Umfang dieses Teilbereiches von LaTeX nicht erschöpft, sie sollen nur einen [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=572&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Wie ich schon&nbsp;<a href="https://taach.wordpress.com/2013/03/13/latex-ein-einstieg/" title="Taach - LaTeX - Ein Einstieg">vor längerer Zeit geschrieben habe</a>, halte ich in diesem Semester, zusammen mit zwei Kollegen, am Informatik-Institut der Uni Wien einen LaTeX-Workshop ab. Dieses Mal waren die Themen, die wir vorgetragen haben Mathematik-Modus (Formelsetzen) und BibTeX (Zitieren).</p>
<p>Selbstverständlich ist auch diesen Folien der Umfang dieses Teilbereiches von LaTeX nicht erschöpft, sie sollen nur einen Punkt zum Einstieg bieten.</p>
<p>Beim nächsten Termin (4.6.) wird es um Tabellen erstellen, Grafiken einbinden und Referenzen setzen (innerhalb und außerhalb des Dokuments) gehen.</p>
<h2>Dateien</h2>
<p><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/Mathematik-Modus.tex" title="Mathematik-Modus TeX-File">Mathe-Modus.tex</a>&nbsp; &lt;&#8211; TeX-File für den Mathe-Modus<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/Mathematik-Modus.pdf" title="Mathematik-Modus PDF-File">Mathe-Modus.pdf</a>&nbsp; &lt;&#8211; Kompiliertes PDF<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/BibTeX.tex" title="BibTeX TeX-File">BibTeX.tex</a>&nbsp; &lt;&#8211; TeX-File für BibTex<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/BibTeX.pdf" title="BibTeX PDF-File">BibTeX.pdf</a>&nbsp; &lt;&#8211; Kompiliertes PDF</p>
<p><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/Einheit01.bib" title="Einheit01.bib">Einheit01.bib</a>&nbsp; &lt;&#8211; Das zugehörige Bib-File (Zitiermaterial)<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/include_CC.tex" title="include.tex">include.tex</a>&nbsp; &lt;&#8211; Header-File mit allen notwendigen Layout-Informationen und eingebundenen Paketen<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/cc-by-sa.png" title="cc-by-sa.png">cc-by-sa.png</a>&nbsp; &lt;&#8211; CC-Grafik</p>
<p><b>Anmerkung:</b>&nbsp;Das Original aus dem Workshop hat auf der Titelfolie noch eine zusätzliche Grafik: das Logo des Mentoring-Programms der Uni Wien. Da ich dieses nicht unter eine CC-Lizenz &nbsp;stellen kann habe ich es kurzerhand herausgenommen. Außerdem habe ich den Header noch nicht aufgeräumt. Hier ist ein Haufen an neuen Kommandos, welche keine logische Struktur haben. All das in Version 2.0 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Wie auch im PDF geschrieben: alle diese Dateien stehen unter einer CC-BY-SA 3.0, mit einer Ausnahme: die cc-by-sa.png-Grafik, an welcher alleine Creative Commons die Rechte hält.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/programmieren/latex/'>LaTeX</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/572/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=572&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/05/08/latex-mathe-modus-und-bibtex/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Horner &#8211; Konvertieren zwischen Zahlensystemen</title>
		<link>http://taach.wordpress.com/2013/04/08/horner-konvertieren-zwischen-zahlensystemen/</link>
		<comments>http://taach.wordpress.com/2013/04/08/horner-konvertieren-zwischen-zahlensystemen/#comments</comments>
		<pubDate>Mon, 08 Apr 2013 19:25:39 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Free Software/Open Source]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=567</guid>
		<description><![CDATA[&#8220;Mama, weißt du wie ich von einem Zahlensystem in ein anderes umrechne?&#8221; &#8220;Nein, Schätzchen. Weiß Linux es nicht?&#8221; &#8220;Nein, ich kann kein Programm finden, dass das kann.&#8221; &#8220;Es gibt kein Programm um zwischen Zahlensystemen zu Konvertieren? Oh, nein &#8230;&#8221; *Türe wird aufgestoßen, Horner-man stürmt herein* &#8220;Fürchtet euch nicht, gesetzestreue Linuxer! Eure Klagen wurden erhöhrt!&#8221; &#8220;Ooh, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=567&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>&#8220;Mama, weißt du wie ich von einem Zahlensystem in ein anderes umrechne?&#8221;</p>
<p>&#8220;Nein, Schätzchen. Weiß Linux es nicht?&#8221;</p>
<p>&#8220;Nein, ich kann kein Programm finden, dass das kann.&#8221;</p>
<p>&#8220;Es gibt kein Programm um zwischen Zahlensystemen zu Konvertieren? Oh, nein &#8230;&#8221;</p>
<p>*Türe wird aufgestoßen, Horner-man stürmt herein*</p>
<p>&#8220;Fürchtet euch nicht, gesetzestreue Linuxer! Eure Klagen wurden erhöhrt!&#8221;</p>
<p>&#8220;Ooh, Horner-man. Unser Held!&#8221;</p>
<p>Autsch. Das tut weh. Ich habe es selbst geschrieben und es schmerzt trotzdem sehr. Abgegriffenes Szenario, unglaubwürdige Darsteller, ein Hauch von Sexismus. Autsch.</p>
<p>Kommen wir zum Thema. Seit Langem wollte ich ein Programm haben, mit dem ich einen Wert in verschiedenen Zahlensystemen darstellen kann. Dazu musste dieses Programm jedoch die Umrechnung zwischen diesen Systemen beherrschen. Mein vorrangiges Ziel war die Umrechnung vom Dezimalsystem ins Binärsystem und umgekehrt. Es gibt sicherlich Programme da draußen, die dafür geschrieben sind oder es zumindest nebenbei beherrschen. Speziell die Konvertierung zwischen Zahlensystemen zur Basis 2, 8, 10 und 16 findet sich häufig in digitalen Taschenrechnern.&nbsp;<a href="http://wiki.ubuntuusers.de/SpeedCrunch" title="UU.de - Speedcrunch">Speedcrunch</a>&nbsp;ist ein schönes Beispiel dafür. Allerdings wollte ich nicht einfach nur ein Programm, welches mir ein Ergebnis anzeigt, sondern auch die Möglichkeit dieses Programm in einem Script zu verwenden. Es musste also konsolenbasiert arbeiten und Ein- und Ausgabe sollten über die Standardkanäle erfolgen.</p>
<p>Da ich kein entsprechendes Programm gefunden habe, habe ich mir vorgenommen selbst eines zu schreiben. Da ich außerdem schon länger das Horner-Schema testweise implementieren wollte, &nbsp;entschied ich mich dazu, die Umrechnung damit vorzunehmen. Dazu muss erwähnt werden: ich habe dieses Programm für meine persönlichen Bedürfnisse entwickelt, weswegen es nur mit ganzen Zahlen umgehen kann. Die Berechnung mit Gleitkommazahlen ist um einiges komplizierter und es braucht ein bisschen Hirnschmalz um ein Programm zu entwickeln, das nicht sofort Probleme mit der Rechengenauigkeit bekommt. Vielleicht erweitere ich das Programm irgendwann in diese Richtung. Vorerst kann es nur Integer verwerten. Dafür kann es mit Zahlen verschiedenen Basen arbeiten. Die Untergrenze ist Basis 2 (Binär), die Obergrenze ist 36. Rein theoretisch könnte es natürlich noch mehr Basen verarbeiten, bei 36 gehen mir jedoch die sinnvollen Zahlenrepräsentationen aus (0-9, a-z).</p>
<p>Das Programm, oder mehr die Befehlssammlung, kann positive und negative Zahlen von 0 bis&nbsp;4294967295 verwerten. Dabei ist jedoch&nbsp;4294967295 das Minimum an Obergrenze. Auf einem 64-bit System ist die Obergrenze&nbsp;18446744073709551615 (abhängig vom Compiler; hier: GCC). Installation und Verwendung werden noch beschrieben. Zuerst jedoch eine kleine Exkursion:</p>
<h2>Was ist das Horner-Schema?</h2>
<p>Das Horner-Schema wurde von&nbsp;William George Horner entwickelt und dient der Polynomberechnung. Da die Umrechnung in ein anderes Zahlensystem als Polynom dargestellt werden kann ist das Horner Schema (oder Horner&#8217;s Method im Englischen) eine sehr einfache und schnelle Art der Berechnung. Im Großen und Ganzen funktioniert es so:</p>
<p>Umwandlung in das Dezimalsystem; <b>B</b> ist die Basis, <b>a</b> ist die Ausgangszahl, <b>a1</b> die erste Stelle derselben, &#8230;:<br /><code>(((a1*B + a2)*B + a3)*B + a4) ...</code></p>
<p>Bsp:<br />Wir wollen den Binärwert (Basis = 2) 101010 in das Dezimalsystem umwandeln:<br /><code>((((1*2+0)*2+1)*2+0)*2+1)*2+0 = 42</code></p>
<p>Die Umwandlung eines Dezimalwertes in ein anderes System funktioniert analog dazu. Zuerst wird per Modulo (Restwertdivision) der Restwert errechnet. Dieser stellt bereits eine Stelle des Ergebnisses dar. Da dieser Rechenvorgang genau umgekehrt zur Umwandlung <u>ins</u> Dezimalsystem verläuft, ist auch das Ergebnis umgekehrt:<br /><code>42 &nbsp; % 2 = <b>0</b><br />42-0 / 2 = 21<br />21 &nbsp; % 2 = <b>1</b><br />21-1 / 2 = 10<br />10 &nbsp; % 2 = <b>0</b><br />10-0 / 2 = 5<br />&nbsp;5 &nbsp; % 2 = <b>1</b><br />&nbsp;5-1 / 2 = 2<br />&nbsp;2 &nbsp; % 2 = <b>0</b><br />&nbsp;2-0 / 2 = 1<br />&nbsp;1 &nbsp; % 2 = <b>1</b><br />&nbsp;1-1 / 2 = 0</code></p>
<p>Sobald die Zahl, mit der man rechnet <b>0</b> geworden ist, endet die Rechnung. Die fettgedruckten Zahlen ergeben, von unten nach oben gelesen, das Ergebnis. Die Zeichenkette ist also 101010. Das ist dieselbe Zeichenkette, die wir zuvor ins Dezimalsystem umgewandelt haben. Es funktioniert!</p>
<h2>Die Programme</h2>
<p>Ich habe für jeden Rechenvorgang ein C++-Programm geschrieben. 2dec wandelt eine Zahl in das Dezimalsystem um, dec2 wandelt eine Dezimalzahl in eine beliebige Basis (von 2 bis 36) um. Die beiden Programme können jedes für sich aufgerufen werden mit:<br /><code>dec2 &lt;Basis&gt; &lt;Wert&gt;</code><br /><code>2dec &lt;Basis&gt; &lt;Wert&gt;</code></p>
<p>Die &lt;Basis&gt; ist immer die Basis aus der, bzw. in die ich umrechnen möchte. Die jeweils andere Basis ist ja das Dezimalsystem.</p>
<p>Möchte ich nun den Wert 42 in das Binärsystem umrechnen, so rufe ich das Programm <b>dec2</b> auf:<br /><code>dec2 2 42</code></p>
<p>Möchte ich die Berechnung umdrehen, so verwende ich das Programm <b>2dec</b>:<br /><code>2dec 2 101010</code></p>
<p>Die beiden Programme lassen sich kombinieren, wenn ich von einer Basis in eine andere konvertieren möchte und keine von beiden die Basis 10 ist. Möchte ich wissen, welchen Binärwert der Hexadezimale Ausdruck <b>affe</b>&nbsp;hat, dann mache ich das so:<br /><code>dec2 2 $(2dec 16 affe)</code></p>
<p>Ergebnis:&nbsp;1010111111111110</p>
<h2>Das Script</h2>
<p>Diese Kombination übernimmt das Script <b>horner</b>. Dieses übernimmt per<font class="Apple-style-span" face="monospace, sans-serif"><b>&nbsp;-i</b></font>&nbsp;die Basis des <b>I</b>nputs und per<font class="Apple-style-span" face="monospace, sans-serif"><b>&nbsp;-o</b></font>&nbsp;die Basis, in die der Wert umgewandelt werden soll (<b>O</b>utput):<br /><code>horner -i 16 -o 2 affe</code><br />entspricht der obigen Kombination der beiden Programme. Das Script geht davon aus, dass die beiden Programme in einem Verzeichnis abgelegt sind, das in der&nbsp;<b><a href="http://wiki.ubuntuusers.de/Umgebungsvariable#PATH-erweitern" title="UU.de - Umgebungsvariablen">$PATH</a></b>-Variablen des Nutzers eingetragen ist.</p>
<h2>Das Makefile</h2>
<p>Am Besten ist es, wenn man den Code selbst kompiliert. Für all diejenigen, die sich dabei unwohl fühlen oder es einfach noch nicht gemacht haben: keine Sorge, das Makefile übernimmt diese Arbeit. Dazu muss das Paket <b>automake</b>&nbsp;im System installiert sein.</p>
<h2>Installation</h2>
<p>Zuerst benötigt man den Code, den es&nbsp;<a href="http://www.unet.univie.ac.at/~a0500740/Taach/Horner.tar.gz" title="Taach - Horner Script">hier zum herunterladen</a>&nbsp;gibt.</p>
<p>Dieses Archiv lässt sich per<br /><code>tar -xvzf Horner.tar.gz</code><br />ins aktuelle Verzeichnis entpacken. Die entpackten Dateien liegen dann im selben Verzeichnis wie das Archiv.</p>
<p>Sobald man die Dateien entpackt hat muss man nur in einem&nbsp;<a href="http://wiki.ubuntuusers.de/Terminal" title="UU.de - Terminal">Terminal</a><br /><code>make</code><br />aufrufen. Dies kompiliert den Code und erzeugt die beiden Programme <b>2dec</b> und <b>dec2</b>.</p>
<p>Mittels<br /><code>make install</code><br />kann man die Programme dann automatisch installieren. Dabei werden sie im Verzeichnis /bin im Home-Verzeichnis des Nutzers abgelegt. Dieses Verzeichnis sollte immer im&nbsp;<b>$PATH</b>&nbsp;liegen und der Nutzer hat dort immer Schreibrechte. Möchtest du die Installation anpassen (sprich: die Dateien woanders unterbringen), dann musst du nur die Dateien <b>2dec</b>, <b>dec2</b> und <b>horner</b> im gewünschten Verzeichnis ablegen.</p>
<h2>Abschlussbemerkung</h2>
<p>Die Programme, das Script und das Makefile stehen unter der&nbsp;<a href="https://www.gnu.org/licenses/gpl.txt" title="gnu.org - GPLv3">GPLv3</a>. Sie sind in keinster Art und Weise getestet und implementieren so gut wie keine Fehlerbehandlung. Über Bugmeldungen freue ich mich, kann aber nicht versprechen, dass ich sie schnell behebe. Wie erwähnt: die Programme sind aus Neugier entstanden und erfüllen meine Anforderungen. Deswegen habe ich vorerst auch nicht vor, sie auf GitHub oder sonstwo hochzuladen. Wenn du das gerne tun möchtest, tu dir keinen Zwang an. Informiere mich in diesem Fall aber bitte darüber.</p>
<p>Über den Inhalt der Programme und des Scripts verliere ich hier keine großen Worte. Wenn du Interesse hast zu erfahren was hier genau passiert, dann schreib mir das in den Kommentaren. Ich antworte dir dann entweder dort oder schreibe einen neuen Artikel zum Thema.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/programmieren/bash/'>Bash</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/'>Free Software/Open Source</a>, <a href='http://taach.wordpress.com/category/programmieren/'>Programmieren</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/567/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/567/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=567&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/04/08/horner-konvertieren-zwischen-zahlensystemen/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Neuer Urheberrechtsvorschlag lässt Atem stocken</title>
		<link>http://taach.wordpress.com/2013/04/01/neuer-urheberrechtsvorschlag-lasst-atem-stocken-2/</link>
		<comments>http://taach.wordpress.com/2013/04/01/neuer-urheberrechtsvorschlag-lasst-atem-stocken-2/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 02:21:30 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[1. April]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=560</guid>
		<description><![CDATA[Die deutsche Verwertungsgesellschaft GEMA und ihr österreichisches Pendant haben sich für einen neuen Vorschlag zur Urheberrechtsabgabe zusammengetan. Laut Presseaussendung werden sich durch die gemeinsame Aktion mehr Chancen darauf ausgerechnet, dass die betroffenen Länder tatsächlich diesen Vorschlag umsetzen. Ein Sprecher der GEMA nennt den neuen Vorschlag &#8220;revolutionär&#8221; und einen Schritt in die richtige Richtung. Wenn es [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=560&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Die deutsche Verwertungsgesellschaft GEMA und ihr österreichisches Pendant haben sich für einen neuen Vorschlag zur Urheberrechtsabgabe zusammengetan. Laut Presseaussendung werden sich durch die gemeinsame Aktion mehr Chancen darauf ausgerechnet, dass die betroffenen Länder tatsächlich diesen Vorschlag umsetzen.</p>
<p>Ein Sprecher der GEMA nennt den neuen Vorschlag &#8220;revolutionär&#8221; und einen Schritt in die richtige Richtung. Wenn es aus dieser Ecke so tönt, dann weiß bereits jeder, der mehr als 3 Hirnzellen im Kopf hat, dass es für die Menschen ein schlechter Deal wird.</p>
<p>Die Prämisse hinter dem Vorschlag der beiden Organisationen lautet so: Jeder Mensch hat in seinem Leben urheberrechtlich geschütztes Material konsumiert. Dieses Material hat sich zu einem Zeitpunkt in seinem Gehirn als Gedanke, Gefühl oder sonstwie manifestiert. Stirbt nun dieser Mensch und dekompostiert in seinem Grab, dann geraten die betroffenen Hirnzellen in der ein oder anderen Form wieder in Umlauf. Bei Verwesung sollen die Atome, die zuvor die Zellen gebildet haben, in die Luft entweichen. Diese Luft wird dann wiederum von anderen Menschen eingeatmet und somit das urheberrechtlich geschützte Material erneut wiederverwertet. Doch dieser Mensch zahlt nichts dafür!</p>
<p>Den Einwand, dass es sich bei solch kleinen Mengen um Fair-Use handeln könnte lassen die Gesellschaften erst gar nicht gelten, denn &#8220;der durchschnittliche Mensch atmet ja nicht nur einmal pro Tag, sondern mehrmals. Dadurch summieren sich dieser Mengen zu einem großen Ganzen auf. Unsere Statistiken zeigen, dass der Durchschnittliche Mensch am Tag 2 mal Beethovens 9te veratmet&#8221;, so die GEMA.</p>
<p>Der Vorschlag sieht nun eine allgemeine Zahlungspflicht für jede Person vor, die sich länger als einen Atemzug auf dem Staatsgebiet eines der betroffenen Staaten aufhält. Man könne auch Pauschale Beträge für eine Anzahl an Atemzügen bezahlen, welche geringer wären als äquivalente einzelne Atemzüge. So könnten Menschen, die bereit sind €50,- pro Monat hinzublättern an einem Tag bis zu 1.000 mal atmen. Ab €200,- sind es 10.000 mal. Ein normaler Erwachsener braucht normalerweise 11-15 Atemzüge pro Minute, was auf etwas mehr als 20.000 Atemzüge am Tag kommt. Daher gibt es auch einen Ganztagestarif, der 22.000 Atemzüge freistellt. Dieser kommt auf €400,-/Monat.</p>
<p>Für Spitzensportler und Schulen gibt es eigene Tarife, da dort zum einen besonders viel geatmet wird und zum Anderen der Austausch der eigenen Atemluft mit anderen Personen stärker konzentriert ist.</p>
<p>Auf Anfrage von Taach bei der US Amerikanischen RIAA teilte uns ein Sprecher mit, dass das &#8220;&#8230; Modell sehr interessant ist, jedoch ein wenig zu kurz greift. Wir arbeiten an einer Lösung, die besonders auf Menschen Bezug nimmt, die besonders viel ausatmen.&#8221;</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/humor/1-april/'>1. April</a>, <a href='http://taach.wordpress.com/category/humor/'>Humor</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/560/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/560/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=560&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/04/01/neuer-urheberrechtsvorschlag-lasst-atem-stocken-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Tanglu &#8211; Immer ein aktuelles Debian</title>
		<link>http://taach.wordpress.com/2013/03/15/tanglu-immer-ein-aktuelles-debian/</link>
		<comments>http://taach.wordpress.com/2013/03/15/tanglu-immer-ein-aktuelles-debian/#comments</comments>
		<pubDate>Fri, 15 Mar 2013 14:53:48 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Free Software/Open Source]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=551</guid>
		<description><![CDATA[Debian ist bekannt als superstabil, superhart &#8230; und superalt. Es wird viel Mühe in die Härtung eines Paketes gesteckt und in das Finden von Bugs. Da Debian erst dann ein Release bringt, wenn ein gewisser Mindeststandard erreicht ist, ist auch immer offen wann die nächste Version erscheint. Normalerweise wird 18 Monate nach einem Release der [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=551&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Debian ist bekannt als superstabil, superhart &#8230; und superalt. Es wird viel Mühe in die Härtung eines Paketes gesteckt und in das Finden von Bugs. Da Debian erst dann ein Release bringt, wenn ein gewisser Mindeststandard erreicht ist, ist auch immer offen wann die nächste Version erscheint. Normalerweise wird 18 Monate nach einem Release der aktuelle Stand in Testing eingefroren. Das bedeutet, dass unabhängig vom Stand im Rest der Welt keine neuen Programmversionen mehr einfließen. Dann beginnt die Phase in der Maintainer ihre Pakete soweit verbessern, dass ein Release erfolgen kann. Oftmals dauert dies ein halbes Jahr und länger. (It&#8217;s ready, when it&#8217;s ready.)</p>
<p>Besonders bei Software wie Firefox (neues Release alle 6 Wochen) ist dies natürlich problematisch, weswegen die Debian-Entwickler &#8230; eigene Patches &#8230;&nbsp;<a href="https://de.wikipedia.org/wiki/Namensstreit_zwischen_Debian_und_Mozilla" title="Wikipedia (DE) - Namenstreit Mozilla-Debian">Iceweasel</a>. Firefox ist jedoch bei weitem nicht die einzige Software, die bei einem Debian-Release bereits veraltet ist. Auch KDE hat z.B. einen 6-Monats-Rythmus. Die Chance, dass KDE bereits um eins höher gezählt hat, wenn Debian Stable aktualisiert wird, ist sehr hoch.</p>
<p>Diese Lücke will&nbsp;<a href="http://tanglu.org/" title="Tanglu.org">Tanglu</a>&nbsp;nun schließen. Bis jetzt findet man dort nur eine&nbsp;<a href="http://blog.tenstral.net/2013/03/tanglu.html" title="Ankündigung von Tanglu">Ankündigung</a>, welche die Pläne für Tanglu erläutert. Die Wichtigsten davon sind:</p>
<ul>
<li>Tanglu will eine Lücke von Debian schließen. In der Zeit eines Debian Freezes sollen neue Programm-Versionen bei Tanglu weiterentwickelt werden. Dazu lädt Tanglu alle Paket-Maintainer in das Projekt ein, will jedoch niemanden zwingen. Bei Herausgabe von Debian Stable sollen die aktuellen Tanglu-Pakete wieder nach Debian zurückfließen.</li>
<li>Ein fester Release-Rythmus von 6 Monaten.</li>
<li>Die Installation proprietärer Firmware (Treiber) will Tanglu so einfach wie möglich machen, diese soll jedoch nicht in der Standardinstallation enthalten sein. Stallmans Ungnade ist ihnen trotzdem sicher.</li>
<li>Pakete sollen möglichst nah an Debian und damit möglichst nahe an Upstream (die ursprünglichen Entwickler) bleiben. Im Gegensatz zu z.B. Ubuntu will man keine eigenen Patches schreiben, wenn nicht notwendig.</li>
<li>Vollständige Kompatibilität zu Debian ist Muss. Eigenkreationen wie Mir (konkretes Beispiel) sollen nicht passieren. Eine Art Software-Center soll es aber geben.</li>
<li>Als grafische Oberfläche will man sich zu Anfang auf KDE focussieren. GNOME Vanilla und andere Desktops sollen jedoch, wenn es eine Community dafür gibt, ebenfalls verfügbar werden,</li>
</ul>
<p>Laut eigener Aussage besteht das Team hinter Tanglu aus nicht sehr vielen Leuten. Dass man eine eigene Distribution stemmen kann ist man sich hier aber scheinbar sicher. Ein konkretes Datum für die erste Ausgabe ist noch nicht genannt worden. Bei einem 6-Monats-Rythmus bis zum Release plus Anfangsarbeiten ist jeoch vor Oktober eher nicht damit zu rechnen.</p>
<p>Ich habe mir schon länger überlegt auf eine Debian-basierte Distribution, welche nicht Ubuntu ist, umzusteigen, vielleicht sogar Debian selbst. Davon hat mich bis jetzt die teilweise stark veraltete Softwareauswahl von Debian Stable abgehalten. Tanglu ist für mich diesbezüglich eine interessante Alternative. Vielleicht wird mein Laptop ja nicht auf Kubuntu 13.10 aktualisiert.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/debian/'>Debian</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/'>Free Software/Open Source</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/kde/'>KDE</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/551/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/551/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=551&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/03/15/tanglu-immer-ein-aktuelles-debian/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>LaTeX &#8211; Ein Einstieg</title>
		<link>http://taach.wordpress.com/2013/03/13/latex-ein-einstieg/</link>
		<comments>http://taach.wordpress.com/2013/03/13/latex-ein-einstieg/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 07:48:50 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=548</guid>
		<description><![CDATA[Lange ist es her, dass ich etwas über LaTeX geschrieben habe. An sich habe ich einen Einstieg in LaTeX schon vor&#160;längerer&#160;Zeit&#160;einmal beschrieben. Dieses Semester leite ich, gemeinsam mit zwei Kollegen an der Uni Wien einen LaTeX-Workshop, in welchem wir versuchen Studienanfänger an LaTeX heranzuführen. Dazu haben wir ein paar Foliensätze zusammengestellt, mit denen wir das [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=548&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Lange ist es her, dass ich etwas über LaTeX geschrieben habe. An sich habe ich einen Einstieg in LaTeX schon vor&nbsp;<a href="http://taach.wordpress.com/2010/02/21/kile-und-ein-kleines-howto-fur-latex-anfanger/" title="Taach - LaTeX Anfang">längerer</a>&nbsp;<a href="http://taach.wordpress.com/2010/02/22/ein-kleines-howto-fur-latex-anfanger-mathematische-formeln/" title="Taach - LaTeX Mathematik">Zeit</a>&nbsp;einmal beschrieben. Dieses Semester leite ich, gemeinsam mit zwei Kollegen an der Uni Wien einen LaTeX-Workshop, in welchem wir versuchen Studienanfänger an LaTeX heranzuführen. Dazu haben wir ein paar Foliensätze zusammengestellt, mit denen wir das jeweilige Thema vorstellen. Die Themen sind folgende:</p>
<ul>
<li>Einstieg/Installation von LaTeX</li>
<li>Mathematik-Modus</li>
<li>Zitieren mit BibTeX</li>
<li>Grafiken verwenden</li>
<li>Tabellen bauen</li>
<li>Referenzen innerhalb und außerhalb des Dokuments</li>
<li>Präsentationen mit Beamer</li>
</ul>
<p>Wir sind immer noch dabei Foliensätze zu erstellen, deswegen kann ich jetzt nur den ersten Foliensatz online stellen. Die Foliensätze sind so verfasst, dass sie möglichst selbsterklärend sind. Deswegen werde ich hier nicht viel über den Inhalt verlieren. Natürlich besteht LaTeX aus wesentlich mehr als die Folien abdecken können. Es soll eben nur ein Einstieg sein. Weitere Foliensätze folgen, sobald sie in einer finalen Version vorliegen.</p>
<h2>Dateien</h2>
<p><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/Einheit01_CC.tex" title="Einheit01.tex">Einheit01.tex</a>&nbsp; &lt;&#8211; Das haupt-TeX-File<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/Einheit01.bib" title="Einheit01.bib">Einheit01.bib</a>&nbsp; &lt;&#8211; Das zugehörige Bib-File (Zitiermaterial)<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/include_CC.tex" title="include.tex">include.tex</a>&nbsp; &lt;&#8211; Header-File mit allen notwendigen Layout-Informationen und eingebundenen Paketen<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/cc-by-sa.png" title="cc-by-sa.png">cc-by-sa.png</a>&nbsp; &lt;&#8211; CC-Grafik<br /><a href="http://www.unet.univie.ac.at/~a0500740/LaTeX/Einheit01_CC.pdf" title="Einheit01.pdf">Einheit01.pdf</a>&nbsp; &lt;&#8211; Fertiges PDF</p>
<p><b>Anmerkung:</b>&nbsp;Das Original aus dem Workshop hat auf der Titelfolie noch eine zusätzliche Grafik: das Logo des Mentoring-Programms der Uni Wien. Da ich dieses nicht unter eine CC-Lizenz &nbsp;stellen kann habe ich es kurzerhand herausgenommen. Außerdem habe ich den Header noch nicht aufgeräumt. Hier ist ein Haufen an neuen Kommandos, welche keine logische Struktur haben. All das in Version 2.0 <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Wie auch im PDF geschrieben: alle diese Dateien stehen unter einer CC-BY-SA 3.0, mit einer Ausnahme: die cc-by-sa.png-Grafik, an welcher alleine Creative Commons die Rechte hält.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/programmieren/latex/'>LaTeX</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/548/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/548/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=548&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/03/13/latex-ein-einstieg/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Ubuntu und MariaDB &#8211; Wann? UPDATE</title>
		<link>http://taach.wordpress.com/2013/01/28/ubuntu-und-mariadb-wann/</link>
		<comments>http://taach.wordpress.com/2013/01/28/ubuntu-und-mariadb-wann/#comments</comments>
		<pubDate>Mon, 28 Jan 2013 02:25:06 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Free Software/Open Source]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=543</guid>
		<description><![CDATA[Nachdem Oracle Sun aufgekauft hat sind bereits viele Projekte in Oracles Händen zerflossen. OpenOffice.org wurde in LibreOffice geforkt und der Großteil der Community-Entwickler schlossen sich dem Fork an. OOo fristet seither ein eher bescheidenes Dasein&#160;unter dem Dach der Apache Foundation. OpenSolaris, die Community-Version von Solaris&#160;wurde von Oracle abgewürgt, die wichtigsten Entwickler gründeten den Fork OpenIndiana. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=543&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Nachdem Oracle Sun aufgekauft hat sind bereits viele Projekte in Oracles Händen zerflossen. OpenOffice.org wurde in LibreOffice geforkt und der Großteil der Community-Entwickler schlossen sich dem Fork an. OOo fristet seither ein eher bescheidenes Dasein&nbsp;<a href="http://www.pro-linux.de/news/1/19012/apache-software-foundation-graduiert-openoffice.html" title="Pro Linux - Apache Software Foundation graduiert OpenOffice">unter dem Dach der Apache Foundation</a>. OpenSolaris, die Community-Version von Solaris&nbsp;<a href="http://www.pro-linux.de/news/1/16036/oracle-stellt-opensolaris-ein.html" title="Pro-Linux - Oracle stellt OpenSolaris ein">wurde von Oracle abgewürgt</a>, die wichtigsten Entwickler gründeten den Fork OpenIndiana. Das&nbsp;<a href="http://www.oracle.com/us/products/031003.htm" title="Oracle.com - Sun ODF Plugin for Microsoft Office">ODF-Plugin für MS Office</a>, unter Sun kostenfrei erhältlich, war von Oracle für etwa $ 70,- zu beziehen. Inzwischen laufen alle Links von Oracles Website zum Plug-In ins Leere.</p>
<p>Bei MySQL versucht Oracle Anwender offensichtlich zum Umstieg auf Oracles Datenbank oder zumindest auf die Enterprise Version zu bewegen. Eine&nbsp;<a href="http://www.pro-linux.de/news/1/18758/oracle-schliesst-mysql-gemeinschaft-immer-mehr-aus.html" title="Pro Linux - Oracle schließt MySQL-Gemeinschaft immer mehr aus">nicht-öffentliche Fehlerdatenbank und ein Ausgrenzen der Community</a>&nbsp;machen MySQL, trotz GPL, zu einem proprietären Projekt. Auch scheinen in der Community-Version seit dem Verkauf wichtige Funktionen zu fehlen. So erhalte ich beim Einsatz von MySQL (5.5) aus den Ubuntu-Quellen nur Fehler, wenn ich versuche&nbsp;<code>TRIGGER</code>,&nbsp;<code>EXCEPT</code>,&nbsp;<code>ROLE</code>&nbsp;oder&nbsp;<code>CHECK</code>&nbsp;zu verwenden.</p>
<p>Mehrere Distributoren haben inzwischen angekündigt die Standard-Datenbank von MySQL auf MariaDB umzustellen,&nbsp;<a href="http://www.pro-linux.de/news/1/19380/opensuse-umzug-auf-mariadb-bereits-vollzogen.html" title="Pro Linux - Opensuse: Umzug auf MariaDB bereits vollzogen">OpenSuse hat es sogar schon gemacht</a>. MariaDB ist ein Fork von MySQL, geleitet von Michael Widenius, dem Schöpfer von MySQL. Es verspricht Feature-Gleichheit oder sogar -Vorsprung zu MySQL Enterprise und wird als OpenSource-Projekt geführt. Leider gibt es dazu noch keine Aussagen von Ubuntu.</p>
<p><b>[UPDATE]</b></p>
<p><a href="http://www.pro-linux.de/news/1/19402/fedora-19-wechsel-zu-mariadb-beschlossen.html" title="Pro-Linux - Fedora 19: Wechsel zu MariaDB beschlossen">Heeeere commmmes annnnnnnotherone</a>&nbsp;&#8230;..</p>
<p><b>[/UPDATE]</b></p>
<p>Liebe Ubuntu-Entwickler, bitte folgt dem Beispiel eurer Kollegen und ersetzt MySQL durch eine bessere Alternative.</p>
<p>P.S.: Eine&nbsp;<a href="https://kb.askmonty.org/en/installing-mariadb-deb-files/" title="askmonty.org - MariaDB auf Ubuntu">Anleitung um MariaDB auf Ubuntu/Debian zu installieren</a>.</p>
<p><b>[UPDATE 2]</b></p>
<p>Auch&nbsp;<a href="http://www.slackware.com/" title="Slackware Homepage">Slackware</a>&nbsp;und&nbsp;<a href="https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/" title="Archlinux - MariaDB replaces MySQL in repositories">Arch</a>&nbsp;setzen nun auf MariaDB. Bei Ubuntu gibt es weder auf der&nbsp;<a href="https://ubuntu.com" title="Ubuntu Homepage">offiziellen Homepage</a>, noch bei&nbsp;<a href="http://www.markshuttleworth.com/?s=mariadb" title="Mark Shuttelworths Homepage - Suche nach MariaDB">Mark Shuttleworth</a>&nbsp;irgendwelche Kommentare dazu. Immerhin auf Ubuntuusers gibt es einen&nbsp;<a href="http://wiki.ubuntuusers.de/Baustelle/MariaDB" title="Ubuntuusers.de/Baustelle - MariaDB">Artikel zu MariaDB</a>, welcher allerdings erst im Aufbau ist. Man kann wohl nicht davon ausgehen, dass MariaDB bereits in Ubuntu 13.04 enthalten sein wird. Vielleicht haben wir ja Glück und es kommt mit 13.10. Inzwischen liebäugle ich mit einem&nbsp;<a href="http://taach.wordpress.com/2013/03/15/tanglu-immer-ein-aktuelles-debian/" title="Taach - Tanglu">Umstieg</a>&nbsp;&#8230;</p>
<p><b>[/UPDATE 2]</b></p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/'>Free Software/Open Source</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/'>Ubuntu</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/543/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/543/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=543&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/01/28/ubuntu-und-mariadb-wann/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Bezahle für deine Untauglichkeit</title>
		<link>http://taach.wordpress.com/2013/01/23/bezahle-fur-deine-untauglichkeit/</link>
		<comments>http://taach.wordpress.com/2013/01/23/bezahle-fur-deine-untauglichkeit/#comments</comments>
		<pubDate>Wed, 23 Jan 2013 03:54:28 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Österreich]]></category>
		<category><![CDATA[Politik]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=536</guid>
		<description><![CDATA[Gerade lese ich über einen Vorschlag von Generalmajor Kurt Raffetseder, Militärkommandant von Oberösterreich, eine Wehrersatzsteuer von Untauglichen einzuheben. Diese Steuer nach schweizer Modell, die auch heute noch gültig ist, verlangt von untauglichen Männern bis zu ihrem 30. Lebensjahr 3% ihres zu versteuernden Gehalts, mindestens aber 400 Franken (heute €&#160;323,02), an den Staat zu entrichten. Zahlen [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=536&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Gerade lese ich über <a href="http://ooe.orf.at/news/stories/2568204/" title="orf.at - Wehrersatzsteuer für Untaugliche">einen Vorschlag von Generalmajor Kurt Raffetseder</a>, Militärkommandant von Oberösterreich, eine Wehrersatzsteuer von Untauglichen einzuheben. Diese Steuer nach schweizer Modell, die auch heute noch gültig ist, verlangt von untauglichen Männern bis zu ihrem 30. Lebensjahr 3% ihres zu versteuernden Gehalts, mindestens aber 400 Franken (heute €&nbsp;323,02), an den Staat zu entrichten. Zahlen müssen auch Männer, die ihrer Verpflichtung Dienst zu leisten nicht oder nur ungenügend nachkommen. Im Gegensatz zum Glauben von Herrn Raffetseder kann ein wohlhabender Schweizer sich also doch &#8220;freikaufen&#8221;, indem er seinen Dienst ganz einfach nicht antritt.</p>
<p>Die Ausnahmeregelungen sind auch hauptsächlich für Extremfälle gedacht. Laut Wikipedia&nbsp;<a href="https://de.wikipedia.org/wiki/Wehrpflichtersatzabgabe" title="Wikipedia (DE) - Wehrpflichtersatzabgabe">sind Personen vom Zahlen der Wehrersatzsteuer befreit</a>, wenn:</p>
</p>
<ul>
<li>wegen erheblicher körperlicher, geistiger oder psychischer Behinderung nicht ein bestimmtes Mindesteinkommen erzielt wird</li>
<li>die Dienstuntauglichkeit infolge einer erheblichen Behinderung ausgesprochen wurde, welche eine Invaliden-Rente ausgelöst hat</li>
<li>die Dienstuntauglichkeit durch Gesundheitschädigung im Militär- oder Zivildienst bedingt ist</li>
<li>sie Bundesparlamentarier oder andere nach Gesetzgebung von persönlicher Dienstleistung Befreite sind</li>
</ul>
<p>Den Punkt mit den Bundesparlamentariern finde ich sehr interessant &#8230; Natürlich weiß ich nicht wie streng oder liberal die schweizer Stellungskommissionen Untauglichkeit bewerten. Hier ein kleines Beispiel, das nicht aus der Luft gegriffen ist:</p>
<p>Während meiner Schulzeit kannte ich mehrere Kollegen, die eine Rückgradschiefstellung hatten. Diese war angeboren, zumeist ein zu kurzes Bein, und konnte nicht oder nicht vollständig korrigiert werden. Zumindest vor dem Ende der Wachstumsphase. Man kann sich also ausrechnen, dass diese Kollegen die Stellung mit der Bescheinigung &#8220;Untauglich&#8221; beendet haben. Mit ihrem restlichen Körper und auch ihrem Geist war jedoch alles in Ordnung. Eine Arbeit, die in sitzender Position ausgeführt wird, hätten sie also in jeder Gehaltsklasse ausführen können. Damit fallen sie, ohne ihr eigenes Verschulden, durch alle Ausnahmeregelungen und müssten, unabhängig von ihrem Gehalt mindestens die etwa €&nbsp;300,- zahlen. Studieren geht sich daneben sicher nicht mehr aus. (€&nbsp;363,63 oder mehr, wenn es nach der ÖVP geht.)</p>
<p>In diesem Beispiel, das, mit anderen Fehlbildungen,&nbsp;leider relativ häufig ist, verunmöglicht das Modell also Menschen, die bereits körperlich benachteiligt sind auch eine geistige Fortbildung und hält sie damit von möglichen beruflichen Aufstiegchancen ab.</p>
<blockquote><p>Wenn das Wort Gerechtigkeit immer strapaziert wird, dann muss man über so etwas schon nachdenken.<br />&#8211; Kurt Raffetseder</p></blockquote>
<p>Ja, Herr Raffetseder, ich bin bei Ihnen. Das ist wirklich vollkommen gerecht.</p>
<p>Ich hätte einen Gegenvorschlag: wir besteuern den IQ. Es wird wohl niemand behaupten, dass eine Person mit geringem IQ hochwertige Arbeit verrichten kann oder gar ein Studium packt. Damit hätten wir eine ideale Einnahmequelle, die genauso &#8220;gerecht&#8221; ist, wie der Vorschlag von Herrn Raffetseder. Mein Vorschlag wäre: besteuern wir den IQ bis 100 Punkte. Der IQ wird gemessen in einem Intervall von 0 bis 200, wobei die meisten Menschen zwischen 55 bis 145 liegen. Der Durchschnitt der Bevölkerung liegt im Bereich 90 bis 110[1]. Nehmen wir also die Differenz zwischen dem IQ und dem Wert 100 und verwenden diesen als Prozentsatz. Diesen Prozentsatz müssen Menschen, die unter 100 Punkten liegen dann von ihrem Gehalt an den Staat abführen. Da sich der IQ, per Definition, bei Erwachsenen nicht mehr ändert ist er vielleicht sogar eine fairere Entscheidungsgrundlage als die zwei Tage, die ein junger Mann bei der Stellung verbringt.</p>
<p>So wie man Herrn Raffetseders Vorschlag im Volksmund als &#8220;Bist du behindert, dann zahl&#8221; übersetzen kann, so ist mein Vorschlag ein &#8220;Bist du blöd, dann zahl&#8221;-Modell. Beides ist in etwa gleich &#8220;gerecht&#8221;, bezieht sich also auf eine angeborene menschliche Schwäche und verlangt von Betroffenen auch noch eine finanzielle Belastung für diese Schwäche.</p>
<p>Man konnte sich schon ausrechnen, dass nach dem zweideutigen Ergebnis der Volksbefragung mehr oder weniger qualifizierte Meinungen durch die Presse fliegen.</p>
<p>Herr Raffetseder, bitte zuerst nachdenken.</p>
<p>
<h2>Quellen (nicht online)</h2>
<p>[1]&nbsp;Klaus Kubinger, Psychologische Diagnostik – Theorie und Praxis psychologischen Diagnostizierens (2009)</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/osterreich/'>Österreich</a>, <a href='http://taach.wordpress.com/category/politik/'>Politik</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/536/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/536/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=536&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/01/23/bezahle-fur-deine-untauglichkeit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Herr Vizekanzler Spindelegger</title>
		<link>http://taach.wordpress.com/2013/01/22/herr-vizekanzler-spindelegger/</link>
		<comments>http://taach.wordpress.com/2013/01/22/herr-vizekanzler-spindelegger/#comments</comments>
		<pubDate>Tue, 22 Jan 2013 05:28:54 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Österreich]]></category>
		<category><![CDATA[Politik]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=528</guid>
		<description><![CDATA[Ihre Partei hat keine rühmliche Geschichte hinter sich. Ursprünglich als Christlich-Soziale Alternative zur Sozialdemokratischen Partei gegründet legte sie bald alle Bestrebungen ab für die arbeitende Bevölkerung einzustehen und wandte sich der Seite des Geldes und der Macht und der katholischen Kirche zu. Spätestens seit&#160;Engelbert Dollfuß&#160;war auch das Bekenntnis zur Demokratie weg. Die Partei, die Dollfuß [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=528&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Ihre Partei hat keine rühmliche Geschichte hinter sich. Ursprünglich als Christlich-Soziale Alternative zur Sozialdemokratischen Partei gegründet legte sie bald alle Bestrebungen ab für die arbeitende Bevölkerung einzustehen und wandte sich der Seite des Geldes und der Macht und der katholischen Kirche zu. Spätestens seit&nbsp;<a href="https://de.wikipedia.org/wiki/Engelbert_Dollfu%C3%9F" title="Wikipedia (DE) - Engelbert Dollfuß">Engelbert Dollfuß</a>&nbsp;war auch das Bekenntnis zur Demokratie weg. Die Partei, die Dollfuß hervorgebracht hat, wünschte sich eine Rückkehr zum Ständestaat, zum Kaiserreich, ein Ende der Selbstbestimmung. Auch heute noch gehen viele Bestrebungen der ÖVP in diese Richtung. Es wird durch Belastung der Geringverdiener, Entlastung der Konzerne, Studiengebühren, usw. versucht das Geld so umzuverteilen, dass es sich bei ein paar Wenigen sammelt.</p>
<p>Das vor der Bevölkerung einzugestehen ist schwierig und äußerst unpopulär. Einer populistischen Partei wie der ÖVP ist das natürlich nicht recht. Dass die Ränge der konservativen Partei vollgestopft ist mit Menschen, deren Hintergrund Geld ist, passt nicht so gut mit der Forderung der ÖVP eine Österreichisches <u>Volks</u>partei zu sein. Traditionell hat es ihre Partei daher auch nicht so mit der Wahrheit. Es ist viel einfacher das Wahlvieh eiskalt zu belügen und dann drüber zu fahren. So geschehen bei der Einführung der Studiengebühren. Bildungsministerin Elisabeth Gehrer versprach wenige Wochen nach Angelobung der Regierung Schüssel I, dass&nbsp;<a href="http://derstandard.at/2111025?sap=2&amp;_slideNumber=2&amp;_seite=" title="derstandard.at - Gehrer: Keine Studiengebühren">keine Studiengebühren geplant</a>&nbsp;wären. Nur wenige Monate darauf wurden jedoch die erforderlichen Gesetze geschaffen oder geändert. Die Ministerin muss zu diesem Zeitpunkt bereits gewusst haben, dass diese Gebühren kommen werden.</p>
<p>Dazu zählen kann man auch das Versprechen von Wolfgang Schüssel vor der Nationalratswahl 1999, er würde seine Partei in die Opposition führen,&nbsp;<a href="https://de.wikipedia.org/wiki/Wolfgang_Sch%C3%BCssel#Bundeskanzler_von_2000_bis_2007" title="Wikipedia (DE) - Wolfgang Schüssel">sollte sie nur den 3. Platz erreichen</a>. Dass er daraufhin als drittstärkster auf den Posten des Bundeskanzlers gehievt wurde verdankt er einer geheimen, demokratieverachtenden&nbsp;<a href="http://www.demokratiezentrum.org/wissen/timelines/die-erste-oevp-fpoe-koalition.html" title="demokratiezentrum.org - Erste ÖVP-FPÖ-Koalition">Absprache mit der FPÖ</a>, mit welcher er sich bereits <u>vor der Wahl</u> auf eine Koalition geeinigt hatte.</p>
<p>Auch steht für die ÖVP politisches Kalkül seit jeher über dem Wohl der Menschen in diesem Land. Die Sicherheit, für welche laut Ihnen bei der vergangenen Volksbefragung votiert worden sei, hat gerade ihre Partei den Menschen durch die Polizeireform von Innenminister Ernst Strasser weggenommen. Damals wurden Polizeistationen zusammengelegt, viele Polizisten per Golden Handshake in Frühpension geschickt und jahrelang nicht einmal für genug Nachfolge gesorgt um den natürlichen Abgang auszugleichen. Speziell in Wien, traditionell die Hochburg Ihres politischen Gegners SPÖ, hatte diese plötzliche radikale Reduktion einen enormen Effekt. Die Kriminalitätsrate in der Bundeshauptstadt stieg sprunghaft an und ihre Partei ließ nichts unversucht dies auf die angeblich schlechte Regierung durch die SPÖ zu schieben. Kräftige Unterstützung erfuhren Sie von Ihrem damaligen Koallitionspartner auf Bundesebene, der FPÖ. Zum Glück glaubten Ihnen die Wiener kein Wort und wählten Sie kurzerhand aus der Stadtregierung, welche die SPÖ sodann alleine ausfüllte. DAS ist ein Zeichen, Herr Vizekanzler. Nicht der Ausgang der vergangenen Volksbefragung, auf welche ich noch zu sprechen kommen werde.</p>
<p>Die vergangene Volksbefragung hatte ein leider trauriges Vorspiel. Als die Menschen dieses Landes endlich die Möglichkeit hatten eine jahrzehntelanges Zwangssystem reformiert zu sehen machten Sie und die FPÖ ihnen Angst davor. Es war von Rettungswägen die Rede, die nicht bereits nach 10 Minuten sondern erst nach einer halben Stunde kämen. Sie selbst sprachen vom &#8220;Ende der Ehrenamtlichkeit&#8221;. So kann nur jemand sprechen, der keine Ahnung hat, wie ein Zivildienst abläuft. Die Frage gleich vorweg: Sie haben sicher Wehrdienst geleistet. Haben sie auch nur eine Stunde Ihres Lebens ehrenamtlicher Arbeit gewidmet? Wissen Sie überhaupt was das bedeutet?</p>
<p>Lassen Sie mich kurz von meinen Erfahrungen während meines Zivildienstes erzählen. Ich leistete ihn vom Juli 2010 bis zum März 2011 bei den Mobilen Diensten der Caritas im 10. Bezirk. Ich hatte zu tun mit vielen Menschen. Menschen mit körperlichen oder geistigen Behinderungen und Menschen die einfach nicht mehr selbst ihren Einkauf tragen konnten. Ich bin mit ihnen spazieren gegangen, kaufte für sie ein, sprach mit ihnen und war einfach für sie da. Es waren anstrengende 9 Monate. Es waren belohnende 9 Monate. Vom Großteil der Menschen mit denen ich zu tun hatte erfuhr ich Dankbarkeit und Anerkennung. Ja, ich musste mich auch als Wehrdienstverweigerer beschimpfen lassen. Mein Selbstwertgefühl ist zum Glück stark genug um sich damit nicht weiter herumzuschlagen. Ich hatte sehr liebenswürdige KollegInnen und sehr verständnisvolle und kompetente Chefinnen. Alles in allem kann ich sagen: der Zivildienst war eine wertvolle Erfahrung. Sie hat mich charakterlich reifen lassen.</p>
<p>Und das neben dem Bewusstsein etwas sinnvolles für die Gesellschaft zu tun. Ich glaube nicht, dass ich dieses Bewusstsein auch hätte, wäre ich 6 Monate lang in einem staatlich gesponserten Survival-Training mit der Waffe durch den Schlamm gerobbt. Ich möchte die Grundwehrdiener hier nicht schlecht machen. Den Wehrdienst an sich jedoch als den wichtigeren Dienst am Staat hinzustellen kann ich nicht nachvollziehen.</p>
<p>Genau das haben Ihnen übrigens auch die Menschen in diesem Land am vergangenen Sonntag gesagt. Sie wünschen sich, dass die Leistungen, die während des Zivildienstes vollbracht werden auch weiterhin geschehen. Weil sie, im Gegensatz zu Ihrer Partei, diese Leistungen zu schätzen wissen. Den Menschen in diesem Land ist der Wehrdienst ganz egal. Sie würden sich auch mit einem Berufsheer nicht schwer tun. Deshalb frage ich, warum sich eigentlich niemand die Mühe macht sein Hirn anzustrengen? Was sich die Menschen in diesem Land wirklich wünschen ist die offensichtliche dritte Wahlmöglichkeit neben den beiden suboptimalen Punkten über die es abzustimmen galt: Ein Berufsheer mit verpflichtendem Sozialdienst. Jeder kann den Beruf des Soldaten ergreifen, wenn er will. Zuvor soll aber jeder einen Beitrag für unsere Gesellschaft durch das Ableisten eines Sozialdienstes erbringen. Ob das nun auch Frauen inkludiert, auf diese Diskussion möchte ich hier nicht eingehen, da es noch zu viele Ungerechtigkeiten gibt, mit denen Frauen, unter anderem dank Ihrer Partei, zu leben haben.</p>
<p>Es ist offensichtlich, dass niemand im Vorfeld dieser Volksbefragung einen ernsthaften Versuch unternommen hat sich mit der eigentlichen Fragestellung zu befassen. Die Frage, warum wir auch heute noch unsere Gesellschaft darauf aufbauen junge Menschen mit einem unwürdigen Lohn zu Zwangsarbeit zu verpflichten. Die Wenigsten werden es vermutlich wissen: ein Zivildiener kann, ohne jegliche Gegenleistung, von seinem Arbeitgeber für bis zu 50 Stunden in der Woche eingesetzt werden. Zu einem Lohn von € 289.02. Das ist selbstverständlich die Untergrenze, aber es kommt vor. Ich selbst hatte einen Durchschnitt von etwa 45 Stunden/Woche, wobei Tage mit 9 bis 11 Stunden durchaus häufig waren. Mein persönlicher Rekord War ein Tag, an welchem ich 11,5 Stunden arbeitete. Ohne Mittagspause. Dank Essenspauschale und Fahrgeld war mein monatliches Gehalt etwa € 650,-, was wiederum die Obergrenze darstellt. Ich gehörte also zu den Bestverdienern. Trotzdem war auch das eine Unterbezahlung für meine, auch von meinem Arbeitgeber gewürdigte, sehr gute Arbeit.</p>
<p>Was wir in diesem Land tatsächlich brauchen ist also ein Sozialdienst, der den Zivildienst und den Grundwehrdienst ersetzt und der gerecht entlohnt wird. Ein Berufsheer, das sich den Aufgaben eines Heeres widmet und ein separater Katastrophendienst, der mit Profis befüllt ist.</p>
<p>Zum Abschluss noch eine Bemerkung zu Ihrer Aussage im ZIB2-Interview mit Herrn Armin Wolf am Abend nach der Volksbefragung. Sie lehnen eine Angleichung der Dienstzeit zwischen Wehrdienst und Zivildienst kategorisch ab und Ihr einziges Argument ist: &#8220;weil das immer so war&#8221;. Abgesehen davon, dass Herr Wolf Sie dabei korrigiert hat war diese Aussage ein Schlag ins Gesicht jedes Zivildieners. Sie haben damit Ihre Ignoranz gegenüber dem Thema einmal mehr unter Beweis gestellt.</p>
<p>Das nächste Mal, wenn Sie über dieses Thema sprechen empfehle ich Ihnen zuerst mit einem Experten zu sprechen. Mit jemandem, der den Dienst selbst geleistet hat. Zum Beispiel mit Herrn Minister Darabos. Selbsternannte Experten wie Sie, die etwas nie erlebt haben, haben keine Ahnung wovon sie reden. DAS ist etwas, das immer so war.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/osterreich/'>Österreich</a>, <a href='http://taach.wordpress.com/category/politik/'>Politik</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/528/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/528/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=528&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/01/22/herr-vizekanzler-spindelegger/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Playr &#8211; Ein iPod Shuffle für die Bash</title>
		<link>http://taach.wordpress.com/2013/01/21/playr-ein-ipod-shuffle-fur-die-bash/</link>
		<comments>http://taach.wordpress.com/2013/01/21/playr-ein-ipod-shuffle-fur-die-bash/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 10:05:08 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=520</guid>
		<description><![CDATA[Schon länger habe ich nach einer Möglichkeit gesucht ein paar Musikdateien auszuwählen und in zufälliger Reihenfolge abspielen zu lassen. Das kann sowohl ein einzelnes Album sein, als auch eine Zusammenstellung mehrere Tracks aus verschiedenen Verzeichnissen. Außerdem sollte dieses Programm Konsolen-basiert sein, da ich es für schnelle Wiedergabe brauche und nicht zuerst in einer GUI alles [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=520&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Schon länger habe ich nach einer Möglichkeit gesucht ein paar Musikdateien auszuwählen und in zufälliger Reihenfolge abspielen zu lassen. Das kann sowohl ein einzelnes Album sein, als auch eine Zusammenstellung mehrere Tracks aus verschiedenen Verzeichnissen. Außerdem sollte dieses Programm Konsolen-basiert sein, da ich es für schnelle Wiedergabe brauche und nicht zuerst in einer GUI alles zusammenklicken will. Da ich ein solches Programm leider noch nicht gefunden habe, habe ich mir selbst ein Bash-Skript zusammengestellt, welches als Scheduler dient und <b>play</b>&nbsp;(Paket <b>sox</b> aus den Quellen) zum Abspielen verwendet. <b>play</b> kann sowohl OGG, FLAC und WAV abspielen. Nach Installation von&nbsp;<b>libsox-fmt-mp3</b> auch MP3.</p>
<h2>Playr</h2>
<p> <b>Playr</b>&nbsp;steht für die Zusammensetzung aus <b>play</b> (dem Programm fürs Abspielen der einzelnen Tracks) und <b>random</b> (engl.: zufällig). Dass es aussieht wie ein Web2.0-Name ist wiederum Zufall (dt.: coincidence).</p>
<p>Die grobe Funktionsweise: Die übergebenen Musiktracks werden in eine versteckte Textdatei geschrieben. Dann wird mit Hilfe von $RANDOM eine Zufallszahl zur Berechnung des nächsten Tracks verwendet. Dieser Track wird sodann abgespielt und aus der Textdatei entfernt. Das verhindert, dass dieser erneut abgespielt wird (was etwas ist, dass ich bei portablen Audio-Playern sehr nervig finde). Solange noch Tracks in der Liste sind wird fortgefahren.</p>
<p>Soll die Wiedergabe abgebrochen werden, muss der Nutzer nur [strg]+[c] drücken. Leider habe ich bis jetzt keine Möglichkeit gefunden zusätzlich dazu auch einfach zum nächsten Track zu wechseln. Man kann natürlich einfach die <b>trap</b> entfernen, dann bricht [strg]+[c] nur das aktuelle <b>play</b> ab. Dann kann jedoch das Skript selbst nicht mehr komfortabel beendet werden.</p>
<h2>Das Skript</h2>
<p>Wir beginnen mit der <b>trap</b>. Dieses Konstrukt sorgt dafür, dass unser Skript [strg]+[c] verarbeiten kann. Dafür schreiben wir folgende Zeile:<br /> <code> <b> <font class="Apple-style-span" color="#880095">trap</font> </b> quit SIGINT SIGTERM</code> </p>
<p>Diese Zeile führt dazu, dass beim Erhalt der Signale SIGINT (Signal 2) oder SIGTERM (Signal 15) <b>quit</b> ausgeführt wird. Nun ist quit kein Bash-Befehl sondern eine Funktion, die wir uns selbst schreiben, welche das Skript geordnet beendet:<br /> <code> <b>function</b> <font class="Apple-style-span" color="#644a9b">quit</font> {<br />&nbsp; &nbsp; <font class="Apple-style-span" color="#d400cc"> <b>rm</b> </font> -f <font class="Apple-style-span" color="#006e28">$TRACK_FILE $TEMP_FILE</font> <br />&nbsp; &nbsp; <font class="Apple-style-span" color="#880095"> <b>exit</b> </font> 1<br />}</code> </p>
<p>Diese Funktion schreiben wir <u>vor</u>&nbsp;die Trap. In dieser löschen wir einfach unsere Textdateien, damit sie beim nächsten Programmaufruf nicht stören.</p>
<p>Als nächstes definieren wir zwei Variablen für unsere versteckten Textdateien. Zum einen eine Datei um die Tracklist zu speichern, zum Anderen eine Datei in der die veränderte Liste gespeichert wird:<br /> <code> <font class="Apple-style-span" color="#006e28">TRACK_FILE</font>=/tmp/.tracklist.playr<br /> <font class="Apple-style-span" color="#006e28">TEMP_FILE</font>=/tmp/.temp.playr</code> </p>
<p>Wir speichern die Dateien in&nbsp;<code> <b>/tmp</b> </code>, damit sie keine Verzeichnisse zumüllen. Außerdem sollten wir in&nbsp;<code> <b>/tmp</b> </code>&nbsp;immer Schreibzugriff haben. Sollte&nbsp;<code> <b>/tmp</b> </code>&nbsp;nicht verfügbar sein, kann man das Verzeichnis ja auf&nbsp;<code> <b>$HOME</b> </code>&nbsp;ändern.</p>
<p>Nun wirds Zeit sicherheitshalber Überbleibsel einer vorherigen Ausführung zu entfernen:<br /> <code> <font class="Apple-style-span" color="#d400cc"> <b>rm</b> </font> -f <font class="Apple-style-span" color="#006e28">$TRACK_FILE $TEMP_FILE</font> </code> </p>
<p>Nur für den Fall, dass etwas total schief gelaufen ist.</p>
<p>Um die Tracklist zu erzeugen schreiben wir nun einfach alle Parameter, die beim Skriptaufruf übergeben wurde in das&nbsp;<code>TRACK_FILE</code>:<br /> <code> <b>for</b> <font class="Apple-style-span" color="#d400cc"> <b>file</b> </font> <b>in</b> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$@</font> <font class="Apple-style-span" color="#cf0303">"</font>; <b>do</b> <br />&nbsp; &nbsp; <b> <font class="Apple-style-span" color="#880095">echo</font> </b> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$file</font> <font class="Apple-style-span" color="#cf0303">"</font> <br /> <b>done</b> <font class="Apple-style-span" color="#223388">&gt;</font> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> </code> </p>
<p>Das funktioniert gewisserweise wie eine foreach-Schleife. Eine beliebige Anzahl Parameter wird durchlaufen (<font class="Apple-style-span" color="#cf0303">&#8220;</font> <code> <font class="Apple-style-span" color="#006e28">$@</font> </code> <font class="Apple-style-span" color="#cf0303">&#8220;</font>). Der jeweils aktuelle Parameter wird in&nbsp;<code> <font class="Apple-style-span" color="#006e28">$file</font> </code>&nbsp;gespeichert und in der Schleife verarbeitet. Hier wird er einfach an die Standardausgabe geschickt. Die komplette Ausgabe der Schleife wird wieder auf&nbsp;<code> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> </code>&nbsp;umgebogen, wodurch die Ausgabe nicht auf der Kommandozeile erscheint, sondern in der angegebenen Datei.</p>
<p>Die Größe der Tracklist holen wir uns mit&nbsp;<code>wc</code>:<br /> <code> <font class="Apple-style-span" color="#006e28">size=$(</font> <b> <font class="Apple-style-span" color="#d400cc">cat</font> </b> <font class="Apple-style-span" color="#006e28"> "$TRACK_FILE" </font>|<font class="Apple-style-span" color="#006e28"> </font> <font class="Apple-style-span" color="#d400cc"> <b>wc</b> </font> <font class="Apple-style-span" color="#006e28"> </font>-l<font class="Apple-style-span" color="#006e28">)</font> </code> </p>
<p>Natürlich könnte man die Datei auch gleich als Parameter für <b>wc</b> angeben:<br /> <code> <font class="Apple-style-span" color="#d400cc"> <b>wc</b> </font> -l <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> <font class="Apple-style-span" color="#cf0303">"</font> </code> </p>
<p>Dann jedoch erhält man eine Ausgabe nach folgendem Muster:<br /> <code>6 .tracklist.playr</code> </p>
<p>Man muss also erst noch den eigentlichen Wert extrahieren. Da mache ich lieber den &#8220;Umweg&#8221; über <b>cat</b>. Ist kürzer.</p>
<p>Nun kommt die eigentliche Hauptschleife des Programmes:<br /> <span class="Apple-style-span" style="font-family:monospace;"> <b>while [[ </b> <font class="Apple-style-span" color="#006e28">$size -gt</font> 0<b> ]]; do</b> <br /> </span> <span class="Apple-style-span" style="font-family:monospace;">&nbsp; &nbsp; <b>## Code</b> <br /> </span> <span class="Apple-style-span" style="font-family:monospace;">&nbsp; &nbsp; ((size&#8211;))<br /> </span> <span class="Apple-style-span" style="font-family:monospace;"> <b>done</b> </span> </p>
<p>Diese Schleife läuft solange durch, bis&nbsp;<code> <font class="Apple-style-span" color="#006e28">$size</font> </code>&nbsp;den Wert&nbsp;<code>0</code>&nbsp;hat. Da&nbsp;<code> <font class="Apple-style-span" color="#006e28">$size</font> </code>&nbsp;auf jeden Fall größer als&nbsp;<code>0</code>&nbsp;sein muss und in jedem Durchgang um eins verringert wird, ist das irgendwann der Fall. Mit der Abbruchbedingung verhindern wir auch, dass die Schleife ausgeführt wird, wenn die Tracklist leer ist.</p>
<p>Es ist Zeit. Zeit um die Urväter,&nbsp;die Auditoren,&nbsp;die Götter anzurufen. Zeit eine Zufallszahl zu erzeugen. Einer Zufallszahl innerhalb eines Intervalls errechnet man am Besten mithilfe von Modulo. Modulo ist der Name der in der Unterstufe als <b>Restwertdivision</b> bekannten Berechnung.</p>
<p>Kleine Beispiele:&nbsp;<code> <b>10 / 3 = 3</b> </code>. Rest:&nbsp;<code> <b>1</b> </code>;&nbsp;<code> <b>13 / 5 = 2</b> </code>. Rest:&nbsp;<code> <span class="Apple-style-span" style="font-family:monospace;"> <b>3</b> </span> </code>. Uns interessiert immer der Restwert. Dieser ist auf jeden Fall immer &nbsp;um&nbsp;<code> <b>1</b> </code>&nbsp;kleiner als der <a href="https://de.wikipedia.org/wiki/Division_%28Mathematik%29#Definition" title="Wikipedia (DE) - Division (Mathematik)">Divisor</a> (für diejenigen, die schon lange aus der Schule draußen sind <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>Bash scheint keine built-in Funktion für Modulo zu haben, dafür gibt es ein paar andere Möglichkeiten eine solche Berechnung durchzuführen. Am ansprechendsten habe ich&nbsp;<code> <font class="Apple-style-span" color="#880095"> <b>let</b> </font> </code>&nbsp;gefunden:<br /> <code> <font class="Apple-style-span" color="#880095"> <b>let</b> </font> <font class="Apple-style-span" color="#cf0303">"rand = </font> <font class="Apple-style-span" color="#006e28">$RANDOM </font> <font class="Apple-style-span" color="#cf0303">%</font> <font class="Apple-style-span" color="#006e28"> $size</font> <font class="Apple-style-span" color="#cf0303"> + 1"</font> </code> </p>
<p>In der Variable&nbsp;<code> <font class="Apple-style-span" color="#006e28">$rand</font> </code>&nbsp;wird das Ergebnis der Berechnung festgehalten.&nbsp;<code> <font class="Apple-style-span" color="#006e28">$size</font> </code>&nbsp;ist natürlich der Begrenzer.&nbsp;<code> <font class="Apple-style-span" color="#006e28">$RANDOM</font> </code>&nbsp;ist eine Umgebungsvariable, welche bei jedem Aufruf einen neuen zufälligen Integer (Ganzzahl) ausgibt. Da diese Berechnung bei einer Tracklist-Größe von z.B.&nbsp;<code> <b>6</b> </code>&nbsp;den Wertebereich von&nbsp;<code> <b>0-5</b> </code>&nbsp;abdeckt, wir aber kein&nbsp;<code> <b>0</b> </code>tes Lied, dafür aber ein&nbsp;<code> <b>6</b> </code>tes, zählen wir zum Ergebnis einfach&nbsp;<code> <b>1</b> </code>&nbsp;dazu.</p>
<p>Den damit errechneten Track erhalten so:<br /> <code> <font class="Apple-style-span" color="#006e28">track=</font> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$(</font> <font class="Apple-style-span" color="#d400cc"> <b>head&nbsp;</b> </font> </code> <span class="Apple-style-span" style="color:rgb(0,110,40);font-family:monospace;">$TRACK_FILE&nbsp;</span> <span class="Apple-style-span" style="font-family:monospace;">-n<font class="Apple-style-span" color="#006e28">$rand </font>| <font class="Apple-style-span" color="#d400cc"> <b>tail</b> </font> -n1<font class="Apple-style-span" color="#006e28">)</font> <font class="Apple-style-span" color="#cf0303">&#8220;</font> </span> </p>
<p>Hier passiert ein bisschen was:<br /> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#d400cc"> <b>head</b> </font> <font class="Apple-style-span" color="#006e28">&nbsp;</font>-n<font class="Apple-style-span" color="#006e28">$rand</font> </span> </p>
<p> <span class="Apple-style-span">filtert die ersten&nbsp;<span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#006e28">$rand&nbsp;</font> </span>Zeilen aus der Liste. Ist&nbsp;<span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#006e28">$rand </font> </span>also&nbsp;<code> <b>2</b> </code>, dann erhalten wir durch&nbsp;<span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#d400cc"> <b>head</b> </font> <font class="Apple-style-span" color="#006e28">&nbsp;</font> </span>die ersten&nbsp;<code> <b>2</b> </code>&nbsp;Zeilen. Dadurch ist der gesuchte Track immer an letzter Stelle in der Liste. Diese letzte Stelle können wir uns nun per&nbsp;</span> <span class="Apple-style-span" style="color:rgb(212,0,204);font-family:monospace;"> <b>tail</b> </span> <span class="Apple-style-span">&nbsp;holen:<br /> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#d400cc"> <b>tail</b> </font>&nbsp;-n1</span> </span> </p>
<p> <span class="Apple-style-span">Hier holt uns&nbsp;</span> <span class="Apple-style-span" style="color:rgb(212,0,204);font-family:monospace;"> <b>tail</b> </span> <span class="Apple-style-span">&nbsp;die&nbsp;<code> <b>1</b> </code>ste Zeile von hinten. Damit haben wird unseren Track. Dieser wird nun in die Variable&nbsp;<code> <font class="Apple-style-span" color="#006e28">$track</font> </code>&nbsp;gespeichert.</span> </p>
<p>Jetzt wird es Zeit den Track abzuspielen:<br /> <code>play <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$track</font> <font class="Apple-style-span" color="#cf0303">"</font> </code> </p>
<p> <span class="Apple-style-span">Natürlich kann man auch das Ausrechnen des Tracks und den Aufruf von&nbsp;<code> <b>play</b> </code>&nbsp;in einer Zeile unterbringen. Ich bin jedoch eher für lesbaren Code als für &#8220;Zeileneffizienz&#8221;.</span> </p>
<p>Zum Abschluss muss noch eine neue Tracklist angelegt werden, ohne den gerade abgespielten Track. Dazu holen wir uns zuerst alle Tracks vor dem Aktuellen:<br /> <code> <font class="Apple-style-span" color="#d400cc"> <b>head</b> </font> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> <font class="Apple-style-span" color="#cf0303">"</font> -n$[ <font class="Apple-style-span" color="#006e28">$rand</font>-1 ] <font class="Apple-style-span" color="#223388">&gt;</font> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$TEMP_FILE</font> <font class="Apple-style-span" color="#cf0303">"</font> </code> </p>
<p>und die Tracks danach:<br /> <code> <b> <font class="Apple-style-span" color="#d400cc">tail</font> </b> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> <font class="Apple-style-span" color="#cf0303">"</font> -n$[ <font class="Apple-style-span" color="#006e28">$size</font>-<font class="Apple-style-span" color="#006e28">$rand</font> ] <font class="Apple-style-span" color="#223388">&gt;&gt;</font> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$TEMP_FILE</font> <font class="Apple-style-span" color="#cf0303">"</font> </code> </p>
<p>Mit<br /> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#006e28">$rand</font>-1</span> </p>
<p>holen wir uns alle Tracks vor dem Aktuellen und sparen diesen aus. Hingegen<br /> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#006e28">$size</font>-<font class="Apple-style-span" color="#006e28">$rand</font> </span> </p>
<p>liefert uns alle Tracks nach dem Aktuellen. Damit erhalten wir wieder dieselbe Liste wie zuvor, nur ohne dem letzten Track. Man beachte die Pfeile, welche das Ergebnis jeweils nach&nbsp;<span class="Apple-style-span" style="color:rgb(0,110,40);font-family:monospace;">$TEMP_FILE&nbsp;</span>schicken. In der ersten Zeile befindet sich nur ein Pfeil. Das bedeutet, dass die Datei überschrieben und neu befüllt wird. Es wird also nur das gespeichert, was in dieser Zeile herauskommt. In der zweiten Zeile hingegen sind zwei Pfeile. Das bedeutet, das das Ergebnis an die Datei angehängt wird. Der Inhalt der Datei wird also nicht über-, sondern der neue Inhalt dahinter in die Datei geschrieben.</p>
<p>Schließlich müssen wir die neue Tracklist noch über die alte schreiben:<br /> <code> <font class="Apple-style-span" color="#d400cc"> <b>mv</b> </font> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$TEMP_FILE</font> <font class="Apple-style-span" color="#cf0303">" "</font> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> <font class="Apple-style-span" color="#cf0303">"</font> </code> </p>
<p>Nach der Schleife selbst rufen wir noch einmal <b>quit</b> auf, damit&nbsp;das Skript sich&nbsp;auch ohne Abbruch durch den Nutzer sauber beendet.</p>
<h2>Das vollständige Skript</h2>
<p> <code> <i> <font class="Apple-style-span" color="#898887"> <b>#!/bin/bash</b> </font> </i> </p>
<p> <b>function</b>&nbsp;<font class="Apple-style-span" color="#644a9b">quit</font>&nbsp;{<br />&nbsp; &nbsp;&nbsp;<font class="Apple-style-span" color="#d400cc"> <b>rm</b> </font>&nbsp;-f&nbsp;<font class="Apple-style-span" color="#006e28">$TRACK_FILE $TEMP_FILE</font> <br />&nbsp; &nbsp;&nbsp;<font class="Apple-style-span" color="#880095"> <b>exit</b> </font>&nbsp;1<br />}</p>
<p> <b> <font class="Apple-style-span" color="#880095">trap</font> </b>&nbsp;quit SIGINT SIGTERM</p>
<p> <font class="Apple-style-span" color="#006e28">TRACK_FILE</font>=/tmp/.tracklist.playr<br /> <font class="Apple-style-span" color="#006e28">TEMP_FILE</font>=/tmp/.temp.playr</p>
<p> <font class="Apple-style-span" color="#d400cc"> <b>rm</b> </font>&nbsp;-f&nbsp;<font class="Apple-style-span" color="#006e28">$TRACK_FILE $TEMP_FILE</p>
<p> </font> </code> <span class="Apple-style-span" style="font-family:monospace;"> <b>for</b>&nbsp;<font class="Apple-style-span" color="#d400cc"> <b>file</b> </font>&nbsp;<b>in</b>&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;</font> <font class="Apple-style-span" color="#006e28">$@</font> <font class="Apple-style-span" color="#cf0303">&#8220;</font>;&nbsp;<b>do</b> <br />&nbsp; &nbsp;&nbsp;<b> <font class="Apple-style-span" color="#880095">echo</font> </b>&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;</font> <font class="Apple-style-span" color="#006e28">$file</font> <font class="Apple-style-span" color="#cf0303">&#8220;</font> <br /> <b>done</b>&nbsp;<font class="Apple-style-span" color="#223388">&gt;</font>&nbsp;<font class="Apple-style-span" color="#006e28">$TRACK_FILE</p>
<p> </font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#006e28">size=$(</font> <b> <font class="Apple-style-span" color="#d400cc">cat</font> </b> <font class="Apple-style-span" color="#006e28">&nbsp;&#8221;$TRACK_FILE&#8221;&nbsp;</font>|<font class="Apple-style-span" color="#006e28">&nbsp;</font> <font class="Apple-style-span" color="#d400cc"> <b>wc</b> </font> <font class="Apple-style-span" color="#006e28">&nbsp;</font>-l<font class="Apple-style-span" color="#006e28">)</p>
<p> </font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <b>while [[&nbsp;</b> <font class="Apple-style-span" color="#006e28">$size -gt</font>&nbsp;0<b>&nbsp;]]; do</b> <br /> </span> <span class="Apple-style-span" style="font-family:monospace;"> <b>&nbsp; &nbsp;&nbsp;</b> <font class="Apple-style-span" color="#880095"> <b>let</b> </font>&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;rand =&nbsp;</font> <font class="Apple-style-span" color="#006e28">$RANDOM&nbsp;</font> <font class="Apple-style-span" color="#cf0303">%</font> <font class="Apple-style-span" color="#006e28">&nbsp;$size</font> <font class="Apple-style-span" color="#cf0303">&nbsp;+ 1&#8243;<br />&nbsp; &nbsp;&nbsp;</font> </span> <code> <font class="Apple-style-span" color="#006e28">track=</font> <font class="Apple-style-span" color="#cf0303">"</font> <font class="Apple-style-span" color="#006e28">$(</font> <font class="Apple-style-span" color="#d400cc"> <b>head&nbsp;</b> </font> </code> <span class="Apple-style-span" style="color:rgb(0,110,40);font-family:monospace;">$TRACK_FILE&nbsp;</span> <span class="Apple-style-span" style="font-family:monospace;">-n<font class="Apple-style-span" color="#006e28">$rand&nbsp;</font>|&nbsp;<font class="Apple-style-span" color="#d400cc"> <b>tail</b> </font>&nbsp;-n1<font class="Apple-style-span" color="#006e28">)</font> <font class="Apple-style-span" color="#cf0303">&#8220;<br /> </font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#cf0303">&nbsp; &nbsp;&nbsp;</font> </span> <span class="Apple-style-span" style="font-family:monospace;">play&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;</font> <font class="Apple-style-span" color="#006e28">$track</font> <font class="Apple-style-span" color="#cf0303">&#8220;<br /> </font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#cf0303">&nbsp; &nbsp;&nbsp;</font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#d400cc"> <b>head</b> </font>&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;</font> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> <font class="Apple-style-span" color="#cf0303">&#8220;</font>&nbsp;-n$[&nbsp;<font class="Apple-style-span" color="#006e28">$rand</font>-1 ]&nbsp;<font class="Apple-style-span" color="#223388">&gt;</font>&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;</font> <font class="Apple-style-span" color="#006e28">$TEMP_FILE</font> <font class="Apple-style-span" color="#cf0303">&#8220;<br /> </font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#cf0303">&nbsp; &nbsp;&nbsp;</font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <b> <font class="Apple-style-span" color="#d400cc">tail</font> </b>&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;</font> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> <font class="Apple-style-span" color="#cf0303">&#8220;</font>&nbsp;-n$[&nbsp;<font class="Apple-style-span" color="#006e28">$size</font>-<font class="Apple-style-span" color="#006e28">$rand</font>&nbsp;]&nbsp;<font class="Apple-style-span" color="#223388">&gt;&gt;</font>&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;</font> <font class="Apple-style-span" color="#006e28">$TEMP_FILE</font> <font class="Apple-style-span" color="#cf0303">&#8220;<br /> </font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#cf0303">&nbsp; &nbsp;&nbsp;</font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#d400cc"> <b>mv</b> </font>&nbsp;<font class="Apple-style-span" color="#cf0303">&#8220;</font> <font class="Apple-style-span" color="#006e28">$TEMP_FILE</font> <font class="Apple-style-span" color="#cf0303">&#8221; &#8220;</font> <font class="Apple-style-span" color="#006e28">$TRACK_FILE</font> <font class="Apple-style-span" color="#cf0303">&#8220;</font> </span> <span class="Apple-style-span" style="font-family:monospace;"> <font class="Apple-style-span" color="#cf0303"> <br /> </font> </span> <span class="Apple-style-span" style="font-family:monospace;">&nbsp; &nbsp; ((size&#8211;))<br /> </span> <span class="Apple-style-span" style="font-family:monospace;"> <b>done<br /> </b> </span> <span class="Apple-style-span" style="font-family:monospace;"> <b> <br /> </b>quit</span> </p>
<h2>Zum Schluss</h2>
<p>Ich bin vergleichsweise ein Anfänger in Shell-Script. Ich habe einige Erfahrung in C++ und es kann daher sein, dass ich versuche Konzepte daraus in Bash umzusetzen, obwohl es wesentlich einfachere Lösungen gibt. Wenn du eine bessere Lösung weißt, schreibe sie doch bitte in die Kommentare.</p>
<h2>Lizenz</h2>
<p>Das Skript steht unter der GPLv3.</p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/programmieren/bash/'>Bash</a>, <a href='http://taach.wordpress.com/category/computer/multimedia/'>Multimedia</a>, <a href='http://taach.wordpress.com/category/programmieren/'>Programmieren</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/520/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/520/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=520&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2013/01/21/playr-ein-ipod-shuffle-fur-die-bash/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Der erste Tag vom Rest jeden Lebens</title>
		<link>http://taach.wordpress.com/2012/12/20/der-erste-tag-vom-rest-jeden-lebens/</link>
		<comments>http://taach.wordpress.com/2012/12/20/der-erste-tag-vom-rest-jeden-lebens/#comments</comments>
		<pubDate>Thu, 20 Dec 2012 23:28:29 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Vermischtes]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=516</guid>
		<description><![CDATA[Wer glaubt an einen Weltuntergang am 21.12.? Hände hoch? Irgendwer? Das hier ist kein Oh-nein-wir-werden-alle-sterben Artikel. Um genau zu sein will ich nur Folgendes verbreiten: Ruhe und Gelassenheit. Es kommt nicht oft vor, dass eine der fast täglich stattfindenden Weltuntergangsprohezeiungen von der Presse und Hollywood so gefeiert wird wie heute. Noch seltener, dass Pseudo-wissenschaftliche &#8220;Beweise&#8221; [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=516&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Wer glaubt an einen Weltuntergang am 21.12.? Hände hoch? Irgendwer?</p>
<p>Das hier ist kein Oh-nein-wir-werden-alle-sterben Artikel. Um genau zu sein will ich nur Folgendes verbreiten: Ruhe und Gelassenheit. Es kommt nicht oft vor, dass eine der fast täglich stattfindenden Weltuntergangsprohezeiungen von der Presse und Hollywood so gefeiert wird wie heute. Noch seltener, dass Pseudo-wissenschaftliche &#8220;Beweise&#8221; dafür vorgelegt werden.</p>
<p>Beginnen wir doch damit. Ich bin kein Altertumsforscher, kein Kenner der Ethnien Südamerikas und auch nicht sonderlich bewandert im Wesen der Maya. In diesem Punkt bin ich den meisten Menschen, den Redakteuren von sensationsgeilen Zeitungen eingeschlossen, gleich. Allerdings ist mir eines bewusst: bloß weil eine Kultur Kalender angefertigt hat und ausgerottet wurde bevor sie die nächste Edition veröffentlichen konnten, bedeutet das noch lange nicht, dass sie irgendwelche hellseherischen Fähigkeiten gehabt hätten.</p>
<p>Die zum erbrechend gleiche sensationelle Berichterstattung der Hundekot-Medien zu dem Thema wird mit den heutigen Ausgaben sicherlich ihren Höhepunkt erreichen, bevor morgen entweder peinliche Ablenkungsversuche von der Eigenen Panikmache, verwunderte Fragen nach &#8220;wars das?&#8221; oder einfache Selbstverleugnung die Titelblätter zieren. Ich warte schon auf die lächerlichen Interpretationsversuche, was am &#8211; ganz normalen &#8211; Freitag die Weltuntergangsstimmung gerechtfertigt hat.</p>
<p>Kommen wir zum eigentlichen Grund dieses Posts. Ich habe keinen Angst vor diesem &#8220;Weltuntergang&#8221;. Ich habe Angst vor den Leuten, die an ihn glauben. Vor Leuten, die in einer Art Wahn ihren persönlichen Weltuntergang zelebrieren wollen. Deshalb nochmal meine Botschaft: Bleib ruhig und schalt dein Hirn ein. Die einzigen, die bis jetzt vom Weltuntergang geredet haben ist die Boulevard-Presse. <u>Damit sie was schreiben können</u>. Die müssen ihre Seiten füllen. Dass sie dabei nicht zimperlich sind und das Wohl der Bevölkerung unter &#8220;U&#8221; wie &#8220;Unwichtig&#8221; abgelegt ist, ist bei Medien a&#8217;la Bild-Zeitung nichts Neues. Die sensationsheischende Art der Berichterstattung stachelt die Bevölkerung, speziell die, die bereits auf der Kippe stehen, nur noch mehr an.</p>
<p>Deswegen kann nicht oft genug gesagt werden: atme tief durch und <u>denk nach</u>. Nichts wird passieren. Das ist ein ganz normaler Freitag. Nicht einmal der 13. eines Monats. Wir gehen in die Arbeit, machen früh Schluss und freuen uns dann auf ein langes Wochenende. Ich persönlich freue mich auf den Gesichtsausdruck meiner Freundin, wenn sie ihr Geschenk sieht.</p>
<p>Schöne Zeit, Euch allen!</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href='http://blogilo.gnufolks.org/'>Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/vermischtes/'>Vermischtes</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/516/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/516/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=516&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/12/20/der-erste-tag-vom-rest-jeden-lebens/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Project Godus &#8211; möglicher Linux Support [Update]</title>
		<link>http://taach.wordpress.com/2012/12/19/project-godus-moglicher-linux-support/</link>
		<comments>http://taach.wordpress.com/2012/12/19/project-godus-moglicher-linux-support/#comments</comments>
		<pubDate>Wed, 19 Dec 2012 20:15:38 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=514</guid>
		<description><![CDATA[Für all diejenigen, die das Herzschlagfinale bis jetzt noch nicht miterlebt haben: Project Godus, das aktuell in der Entwicklung befindliche Werk von Peter Molyneux (Populous, Dungeon Keeper, Black&#38;White) hat vor ein paar Stunden sein Kampagnenziel auf Kickstarter erreicht (450.000 GBP). Pünktlich dazu haben sie weitere Stretch-Goals veröffentlicht. Linux- und OUYA-Support sollen kommen, wenn die Kampagne [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=514&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Für all diejenigen, die das Herzschlagfinale bis jetzt noch nicht miterlebt haben: <a href="http://www.kickstarter.com/projects/22cans/project-godus" title="Kickstarter - Project Godus">Project Godus</a>, das aktuell in der Entwicklung befindliche Werk von Peter Molyneux (Populous, Dungeon Keeper, Black&amp;White) hat vor ein paar Stunden sein Kampagnenziel auf Kickstarter erreicht (450.000 GBP).</p>
<p>Pünktlich dazu haben sie weitere Stretch-Goals veröffentlicht. Linux- und OUYA-Support sollen kommen, wenn die Kampagne in den verbleibenden 40 Stunden noch mindestens 100.000 GBP einnimmt. Geht auf die <a href="http://www.kickstarter.com/projects/22cans/project-godus" title="Kickstarter - Project Godus">Kickstarter-seite</a> und schaut auch das Prototyp-Video an.</p>
<p>Auch wenn 100.000 im Vergleich viel sind, so hat das Projekt in den letzten paar Tagen mehr als 150.000 GBP Unterstützung eingefahren. Noch etwas mehr und Linux ist wieder um ein Großartiges Spiel reicher &#8211; ganz unabhängig von Steam.</p>
<p><b>[UPDATE]</b> Das Stretch-Goal Linux-Support wurde auf 525.000 GBP heruntergesetzt. Aktuell stehen wir bei 521,364 GBP und 74 Minuten. <b>[/UPDATE]</b></p>
<p><b>[UPDATE 2]</b> Was für ein Herzschlagfinale. Eineinhalb Minuten vor der Deadline springt der Counter auf exakt 525.000 GBP. Die Kampagne endet mit 526.523 GBP. Godus kommt auf Linux!&nbsp;<b>[/UPDATE 2]</b></p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/computer/games/'>Games</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/514/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/514/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=514&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/12/19/project-godus-moglicher-linux-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Alternativen zu youtube-dl</title>
		<link>http://taach.wordpress.com/2012/12/13/alternativen-zu-youtube-dl/</link>
		<comments>http://taach.wordpress.com/2012/12/13/alternativen-zu-youtube-dl/#comments</comments>
		<pubDate>Thu, 13 Dec 2012 21:28:58 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Free Software/Open Source]]></category>
		<category><![CDATA[Multimedia]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=511</guid>
		<description><![CDATA[Ich mag youtube-dl. Es ist einfach zu benutzen, ist plattformunabhängig (Python) und braucht nicht viele Ressourcen (Terminal-Anwendung). Leider mag youtube-dl mich zur Zeit nicht. Sobald ich versuche ein Video herunterzuladen schaufelt die Anwendung meinen Arbeitsspeicher voll, sodass alles andere in den Swap ausweichen muss. Das führt dazu, dass das System innerhalb von Sekunden nicht mehr [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=511&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Ich mag <b>youtube-dl</b>. Es ist einfach zu benutzen, ist plattformunabhängig (Python) und braucht nicht viele Ressourcen (Terminal-Anwendung).</p>
<p>Leider mag <b>youtube-dl</b> mich zur Zeit nicht. Sobald ich versuche ein Video herunterzuladen schaufelt die Anwendung meinen Arbeitsspeicher voll, sodass alles andere in den Swap ausweichen muss. Das führt dazu, dass das System innerhalb von Sekunden nicht mehr reagiert. Am längsten überlebt noch die Maus, welche sich etwa eine halbe Minute lang stark ruckelnd bewegen kann. Danach ist auch sie tot und das Einzige das hilft ist ein Hard-Reset. Keine wünschenswerte Situation.</p>
<p>Ich habe bereits<br /><code><font class="Apple-style-span" color="#f00000"><b>youtube-dl -U</b></font><br /></code>als&nbsp;<code><b>sudo</b></code>&nbsp;ausgeführt um ein update des Scripts zu erzwingen. Das hat leider nichts geholfen. Der Streaming-Dienst ist auch egal. Ob YouTube, Vimeo oder sonst was, das Problem ist immer gleich.</p>
<p>Logischer Schritt: ich schaue mich nach Alternativen um. Wenn man per<br /><code><font class="Apple-style-span" color="#f00000"><b>apt-cache search</b></font></code><br />nach <b>youtube</b> sucht, werden einem bereits eine Liste an Programmen angeboten, welche in der Lage sind Videos von Streaming-Services herunterzuladen. Darunter befinden sich</p>
</p>
<ul>
<li>clive</li>
<li>cclive</li>
<li>fatrat</li>
<li>slimrat</li>
<li>nicovideo-dl</li>
<li>get-flash-videos</li>
<li>metacafe-dl</li>
<li>nomnom</li>
</ul>
<h2>clive</h2>
<p>Speziell <b>clive</b> hat meine Aufmerksamkeit erregt. Es ist ein Terminal-Tool, welches sich für Streaming-Services eignet, die ihre Videos in einem Flash-Player abspielen. Es ist leichtgewichtig, hat eine Vielzahl an praktischen Optionen und verhält sich allgemein sehr wie ich es von youtube-dl gewohnt bin.</p>
<p>Ein einfaches<br /><code><font class="Apple-style-span" color="#f00000"><b>clive&nbsp;&lt;video_url&gt;</b></font></code><br />lädt das Video an der angegebenen URL herunter. An sich kann man damit leben. Allerdings hat clive eben mehrere interessante Funktionen, mit denen man sich gerne spielt. Dazu gehört einmal der Schalter&nbsp;<code><b>-F</b></code>. Damit erhält man eine Liste von verfügbaren Formaten und Qualitätsstufen in denen das Video vorhanden ist. Diese Liste kommt im Format<br /><code><b>hd|mobile|sd</b></code><br />Die durch &#8220;<code><b>|</b></code>&#8221; getrennten Optionen kann man dann in einem zweiten Aufruf dem Schalter&nbsp;<code><b>-f</b></code>&nbsp;angeben, welcher dann dafür sorgt, dass <b>clive</b> das Video in der gewünschten Qualität herunterlädt.</p>
<p>Da es etwas unbequem ist für jedes Video zwei Programm-Aufrufe zu starten, habe ich ein einfaches Skript geschrieben, welches diese Aufgabe abnimmt:</p>
<p><code><b>#!/bin/bash</b></p>
<p><font class="Apple-style-span" color="#0d8aff"><b>VIDEO_URL</b></font>="<font class="Apple-style-span" color="#0d8aff"><b>$1</b></font>"<br /><font class="Apple-style-span" color="#0d8aff"><b>TEMP_FILE</b></font>="<b><font class="Apple-style-span" color="#00a000">.video-dl_temp_file</font></b>"</p>
<p><font class="Apple-style-span" color="#f00000"><b>clive</b></font> -F "<font class="Apple-style-span" color="#0d8aff"><b>$VIDEO_URL</b></font>" &gt; "<b><font class="Apple-style-span" color="#0d8aff">$TEMP_FILE</font></b>"</p>
<p><font class="Apple-style-span" color="#0d8aff"><b>CHOICES</b></font>=$(<b><font class="Apple-style-span" color="#f00000">cat</font></b> "<b><font class="Apple-style-span" color="#0d8aff">$TEMP_FILE</font></b>" | <b><font class="Apple-style-span" color="#f00000">tail</font></b> -n1)</p>
<p><font class="Apple-style-span" color="#f00000"><b>echo</b></font> -n "<b><font class="Apple-style-span" color="#00a000">Choose format (</font><font class="Apple-style-span" color="#0d8aff">${CHOICES%% *}</font><font class="Apple-style-span" color="#00a000">|best):</font><font class="Apple-style-span" color="#ff9009"> </font></b>"<br /><b><font class="Apple-style-span" color="#f00000">read</font></b> <b><font class="Apple-style-span" color="#0d8aff">FORMAT</font></b></p>
<p><b><font class="Apple-style-span" color="#f00000">clive</font></b> "<font class="Apple-style-span" color="#0d8aff"><b>$VIDEO_URL</b></font>" --format="<b><font class="Apple-style-span" color="#0d8aff">$FORMAT</font></b>" <br />--filename-format="<b><font class="Apple-style-span" color="#00a000">%t_</font><font class="Apple-style-span" color="#0d8aff">$FORMAT</font><font class="Apple-style-span" color="#00a000">.%s</font></b>"</p>
<p><b><font class="Apple-style-span" color="#f00000">rm</font></b> -f "<font class="Apple-style-span" color="#0d8aff"><b>$TEMP_FILE</b></font>"</code></p>
<h2>Was passiert hier?</h2>
<p><font class="Apple-style-span" color="#0d8aff" style="font-family:monospace;"><b>VIDEO_URL</b></font><font class="Apple-style-span" face="monospace">=&#8221;</font><font class="Apple-style-span" color="#0d8aff" style="font-family:monospace;"><b>$1</b></font><font class="Apple-style-span" face="monospace">&#8220;</font><font class="Apple-style-span" color="#0d8aff" face="monospace"><b><br /></b></font>Wir speichern die angegebene URL in einer Variable.</p>
<p><span class="Apple-style-span" style="font-family:monospace;"><font class="Apple-style-span" color="#0d8aff"><b>TEMP_FILE</b></font>=&#8221;<b><font class="Apple-style-span" color="#00a000">.video-dl_temp_file</font></b>&#8220;</span><br />Der Einfachheit halber brauchen wir eine temporäre Textdatei, in welcher wir Informationen speichern können. Der Punkt am Anfang des Dateinamens bedeutet, dass die Datei versteckt ist. Sie wird also im Dateibrowser, oder per&nbsp;<code>ls</code>&nbsp;nicht angezeigt. Die Datei wird am Ende des Skripts wieder gelöscht.</p>
<p><span class="Apple-style-span" style="font-family:monospace;"><font class="Apple-style-span" color="#f00000"><b>clive</b></font>&nbsp;-F &#8220;<font class="Apple-style-span" color="#0d8aff"><b>$VIDEO_URL</b></font>&#8221; &gt; &#8220;<b><font class="Apple-style-span" color="#0d8aff">$TEMP_FILE</font></b>&#8220;</span><br />Hier holen wir uns die möglichen Formate, in denen das Video vorliegt und schreiben diese Ausgabe in die temporäre Datei. Da es sich hierbei um zwei Zeilen handelt und nur die zweite Zeile relevant ist, brauche ich:</p>
<p><span class="Apple-style-span" style="font-family:monospace;"><font class="Apple-style-span" color="#0d8aff"><b>CHOICES</b></font>=$(<b><font class="Apple-style-span" color="#f00000">cat</font></b>&nbsp;&#8221;<b><font class="Apple-style-span" color="#0d8aff">$TEMP_FILE</font></b>&#8221; |&nbsp;<b><font class="Apple-style-span" color="#f00000">tail</font></b>&nbsp;-n1)</span><br />Diese Zeile gibt mir den Inhalt der temporären Datei aus (<code><font class="Apple-style-span" color="#f00000"><b>cat</b></font></code>), schneidet die letzte Zeile ab (<code><b><font class="Apple-style-span" color="#f00000">tail</font></b></code>) und speichert die gewünschte Zeile in der Variablen&nbsp;<code><b>CHOICES</b></code>.</p>
<p>Als Nächstes fragen wir den Nutzer, welches Format bevorzug wird:<br /><span class="Apple-style-span" style="font-family:monospace;"><font class="Apple-style-span" color="#f00000"><b>echo</b></font>&nbsp;-n &#8220;<b><font class="Apple-style-span" color="#00a000">Choose format (</font><font class="Apple-style-span" color="#0d8aff">${CHOICES%% *}</font><font class="Apple-style-span" color="#00a000">|best):</font><font class="Apple-style-span" color="#ff9009">&nbsp;</font></b>&#8220;</span><br />wobei<br /><span class="Apple-style-span" style="font-family:monospace;"><b><font class="Apple-style-span" color="#0d8aff">${CHOICES%% *}</font></b></span><br />dafür sorgt, dass hinter der Liste nichts mehr steht. <b>clive</b> gibt hier nochmal die Adresse des Videos aus. Dieser Ausdruck schneidet sie weg.</p>
<p>Dann lesen wir die Wahl des Nutzers ein:<br /><span class="Apple-style-span" style="font-family:monospace;"><b><font class="Apple-style-span" color="#f00000">read</font></b>&nbsp;<b><font class="Apple-style-span" color="#0d8aff">FORMAT</font></b></span></p>
<p>Nun ist es an der Zeit endlich das Video herunterzuladen:<br /><span class="Apple-style-span" style="font-family:monospace;"><b><font class="Apple-style-span" color="#f00000">clive</font></b>&nbsp;&#8221;<font class="Apple-style-span" color="#0d8aff"><b>$VIDEO_URL</b></font>&#8221; &#8211;format=&#8221;<b><font class="Apple-style-span" color="#0d8aff">$FORMAT</font></b>&#8221; <br />&#8211;filename-format=&#8221;<b><font class="Apple-style-span" color="#00a000">%t_</font><font class="Apple-style-span" color="#0d8aff">$FORMAT</font><font class="Apple-style-span" color="#00a000">.%s</font></b>&#8220;</span><br /><b>&#8211;filename-format</b> gibt die Formatierung des Dateinamens an.&nbsp;<code><b><font class="Apple-style-span" color="#00a000">%t</font></b></code>&nbsp;und&nbsp;<code><b><font class="Apple-style-span" color="#00a000">%s</font></b></code>&nbsp;sind dabei Platzhalter, welche für den Titel und das Suffix der Datei stehen. Zusätzlich zu den Platzhaltern kann man noch beliebig weitere Vorgaben für den Dateinamen machen. Ich füge zwischen Dateinamen und Suffix noch das Format der Datei ein.</p>
<p>Nachdem die Video-Datei sicher auf der Platte liegt lösche ich noch die temporäre Datei:<br /><span class="Apple-style-span" style="font-family:monospace;"><b><font class="Apple-style-span" color="#f00000">rm</font></b>&nbsp;-f &#8220;<font class="Apple-style-span" color="#0d8aff"><b>$TEMP_FILE</b></font>&#8220;</span></p>
<h2>Fazit</h2>
<p>Bis jetzt habe ich clive mit YouTube und Vimeo getestet. Beides funktionierte sehr gut und machte keine Probleme. Das Skript ist natürlich ausbaufähig. Zur Zeit kann es immer nur mit einem Video gleichzeitig umgehen und möglicherweise findet man noch einen besseren Weg als die Informationen in einer temporären Datei zu speichern. Für meine aktuellen Zwecke reichts.</p>
<p><b>clive</b> steht unter der GPLv3.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/programmieren/bash/'>Bash</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/'>Free Software/Open Source</a>, <a href='http://taach.wordpress.com/category/computer/multimedia/'>Multimedia</a>, <a href='http://taach.wordpress.com/category/programmieren/'>Programmieren</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/511/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/511/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=511&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/12/13/alternativen-zu-youtube-dl/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Ein Dungeon Keeper-Klon für Linux</title>
		<link>http://taach.wordpress.com/2012/12/01/ein-dungeon-keeper-klon-fur-linux/</link>
		<comments>http://taach.wordpress.com/2012/12/01/ein-dungeon-keeper-klon-fur-linux/#comments</comments>
		<pubDate>Sat, 01 Dec 2012 11:41:26 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=506</guid>
		<description><![CDATA[Wer hat Dungeon Keeper gespielt? Hand hoch! Ja, Sie mit dem vielen Geld bitte vorkommen! Für mich ist Dungeon Keeper (besonders der 2. Teil) eine Perle der Spielgeschichte. Eines der ersten Spiele in welchem man aus Sicht des Bösen die Helden verkloppen konnte. Die Gott-Sicht, die Peter Molyneux auch in seinen späteren Spielen gerne einsetzte, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=506&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Wer hat Dungeon Keeper gespielt? Hand hoch! Ja, Sie mit dem vielen Geld bitte vorkommen!</p>
<p>Für mich ist Dungeon Keeper (besonders der 2. Teil) eine Perle der Spielgeschichte. Eines der ersten Spiele in welchem man aus Sicht des Bösen die Helden verkloppen konnte. Die Gott-Sicht, die Peter Molyneux auch in seinen späteren Spielen gerne einsetzte, machte Dungeon Keeper für einem Werkzeug für Kreative. Dungeon umgraben, neue Gegenden erkunden, neue Räume bauen, Kreaturen anlocken und den Gegner auf gefinkelte Art oder mit Brute Force besiegen. Besonders in den Pet-Dungeons konnte man die Sau rauslassen. Das erste konnte man sogar ohne eine einzige Kreatur gewinnen (Imps ausgenommen). Ein Beispiel für kreatives und originelles Spielen.</p>
<p>Leider ist Bullfrog, die Firma hinter Dungeon Keeper, bei der Produktion des 3. Teiles in die roten Zahlen geraten, wurde insolvent und von einem anderen Studio gekauft: EA Games. Dass EA Games Hemmungen dabei hat originelle Spiele zu produzieren sollte allgemein bekannt sein. Daher liegt Dungeon Keeper zur Zeit auf Eis.</p>
<p>Eigentlich Schade ein solch gutes Konzept verkommen zu lassen. Das haben sich zum Glück auch ein paar Leute aus dem Vereinigten Königreich gedacht. Die kleine Firma <a href="https://subterraneangames.com/" title="Subterranean Games - Homepage">Subterranean Games</a> arbeitet nun schon seit gefühlt zwei Jahren an den Grundlagen eines Dungeon Keeper Klons. Mit <b>War for the Overworld</b> möchten die Entwickler die besten Eigenschaften aus den Spielen&nbsp;<b>Dungeon Keeper</b>, <b>Overlord</b>, <b>StarCraft</b> und <b>Evil Genius</b> in einem DRM-freien Titel zusammenführen. Inzwischen haben sie einen &#8220;Proof of concept&#8221; herausgebracht und streben <a href="http://www.kickstarter.com/projects/subterraneangames/war-for-the-overworld" title="War for the Overworld auf Kickstarter">im Rahmen einer Kickstarter-Kampagne</a> eine Finanzierung von 150.000 GBP an. Nach erst zwei Tagen sind bereits über 22.000 GBP zusammengekommen. Die Kampagne läuft noch bis zum 3. Jänner 2013.</p>
<p>Warum veröffentliche ich das auch hier im Planeten? Dungeon Keeper und Dungeon Keeper 2 waren damals ausschließlich Windows-Spiele. Man bringt sie aber inzwischen mit Wine (oder PlayOnLinux) ohne Probleme zum Laufen. War for the Overworld wird auf der Unity-Engine basieren, welche ja seit Version 4 nativ Linux unterstützt. Daher wird WFTO auch nativ für Linux/Mac OS/Windows produziert. Eine gute Chance ein vielversprechendes Spiel auf die Linux-Plattform zu holen.</p>
<p>Peter Molyneux selbst ist im übrigen nicht an der Sache beteiligt. Er wandelt zur Zeit auf den Spuren von Populous, dem ersten God-View Spiel überhaupt. Eine Art Remake unter seiner Führung ist zur Zeit ebenfalls auf Kickstarter vertreten: <a href="http://www.kickstarter.com/projects/22cans/project-godus" title="Project Godus auf Kickstarter">Project Godus</a>. Hier ist eine Linux-Unterstützung allerdings noch fraglich.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/computer/games/'>Games</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/506/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/506/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=506&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/12/01/ein-dungeon-keeper-klon-fur-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>PengPod &#8211; KDE Plasma Active auf 10&#8221;-Tablet</title>
		<link>http://taach.wordpress.com/2012/11/24/pengpod-kde-plasma-active-auf-10-tablet/</link>
		<comments>http://taach.wordpress.com/2012/11/24/pengpod-kde-plasma-active-auf-10-tablet/#comments</comments>
		<pubDate>Sat, 24 Nov 2012 20:25:59 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=502</guid>
		<description><![CDATA[Wer Aaron Seigos Blog in den letzten Monaten verfolgt hat, der weiß, dass das voller Enthusiasmus angekündigte KDE Plasma Active-Tablet Vivaldi musste einen herben Rückschlag hinnehmen. Seigo ist zwar wieder auf der Suche nach einem neuen Hardware-Partner, die Produktion von Vivaldi wurde aber auf unbestimmte Zeit verschoben. In diese Lücke scheint nun PengPod zu springen. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=502&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Wer <a href="http://aseigo.blogspot.co.at/" title="Aaron Seigos Blog">Aaron Seigos Blog</a> in den letzten Monaten verfolgt hat, der weiß, dass das voller Enthusiasmus angekündigte KDE Plasma Active-Tablet Vivaldi musste <a href="http://aseigo.blogspot.co.at/2012/09/a-small-update-on-vivaldi.html" title="Aaron Seigo - A small update on Vivaldi">einen herben Rückschlag hinnehmen</a>. Seigo ist zwar wieder auf der Suche nach einem neuen Hardware-Partner, die Produktion von Vivaldi wurde aber auf unbestimmte Zeit verschoben. In diese Lücke scheint nun PengPod zu springen.</p>
<p>Auf der Crowdfunding-Plattform indiegogo läuft noch bis zum 2. Dezember ein Projekt, welches sich <a href="http://www.indiegogo.com/pengpod" title="IndieGoGo - PengPod">die Produktion eines Tablets mit Android oder Linux</a> zur Aufgabe gemacht hat. Das Projekt möchte drei verschiedene Geräte herstellen:</p>
</p>
<ol>
<li>Den PengPod 700 &#8211; Ein Tablet mit 7&#8221; Display</li>
<li>Den PengPod 1000 &#8211; Ein Tablet mit 10&#8221; Display</li>
<li>Den PengStick &#8211; Ein Mini-PC auf USB-Stick</li>
</ol>
<p>Auf all diesen Geräten wird Android 4.0 oder ein System mit Linux 3.0 laufen. Mit 1 GB Ram und einer Auflösung von 1024&#215;600 (bzw. 800&#215;480 beim PengPod 700) ist die Hardware nicht unbedingt marktführend, für unter $200 aber ganz gut. Der eingebaute Chipsatz (Allwinner A10) soll Full-HD unterstützen, was in Kombination mit dem HDMI-Slot interessant sein kann. Die CPU läuft mit 1.2 GHz und der interne Speicher von 8 GB ist mittels SD-Karten erweiterbar. Standardmäßig wird Android installiert, man kann jedoch gegen $5 Aufpreis Linux vorinstalliert, bzw. gegen $8 Aufpreis eine 8GB SD-Karte mit Linux-Image zum Dual-Boot bekommen. Den Bildern nach setzt auch das PengPod unter Linux auf KDE Plasma Active als grafische Oberfläche.</p>
<p>Das Projekt ist zur Zeit auf 70% seines angepeilten Zieles angekommen. Auch wenn ich mir sicherlich ein Vivaldi zulegen werde, sobald es in Produktion geht, ist das PengPod einen Blick wert.</p>
<p>P.S.: Ich weiß natürlich, dass Android ein Linux-Fork ist. Eben deswegen spricht man aber im Allgemeinen vom Android-Kernel.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/'>GNU/Linux</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/502/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=502&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/11/24/pengpod-kde-plasma-active-auf-10-tablet/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Kommt ein Quantal geflogen &#8211; eine Upgrade-Geschichte</title>
		<link>http://taach.wordpress.com/2012/10/25/kommt-ein-quantal-geflogen-eine-upgrade-geschichte/</link>
		<comments>http://taach.wordpress.com/2012/10/25/kommt-ein-quantal-geflogen-eine-upgrade-geschichte/#comments</comments>
		<pubDate>Thu, 25 Oct 2012 03:22:46 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=499</guid>
		<description><![CDATA[Nachdem Quantal Quetzal nun seit einer Woche erschienen ist, wollte auch ich mein System aktualisieren. Wie jedes Mal versuche es mit einem direkten Upgrade. Jedes Mal bin ich gezwungen das System danach neu aufzusetzen, weil das System mehr oder weniger unbenutzbar wurde. So geschehen seitdem ich mit Kubuntu 7.04 (Feisty Fawn) das erste Mal diese [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=499&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Nachdem <b>Quantal Quetzal</b> nun seit einer Woche erschienen ist, wollte auch ich mein System aktualisieren. Wie jedes Mal versuche es mit einem direkten Upgrade. Jedes Mal bin ich gezwungen das System danach neu aufzusetzen, weil das System mehr oder weniger unbenutzbar wurde. So geschehen seitdem ich mit <b>Kubuntu 7.04</b> (<b>Feisty Fawn</b>) das erste Mal diese Distribution ausprobiert habe. Jedoch jedes Mal gebe ich ihm eine neue Chance.&nbsp;Zu den normalen Paketquellen zählen bei mir <b>Wine</b>, <b>VirtualBox</b>, <b>Medibuntu</b> und <b>Kubuntu.org</b>. Da immerhin die komplette Desktopumgebung aus einem <b>alternativen PPA</b> stammt erwarte ich mir gar nicht, dass alles glatt läuft.</p>
<p>Normalerweise macht einen die Paketverwaltung von Tag 1 weg auf die neue Version aufmerksam. <b>Precise Pangolin</b> jedoch war eine <b>LTS-Version</b> und macht daher von sich aus nur auf LTS-Versionen aufmerksam. Wenn man also nicht bis 14.04 <a href="http://taach.wordpress.com/2010/01/10/neue-namen-braucht-ubuntu/" title="Taach - Neue Namen braucht Ubuntu">Tormented Taurus oder Touchy Troll</a> warten will, muss man bei den Softwarepaketquellen seinen Willen kundtun über jedes Upgrade informiert zu werden.</p>
<p style="text-align:center;"><img width="386" height="108" src="http://taach.files.wordpress.com/2012/10/release-upgrade.png?w=386&#038;h=108"><br />Normal Releases &#8211; Ich will mein System alle 6 Monate neu</p>
<p>Sobald das System vermeldet hat, dass es ein Upgrade gibt, kann es losgehen. Zuerst informiert der Upgrade-Manager darüber, welche Pakete aktualisiert, neu installiert oder entfernt werden. Mehrere Stunden lang werden neue Paketversionen heruntergeladen und installiert. Da es sich im Normalfall um mehrere Gigabyte handelt kann das etwas dauern. Eine Woche nach dem Erscheinen sollten die Server wieder etwas entlastet sein. Trotzdem dauerte der gesamte Vorgang über 5 Stunden. Abhängig davon, wieviele Pakete man auf seinem System installiert hat, kann alleine das für ein frisches Aufsetzen sprechen.</p>
<p>Und siehe da: bis auf ein einzelnes Paket hat alles funktioniert. Das System startet, läuft und schnurrt. Das einzelne Paket, das Schwierigkeiten gemacht hat ist&nbsp;<code>ptex-bin</code>. Das ist zum Glück ein Übergangspaket für&nbsp;<code>texlive-lang-cjk</code>. Ein einfaches deinstallieren beendet die Fehlermeldung bei jedem Vorgang, der mit der Paketverwaltung zu tun hat (dpkg, apt-get, &#8230;).</p>
<p>Ich gebe zu, ich bin positiv überascht. Sofern nicht noch irgendwelche Fehler auftreten genieße ich mal meinen GIMP mit Einfenster-Modus. Auch KTorrent hat ein paar nette kleine Überarbeitungen erfahren. Bin gespannt, was noch auf mich wartet.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href='http://blogilo.gnufolks.org/'>Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/kubuntu/'>Kubuntu</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/499/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/499/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=499&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/10/25/kommt-ein-quantal-geflogen-eine-upgrade-geschichte/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>

		<media:content url="http://taach.files.wordpress.com/2012/10/release-upgrade.png" medium="image" />
	</item>
		<item>
		<title>Bash &#8211; Bedingte Ausführung mit if und die while-Schleife</title>
		<link>http://taach.wordpress.com/2012/07/04/bash-bedingte-ausfuhrung-mit-if-und-die-while-schleife/</link>
		<comments>http://taach.wordpress.com/2012/07/04/bash-bedingte-ausfuhrung-mit-if-und-die-while-schleife/#comments</comments>
		<pubDate>Wed, 04 Jul 2012 20:12:24 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=492</guid>
		<description><![CDATA[Wie jede vernünftige Programmiersprache hat auch die Bash eine Möglichkeit Code nur dann abzuarbeiten wenn bestimmte Bedingungen eintreffen. Für alle, die mit Programmierung nicht viel zu tun haben:&#160;if&#160;wird in den meisten Programmiersprachen dazu verwendet das Programm bestimmte Dinge machen zu lassen, abhängig vom Zustand. Grundsätzlich gibt es für die Auswertung eines Audrucks in&#160;wahr&#160;und&#160;falsch&#160;das Kommando&#160;test. Allerdings [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=492&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Wie jede vernünftige Programmiersprache hat auch die Bash eine Möglichkeit Code nur dann abzuarbeiten wenn bestimmte Bedingungen eintreffen. Für alle, die mit Programmierung nicht viel zu tun haben:&nbsp;<code><b>if</b></code>&nbsp;wird in den meisten Programmiersprachen dazu verwendet das Programm bestimmte Dinge machen zu lassen, abhängig vom Zustand. Grundsätzlich gibt es für die Auswertung eines Audrucks in&nbsp;<code>wahr</code>&nbsp;und&nbsp;<code>falsch</code>&nbsp;das Kommando&nbsp;<code>test</code>. Allerdings ist&nbsp;<code>if</code>&nbsp;normalerweise ein klein wenig übersichtlicher zu verwenden. Ein Beispiel in C:</p>
<p><code>if( is_closed(WienerWald) ) {<br />&nbsp; &nbsp; gehe_zu(McDonalds);<br />}<br />else {<br />&nbsp; &nbsp; gehe_zu(WienerWald);<br />}</code></p>
<p>Dieses Codestück versucht zu ermitteln ob ein bestimmtes Restaurant geschlossen ist. Wenn es geschlossen ist, wird ein anderes Restaurant besucht. Wenn es nicht geschlossen ist, dann wird das fragliche Restaurant besucht. Die Funktion&nbsp;<code>is_closed()</code>&nbsp;liefert uns entweder&nbsp;<code>wahr</code>&nbsp;oder&nbsp;<code>falsch</code>&nbsp;zurück. Dies sind die einzigen Werte die das&nbsp;<code>if</code>&nbsp;selbst auswerten kann. Auf dieser Grundlage wird dann entschieden welcher Code ausgeführt wird. Wenn der Ausdruck&nbsp;<code>wahr</code>&nbsp;zurückliefert, dann wird der Code gleich nach dem&nbsp;<code>if</code>&nbsp;ausgeführt. Wenn der Ausdruck&nbsp;<code>falsch</code>&nbsp;zurückliefert, dann wird der Code nach dem&nbsp;<code>else</code>&nbsp;ausgeführt. Ist der Ausdruck&nbsp;<code>falsch</code>&nbsp;und es gibt jedoch kein&nbsp;<code>else</code>, wird das ganze&nbsp;<code>if</code>&nbsp;einfach übersprungen. So funktioniert das&nbsp;<code>if</code>&nbsp;in allen (mir bekannten) Programmiersprachen. Aus welchen Datenbeständen das Programm diese Information abfragt ist hier uninteressant. Es soll nur die bedingte Ausführung gezeigt werden.</p>
<p>In Bash ist die Syntax ähnlich:</p>
<p><code>if [ is_closed $WienerWald ]<br />then<br />&nbsp; &nbsp; gehe_zu $McDonalds<br />else<br />&nbsp; &nbsp; gehe_zu $WienerWald<br />fi</code></p>
<p>Wichtig dabei zu beachten ist, dass um die eckigen Klammern Leerzeichen stehen müssen, sonst wird ein Fehler ausgegeben und das&nbsp;<code>if</code>&nbsp;versagt. <strike>Ich weiß leider selbst nicht, warum die Bash hier so pickig ist.</strike>&nbsp;Bei den Klammern handelt es sich um eine Kurzform des Kommandos&nbsp;<code>test</code>, welches für die eigentliche Auswertung des Ausdrucks zuständig ist.</p>
<h2>Vergleich zwischen Zahlen</h2>
<p>Zwischen den Klammern kann grundsätzlich alles stehen was irgendwie zu&nbsp;<code>wahr</code>&nbsp;oder&nbsp;<code>falsch</code>&nbsp;abgeleitet werden kann. So können auch Zahlen oder Zeichenketten verglichen werden:</p>
<p><code>if [ $i <font class="Apple-style-span" color="#f00000">-lt</font> 10 ]<br />then<br />&nbsp; &nbsp; echo "0$i"<br />else<br />&nbsp; &nbsp; echo "$i"<br />fi</code></p>
<p>Dieses&nbsp;<code>if</code>&nbsp;fragt ab ob die Variable&nbsp;<code>$i</code>&nbsp;kleiner (lt = lesser than) ist als der Wert&nbsp;<code>10</code>. Ist dies der Fall wird der Zahl eine führende Null vorangestellt, ist dies nicht der Fall, dann nicht. Das kann nützlich sein, wenn man bei formatierten Aufzählungen die Formatierung beibehalten will:</p>
<p><code>08 - ... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 8 - ...<br />09 - ... &nbsp; &nbsp;statt &nbsp; &nbsp;9 - ...<br />10 - ... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 10 - ...</code></p>
<p>Außer&nbsp;<code>lt</code>&nbsp;gibt es noch folgende Befehle zum Vergleichen von zwei Zahlenwerten:</p>
<p><code></code></p>
<ul>
<li><code>eq = equal &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= Gleichheit</code></li>
<li><code>ne = not equal &nbsp; &nbsp; &nbsp; &nbsp;= Ungleichheit</code></li>
<li><code>le = lesser or equal &nbsp;= kleiner oder gleich</code></li>
<li><code>ge = greater or equal = größer oder gleich</code></li>
<li><code>gt = greater than &nbsp; &nbsp; = größer als</code></li>
</ul>
<h2>Vergleich zwischen Zeichenketten</h2>
</p>
<p>Auch Zeichenketten, sogenannte strings, können verglichen werden. Hier gibt es mehrere Möglichkeiten:</p>
<p><code>if [ $str <font class="Apple-style-span" color="#f00000">=</font> "Auto" ]</code></p>
<p>vergleicht ob die Zeichenkette, welche in der Variable <code>$str</code> gespeichert ist, der Zeichenkette &#8220;<code>Auto</code>&#8221; entspricht. Wenn dem so ist, dann ist der Ausdruck&nbsp;<code>wahr</code>.</p>
<p>Jetzt wirds ein bisschen kompliziert:</p>
<p><code>if [ $str <font class="Apple-style-span" color="#f00000">!=</font> "Auto" ]</code></p>
<p>vergleicht ebenfalls die Variable&nbsp;<code>$str</code>&nbsp;und die Zeichenkette &#8220;<code>Auto</code>&#8220;. Dieser Ausdruck ist dann&nbsp;<code>wahr</code>, wenn die beiden Zeichenketten <u>nicht</u> übereinstimmen. Das Rufzeichen agiert hier als Anzeige dafür, dass der gewünschte Vergleich nicht erfolgreich sein soll, damit die Bedingung erfüllt ist.</p>
<p>Als dritte Möglichkeit eine Zeichenkette in einem&nbsp;<code>if</code>&nbsp;zu verwenden kommt die Abfrage ob in der Zeichenkette überhaupt etwas steht:</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">$str</font> ]</code></p>
<p>fragt ab ob irgendein Zeichen (egal welches oder wieviele) in der Variable gespeichert sind. Ist mindestens ein Zeichen vorhanden, dann ist der Ausdruck&nbsp;<code>wahr</code>. Ist die Zeichenkette leer (= &#8220;&#8221;), dann ist der Ausdruck&nbsp;<code>falsch</code>.&nbsp;Zum selben Ergebnis kommt dieser Ausdruck:</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">-n</font> $str ]</code></p>
<p>Der Befehl&nbsp;<code>-n</code>&nbsp;prüft ob die Länge der Zeichenkette in der angegebenen Variable nicht Null (non zero) ist. Hingegen</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">-z</font> $str ]</code></p>
<p>prüft genau das Gegenteil:&nbsp;<code>-z</code>&nbsp;fragt ob die Länge Null (zero) ist.</p>
<h2>UND, ODER und NICHT</h2>
<p>Wie jede brauchbare Programmiersprache bietet die Bash bei&nbsp;<code>if</code>&nbsp;auch die Möglichkeit mehrere Ausdrücke hintereinander auszuwerten, ohne jedesmal ein neues&nbsp;<code>if</code>&nbsp;zu benötigen. Der Code</p>
<p><code>if [ $i -lt 10 ]<br />then<br />&nbsp; &nbsp; if [ $j -lt 10 ]<br />&nbsp; &nbsp; then<br />&nbsp; &nbsp; &nbsp; &nbsp; ...<br />&nbsp; &nbsp; fi<br />fi</code></p>
<p>lässt sich kürzer so schreiben:</p>
<p><code>if [ $i -lt 10 <font class="Apple-style-span" color="#f00000">-a</font> $j -lt 10 ]<br />then<br />&nbsp; &nbsp; ...<br />fi</code></p>
<p>Das&nbsp;<code>-a</code>&nbsp;(UND) sorgt dafür, dass der Gesamtausdruck nur dann&nbsp;<code>wahr</code>&nbsp;ist, wenn beide Seiten (also links vom&nbsp;<code>-a</code>&nbsp;und rechts davon) jeweils&nbsp;<code>wahr</code>&nbsp;sind. In den meisten Programmiersprachen ist es so, dass zuerst die linke und dann die rechte Seite ausgewertet werden. Sollte die linke Seite bereits&nbsp;<code>falsch</code>&nbsp;sein, wird normalerweise die rechte Seite nicht mehr ausgewertet. Ist im allgemeinen auch nicht notwendig, da der gesamte Ausdruck dann sowieso&nbsp;<code>falsch</code>&nbsp;ist, wenn eine Seite&nbsp;<code>falsch</code>&nbsp;ist. Wahrer als&nbsp;<code>falsch</code>&nbsp;kann es nicht mehr werden. Die Bash hingegen wertet beide Seiten aus. Egal ob der Gesamtausdruck bereits&nbsp;<code>falsch</code>&nbsp;ist oder nicht.</p>
<p>Ähnlich funktioniert das ODER (<code>-o</code>). Hierbei soll geschaut werden ob eine der beiden Seiten&nbsp;<code>wahr</code>&nbsp;ist. Wenn zumindest eine&nbsp;<code>wahr</code>&nbsp;ist, ist der Gesamtausdruck&nbsp;<code>wahr</code>. Auch hier sollte normalerweise der rechte Ausdruck nicht mehr angesehen werden, wenn der Linke bereits&nbsp;<code>wahr</code>&nbsp;ergeben hat. Die Bash machts trotzdem:</p>
<p><code>if [ $i -lt 10 <font class="Apple-style-span" color="#f00000">-o</font> $j -lt 10 ]</code></p>
<p>Zu guter Letzt im Reich der sogenannten logischen Operatoren gibt es noch das NICHT. Dieses wird als Rufzeichen dargestellt (wie auch schon bei den Vergleichen der Zeichenketten). Seine Aufgabe ist es ein&nbsp;<code>wahr</code>&nbsp;in ein&nbsp;<code>falsch</code>&nbsp;umzukehren und vice versa:</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">!</font> $i -lt 10]</code></p>
<p>Dieser Ausdruck ist dann wahr, wenn&nbsp;<code>$i</code>&nbsp;gerade nicht kleiner ist als&nbsp;<code>10</code>. Selbstverständlich kann dieses Verhalten auch mit einem anderen Befehl erreicht werden. Im konkreten Fall wäre ein</p>
<p><code>if [ $i -ge 10 ]</code></p>
<p>gleichwertig. Das Rufzeichen hat trotzdem seine Existenzberechtigung, weil es manche Ausdrücke wesentlich übersichtlicher werden lässt, da es weniger zu schreiben gibt.</p>
<h2>Arbeiten mit Dateien und Ordnern</h2>
<p>Es ist mit&nbsp;<code>if</code>&nbsp;in der Bash auch möglich direkt mit Dateien zu interagieren. Ein einfaches</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">-e datei</font> ]</code></p>
<p>prüft ob eine Datei mit Namen &#8220;<code>datei</code>&#8221; existiert. Dabei wird sich immer auch das aktuelle Verzeichnis bezogen. Man kann natürlich auch einen kompletten Pfad angeben, dann ist es egal in welchen Ordner man sich befindet:</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">-e /Pfad/zur/datei</font> ]</code></p>
<p>Bisher kann &#8220;datei&#8221; jedoch sowohl Ordner als auch reguläre Datei sein. Um zwischen diesen Möglichkeiten zu unterscheiden gibt es eigene Befehle:</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">-f datei</font> ]</code></p>
<p>prüft ob eine reguläre Datei mit Namen &#8220;<code>datei</code>&#8221; im aktuellen Verzeichnis liegt. Ist das der Fall, ist das Ergebnis&nbsp;<code>wahr</code>. Es kann natürlich auch ein Ordner mit dem Namen &#8220;<code>datei</code>&#8221; im aktuellen Verzeichnis liegen. Dann liefert dieser Ausdruck&nbsp;<code>falsch</code>, da ein Ordner mit diesem Namen zwar existiert, aber ein Ordner keine reguläre Datei ist. Hingegen mit</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">-d ordner</font> ]</code></p>
<p>wird konkret geprüft ob ein Ordner mit Namen &#8220;<code>ordner</code>&#8221; an dieser Stelle existiert. Hier gilt dasselbe wie bei Dateien: existiert ein Ordner mit angegebenem Namen, ist der Ausdruck&nbsp;<code>wahr</code>. Existiert kein Ordner mit diesem Namen (egal ob eine Datei mit diesem Namen existiert oder nicht) ist der Ausdruck&nbsp;<code>falsch</code>.</p>
<p><code>if [ <font class="Apple-style-span" color="#f00000">-x executable</font> ]</code></p>
<p>prüft ob die angegebene Datei ausführbar ist. Das kann ein Programm, ein ausführbares Script oder ein Ordner sein.</p>
<p>Soviel zu den wichtigsten Vergleichen bei der Verwendung von&nbsp;<code>if</code>. Eine vollständige Auflistung gibt es auf der <a href="http://www.gnu.org/software/bash/manual/bashref.html#Bash-Conditional-Expressions" title="gnu.org - Bash Referenz#Conditional-Expressions">GNU-Infopage zu Bash</a>.</p>
<h2>while</h2>
<p>Zum Abschluss noch ein Hinweis: das <code>if</code> lässt sich mit drei kleinen Änderungen in eine Schleife verwandeln. Eine Schleife ist ein Gebilde dessen Code mehrmals ausgeführt wird bis eine bestimmte Bedingung eintritt:</p>
<p><code><font class="Apple-style-span" color="#f00000">while</font> [ $i -lt 10 ]<br /><font class="Apple-style-span" color="#f00000">do</font><br />&nbsp; &nbsp; echo $i<br />&nbsp; &nbsp; ((i++))<br /><font class="Apple-style-span" color="#f00000">done</font></code></p>
<p>Diese Schleife gibt die Zahlen von&nbsp;<code>n</code>&nbsp;(ein Wert der vorher festgelegt wurde) bis&nbsp;<code>9</code>&nbsp;aus. Die&nbsp;<code>'(('</code>&nbsp;und&nbsp;<code>'))'</code>&nbsp;lassen uns ungehindert arithmetische Ausdrücke ausführen.&nbsp;<code>i++</code>&nbsp;bedeutet, dass der Wert, der in&nbsp;<code>$i</code>&nbsp;gespeichert ist um&nbsp;<code>1</code>&nbsp;erhöht wird.</p>
<ul>
<li>Das Wort&nbsp;<code>if</code>&nbsp;muss also durch ein&nbsp;<code>while</code>&nbsp;ersetzt werden</li>
<li><code>then</code>&nbsp;muss durch&nbsp;<code>do</code>&nbsp;ersetzt werden</li>
<li><code>fi</code>&nbsp;muss durch&nbsp;<code>done</code>&nbsp;ersetzt werden</li>
</ul>
<p>Als Ausdruck in den Klammern ist alles möglich das auch im&nbsp;<code>if</code>&nbsp;möglich ist.</p>
<p><font class="Apple-style-span" color="#f00000"><b>Wichtig</b></font>: eine&nbsp;<code>while</code>-Schleife verfügt <u>nicht</u> über ein&nbsp;<code>else</code>.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href="http://blogilo.gnufolks.org/">Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/programmieren/bash/'>Bash</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/'>GNU/Linux</a>, <a href='http://taach.wordpress.com/category/programmieren/'>Programmieren</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/492/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/492/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=492&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/07/04/bash-bedingte-ausfuhrung-mit-if-und-die-while-schleife/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Firefox &#8211; Wie man einen aufdringlichen Kleinen Panda in die Schranken weist</title>
		<link>http://taach.wordpress.com/2012/07/04/firefox-wie-man-einen-aufdringlichen-kleinen-panda-in-die-schranken-weist/</link>
		<comments>http://taach.wordpress.com/2012/07/04/firefox-wie-man-einen-aufdringlichen-kleinen-panda-in-die-schranken-weist/#comments</comments>
		<pubDate>Wed, 04 Jul 2012 17:47:59 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Free Software/Open Source]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=489</guid>
		<description><![CDATA[2012, das Jahr für welches so mancher Pseudo-Prophet im Namen der Maya das Ende der Welt vorausbefürchtet, lieferte uns auch ein paar andere wichtige Ereignisse. So war es das Geburtsjahr von Firefox 10 &#8230; äh 11. Nein 12. Ach ja, 13 ist auch schon da. 14 soll auch bald da sein &#8230; Zum geplanten Ende [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=489&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>2012, das Jahr für welches so mancher Pseudo-Prophet im Namen der Maya das <a href="http://de.wikipedia.org/wiki/Weltuntergang#21._Dezember_2012" title="Wikipedia (DE) - Weltuntergang#21. Dezember 2012">Ende der Welt</a> vorausbefürchtet, lieferte uns auch ein paar andere wichtige Ereignisse. So war es das Geburtsjahr von Firefox 10 &#8230; äh 11. Nein 12. Ach ja, 13 ist auch schon da. 14 <a href="https://wiki.mozilla.org/RapidRelease/Calendar" title="mozilla.org Wiki - Rapid Release Kalender">soll auch bald da sein</a> &#8230; Zum geplanten Ende der Welt soll uns die Version 17 Seligkeit bringen. Hoffen wir die Außerirdischen verwenden IE.</p>
<p>So viele Witzchen man auch machen kann über die rivalisierenden Browser, so viele Macken haben sie jeweils. Und obwohl der Firefox auf meinem Laptop noch vor Chromium und Rekonq der Browser meiner Wahl ist, erkenne ich seine diversen Mängel (hoher Speicherverbrauch, aufgeblähter Code, &#8230;) durchaus an. Einem seiner Mängel kann man aber durchaus einen Riegel vorschieben.</p>
<p>Das Problem ist einfach geschildert: Wenn in einem Programm (außer einem Webbrowser) ein Link angeklickt wird, dann schiebt sich Firefox mit dem neuen Tab in den Vordergrund. In den meisten Fällen will ich aber an dieser Stelle noch weiterarbeiten (eMail fertig lesen, noch mehr Links anklicken, &#8230;).</p>
<h2>Der FireTray-Versuch</h2>
<p>Mein Firefox ist mit dem FireTray-Addon (neben anderen) ausgestattet. Dieses bietet die Möglichkeit Fenster, die wiederhergestellt werden, im Hintergrund zu belassen (Den Haken vor &#8220;Active restored Windows&#8221; entfernen).</p>
<p>Das bringt den gewünschten Effekt, dass Firefox sich im Hintergrund öffnet, sobald er extern aufgerufen wird. Allerdings hat das auch zur Folge, dass Firefox sich ebenfalls hinter alle offenen Fenster schiebt wenn er durch einen Klick auf das FireTray-Icon wieder hergestellt wird. Da das nicht der gewünschte Effekt war, habe ich die Einstellung wieder aktiviert und mich nach alternativen Lösungen umgesehen.</p>
<h2>Das Reich der about:config</h2>
<p>Nach einer (erstaunlich kurzen) Recherche im Web (aka Google) fand ich einen Artikel, der genau mein Problem angesprochen hat. Der Artikel <a href="http://www.techsupportalert.com/content/how-stop-firefox-stealing-window-focus.htm" title=" Techsupport Alert - How To Stop Firefox From Stealing Window Focus">How To Stop Firefox From Stealing Window Focus</a> von techsupportalert.com beschreibt die Lösung des Problems unter FF 5.0, sie ist aber auch auf alle späteren Versionen anwendbar. Hier eine kurze Zusammenfassung:</p>
</p>
<ul>
<li>Man gebe in der Adress-Leiste (Smart Location Bar im FF-Sprech) &#8220;about:config&#8221; ein und akzeptiere den Warnhinweis.</li>
<li>Hier öffnet sich nun eine Konfigurationsseite. Am oberen Rand der Seite findet sich eine Filterleiste (&#8220;Suchen:&#8221;).</li>
<li>In diese Filterleiste gibt man nun folgende Zeichenkette ein: &#8220;<b>browser.tabs.loadDivertedInBackground</b>&#8220;</li>
</ul>
<p>Diese Einstellung wird von haus aus als deaktiviert ausgeliefert (als Wert steht &#8220;<b>false</b>&#8220;). Um die Einstellung nun zu aktivieren genügt entweder ein Doppelklick darauf oder man macht einen Rechtsklick darauf und wählt den Punkt &#8220;Umschalten&#8221; aus. So oder so sollte nun als Wert &#8220;<b>true</b>&#8221; eingetragen sein.</p>
<p>Firefox übernimmt die Einstellung sofort und muss nicht neu gestartet werden. Von nun an bleibt Firefox im Hintergrund wenn er von einem anderen Programm einen Link bekommt, öffnet sich aber im Vordergrund wenn er aktiv (z.B. über das FireTray-Icon) aufgerufen wird.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href='http://blogilo.gnufolks.org/'>Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/'>Free Software/Open Source</a>, <a href='http://taach.wordpress.com/category/computer/multimedia/internet/'>Internet</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/489/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/489/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=489&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/07/04/firefox-wie-man-einen-aufdringlichen-kleinen-panda-in-die-schranken-weist/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Bash &#8211; Filename Expansion, for-Schleife</title>
		<link>http://taach.wordpress.com/2012/07/03/bash-filename-expansion-for-schleife/</link>
		<comments>http://taach.wordpress.com/2012/07/03/bash-filename-expansion-for-schleife/#comments</comments>
		<pubDate>Tue, 03 Jul 2012 19:52:18 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ubuntuusers]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=486</guid>
		<description><![CDATA[Die Bash ist ja bekanntlich das Schweizer Taschenmesser beim Umgang mit Unixoiden Systemen. Vor 23 Jahren geboren, heute in der Version 4.2 verfügbar, bleibt sie jedoch immer noch für viele ein Mysterium. Primär für Anfänger ist der Umgang mit ihr umständlich und die große Funktionsvielfalt schier erdrückend. Bis man sich hier durchgekämpft und die steile [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=486&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Die Bash ist ja bekanntlich das Schweizer Taschenmesser beim Umgang mit Unixoiden Systemen. Vor 23 Jahren geboren, heute in der Version 4.2 verfügbar, bleibt sie jedoch immer noch für viele ein Mysterium. Primär für Anfänger ist der Umgang mit ihr umständlich und die große Funktionsvielfalt schier erdrückend. Bis man sich hier durchgekämpft und die steile Lernkurve hinter sich gebracht hat, hat sich bereits eine Haarlänge a&#8217;la Rapunzel gebildet. Oder ein Bart nach Stallman. Natürlich zähle ich mich selbst bei weitem nicht zu den Gurus unter den Programmierern. Lerne ich jedoch etwas Praktisches, so versuche ich es leicht verständlich weiter zu geben. Heute geht es um <b>Filename Expansion</b>.</p>
<p>Die <a href="http://www.gnu.org/software/bash/manual/bashref.html" title="gnu.org - Infopage Bash">GNU-Infopage</a> zu Bash-4.2 lässt sich in Kapitel 3.5.3 etwas umständlich über die genaue Wirkungsweise der Filename Expansion aus. Leider ohne ein Beispiel zu geben. Dieses Versäumnis soll nun nachgeholt werden.</p>
<h2>Vorbereitung</h2>
<p>Nehmen wir an, wir haben eine Variable <code>$file</code>&nbsp;mit folgendem Inhalt:<br /><code>/home/user/datei.png</code></p>
<p>Für bisher-nicht-Bash-Nutzer, so weise ich einer Variable in Bash eine Zeichenkette (ein Pfad zu einer Datei ist eine solche) zu:<br /><code>file="/home/user/datei.png"</code><br />Die Variable&nbsp;<code>$file</code>&nbsp;wird, falls sie noch nicht existiert an dieser Stelle angelegt.</p>
<p>Mit dem Befehl&nbsp;<code>echo</code>&nbsp;kann ich überprüfen, welchen Inhalt die Variable hat:<br /><code>echo $file</code><br />Ausgabe:&nbsp;<code>/home/user/datei.png</code></p>
<p>Man beachte das Dollar-Zeichen wenn die Variable verwendet wird. Nur mit dem Dollar-Zeichen davor kann auf den Inhalt der Variablen zugegriffen werden.</p>
<h2>Der Dateiname</h2>
<p>Angenommen ich möchte nun aus unserem Dateipfad den Namen der Datei herauslösen. Hierfür muss ich wohl alles wegschneiden, was vor dem Dateinamen steht:<br /><code><b><font class="Apple-style-span" color="#f00000">/home/user/</font></b>datei.png</code></p>
<p>Das Konstrukt um dies zu erreichen sieht in Bash so aus:<br /><code>${file##*/}</code></p>
<p>Man beachte, dass nach wie vor das Dollar-Zeichen zu Anfang stehen muss. Der Name der Variable ist nun in geschwungenen Klammern eingeschlossen. Die Zeichen dahinter teilen sich in zwei Gruppen auf. Das&nbsp;<code>'##'</code>&nbsp;steht für den Befehl alles von links her wegzuschneiden. Alle weiteren Zeichen, welche darauf folgen, geben an was genau weggeschnitten werden soll.</p>
<p><code>*/</code><br />steht für: alles bis zum Zeichen&nbsp;<code>'/'</code>.</p>
<p>Folgender Befehl:<br /><code>echo ${file##*/}</code><br />ergibt also folgende Ausgabe:<br /><code>datei.png</code></p>
<p>Nun kann man argumentieren, dass in der Zeichenkette<br /><code>/home/user/datei.png</code><br />ja viele&nbsp;<code>'/'</code>&nbsp;vorkommen. Das stimmt. Das&nbsp;<code>'##'</code>&nbsp;schneidet eben <b>alles</b> bis zum <u>letzten</u>&nbsp;<code>'/'</code>&nbsp;weg.</p>
<p>Ähnlich funktioniert das Konstrukt<br /><code>${file#*/}</code><br />Man beachte das einfache&nbsp;<code>'#'</code>. Dieser Befehl schneidet alles bis zum <u>ersten</u>&nbsp;<code>'/'</code>&nbsp;weg.</p>
<p>Folgender Befehl:<br /><code>echo ${file#*/}</code><br />ergibt also folgende Ausgabe:<br /><code>home/user/datei.png<br /></code>Man beachte das fehlende&nbsp;<code>'/'</code>&nbsp;am Anfang.</p>
<h2>Das Suffix</h2>
<p>Dieses Spielchen funktioniert natürlich auch von der rechten Seite her. Statt dem&nbsp;<code>'##'</code>, bzw. dem&nbsp;<code>'#'</code>, verwenden wir hier ein&nbsp;<code>'%%'</code>, bzw. ein&nbsp;<code>'%'</code>.</p>
<p>Nehmen wir an, wir haben den kompletten Dateinamen (inklusive Endung) in einer weiteren Variablen gespeichert:<br /><code>file_name=${file##*/}</code></p>
<p>Ein<br /><code>echo $file_name</code><br />bringt uns nun folgende Ausgabe:<br /><code>datei.png</code></p>
<p>Wir wollen nun nur den eigentlichen Dateinamen herausholen, ohne Endung. Dazu müssen wir die Endung wegschneiden:<br /><code>datei<font class="Apple-style-span" color="#f00000"><b>.png</b></font></code></p>
<p>Das funktioniert so:<br /><code>${file_name%.*}</code></p>
<p>Das&nbsp;<code>'%'</code>&nbsp;funktioniert hier als Anweisung die Zeichenkette von rechts her zu beschneiden. Weggeschnitten werden soll&nbsp;<code>'.*'</code>, also alles was rechts vom <u>ersten</u>&nbsp;<code>'.'</code>&nbsp;steht.<br />(Natürlich macht hier die Unterscheidung zwischen <b>erstem</b> und <b>letztem</b> Auftreten eines Zeichens keinen Unterschied, da das Zeichen hier <b>nur einmal</b> vorkommt.)</p>
<h2>Anwenden</h2>
<p>Manch einer fragt sich sicherlich schon: und wofür brauche ich das? Nun, die Bash ist zwar sehr komplex, wenn man sie jedoch mal ein wenig verstanden hat auch sehr flexibel und effizient. Ich erledige viele Aufgaben, für welche ich mit grafischen Programmen viele Klicks und mehrere Minuten brauche (z.B. Bildbearbeitung mit Gimp), in wenigen Sekunden.</p>
<p>Nehmen wir an, wir wollen von unserem Bild ein Thumbnail für eine Website erzeugen. Das Thumbnail soll etwa ein Fünftel der Größe des Originals haben (also 20%). Hierzu verwenden wir das Programm <b>convert</b>, welches zum Paket <b>imagemagick</b> gehört. Der Befehl sieht dann so aus:<br /><code>file="datei.png"<br />convert "$file" -resize 20% "${file%.*}_thumb.png"</code></p>
<p>Damit wird eine neue Datei erzeugt, welche 20% der Größe der Datei&nbsp;<code>datei.png</code>&nbsp;hat und&nbsp;<code>datei_thumb.png</code>&nbsp;heißt. Hier haben wir die Filename Expansion also verwendet um den Dateinamen anzupassen, den wir der neuen Datei gegeben haben.</p>
<h2>Auf mehrere Dateien anwenden</h2>
<p>Das ist selbstverständlich noch nicht der Weisheit letzter Schluss. Für eine einzelne Datei zeigt sich die Flexibilität von Filename Expansion noch nicht so wirklich. Erst wenn ich mehrere Dateien, mit stark unterschiedlichen Namen bearbeiten will sieht man das Potential.</p>
<p>Nehmen wir also an, wir haben einen Ordner voller Bilder:<br /><code>Geburtstag1.png<br />Valerie_Donau.jpg<br />Visitenkarte.png<br />Zweiwohnschloss.gif<br />...</code></p>
<p>Von allen diesen Bildern möchten wir, wie im obigen Beispiel, ein Thumbnail erzeugen lassen. Wir brauchen nun alle Techniken, die wir oben gelernt haben, um dieses Vorhaben elegant umzusetzen. Zu aller erst brauchen wir eine Schleife. Eine Schleife ist ein Konstrukt, welches den Code, der in der Schleife steht, sooft ausführt, bis eine bestimmte Bedingung erreicht ist. Unsere Schleife sieht so aus:</p>
<p><code><font class="Apple-style-span" color="#f00000">for file in ./*; do ; done</font></code></p>
<p>Diese Schleife macht noch nichts. Hier will ich nur den grundsätzlichen Aufbau erklären.&nbsp;<code>for</code>&nbsp;ist das Schlüsselwort mit dem die Schleife beginnt. Danach wählen wir einen Namen für eine Variable, die wir in der Schleife verwenden wollen (hier:&nbsp;<code>file</code>).&nbsp;<code>in</code>&nbsp;ist wieder ein Schlüsselwort, welches wir bei der Schleife brauchen. Danach steht was in die vorher gewählte Variable eingetragen werden soll.&nbsp;<code>./*</code>&nbsp;steht für &#8220;alle Dateien in diesem Ordner&#8221;. Wir gehen davon aus, dass in diesem Ordner nur Bild-Dateien enthalten sind.</p>
<p>Da wir unseren Code nicht in ein Shell-file schreiben, sondern direkt auf die Kommandozeile sind die Semikolons zwingend. Nach jedem Befehl muss ein Semikolon folgen.</p>
<p><span class="Apple-style-span" style="font-family:monospace;">do</span>&nbsp;leitet den Code der Schleife ein. Der erste Befehl der Schleife folgt gleich auf das&nbsp;<code>do</code>, ohne Semikolon. Mit&nbsp;<code>done</code>&nbsp;wird die Schleife abgeschlossen.&nbsp;<code>do</code>&nbsp;und&nbsp;<code>done</code>&nbsp;sind keine Befehle, deshalb muss auf sie nicht direkt ein Semikolon folgen.</p>
<p>Die Bedingung dieser Schleife ist: gehe alle Dateien in diesem Ordner durch. Für jede Datei in diesem Ordner wird die Schleife also genau einmal ausgeführt. Der jeweilige Name der Datei findet sich in der Variable&nbsp;<code>$file</code>.</p>
<p>Nun schreiben wir den Code unserer Schleife. Zuerst müssen wir den eigentlichen Namen (das Prefix) der jeweiligen Datei finden:</p>
<p><code>for file in ./*; do <font class="Apple-style-span" color="#f00000">prefix="${file%.*}"</font>; done</code></p>
<p>Danach brauchen wir noch das Suffix (Endung; denn in unserem Ordner liegen ja Bild-Dateien von verschiedenen Typen herum herum):</p>
<p><code>for file in ./*; do prefix="${file%.*}"; <font class="Apple-style-span" color="#f00000">suffix="${file##*.}";</font> done</code></p>
<p>Nun können wir den Konvertierungsbefehl aus dem obigen Beispiel einfügen (mit einer kleinen Änderung):</p>
<p><code>for file in ./*; do prefix="${file%.*}"; suffix="${file##*.}"; <font class="Apple-style-span" color="#f00000">convert "$file" -resize 20% "$prefix"_"thumb.$suffix";</font> done</code></p>
<p>Für unsere gegebenen Dateien sieht das Ergebnis so aus:</p>
<p><code>Geburtstag1.png<br />Geburtstag1_thumb.png<br />Valerie_Donau.jpg<br />Valerie_Donau_thumb.jpg<br />Visitenkarte.png<br />Visitenkarte_thumb.png<br />Zweiwohnschloss.gif<br />Zweiwohnschloss_thumb.gif<br />...</code></p>
<p>Diese Schleife hat bei mir für 70 Bilder zu jeweils ca. 5 MB etwa 1:30 min gebraucht. Schaffst du das mit dem Gimp auch? <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href='http://blogilo.gnufolks.org/'>Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/programmieren/bash/'>Bash</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/'>GNU/Linux</a>, <a href='http://taach.wordpress.com/category/programmieren/'>Programmieren</a>, <a href='http://taach.wordpress.com/category/computer/free-softwareopen-source/gnulinux/ubuntu/ubuntuusers/'>Ubuntuusers</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/486/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=486&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/07/03/bash-filename-expansion-for-schleife/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
		<item>
		<title>Microsofts Argument gegen DVD-Codecs in Win8</title>
		<link>http://taach.wordpress.com/2012/05/09/microsofts-argument-gegen-dvd-codecs-in-win8/</link>
		<comments>http://taach.wordpress.com/2012/05/09/microsofts-argument-gegen-dvd-codecs-in-win8/#comments</comments>
		<pubDate>Wed, 09 May 2012 08:48:38 +0000</pubDate>
		<dc:creator>tok1hama1san</dc:creator>
				<category><![CDATA[Österreich]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Multimedia]]></category>

		<guid isPermaLink="false">http://taach.wordpress.com/?p=483</guid>
		<description><![CDATA[Über einen Artikel des Standard bin ich auf dieses FAQ von Microsoft gestoßen. Wie viele vermutlich wissen hat Microsoft angekündigt keine DVD-Codecs in Windows 8 zu integrieren. Nach Meldungen sollen solche zwar in den aktuellen Testimages vorhanden sein, in der Verkaufsversion dann aber fehlen. Diese Entscheidung wird damit begründet, dass Windows 8 hauptsächlich auf Geräten [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=483&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Über einen <a href="http://derstandard.at/1336435340890/Lizenzgebuehren-Microsoft-Windows-8-mit-DVD-Codecs-waere-unfair" title="derstandard.at - MS Win8 mit DVD-Codecs unfair">Artikel des Standard</a> bin ich auf dieses <a href="http://blogs.msdn.com/b/b8/archive/2012/05/04/q-amp-a-dvd-playback-and-windows-media-center-in-windows-8.aspx" title="MS FAQ zu DVD-Codecs in Win8">FAQ von Microsoft</a> gestoßen. Wie viele vermutlich wissen hat Microsoft angekündigt keine DVD-Codecs in Windows 8 zu integrieren. Nach Meldungen sollen solche zwar in den aktuellen Testimages vorhanden sein, in der Verkaufsversion dann aber fehlen. Diese Entscheidung wird damit begründet, dass Windows 8 hauptsächlich auf Geräten ausgeliefert würde die gar kein geeignetes Laufwerk zum Abspielen einer DVD beinhalten. Soweit kann man dem Argument folgen. Bei der Frage</p>
<blockquote><p>Why can’t I just pay for DVD when I need it?</p></blockquote>
<blockquote><p>Übersetzung<br />Warum kann ich für die DVD-Funktion nicht einfach zahlen wenn ich sie brauche?</p></blockquote>
<p>gibt Microsoft folgende Antwort:<br />
<blockquote>When we have DVD playback capabilities in software broadly like in Windows 7, there is no way to distinguish whether the PC will ever play a DVD disc but still this cost is carried on every PC. [...]</p></blockquote>
<blockquote><p>Übersetzung<br />Wenn die Möglichkeit zum Abspielen von DVDs so verbreitet wie in Windows 7 einsetzen gibt es keine Möglichkeit zu entscheiden ob der PC jemals eine DVD abspielen wird. Die Kosten dafür sind aber bei jedem PC-Kauf zu zahlen. [...]</p></blockquote>
<p>Man lasse sich das Argument auf der Zunge zergehen. Microsoft stellt also von sich aus klar, dass die <b>technische Möglichkeit etwas zu tun</b> noch <b>nicht Grund genug sind dafür auch zahlen zu müssen</b>. Das dürfte besonders die RIAA, GEMA, AustroMechana und wie sie nicht alle heißen freuen, die von einer Leerkassettenabgabe bisher ganz gut profitieren. In Österreich besonders die AustroMechana welche sich zur Zeit für recht hohe Abgaben beim Kauf einer Festplatte einsetzt. Denn, so das Argument, jemand der die technische Möglichkeit hat soll auch dafür zahlen.</p>
<p>Um es auf den Punkt zu bringen: Unter all den vorgeschlagenen Modellen zur Honorierung von künstlerischen Werken halte die die sogenannte Kulturflatrate für das beste Modell. Dabei zahlt jeder seinen Beitrag und eine Verwertungsgesellschaft schaut dazu, dass das vorhandene Geld gerecht aufgeteilt wird. <b>ABER</b>. Wenn ich pauschal für Kunst zahlen soll, dann will ich auch das Recht haben sie pauschal zu verwenden. Mit anderen Worten: für jedes Kunstwerk welches ich in meinem Land mit meinem Geld mitfinanziere muss gelten: das Werk geht in eine Art nationale Public Domain über. Wenn der Künstler das nicht will, dann hat er zwei Möglichkeiten: entweder das Werk unter eine spezielle Lizenz stellen oder es bei sich zu Hause im Keller vergraben. In beiden Fällen sehe ich aber auch keine Berechtigung mehr das Werk aus der Kulturflatrate zu bezahlen.</p>
<p>DIe Verwertungsgesellschaften haben bisher immer damit argumentiert, dass für die Künstler ein gleiches Recht gelten muss wie für jede andere Dienstleistung und ihre Werke somit nicht einfach gratis vervielfältigt werden dürften. Das ist für mich ein schiefes Bild. Ich bin der Meinung: gleiches Recht für alle. Der Künstler soll seine Entschädigung bekommen. Doch das wofür ich bezahle will ich auch verwenden dürfen.</p>
<p>=-=-=-=-=<br /><i>Powered by <b><a href='http://blogilo.gnufolks.org/'>Blogilo</a></b></i></p>
<br />Einsortiert unter:<a href='http://taach.wordpress.com/category/osterreich/'>Österreich</a>, <a href='http://taach.wordpress.com/category/computer/microsoft/'>Microsoft</a>, <a href='http://taach.wordpress.com/category/computer/multimedia/'>Multimedia</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/taach.wordpress.com/483/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/taach.wordpress.com/483/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=taach.wordpress.com&#038;blog=6890806&#038;post=483&#038;subd=taach&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://taach.wordpress.com/2012/05/09/microsofts-argument-gegen-dvd-codecs-in-win8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/925d9bffe5c4b512d5cd2f1666f7afbe?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tok1hama1san</media:title>
		</media:content>
	</item>
	</channel>
</rss>
