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

<channel>
	<title>Christophs Blog</title>
	<atom:link href="http://blog.cgiesel.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cgiesel.de</link>
	<description>/home/christoph</description>
	<lastBuildDate>Mon, 26 Mar 2012 16:29:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Firefox Extension &#8220;Ghostery&#8221;</title>
		<link>http://blog.cgiesel.de/2012/03/firefox-extension-ghostery/</link>
		<comments>http://blog.cgiesel.de/2012/03/firefox-extension-ghostery/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 16:16:15 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false">http://blog.cgiesel.de/?p=256</guid>
		<description><![CDATA[Heute möchte ich euch eine meiner Lieblings Firefox Extensions vorstellen: Ghostery. Was ist Ghostery? Ghostery ist eine Extension, die deine Privatsphäre schützen soll. Sie blockt alle bekannten Seiten, die dein Surfverhalten ausspähen könnten. Schauen wir uns doch einfach mal Zeit Online als Beispiel an: Wie wir hier sehen, sind dort DoubleClick (Anbieter von Werbung, aufgekauft [...]]]></description>
			<content:encoded><![CDATA[<p>Heute möchte ich euch eine meiner Lieblings Firefox Extensions vorstellen: <a href="http://www.ghostery.com" title="Ghostery">Ghostery</a>.</p>
<p>Was ist Ghostery? Ghostery ist eine Extension, die deine Privatsphäre schützen soll. Sie blockt alle bekannten Seiten, die dein Surfverhalten ausspähen könnten. Schauen wir uns doch einfach mal Zeit Online als Beispiel an:</p>
<p><a href="http://blog.cgiesel.de/wp-content/uploads/2012/03/zeitonlineghostery.png" rel="lightbox[256]" title="Sceenshot von Zeit Online (Firefox Extension Ghostery)"><img src="http://blog.cgiesel.de/wp-content/uploads/2012/03/zeitonlineghostery.png" alt="Sceenshot von Zeit Online (Firefox Extension Ghostery)" title="Sceenshot von Zeit Online (Firefox Extension Ghostery)" width="567" height="497" class="alignnone size-full wp-image-257" /></a></p>
<p>Wie wir hier sehen, sind dort <a href="http://de.wikipedia.org/wiki/DoubleClick" title="Wikipedia: DoubleClick">DoubleClick</a> (Anbieter von Werbung, aufgekauft durch Google), <a href="http://de.wikipedia.org/wiki/Arbeitsgemeinschaft_Online_Forschung" title="Wikipedia: Arbeitsgemeinschaft Online Forschung e. V. (AGOF)">INFOnline</a> (binden Zählpixel zur Erfassung von Werbemittel-Reichweiten im Internet ein), <a href="http://www.meetrics.net/info/" title="Webseite von Meetrics">Meetrics</a> (&#8220;erfasst die Sichtbarkeit von Online-Inhalten und errechnet mit innovativen Erhebungsverfahren in Echtzeit den Aufmerksamkeits- und Lesefokus von Webseitenbesuchern.&#8221;), <a href="http://www.nugg.ad/de/" title="Webseite von nugg.ad">Nugg.Ad</a> (&#8220;zielgruppengenaue Onlinewerbung&#8221;), <a href="http://de.wikipedia.org/wiki/Verwertungsgesellschaft_Wort" title="Wikipedia: Verwertungsgesellschaft Wort (VG Wort)">VG Wort</a> (Verwertungsgesellschaft, so etwas wie die GEMA für nicht-musikalische Texte) und <a href="http://www.webtrekk.com/de/home.html" title="Webseite von Webtrekk">Webtrekk</a> (&#8220;Webanalysesystem&#8221;) eingebunden.</p>
<p>Oder schauen wir uns noch die Seite von Spiegel Online an:</p>
<p><a href="http://blog.cgiesel.de/wp-content/uploads/2012/03/spiegelonlineghostery.png" rel="lightbox[256]" title="Screenshot von Spiegel Online mit der Firefox Extensions Ghostery"><img src="http://blog.cgiesel.de/wp-content/uploads/2012/03/spiegelonlineghostery.png" alt="Screenshot von Spiegel Online mit der Firefox Extensions Ghostery" title="Screenshot von Spiegel Online mit der Firefox Extensions Ghostery" width="574" height="599" class="alignnone size-full wp-image-262" /></a></p>
<p>Hier sieht es wieder ähnlich aus, aber enthält auch bekanntere Webseiten wie Facebook, Google Analytics und Twitter.</p>
<p>Das Problem bei dieser ganzen Sache ist ja nicht nur das ausspähen, sondern auch, dass viele Server in anderen Ländern wie den USA stehen, wo es andere Gesetze zu Datenschutz etc. gibt. Ich persönlich möchte auch nicht die ganzen Skripte herunterladen müssen, welche die Ladedauer der Webseite verlängern.</p>
<p><a href="https://addons.mozilla.org/de/firefox/addon/ghostery/" title="Firefox Extension Ghostery">Installiert euch doch einfach mal Ghostery</a>. Meine Empfehlung zu den Einstellungen: &#8220;GhostRank&#8221; deaktivieren, &#8220;Auto Update&#8221; aktivieren, alle &#8220;Zählpixel&#8221; und &#8220;Cookies&#8221; blockieren, &#8220;Warnmeldungen&#8221; ausblenden und Ghostery in der Navigationsleiste anzeigen lassen.</p>
<p>Wie ihr dann feststellen werdet, wird eine Menge geblockt. So auch die Tweet, G+ und Facebook Buttons. Die Blockierung dieser könnt ihr ja bei Bedarf komplett ausstellen oder nur kurzzeitig, wenn ihr einen Artikel mit anderen teilen wollt. Ein Problem ist mir bei Facebook aufgetreten: Falls ihr den Apps Zugriff auf euer Facebook Account geben wollt, so müsst ihr die Blockierung von &#8220;Facebook Connect&#8221; rechtzeitig ausschalten, da ansonsten schnell weiße Seiten oder Verbindungsfehler auftreten.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2012/03/firefox-extension-ghostery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CyanogenMod selber gebacken</title>
		<link>http://blog.cgiesel.de/2012/02/cyanogenmod-selber-gebacken/</link>
		<comments>http://blog.cgiesel.de/2012/02/cyanogenmod-selber-gebacken/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 00:38:45 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false">http://blog.cgiesel.de/?p=240</guid>
		<description><![CDATA[Lange Zeit konnte ich mein HTC Wildfire gar nicht Rooten, weil HTC mit einem update irgend eine Sperre eingebaut hatte. Dann gab es irgendwann AlphaRevX beta tool (jetzt gibt es von den AlphaRev und unrevoked Leuten Revolutionary) und seit dem benutze ich CyanogenMod. Da die stabile Version meist ein paar kleine Bugs hatte, habe ich [...]]]></description>
			<content:encoded><![CDATA[<p><a href="/wp-content/uploads/2012/02/screenshot-1330216036486.png" rel="lightbox[240]" title="screenshot-1330216036486"><img src="/wp-content/uploads/2012/02/screenshot-1330216036486.png" alt="Screenshot von Android" title="screenshot-1330216036486" style="float: right; margin-left: 10px;" /></a>Lange Zeit konnte ich mein HTC Wildfire gar nicht Rooten, weil HTC mit einem update irgend eine Sperre eingebaut hatte. Dann gab es irgendwann AlphaRevX beta tool (jetzt gibt es von den AlphaRev und unrevoked Leuten <a href="http://revolutionary.io">Revolutionary</a>) und seit dem benutze ich <a href="http://www.cyanogenmod.com">CyanogenMod</a>. Da die stabile Version meist ein paar kleine Bugs hatte, habe ich mir die <a href="http://download.cyanogenmod.com/?type=nightly&#038;device=buzz">Nightly Builds</a> installiert. Leider gab seit November 2011 keine neuen mehr &#8211; dafür aber eine Menge <a href="http://cm-nightlies.appspot.com/?device=buzz">Commits</a>.</p>
<p>Und was macht man da? Selber bauen! <img src='http://blog.cgiesel.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Leider hat das bei mir bisher nicht funktioniert. Doch gestern hat es endlich geklappt. Ich habe die <a href="http://blog.alexdpsg.net/589/building-android-from-source-cyanogenmod-nightly/">Anleitung von alex_dpsg</a> benutzt.</p>
<p>Da ich nicht Ubuntu sondern ArchLinux benutze, habe ich es ein wenig anders gemacht:</p>
<p>Das <a href="http://aur.archlinux.org/packages.php?ID=13751">Android SDK</a> (+ <a href="http://aur.archlinux.org/packages.php?ID=45904">Platform Tools</a>) habe ich aus dem AUR genommen:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">yaourt <span style="color: #660033;">-S</span> android-sdk android-sdk-platform-tools</pre></div></div>

<p>Da seit dem letzten SDK Update im AUR eine Menge Pakete von diversen Herstellern hinzugekommen sind, sollte man &#8220;./android update sdk -u&#8221; nicht ausführen (das dauert nämlich ewig). Stattdessen startet man den Android SDK Manager:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> android</pre></div></div>

<p>Hier installiert man die wichtigsten Pakete (die von Google sollten reichen). ADB muss man eigentlich nicht updaten. Fastboot sollte auch schon vorhanden sein. Dann machen wir weiter:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> ~<span style="color: #000000; font-weight: bold;">/</span>bin
<span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> ~<span style="color: #000000; font-weight: bold;">/</span>android<span style="color: #000000; font-weight: bold;">/</span>system
curl https:<span style="color: #000000; font-weight: bold;">//</span>dl-ssl.google.com<span style="color: #000000; font-weight: bold;">/</span>dl<span style="color: #000000; font-weight: bold;">/</span>googlesource<span style="color: #000000; font-weight: bold;">/</span>git-repo<span style="color: #000000; font-weight: bold;">/</span>repo <span style="color: #000000; font-weight: bold;">&gt;</span> ~<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>repo
<span style="color: #c20cb9; font-weight: bold;">chmod</span> a+x ~<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>repo</pre></div></div>

<p>Das kopieren nach /usr/bin und den Pfad anpassen lassen wir mal. Das können wir nämlich besser lösen. <img src='http://blog.cgiesel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Jetzt installieren wir uns openjdk6 (aufpassen: das wird uns die 7er Version entfernen. Die könnt ihr nach dem kompilieren ja wieder installieren ^^). Dann richten wir uns noch einen SymLink für Python 2 ein, da das Script Python 3 nicht mag.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> pacman <span style="color: #660033;">-S</span> openjdk6
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>python2 ~<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>python</pre></div></div>

<p>Jetzt brauchen wir nur noch den PATH setzen. Entweder tippt ihr den jedes mal so ein oder speichert es euch in die .bashrc oder andere Konfigdatei deiner Shell:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">export</span> <span style="color: #007800;">PATH</span>=<span style="color: #007800;">$HOME</span><span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #000000; font-weight: bold;">/</span>opt<span style="color: #000000; font-weight: bold;">/</span>android-sdk<span style="color: #000000; font-weight: bold;">/</span>platform-tools:<span style="color: #007800;">$PATH</span></pre></div></div>

<p>Den Teil mit dem Android SDK kann man eigentlich weglassen, wenn man die Shell neugestartet hat, da das AUR Paket den Pfad schon global in die PATH Variable geschrieben hat.</p>
<p>Nun könnt ihr im verlinkten Tutorial nach dem PATH setzen weitermachen. Bitte beachtet, dass bei seinem Blog zweimal zwei aufeinanderfolgende Bindestriche zu einem großen zusammengefasst werden. Das ist bei &#8220;&#8211;repo-url&#8221; und bei &#8220;&#8211;progress&#8221; der Fall. Die Shell möchte gerne zwei und nicht einen langen haben. <img src='http://blog.cgiesel.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Achja: Ihr müsst noch ein Paket installieren. Das merkt ihr ihr aber, wenn er abbricht, weil ein Befehl nicht funktioniert (habe leider vergessen wie das Paket hieß).</p>
<p>Und nach langen warten habt ihr dann Glück oder Pech. <img src='http://blog.cgiesel.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Updaten könnt ihr dann wie gehabt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2012/02/cyanogenmod-selber-gebacken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Demokratie &#8211; Teil 2 (Piratenpartei Sachsen-Anhalt Blog)</title>
		<link>http://blog.cgiesel.de/2011/07/demokratie-teil-2-piratenpartei-sachsen-anhalt-blog/</link>
		<comments>http://blog.cgiesel.de/2011/07/demokratie-teil-2-piratenpartei-sachsen-anhalt-blog/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 21:42:06 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false">http://blog.cgiesel.de/?p=232</guid>
		<description><![CDATA[Ich habe es wieder getan und ein Artikel im Blog der Piratenpartei Sachsen-Anhalt zur Demokratie geschrieben. Dieser knüpft ein wenig an meinen ersten Artikel an: Demokratie mit Füßen getreten (Backup)]]></description>
			<content:encoded><![CDATA[<p>Ich habe es wieder getan und ein Artikel im Blog der Piratenpartei Sachsen-Anhalt zur Demokratie geschrieben. Dieser knüpft ein wenig an meinen <a href="/2011/06/negatives-stimmengewicht/" title="Negatives Stimmengewicht (Piratenpartei Sachsen-Anhalt Blog)">ersten Artikel</a> an:</p>
<p><a href="http://blog.piraten-lsa.de/2011-07-07/demokratie-mit-fuessen-getreten">Demokratie mit Füßen getreten</a> (<a href="/wp-content/uploads/2011/07/DemokratieMitFuessenGetreten-ChristophGiesel.txt">Backup</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2011/07/demokratie-teil-2-piratenpartei-sachsen-anhalt-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Negatives Stimmengewicht (Piratenpartei Sachsen-Anhalt Blog)</title>
		<link>http://blog.cgiesel.de/2011/06/negatives-stimmengewicht/</link>
		<comments>http://blog.cgiesel.de/2011/06/negatives-stimmengewicht/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 10:12:40 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false">http://blog.cgiesel.de/?p=227</guid>
		<description><![CDATA[Letztes Wochenende habe ich in dem Blog der Piratenpartei Sachsen-Anhalt etwas zum Negativen Stimmengewicht geschrieben: Der Untergang der Demokratie: das negative Stimmengewicht (Backup)]]></description>
			<content:encoded><![CDATA[<p>Letztes Wochenende habe ich in dem Blog der Piratenpartei Sachsen-Anhalt etwas zum Negativen Stimmengewicht geschrieben:</p>
<p><a href=" http://blog.piraten-lsa.de/2011-06-19/der-untergang-der-demokratie-das-negative-stimmengewicht">Der Untergang der Demokratie: das negative Stimmengewicht</a> (<a href="/wp-content/uploads/2011/06/NegativesStimmengewicht-ChristophGiesel.txt">Backup</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2011/06/negatives-stimmengewicht/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Web Service: Übertragung von großen Dateien</title>
		<link>http://blog.cgiesel.de/2011/06/net-webservice-grosse-dateien/</link>
		<comments>http://blog.cgiesel.de/2011/06/net-webservice-grosse-dateien/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 09:51:09 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
				<category><![CDATA[große Datei]]></category>
		<category><![CDATA[maxReceivedMessageSize]]></category>
		<category><![CDATA[NET]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[Web.config]]></category>

		<guid isPermaLink="false">http://blog.cgiesel.de/?p=207</guid>
		<description><![CDATA[Bei meinen Experimenten bzgl. .NET Web Services habe ich mit der Übertragung von Byte Arrays herum gespielt. Dabei bekam ich immer die HTTP Fehlermeldung &#8220;Bad Request&#8221; (400) zurück. Theoretisch könnte dieser Fehler alles sein (z.B. falsches Encoding), aber die Suchmaschine meines Vertrauens brachte mich zu der Ursache: Standardmäßig sind nur 64 kB erlaubt. Um dies [...]]]></description>
			<content:encoded><![CDATA[<p>Bei meinen Experimenten bzgl. .NET Web Services habe ich mit der Übertragung von Byte Arrays herum gespielt. Dabei bekam ich immer die HTTP Fehlermeldung &#8220;Bad Request&#8221; (400) zurück. Theoretisch könnte dieser Fehler alles sein (z.B. falsches Encoding), aber die Suchmaschine meines Vertrauens brachte mich zu der Ursache: Standardmäßig sind nur 64 kB erlaubt. Um dies zu erhöhen, ist es notwendig, die <em>Web.config</em> anzupassen.<br />
<span id="more-207"></span><br />
Man öffne also die <em>Web.config</em> Datei und füge unter</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;configuration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  [...]
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;system.serviceModel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>folgende Zeilen ein:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;bindings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;basicHttpBinding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;binding</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;basicHttpBinding&quot;</span> <span style="color: #000066;">maxBufferSize</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">maxBufferPoolSize</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span> <span style="color: #000066;">maxReceivedMessageSize</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;readerQuotas</span></span>
<span style="color: #009900;">            <span style="color: #000066;">maxDepth</span>=<span style="color: #ff0000;">&quot;64&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">maxStringContentLength</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">maxArrayLength</span>=<span style="color: #ff0000;">&quot;2147483647&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">maxBytesPerRead</span>=<span style="color: #ff0000;">&quot;4096&quot;</span></span>
<span style="color: #009900;">            <span style="color: #000066;">maxNameTableCharCount</span>=<span style="color: #ff0000;">&quot;16384&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/binding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/basicHttpBinding<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/bindings<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;services<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;service</span> <span style="color: #000066;">behaviorConfiguration</span>=<span style="color: #ff0000;">&quot;CustomServiceBehavior&quot;</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Namespace.ClassOfService&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;endpoint</span> <span style="color: #000066;">address</span>=<span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #000066;">binding</span>=<span style="color: #ff0000;">&quot;basicHttpBinding&quot;</span> <span style="color: #000066;">bindingConfiguration</span>=<span style="color: #ff0000;">&quot;basicHttpBinding&quot;</span></span>
<span style="color: #009900;">          <span style="color: #000066;">contract</span>=<span style="color: #ff0000;">&quot;Namespace.IClassOfContract&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/service<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/services<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Dabei ist es wichtig folgende Sachen anzupassen:</p>
<p><strong>1. &#8220;CustomServiceBehavior&#8221;:</strong><br />
Dieser Name ist eigentlich egal. Wenn man diesen ändert, muss man den nachher auch anpassen.</p>
<p><strong>2. &#8220;Namespace.ClassOfService&#8221;:</strong><br />
Hier schreibt man den Namen der Klasse von dem eigenen Service rein. Davor muss unbedingt noch der Namespace der Klasse.</p>
<p><strong>3. &#8220;Namespace.IClassOfContract&#8221;:</strong><br />
Dort muss der Name der Contract Klasse wie in Punkt 2 angepasst werden (normalerweise heißt diese IService1 oder ähnlich).</p>
<p>Wie man vielleicht gesehen hat, habe ich noch andere Werte angepasst. Da ja die ganzen Daten in XML serialisiert werden, müssen auch Werte wie die Textlänge angepasst werden. Die meisten Werte wurden also auf 2 GB gesetzt.</p>
<p>Anschließend muss man noch auf der selben Ebene unter dem bereits vorhandenen Element &#8220;&lt;behavior&gt;&#8221; den Namen aus Punkt 1 einfügen, also in etwa so:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;">    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;behaviors<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;serviceBehaviors<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;behavior</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;CustomServiceBehavior&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span></pre></td></tr></table></div>

<p>Das war es auch schon. Leider war das im Internet oft nicht so gut erklärt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2011/06/net-webservice-grosse-dateien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ideen für ein besseres CMS (WordPress + Drupal)</title>
		<link>http://blog.cgiesel.de/2011/04/ideen-fuer-ein-besseres-cms-wordpress-drupal/</link>
		<comments>http://blog.cgiesel.de/2011/04/ideen-fuer-ein-besseres-cms-wordpress-drupal/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 17:00:47 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false">http://blog.cgiesel.de/?p=187</guid>
		<description><![CDATA[Bisher habe ich Drupal und WordPress verwendet. Beide haben ihre Vorteile, aber auch Nachteile. Ich überlege mir schon länger, wie ein besseres CMS aussehen würde. Am besten fände ich ja, wenn man WordPress nimmt und dann ein paar Sachen von Drupal einbaut. Ich würde so vorgehen: 1. WordPress forken Als erstes nimmt man sich WordPress, [...]]]></description>
			<content:encoded><![CDATA[<p>Bisher habe ich Drupal und WordPress verwendet. Beide haben ihre Vorteile, aber auch Nachteile. Ich überlege mir schon länger, wie ein besseres CMS aussehen würde. Am besten fände ich ja, wenn man WordPress nimmt und dann ein paar Sachen von Drupal einbaut. Ich würde so vorgehen:<span id="more-187"></span></p>
<p><strong>1. WordPress forken</strong></p>
<p>Als erstes nimmt man sich WordPress, nennt es um und entfernt alle Bindungen zu WordPress. Also müssten temporär erstmal die Plugins Sektion deaktiviert werden. Außerdem würde ich dann erstmal Altlasten entfernen, die obsolete sind &#8211; also Funktionen bzw. Parameter, die eh nicht mehr angenommen werden.</p>
<p><strong>2. Artikel &#038; Seiten zu Inhaltstypen umbauen</strong></p>
<p>Wenn man Drupal kennt und ggf. auch mal von Drupal nach WordPress migriert ist, findet man die feste Unterteilung zwischen Artikel und Seiten nicht toll. Daher würde das in flexible Inhaltstypen umbauen, wo man dann noch zusätzliche definieren kann. Natürlich sollte man &#8220;Artikel&#8221; und &#8220;Seiten&#8221; als Inhaltstypen vordefinieren. Damit es noch richtig flexibler wird, sollte man in den Einstellungen einstellen können, welche Beiträge bei dem Main Loop angezeigt werden &#8211; also welche Inhaltstypen, Tags, Kategorien, &#8230;.</p>
<p><strong>3. CCK bzw. bessere Field-Unterstützung einbauen</strong></p>
<p>&#8220;Benutzerdefinierte &#8220;Felder&#8221; gibt es in WordPress ja schon, aber die sind ja nur rudimentär. Besser wäre, wenn man schon welche für bestimmte Inhaltstypen vorbestimmen könnte und diese noch anpassbarer werden. Also ich meine, dass man die Größe oder auch Art bestimmen kann (z.B. eine Textbox wie bei der Contentbox mit Buttons oder Felder zum Datum auswählen). So sollte man auch die normale Textbox ausblenden/entfernen können.</p>
<p>Das gleich dann mit den Profilfeldern. Dort gibt es z.B. gar keine Benutzerdefinierten Felder &#8211; diese sollte man ähnlich ergänzen.</p>
<p><strong>4. Views einbauen</strong></p>
<p>Bei Drupal gibt es das genial Module &#8220;Views&#8221;. Damit kann man Seiten aus mehreren Beiträgen erzeugen, indem man Filter etc. einstellt. Für den Anfang würde es reichen, wenn das erst einmal rudimentär wäre &#8211; also wie unter Punkt 2 bei dem &#8220;Standard Loop&#8221; beschrieben.</p>
<p><strong>5. Anti-Spam Modul einbauen</strong></p>
<p>Ich hatte erst gedacht, dass man am besten die WordPress Erweiterung &#8220;Anti-Spam Bee&#8221; fest einbaut, aber dann doch eher in eine mitgelieferte Erweiterung, die an diesen Fork anpasst ist, umbaut. Lieber als Erweiterung, weil manche Leute andere Methoden wie Akismet bevorzugen.</p>
<p><strong>6. besseres Caching einbauen</strong></p>
<p>In Drupal gibt es schon Caching, aber &#8220;WP Super Cache&#8221; ist da fiel besser. Die Funktionen dieser Erweiterung sollten fest eingebaut werden, die Erweiterungen z.B. bei CDN unterstützt.</p>
<p><strong>7. bessere Plugin Entwicklung</strong></p>
<p>Wie in Drupal würde ich gerne bei der Webseite des Projekts eine bessere Plugin Entwicklung ermöglichen. Das tolle bei Drupal ist, dass es dort Bug Tracker, Forum (beides fast das selbe) und GIT Repository (vorher CVS) gibt. So wären auch mehrere Version einer Erweiterung möglich (stable, dev, daily build, &#8230;). Ab hier könnte man den Plugin Bereich wieder aktivieren, der aber vorher angepasst werden müsste.</p>
<p><strong>8. Sprachentwicklung</strong></p>
<p>Komischer Titel. Das habe ich mir jetzt halb von Drupal und halb von Android abgeguckt. Bei Android wird man fast gezwungen die verwendeten Strings in eine extra Datei abzulegen (nicht unbedingt gezwungen, aber in so gut wie jeder Anleitung wird das so gemacht). Dies würde ich hier bei den Plugins (sowie im Core) auch vorschreiben (natürlich müsste die Hauptsprache Englisch sein). Dann gibt es bei Drupal noch eine tolle Seite, bei der man sich in eine Lokalisierungsgruppe einschreiben und an den Übersetzungen von Sprachdateien (von den Modulen und auch dem Core) arbeiten kann. Dort ist es möglich selber Übersetzungen einzustellen bzw. Alternativen zu ergänzen. Wie das ganze genau läuft, weiß ich nun auch nicht. Zumindest gibt es bei Drupal ein Modul, dass diese Übersetzungen automatisch holt und updatet. So etwas sollte es bei diesem System auch geben.</p>
<p>&#8211;</p>
<p>Das waren erst einmal meine Vorschläge. Natürlich gibt es noch genügend andere Sachen, die man verbessern könnte, aber das waren meine wichtigsten Punkte.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2011/04/ideen-fuer-ein-besseres-cms-wordpress-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tipps für die Neuinstallation (ArchLinux)</title>
		<link>http://blog.cgiesel.de/2011/03/tipps-fuer-die-neuinstallation-archlinux/</link>
		<comments>http://blog.cgiesel.de/2011/03/tipps-fuer-die-neuinstallation-archlinux/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 13:25:27 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false">http://blog.cgiesel.de/?p=171</guid>
		<description><![CDATA[Dies hier schreibe ich eigentlich nur, damit ich für das nächste mal besser vorbereitet bin. Gestern habe ich mal seit langen wieder mein Linux System auf dem Laptop komplett neu installiert. Dies ist eigentlich bei ArchLinux nicht notwendig, da man eh fast alles selber konfiguriert und es ja ein Rolling Release ist. Trotzdem gab es [...]]]></description>
			<content:encoded><![CDATA[<p><em>Dies hier schreibe ich eigentlich nur, damit ich für das nächste mal besser vorbereitet bin.</em></p>
<p>Gestern habe ich mal seit langen wieder mein Linux System auf dem Laptop komplett neu installiert. Dies ist eigentlich bei ArchLinux nicht notwendig, da man eh fast alles selber konfiguriert und es ja ein Rolling Release ist. Trotzdem gab es Probleme, die ich irgendwie nicht wegbekommen hatte. Auf jeden Fall:<br />
<span id="more-171"></span><br />
<strong>1. Backup:</strong></p>
<p>Wenn man Backups macht, dann auch vergewissern, dass sie funktioniert haben&#8230;</p>
<p><strong>2. Datenrettung (zu 1.):</strong></p>
<p>Wenn man noch ein paar Bilder retten will, die mal auf einer SD Karte waren: Das Programm <a href="http://www.cgsecurity.org/wiki/TestDisk">PhotoRec</a> ist ganz gut. Bei mir hatte nur die Beta funktioniert.</p>
<p><strong>3. Wenn man eine aktuelle ArchLinux ISO für die Installation haben möchte:</strong></p>
<p>Unbedingt <a href="https://wiki.archlinux.org/index.php/Archiso">archiso</a> nehmen (<a href="http://aur.archlinux.org/packages.php?ID=25996">archiso-git</a> gibt es im AUR). Falls man die Version aus dem AUR genommen hat, einfach den Ordner &#8220;<strong>/usr/share/archiso/configs/syslinux-iso</strong>&#8221; irgendwo hinkopieren, in das Verzeichnis gehen und dort</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> core-iso</pre></div></div>

<p>oder</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">make</span> net-iso</pre></div></div>

<p>ausführen. Gerne kann man vorher noch Anpassungen machen &#8211; genaueres auf der bereits verlinkten Wiki Seite.</p>
<p><strong>4. Liste der installierten Pakate erstellen:</strong></p>
<p>Wenn man auf alles vorbereitet sein will, kann man sich eine Liste der installierten Pakete erstellen. Hier sind zwei interessante Befehle, bei denen man die Ausgabe per &#8220;> filename&#8221; umleiten und in eine Datei speichern kann. Diese Datei entweder ausdrucken oder in das Backup mit einbeziehen.</p>
<p>Pakete, die aus keinem Repository sind:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pacman <span style="color: #660033;">-Qm</span></pre></div></div>

<p>Pakate, die keine Abhängigkeiten sind und explizit installiert wurden:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">pacman <span style="color: #660033;">-Qet</span></pre></div></div>

<p><strong>5. Compositing von Metacity aktivien (oder wie gnome-terminal richtig transparent wird):</strong></p>
<p>Wenn man GNOME (bzw. Metacity) benutzt und den Hintergrund vom gnome-terminal auf transparent stellt, dann ist das keine richtige Transparenz, da nur der Desktop Hintergrund dort dargestellt wird. Will man, dass hinterliegende Fenster etc. auch durchscheinen, dann muss man <a href="http://wiki.ubuntuusers.de/Metacity#Effekte">Compositing von metacity aktivieren</a> (als User ausführen):</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">gconftool-<span style="color: #000000;">2</span> <span style="color: #660033;">-s</span> <span style="color: #660033;">--type</span> bool <span style="color: #000000; font-weight: bold;">/</span>apps<span style="color: #000000; font-weight: bold;">/</span>metacity<span style="color: #000000; font-weight: bold;">/</span>general<span style="color: #000000; font-weight: bold;">/</span>compositing_manager <span style="color: #c20cb9; font-weight: bold;">true</span></pre></div></div>

<p><a href="http://blog.cgiesel.de/wp-content/uploads/2011/03/Arbeitsfläche-1_001.png" rel="lightbox[171]" title="Screenshot gnome-terminal transparent"><img src="http://blog.cgiesel.de/wp-content/uploads/2011/03/Arbeitsfläche-1_001.png" alt="" title="Screenshot gnome-terminal transparent" width="300" height="188" class="aligncenter size-full wp-image-182" /></a></p>
<p><em>Gegebenenfalls ergänze ich noch ein paar Sachen.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2011/03/tipps-fuer-die-neuinstallation-archlinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audio &amp; Video Tag (HTML5)</title>
		<link>http://blog.cgiesel.de/2011/02/audio-video-tag-html5/</link>
		<comments>http://blog.cgiesel.de/2011/02/audio-video-tag-html5/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 23:50:55 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false">http://blog.cgiesel.de/?p=157</guid>
		<description><![CDATA[Eigentlich bin ich ja begeistert von den neuen HTML5 Tags, die es erlauben Video und Audio Dateien ohne Flash oder ähnliches Plugins in der Webseite einzubinden. Diese konnte ich letzten schon einmal auf der Seite der Piratenpartei Sachsen-Anhalt ausprobieren. So sieht zum Beispiel der Audio-Code aus: &#60;audio controls&#62; &#60;source src=&#34;/medien/stoppschilder.ogg&#34; type=&#34;audio/ogg&#34; /&#62; &#60;source src=&#34;/medien/stoppschilder.mp3&#34; type=&#34;audio/mpeg&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Eigentlich bin ich ja begeistert von den neuen <em>HTML5</em> Tags, die es erlauben Video und Audio Dateien ohne Flash oder ähnliches Plugins in der Webseite einzubinden. Diese konnte ich letzten schon einmal auf der <a href="">Seite der Piratenpartei Sachsen-Anhalt</a> ausprobieren.<span id="more-157"></span></p>
<p>So sieht zum Beispiel der <strong>Audio-Code</strong> aus:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;audio controls&gt;</span>
  <span style="color: #009900;">&lt;source <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/medien/stoppschilder.ogg&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;audio/ogg&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
  <span style="color: #009900;">&lt;source <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/medien/stoppschilder.mp3&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;audio/mpeg&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">iframe</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;YouTube video player&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;youtube-player&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;500&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;405&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.youtube.com/embed/YdRUHJfBiz0&quot;</span> <span style="color: #000066;">frameborder</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span> allowFullScreen&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">iframe</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>audio&gt;</span></pre></div></div>

<p>Der Parameter &#8220;controls&#8221; gibt an, dass der Player Bedienschalter haben soll. Weitere mögliche Optionen sind &#8220;autoplay&#8221;, &#8220;loop&#8221; und &#8220;preload&#8221;. Die &#8220;source&#8221; Tags zeigen auf die Audio Files. Mehrere von diesen sind auch notwendig, da jeder Browser seine eigenen Vorstellungen von den zu unterstützenden Codecs hat. Wenn man die Codecs <em>OGG Vorbis</em> und <em>MP3</em> benutzt, sollte das normalerweise reichen. Wie man bei diesem Beispiel hier sieht, habe ich noch ein Youtube Video eingebettet &#8211; falls ein Browser keiner dieser Codecs mag bzw. noch nicht den HTML5 Audio Tag versteht, wird auf den Flash Player zurückgegriffen. Man kann natürlich auch einfach einen Text oder Download Link anzeigen lassen.</p>
<p>Bei dem <strong>Video-Tag</strong> sieht es ähnlich aus:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;video <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;500&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;282&quot;</span> poster<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/medien/piratenspot.jpg&quot;</span> controls&gt;</span>
  <span style="color: #009900;">&lt;source <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/medien/piratenspot.webm&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;video/webm&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
  <span style="color: #009900;">&lt;source <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/medien/piratenspot.ogv&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;video/ogg&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
  <span style="color: #009900;">&lt;source <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/medien/piratenspot.mp4&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;video/mp4&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
  <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">iframe</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;YouTube video player&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;youtube-player&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html&quot;</span> <span style="color: #000066;">width</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;500&quot;</span> <span style="color: #000066;">height</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;311&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.youtube.com/embed/SeVhqNEPt1U&quot;</span> <span style="color: #000066;">frameborder</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;0&quot;</span> allowFullScreen&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">iframe</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>video&gt;</span></pre></div></div>

<p>Hier habe ich dem Video eine Anzeigegröße (&#8220;width&#8221; und &#8220;height&#8221;), ein Vorschaubild (&#8220;poster&#8221;) und wieder die Bedienelemente (&#8220;controls&#8221;) vorgeschrieben. Noch weitere Optionen sind möglich. Dann werden wieder per &#8220;source&#8221; die Dateien angegeben. Hier ist es fast noch schlimmer als beim Audio Tag. Ich würde hier empfehlen die Codes <em>WebM</em>, <em>OGG Theora</em> und <em>H264</em> zu nutzen. Wahrscheinlich wird sich WebM durchsetzen &#8211; bisher kann dies aber erst <em>Chrome</em> und die <em>Firefox 4 Beta</em>. Ebenfalls habe ich hier wieder ein <em>Youtube</em> Video als Fallback drin.</p>
<p>Das ganze sieht schon ganz nett aus. Wie ich gesehen hatte, kann man mit <em>CSS</em> und <em>Java Script</em> die Player anpassen. Probiert habe ich es aber noch nicht. Als Beispiel kann man hier <em>Youtube</em> nennen. Deren HTML5 Player wurden angepasst (sofern man die <a href="http://www.youtube.com/html5">HTML5 Beta</a> aktiviert hat).</p>
<p>Nun möchte ich aber auch mal zu den <strong>Problemen</strong> kommen.</p>
<p>Ein Problem hatte ich ja schon angesprochen: Man muss derzeit mehrere Dateien in verschiedenen Codecs anbieten, wenn man alle möglichen Browser bedienen möchte. Das nächste große Problem sehe ich derzeit bei <em>Chrome</em>. Dieser lädt die Dateien immer vor, auch wenn man dies nicht in den Optionen aktiviert hatte. Dies kann man auch nicht ausstellen. Wenn man nur ein Video bzw. nur eine Audio Datei auf einer Seite hat, stört das ja nicht so. Aber wenn man wie bei dem Beispiel auf der Seite der <em>Piratenpartei Sachsen-Anhalt</em> gleich mehrere solche Dateien einbinden, stört das schon. Zum einen hat der Webseiten Betreiber mehr Traffic (nicht jeder guckt/hört sich alles an) &#8211; zum anderen wird die Leitung des Besuchers unnötig belastet.</p>
<p>Und wenn man schon dabei ist, mehrere Dateien einzubinden, ist das ein lästiges rumgehüpfe im <em>Firefox</em> (weiß nicht wie es bei den anderen ist) &#8211; zumindest, wenn man Audio Tags benutzt. Erst lädt der Browser anscheinend Informationen zu den Dateien und dann lässt er den Player wieder verkleinern. Das ist schon bisschen nervig.</p>
<p>Dann kommt noch hinzu, dass diese Tags keine Playlists unterstützen. Dies lässt sich nur per <em>Java Script</em> machen, was ich aber nicht so schön finde. Mehrere Leute (vor allem Piraten) benutzen die <em>Firefox</em> Erweiterung &#8220;<em>NoScript</em>&#8221; oder manche haben erst gar kein Java Script an.</p>
<p>Aus diesen Gründen habe ich bei dem <em>Wahlportal der Piratenpartei Sachsen-Anhalt</em> (noch nicht offiziell gestartet) nun doch wieder auf einen Flash Player zurückgegriffen. Hoffe mal, dass sich das bald bessert.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2011/02/audio-video-tag-html5/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>auf WordPress migriert</title>
		<link>http://blog.cgiesel.de/2011/02/auf-wordpress-migriert/</link>
		<comments>http://blog.cgiesel.de/2011/02/auf-wordpress-migriert/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 22:24:47 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false">http://blog.cgiesel.de/?p=140</guid>
		<description><![CDATA[Ich habe es nun gewagt und bin von Drupal auf WordPress umgestiegen. Dies hat ein paar Gründe, worauf ich aber in einem separaten Artikel eingehen möchte. Geholfen hat mir die Anleitung von Social CMS Buzz. Das Problem dabei war nur, dass mein Drupal schon die Version 7 war und ich somit die SQL Befehle anpassen [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe es nun gewagt und bin von Drupal auf WordPress umgestiegen. Dies hat ein paar Gründe, worauf ich aber in einem separaten Artikel eingehen möchte.</p>
<p>Geholfen hat mir die Anleitung von <a href="http://socialcmsbuzz.com/convert-import-a-drupal-6-based-website-to-wordpress-v27-20052009/">Social CMS Buzz</a>. Das Problem dabei war nur, dass mein Drupal schon die Version 7 war und ich somit die SQL Befehle anpassen musste.<span id="more-140"></span></p>
<p>Da ich bei meinem alten Blog keine Tags benutzt hatte, habe ich einfach die Abschnitte &#8220;Taxonomy Terms&#8221; und &#8220;Post and Category Relations Query&#8221; übersprungen. Diese müssten bei Bedarf aber auch angepasst werden, da sich die Tabellen geändert haben.</p>
<p>Hier die Anpassungen für den Abschnitt &#8220;Post Content&#8221;:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span>
    wp_posts <span style="color: #66cc66;">&#40;</span>id<span style="color: #66cc66;">,</span> post_date<span style="color: #66cc66;">,</span> post_content<span style="color: #66cc66;">,</span> post_title<span style="color: #66cc66;">,</span>
    post_excerpt<span style="color: #66cc66;">,</span> post_name<span style="color: #66cc66;">,</span> post_modified<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">DISTINCT</span>
    n<span style="color: #66cc66;">.</span>nid<span style="color: #66cc66;">,</span> FROM_UNIXTIME<span style="color: #66cc66;">&#40;</span>created<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> body_value<span style="color: #66cc66;">,</span> n<span style="color: #66cc66;">.</span>title<span style="color: #66cc66;">,</span>
    body_summary<span style="color: #66cc66;">,</span>
    <span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">REPLACE</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">LOWER</span><span style="color: #66cc66;">&#40;</span>n<span style="color: #66cc66;">.</span>title<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">' '</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'-'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'.'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'-'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">','</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'-'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'+'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'-'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
    FROM_UNIXTIME<span style="color: #66cc66;">&#40;</span>changed<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">FROM</span> drupal_node n<span style="color: #66cc66;">,</span> drupal_node_revision r<span style="color: #66cc66;">,</span> drupal_field_revision_body f
<span style="color: #993333; font-weight: bold;">WHERE</span> n<span style="color: #66cc66;">.</span>vid <span style="color: #66cc66;">=</span> r<span style="color: #66cc66;">.</span>vid <span style="color: #993333; font-weight: bold;">AND</span> f<span style="color: #66cc66;">.</span>revision_id <span style="color: #66cc66;">=</span> r<span style="color: #66cc66;">.</span>vid;</pre></td></tr></table></div>

<p>und hier die für die Kommentare:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> wp_comments <span style="color: #66cc66;">&#40;</span>comment_post_ID<span style="color: #66cc66;">,</span> comment_date<span style="color: #66cc66;">,</span> comment_content<span style="color: #66cc66;">,</span> comment_parent<span style="color: #66cc66;">,</span> comment_author<span style="color: #66cc66;">,</span> comment_author_email<span style="color: #66cc66;">,</span> comment_author_url<span style="color: #66cc66;">,</span> comment_approved<span style="color: #66cc66;">&#41;</span>
<span style="color: #993333; font-weight: bold;">SELECT</span> nid<span style="color: #66cc66;">,</span> FROM_UNIXTIME<span style="color: #66cc66;">&#40;</span>created<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> comment_body_value<span style="color: #66cc66;">,</span> thread<span style="color: #66cc66;">,</span> name<span style="color: #66cc66;">,</span> mail<span style="color: #66cc66;">,</span> homepage<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">STATUS</span> <span style="color: #993333; font-weight: bold;">FROM</span> drupal_comment c<span style="color: #66cc66;">,</span> drupal_field_data_comment_body f
<span style="color: #993333; font-weight: bold;">WHERE</span> c<span style="color: #66cc66;">.</span>cid <span style="color: #66cc66;">=</span> f<span style="color: #66cc66;">.</span>entity_id;</pre></td></tr></table></div>

<p>Den Rest kann man wiederverwenden.</p>
<p>Sollte man mal ein Skript oder ähnliches zur &#8220;Drupal -> WordPress&#8221; Migration erstellen wollen, dann wäre es ratsam die Querys ein wenig zu erweitern &#8211; so z.B. die Autoren eintragen oder zwischen Artikel und Seite unterscheiden. Außerdem bin ich mir mit &#8220;drupal_field_revision_body&#8221; und dem JOIN nicht ganz so sicher &#8211; hat zumindest bei meinen wenigen Artikeln funktioniert.</p>
<p>Achja: Ein neues Design habe ich auch. Dieses habe ich mit freundlicher Genehmigung von der <a href="http://www.piratenpartei-stuttgart.de">Piratenpartei Stuttgart</a> kopiert und als WordPress Theme umgesetzt. Diese Umsetzung hat noch ein paar kleine Bugs. Der Hintergrund ist eine Panorama Ansicht von Stuttgart &#8211; dieses muss ich auch noch ändern. ^^</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2011/02/auf-wordpress-migriert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xorg X server und der fade-out Bug (Update: 02. März 2011)</title>
		<link>http://blog.cgiesel.de/2011/02/xorg-x-server-und-der-der-fade-out-bug/</link>
		<comments>http://blog.cgiesel.de/2011/02/xorg-x-server-und-der-der-fade-out-bug/#comments</comments>
		<pubDate>Thu, 10 Feb 2011 17:23:11 +0000</pubDate>
		<dc:creator>Christoph</dc:creator>
		
		<guid isPermaLink="false"></guid>
		<description><![CDATA[Seit nun mindestens einem halben Jahr bin ich nun von Ubuntu weg und benutze Arch Linux auf drei PCs. Man mag es kaum glauben: Trotz Rolling Release und Eigenkonfiguration des Systems, habe ich weniger Probleme bzw. Bugs als bei Ubuntu. Das liegt vor allem daran, dass man bei Arch nicht auf die Patches des Distributors [...]]]></description>
			<content:encoded><![CDATA[<p>Seit nun mindestens einem halben Jahr bin ich nun von Ubuntu weg und benutze <a href="http://www.archlinux.org">Arch Linux</a> auf drei PCs. Man mag es kaum glauben: Trotz <a href="http://de.wikipedia.org/wiki/Rolling_Release">Rolling Release</a> und Eigenkonfiguration des Systems, habe ich weniger Probleme bzw. Bugs als bei Ubuntu. Das liegt vor allem daran, dass man bei Arch nicht auf die Patches des Distributors angewiesen ist. So sind sehr schnell die aktuellen Versionen der Pakete im Repository.<span id="more-112"></span></p>
<p>Problem bei der Sache ist aber, dass Arch selten eigene Patches in den Paketen einfügt. So kam es nun, dass der X Server schon ziemlich lange den Bug hat, dass man das &#8220;langsame schwarz werden des Monitors&#8221; nicht durch Maus oder Tastatur unterbrechen kann. Aufgefallen ist mir das auch nie, da Ubuntu und Fedora diesen Patch in ihrem Paket vom X Server drin haben.</p>
<p>Glücklicherweise wurde ich in einem Blogpost auf <a href="http://suckup.de/blog/2011/01/25/arch-linux-installation/">suckup.de</a> auf ein <a href="https://bugzilla.redhat.com/show_bug.cgi?id=612620">Ticket im Bug Tracker von Red Hat</a> hingewiesen. Dort ist ein Patch enthalten.</p>
<p>Da habe ich mir einfach mal die <a href="http://projects.archlinux.org/svntogit/packages.git/tree/xorg-server/trunk/">PKGBUILD Datei</a> vom <a href="http://www.archlinux.org/packages/?q=xorg-server">xorg-server Paket</a> genommen und den Patch eingebaut. Alle Dateien findet ihr im Anhang. Wenn ihr das Paket ebenfalls bauen wollt, dann ladet euch dar Archiv einfach runter, entpackt es, führt &#8220;makepkg -s&#8221; aus und wartet bis es fertig kompiliert ist. Dann schaut man am besten nach, welche Pakete man installiert hat: &#8220;pacman -Qm xorg-server&#8221; und installiert die neuen. Eventuell bau ich mal ein kleines Repository &#8211; mal schauen.</p>
<p>So, nun wollte ich die PKGBUILD (+ zusätzliche Dateien) beim <a href="http://aur.archlinux.org">AUR</a> hochladen. Dabei bekam ich aber die Fehlermeldung, dass der Paketname nur aus kleinen Buchstaben bestehen durfte &#8211; waren sie aber alle. Im <a href="https://bugs.archlinux.org/task/16394?project=2">Bug Tracker vom AUR </a> konnte ich dann nachlesen, dass Split Packages nicht funktionieren. Diese ermöglichen es mit einem einzigen PKGBUILD mehrere Pakete zu erstellen &#8211; wie hier beim xorg-server. Naja, theoretisch könnte man das zu einem Paket umbauen, aber das gefällt mir nicht so. Daher habe ich einfach hier mal von berichtet und hoffe, dass man das über die Suchmaschinen findet.</p>
<p><strong>Update (1. März 2011):</strong> Es wurde vor ein paar Tagen die Version 1.10.0 des X Servers released. Das &#8220;x-org-server&#8221; Paket wurde bei Arch Linux noch nicht aktualisiert. Außerdem wird ab Version 1.10.0 nun &#8220;xextproto&#8221; ab Version 7.2.0 benötigt (am 27. Februar 2011 released). Dieses Paket ist auch noch nicht bei Arch Linux aktuell, weshalb ich hier ebenfalls ein Source Package hochgeladen und verlinkt habe.</p>
<p><strong>Update (2. März 2011):</strong> Beim Booten habe ich bemerkt, dass der X Server bei der Version 1.10.0 nicht starten will. Daher rate ich von der Installation ab bzw. rate zur Version 1.9.4.</p>
<p><strong>Download Source Package (1.9.4-1):</strong> <a href="/wp-content/uploads/xorg-server-fadeoutfix-1.9.4-1.src.tar.gz">xorg-server-fadeoutfix</a> (aktuelle Version in Arch Linux)<br />
<del datetime="2011-03-02T08:36:56+00:00"><strong>Download Source Package (1.10.0-1):</strong> <a href="/wp-content/uploads/2011/02/xorg-server-fadeoutfix-1.10.0-1.src.tar.gz">xorg-server-fadeoutfix</a> (benötigt <a href="/wp-content/uploads/2011/02/xextproto-7.2.0-1.src.tar.gz">xextproto 7.2.0</a> und eins von den folgenden Paketen: lynx, w3m oder links)</del></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cgiesel.de/2011/02/xorg-x-server-und-der-der-fade-out-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.079 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-04-09 12:58:17 -->

