<?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>toscho.design</title>
	<atom:link href="http://toscho.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://toscho.de</link>
	<description>Redaktion und schwer geprüftes Webdesign aus Halle (Saale)</description>
	<lastBuildDate>Thu, 26 Apr 2012 22:14:25 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>daily</sy:updatePeriod>
	<sy:updateFrequency>4</sy:updateFrequency>
	
		<item>
		<title>Opera: Künftig nur noch Extensions?</title>
		<link>http://toscho.de/2012/opera-kuenftig-nur-noch-extensions/</link>
		<comments>http://toscho.de/2012/opera-kuenftig-nur-noch-extensions/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 17:55:41 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[Opera]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1884</guid>
		<description><![CDATA[Opera plant etwas sehr Ungewöhnliches: Das Wegnehmen zweier Features.]]></description>
			<content:encoded><![CDATA[<p><a href="http://my.opera.com/addons/blog/2012/04/24/sunsetting-unite-and-widgets">Unite und Widgets sollen zugunsten der Extensions wegfallen.</a></p>
<p>Ich verstehe sehr gut, daß Opera endlich einen Fokus setzen möchte. In den letzten Jahren kamen immer nur neue Dinge hinzu. Allerdings ist das <a href="https://addons.opera.com/de/extensions/">Extensions-Verzeichnis</a> derzeit die Schmuddelecke auf opera.com: Viele angebliche Extensions sind bloße Links zu dubiosen Seiten, das Feedback der Nutzer wird überhaupt nicht wahrgenommen.<br />
Man schämt sich fast, jemanden dahinzuschicken.</p>
<p>Ich benutze derzeit mehr Widgets als Extensions, Unite fast nie. Hoffentlich hat Opera einen guten Plan zur Migration vorbereitet.</p>
<p>Siehe auch meinen naiv-begeisterten Artikel: <a href="http://toscho.de/2009/separiert-verbunden/">Separiert verbunden. Opera Unite und das Web 3.0.</a></p>
<h2>Update 27.04.2012</h2>
<p>Inzwischen gibt es einen Artikel auf Opera.com von <a href="http://my.opera.com/shwetankdixit/about/">Shwetank Dixit</a>: <a href="http://dev.opera.com/articles/view/converting-widgets-to-opera-extensions/">Converting widgets to Opera extensions: Things to keep in mind</a>.<br />
Hier können Autoren ein paar syntaktische und semantische Änderungen nachschlagen, die man braucht, um ein Widget in eine Extension umzuwandeln. Das ist allerdings noch sehr roh.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/opera-kuenftig-nur-noch-extensions/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Die Zukunft von gestern</title>
		<link>http://toscho.de/2012/die-zukunft-von-gestern/</link>
		<comments>http://toscho.de/2012/die-zukunft-von-gestern/#comments</comments>
		<pubDate>Sun, 22 Apr 2012 20:55:31 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Kunterlei]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1851</guid>
		<description><![CDATA[Vom Risiko, über die Zukunft zu schreiben. Und darin zu leben. Jetzt.]]></description>
			<content:encoded><![CDATA[<div id="attachment_1852" class="wp-caption alignright" style="width: 110px"><a href="http://en.wikipedia.org/wiki/File:H_Beam_Piper.jpg"><img src="http://toscho.de/wp-content/uploads/2012/04/h_beam_piper.jpg" alt="" title="H Beam Piper" width="100" height="126" class="size-full wp-image-1852" /></a><p class="wp-caption-text">H Beam Piper. Public Domain, Wikipedia.</p></div>
<p>Eben habe ich eine Geschichte <a href="http://en.wikipedia.org/wiki/H._Beam_Piper">H. Beam Pipers</a> aus dem Jahr 1951 gelesen: <a href="http://www.gutenberg.org/ebooks/18949">Day of the Moron</a>. Sie beginnt so:</p>
<blockquote lang="en" title="1968 gab es immer noch Leute, die sich vor Atomkraftwerken fürchteten."><p>There were still, in 1968, a few people who were afraid of the nuclear power plant.</p></blockquote>
<p>Die deutsche Übersetzung von 1972 verlegt die Handlung auf 1988, vermutlich um »die Zukünftigkeit« zu erhalten. Derlei Eingriffe sind in übersetzten Texten hierzulande bis heute so üblich wie vergeblich.</p>
<p>Pipers Erzählung wurde in diversen Science-Fiction-Sammlungen veröffentlicht, obwohl Technik und Wissenschaft in ihr nur eine Nebenrolle spielen. Und doch läuft sie heute, in Zeiten des wohl begründeten Ausstiegs aus der Kernkraft, in das <a href="http://de.wikipedia.org/wiki/Vergangene_Zukunft">Problem</a> vieler SF-Geschichten: Die beschriebene Zukunft ist für uns Vergangenheit, und sie sieht anders aus. Dem naiven Leser, den sich deutsche Herausgeber offenbar als Zielgruppe vorstellen, kann das den Genuß verderben. </p>
<p>Ich aber mag es. </p>
<p>Eine wirklich gute Idee hält es aus, von der Geschichte überholt zu werden. Beispiele dafür sind fast alle Romane Philip K Dicks und zumindest einige John Brunners oder Harry Harrisons.<br />
Vielleicht lernt man sogar, ein wenig vorsichtiger mit <a href="http://www.youtube.com/watch?v=B7reIMSpBNA">Aussagen über die Zukunft</a> umzugehen. Irgendwann lebt man nämlich darin. Wir zum Beispiel. Jetzt. Wie selten einem das bewußt ist …</p>
<p>Worauf will ich hinaus? Eigentlich auf gar nichts. Mich reizt nur gerade die Idee, eine Geschichte zehn Jahre in die Zukunft zu legen, die beinahe zu jeder Zeit spielen könnte. Und wenn aus der beschriebenen Zukunft eine alternative Vergangenheit geworden ist, möchte ich den Text noch einmal lesen.<br />
Was das wohl für ein Gefühl ist?</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/die-zukunft-von-gestern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress-Plugin: Opera Speed Dial Preview</title>
		<link>http://toscho.de/2012/wordpress-plugin-opera-speed-dial-preview/</link>
		<comments>http://toscho.de/2012/wordpress-plugin-opera-speed-dial-preview/#comments</comments>
		<pubDate>Sun, 25 Mar 2012 11:00:55 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1846</guid>
		<description><![CDATA[Die Vorschau auf die eigene Seite im neuen Tab Operas anpassen: Mit einem kleinen Plugin und einer eigenen Template-Datei.]]></description>
			<content:encoded><![CDATA[<p><i lang="en">Speed Dial</i> nennt Opera die konfigurierbare Ansicht eines neuen Tabs. Hier kann man einzelne Seiten festlegen, für die man eine Vorschau haben möchte.</p>
<div id="attachment_1847" class="wp-caption alignnone" style="width: 286px"><a href="http://toscho.de/wp-content/uploads/2012/03/speed-dial-beispiel.png"><img src="http://toscho.de/wp-content/uploads/2012/03/speed-dial-beispiel-276x300.png" alt="" title="Speed-Dial-Beispiel" width="276" height="300" class="size-medium wp-image-1847" /></a><p class="wp-caption-text">Speed-Dial-Beispiel</p></div>
<p>Das sieht bei vielen Seiten recht dröge aus; also habe ich mir überlegt, wie man das besser machen kann. Immerhin bietet Opera eine <a href="http://dev.opera.com/articles/view/opera-speed-dial-enhancements/" title="Make your site shine in Speed Dial">API</a> an. Das Ergebnis ist ein kleines Plugin, das ich ganz kreativ <i>Opera Speed Dial Preview</i> genannt habe. Es liegt natürlich auf <a href="https://github.com/toscho/T5-Opera-Speed-Dial-Preview">GitHub</a>.</p>
<p class="downloadlink"><a href="https://github.com/toscho/T5-Opera-Speed-Dial-Preview/zipball/master">Download: Plugin T5 Opera Speed Dial Preview</a></p>
<p>Das Plugin erfordert keine Konfiguration. Nach dem Aktivieren fängt es Zugriffe ab, die mit dem Request-Header <code>X-Purpose: preview</code> gesendet werden und lenkt sie auf <code>/speedial/</code> um. Permalinks müssen also aktiviert sein, damit es funktioniert!</p>
<div id="attachment_1848" class="wp-caption alignnone" style="width: 413px"><img src="http://toscho.de/wp-content/uploads/2012/03/speed-dial-plugin-standardansicht.png" alt="" title="Speed-Dial-Plugin Standardansicht" width="403" height="280" class="size-full wp-image-1848" /><p class="wp-caption-text">Speed-Dial-Plugin Standardansicht</p></div>
<p>Die Ausgabe wird in der großzügig dokumentierten Datei <code>speed-dial.php</code> erzeugt. Hat das aktuell verwendete Theme eine Datei dieses Namens, so wird diese verwendet, nicht die des Plugins. Damit haben Theme-Autoren freie Hand: Einfach selbst eine Datei <code>speed-dial.php</code> ins Theme werfen, gestalten wie man möchte – fertig. Das dauert nur ein paar Minuten.</p>
<p>Für diese Seite habe ich die <a href="http://toscho.de/speeddial/">Vorschau</a> bloß um das Logo ergänzt:</p>
<div id="attachment_1849" class="wp-caption alignnone" style="width: 413px"><img src="http://toscho.de/wp-content/uploads/2012/03/speed-dial-fuer-toscho.de_.png" alt="" title="Speed Dial für toscho.de" width="403" height="280" class="size-full wp-image-1849" /><p class="wp-caption-text">Speed Dial für toscho.de</p></div>
<p>Man kann aber eingeloggten Nutzern die letzten Nachrichten eines BuddyPress-Setups präsentieren oder die zu moderierenden Kommentare auflisten … ihr habt freie Hand, denn alle normalen WordPress-Funktionen stehen zur Verfügung wie in jeder anderen Template-Datei auch.</p>
<p>Verbesserungsvorschläge sendet bitte an die <a href="https://github.com/toscho/T5-Opera-Speed-Dial-Preview/issues" title="Speed Dial Issue Tracker">passende Adresse auf GitHub</a>, damit ich sie nicht aus den Augen verliere.</p>
<p>Eure eigenen Umsetzungen interessieren mich auch! <a href="http://toscho.de/kontakt/">Schickt sie mir</a>, und ich baue eine Galerie – <a href="http://toscho.de/2009/no-no-no-nofollow/">selbstverständlich mit Dofollow-Link</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/wordpress-plugin-opera-speed-dial-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anker im Request abfangen</title>
		<link>http://toscho.de/2012/anker-im-request-abfangen/</link>
		<comments>http://toscho.de/2012/anker-im-request-abfangen/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 14:20:39 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Browser]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1844</guid>
		<description><![CDATA[Wenn ein <code>#</code> im Request auftaucht, ist meistens etwas kaputt. Solchen Deppen kann mit einem kleinen Codeschnipsel auf den richtigen Weg geholfen werden.]]></description>
			<content:encoded><![CDATA[<p>Viele Leute sind zu dumm, einen ordentlichen Crawler zu schreiben. Schade. Als Ergebnis bekomme ich dann solche Fehler ins 404-Log geschrieben:</p>
<pre class="notranslate">GET /thema/suchmaschinen/%23content</pre>
<p><img src="http://toscho.de/wp-content/uploads/2012/03/anker-totenkopf.png" alt="" width="150" height="150" class="alignright size-full wp-image-1845" />Einfach ausgedrückt: Da hat jemand nicht verstanden, was ein <code>#</code> am Anfang eines Linkziels bedeutet.</p>
<p>Momentan reagiere ich noch recht gutmütig darauf mit einer kleinen Regel in der .htaccess:</p>
<pre class="notranslate">RedirectMatch Permanent (.*)#.*$ $1</pre>
<p>Sieht ein bißchen aus wie Perl-Code, daher ist eine kleine Erklärung angebracht. Die Regel besteht aus drei Teilen:</p>
<ol>
<li><a href="http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirectmatch">RedirectMatch</a> – die Direktive, die verwendet werden soll.</li>
<li><code>(.*)#.*$</code> – Erfasse alle URIs, die diesem Muster entsprechen: beliebige Zeichen in beliebiger Menge – <code>.*</code> – plus Raute – <code>#</code> – plus beliebige Zeichen in beliebiger Menge.</li>
<li>Lenke diese Anfragen auf die Zeichen um, die der erste eingeklammerte Ausdruck erfaßt hat.</li>
</ol>
<p>In einem korrekten Request wird der Anker nicht an den Server gesendet, sondern der User-Agent merkt ihn sich einfach. Das zumindest beherrschen auch alle Browser, wenngleich der anschließend plazierte Fokus nicht immer der Norm entspricht. Google Chrome beispielsweise glänzt hier mit besonderer Inkompetenz …</p>
<p>Wer solche Fehler verfolgen möchte und WordPress benutzt, mag vielleicht mein <a href="https://github.com/toscho/T5-404-Tools">Plugin T5 404 Tools</a> ausprobieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/anker-im-request-abfangen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Der 90-Tage-Spamstopper</title>
		<link>http://toscho.de/2012/90-tage-spamstopper/</link>
		<comments>http://toscho.de/2012/90-tage-spamstopper/#comments</comments>
		<pubDate>Sun, 26 Feb 2012 18:55:06 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Interna]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1840</guid>
		<description><![CDATA[Wie ich mein Spamvolumen dramatisch reduziert habe. Ohne Plugin. Vorerst.]]></description>
			<content:encoded><![CDATA[<p>Vor ein paar Tagen schlugen hier viele Kommentare ein, die zwar nichts beworben, aber dennoch nur aus Unsinnstext bestanden. Der Spamfilter hat sie nicht erwischt, also kamen sie erstmal durch. Lästig für mich, richtig ärgerlich für die Abonnenten einiger Artikel. Sorry Leute!</p>
<p>Ich habe jetzt die Kommentare für alle Artikel abgeschaltet, die älter sind als 90 Tage. Das hat mein Spamvolumen von etwa 250 pro Tag auf <strong>Null</strong> gesenkt. Ja genau: Seit drei Tagen hatte ich keinen einzigen Spamkommentar mehr. Fantastisch.</p>
<p>Leider ist die Regel ein bißchen dumm: Sinnvoller wäre ein Abschalten 90 Tage nach der letzten Aktivität. Wenn ich also einen Artikel aktualisiere oder eine Diskussion läuft, dann sollten die Kommentare offen bleiben.</p>
<p>Da ich ein sehr verwandtes Plugin bereits als Konzept stehen habe – es soll Artikel nach eben diesem Kriterium auf der Startseite sortieren – packe ich das dann zusammen. Bis dahin … bleibt es so, wie es jetzt ist.</p>
<p>Dennoch traurig, welchen Einfluß auf die eigene Seite man Arschlöchern einräumen muß.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/90-tage-spamstopper/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>WordPress-Plugin: Öffentliche Kontaktdaten</title>
		<link>http://toscho.de/2012/wordpress-plugin-oeffentliche-kontaktdaten/</link>
		<comments>http://toscho.de/2012/wordpress-plugin-oeffentliche-kontaktdaten/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 11:27:18 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[Plugin]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1835</guid>
		<description><![CDATA[Ein kleines Plugin, mit dem man Kontaktdaten verwaltet, die keinem bestimmten Nutzer zugeordnet sind. Gebrauchsanweisung, Screenshot und Beispielcode.]]></description>
			<content:encoded><![CDATA[<p>Das brauche ich bei jeder Website: Eine öffentlich sichtbare E-Mail-Adresse und eine Telefonnummer. Wenn nur ein Hauptbenutzer existiert, packe ich diese Daten per <a href="https://gist.github.com/618662">Miniplugin</a> in dessen Profil. In Unternehmen und anderen Organisationen jedoch ist das keine Option: Da existiert oft eine spezielle Supporthotline, und die E-Mail-Adresse wird auch von mehreren Leuten verwaltet.</p>
<p>Das Plugin <i lang="en">Public Contact Data</i> erzeugt dafür neue Felder im Backend unter <i>Einstellungen/Allgemein</i>. Außerdem gibt es drei weitere Felder für Google Plus, Facebook und Twitter.</p>
<p>Im Screenshot hier werden vier Felder benutzt. Neben E-Mail und Telefon auch Facebook und Google Plus. Im Vordergrund sieht man den Tab mit dem Backend, im Hintergrund den Einsatz in der Website.<br />
<img src="http://toscho.de/wp-content/uploads/2012/02/screenshot.png" alt="Screenshot Public Contact Data" width="595" height="663" class="alignnone size-full wp-image-1836" /></p>
<p>Die Liste kann man über den Filter <code>'pcd_fields'</code> ändern. Ein Beispiel:</p>
<pre class="notranslate">add_filter( <code class="string">'pcd_fields'</code>, <code class="string">'change_pcd_fields'</code>, 10, 1 );
function change_pcd_fields( <var>$fields</var> )
{
	<i>// remove an item</i>
	unset ( <var>$fields</var>[<code class="string">'facebook'</code>] );

	<i>// add an item</i>
	<var>$fields</var>[<code class="string">'github'</code>] = <code class="string">'GitHub'</code>;

	return <var>$fields</var>;
}</pre>
<p>Für jedes Feld wird automatisch ein <a href="http://codex.wordpress.org/Shortcode_API">Shortcode</a> erstellt nach dem Muster <code>[public_<var>$fieldname</var>]</code>. Hintergrund dazu auf <a href="http://wordpress.stackexchange.com/q/42882/73">WordPress Stack Exchange</a>.<br />
<code>[public_email]</code> gibt als die E-Mail-Adresse aus, <code>[public_github]</code> den Wert des per Filter erzeugten GitHub-Feldes.</p>
<p>Für den Gebrauch im Theme existiert auch eine Aktion namens <code>pcd</code>. Deren erster Parameter ist der Feldname, der zweite ein Array mit Optionen:</p>
<pre class="notranslate">array (
	<code class="string">'before'</code>  => <code class="string">''</code>,
	<code class="string">'after'</code>   => <code class="string">''</code>,
	<code class="string">'link'</code>    => TRUE,
	<code class="string">'print'</code>   => TRUE,
	<code class="string">'pattern'</code> => FALSE
);</pre>
<p>Um einen E-Mail-Link zu bekommen, schreibt man beispielsweise:</p>
<pre class="notranslate">do_action( <code class="string">'pcd'</code>, <code class="string">'email'</code>, array ( <code class="string">'before'</code> => <code class="string">'Email: '</code> ) );</pre>
<p>Die E-Mail-Adresse wird immer maskiert ausgegeben, also durch die Funktion <a href="http://codex.wordpress.org/Function_Reference/antispambot"><code>antispambot()</code></a> geschickt. Das hilft nicht viel, schadet aber auch nicht.</p>
<p>Wird das Argument <code>pattern</code> benutzt, so wird <code>link</code> ignoriert. Benutze <code>%value%</code> als Platzhalter im Pattern-String.</p>
<p>Der Vorteil beim Einsatz der Aktion: Wird das Plugin abgeschaltet, passiert nichts Schlimmes. Es wird einfach nichts ausgegeben, weil WordPress die Aktion ja nicht mehr kennt und somit ignoriert.</p>
<p>Man kann die wenigen öffentlichen Funktionen der Klasse auch über den Zugriff auf eine eventuell schon existierende Instanz ansprechen. Beispiel:</p>
<pre class="notranslate">Public_Contact_Data::instance()->action_handler( <var>$field</var>, <var>$options</var> );</pre>
<p>Das Plugin ist natürlich übersetzbar, eine deutsche Übersetzung liegt bei. Deshalb heißt es in der Pluginliste eines ins Deutsche übersetzten WordPress’ auch <i>Öffentliche Kontaktdaten</i>. Momentan wird die Sprachdatei nur im Backend geladen, um die Ladezeit zu schonen.</p>
<p class="downloadlink"><a href="https://github.com/toscho/Public-Contact-Data/zipball/master">Download</a></p>
<p>Den Code findet man <a href="https://github.com/toscho/Public-Contact-Data">auf GitHub</a>, im <a href="https://github.com/toscho/Public-Contact-Data/issues">Bugtracker</a> dort möchte ich auch Fehlermeldungen und Verbesserungsvorschläge sehen.</p>
<p>Ich habe das Plugin unter eine <a href="http://www.opensource.org/licenses/mit-license.php">MIT Lizenz</a> gestellt. Die ist kompatibel mit der GPL, gibt dem Benutzer aber etwas mehr Freiraum.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/wordpress-plugin-oeffentliche-kontaktdaten/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS: tab-size</title>
		<link>http://toscho.de/2012/css-tab-size/</link>
		<comments>http://toscho.de/2012/css-tab-size/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 05:19:10 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1827</guid>
		<description><![CDATA[Wie man das Unsichtbare gestaltet: Die Breite eines Tabulators. Test, Screenshots und genervtes Fazit obendrein.]]></description>
			<content:encoded><![CDATA[<p>Als Kontrapunkt zum letzten Artikel hier mal eine so unterhaltsame wie nutzlose CSS-Spielerei: Alle Browser haben sich inzwischen darauf geeinigt, daß das Zeichen TAB (<abbr title='Unicode Codepoint'>U+0009</abbr>, der Tabulator) wie acht Leerschritte darzustellen sei. Ein schwachsinnig hoher Wert, wenn man Code darstellen möchte – zumindest kenne ich niemanden, der <em>das</em> in seinem Editor eingestellt hat.</p>
<p>Rettung <del>naht</del> gibt es vielleicht irgendwann: Im CSS Text Level 3 wird die Eigenschaft <a href="http://dev.w3.org/csswg/css3-text/#tab-size"><code>tab-size</code></a> vorgeschlagen. Die <a href="http://lists.w3.org/Archives/Public/www-style/2008Dec/0009.html">Diskussion dazu</a> findet man in der CSS-Mailingliste des W3C.</p>
<pre class="notranslate">pre
{
    tab-size: 4; <i>/* Nimm vier Leerzeichen! */</i>
}</pre>
<p>Das setzt freilich voraus, daß der Browser das Zeichen TAB im <a href="http://glazkov.com/2011/01/14/what-the-heck-is-shadow-dom/">Shadow DOM</a> in ein Pseudo-Element packt. Und das können derzeit nur Firefox und Opera. Mit einem Vendorpräfix.</p>
<pre class="notranslate">pre
{
    -moz-tab-size: 4;
    -o-tab-size:   4;
    tab-size:      4;
}</pre>
<p>Der <a href="http://labs.toscho.de/test/css/tab-size.html">Test</a>, der auch andere Präfixe prüft, zeigt in Opera und Firefox das erhoffte Ergebnis:</p>
<p><img src="http://toscho.de/wp-content/uploads/2012/01/tab-size-opera.png" alt="Screenshot Opera" width="493" height="366" class="alignnone size-full wp-image-1828" /></p>
<p>WebKit (hier Chrome) und der IE 9 machen leider dieses:</p>
<p><img src="http://toscho.de/wp-content/uploads/2012/01/tab-size-chrome.png" alt="Screenshot Chrome" width="493" height="366" class="alignnone size-full wp-image-1829" /></p>
<p>Fazit: Taugt erstmal nur fürs Userstylesheet. Immerhin. In den nächsten zwei Jahren werden wir unseren Code weiterhin ein bißchen vorbereiten müssen und <a href="http://labs.toscho.de/escape/">Tabs in Leerzeichen umwandeln</a> – oder auf die ollen Nischenbrowser pfeifen.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/css-tab-size/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS langweilt mich</title>
		<link>http://toscho.de/2012/css-langweilt-mich/</link>
		<comments>http://toscho.de/2012/css-langweilt-mich/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 08:07:49 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Webdesign]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1824</guid>
		<description><![CDATA[Warum ich mich von CSS nicht mehr herausgefordert fühle: zu leicht, zu kitschig, zu konzeptlos. Ich kann es jetzt, und damit hat es sich.]]></description>
			<content:encoded><![CDATA[<p>1998 habe ich mich mal zwei Tage hingesetzt und die taufrische <a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/">CSS-2.0-Spezifikation</a> durchgelesen. Vieles hat nirgendwo funktioniert. Ich fand’s trotzdem toll.</p>
<p><img src="http://toscho.de/wp-content/uploads/2012/01/valid-css-500.png" alt="" width="500" height="186" class="alignnone size-full wp-image-1826" /></p>
<p>Quälend langsam haben dann einzelne Browser ihre skurrilen Interpretationen der Regeln eingebaut. Da gab es eine Menge zu lernen und zu hacken. Jeder Browser hatte nicht nur Macken, die zu den Macken der anderen inkompatibel waren, sondern auch ein rasch wechselndes Set proprietärer Eigenschaften. Es hat Spaß gemacht, da herumzukurven, im Usenet oder auf Mailinglisten mit anderen Leuten zu tüfteln und zu testen.</p>
<p>Heute ist das weg. Mit den superkaputten Browsern ist auch das Gefühl verschwunden, beim Umgang mit CSS den Kopf zu brauchen. Klar, es gibt immer noch kleine Hacks und vorläufige proprietäre Implementationen. Meistens laufen die nur auf ein weiteres Snippet in der IDE hinaus. Aber früher, als man nicht einmal <code>width</code> schreiben konnte, ohne von mindestens drei Browsern eins in die Fresse zu kriegen, war das irgendwie … spannender.</p>
<p>CSS3 hat uns viele neue Eigenschaften gebracht aber kaum neue Konzepte. Viele Module sind nicht einmal kompatibel <em>zueinander</em>, und das Entwicklungstempo ist – so wirkt es auf mich – deutlich gesunken. Kein Wunder, ich verlöre angesichts dieses Wustes auch die Lust.</p>
<p>Manches nervt sogar. Ich habe die Nase voll von Schättchen und Verläufen, von abgelutscht aussehenden Ecken und Schrift mit Pseudo-Prägeeffekt. Kitsch. Hier wird das alles demnächst verschwinden.</p>
<p>Der Grund für das <a href="http://toscho.de/2011/fefe-theme/">Fefe-Theme</a> war nicht Fefe. Der Grund waren all die anderen Layouts, die ich in den letzten Jahren verfaßt habe. Bei denen ich zu viel Zeit mit zu leichtem Code verbringen mußte.</p>
<p>Ich bin, wie Aristoteles einst so schön gesagt hat, ein krummes Holz, das mal in die andere Richtung gebogen werden muß. Von mir selbst.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/css-langweilt-mich/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dezentraler Pragmatismus</title>
		<link>http://toscho.de/2012/dezentraler-pragmatismus/</link>
		<comments>http://toscho.de/2012/dezentraler-pragmatismus/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 15:03:17 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Interna]]></category>
		<category><![CDATA[Kunterlei]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1820</guid>
		<description><![CDATA[Mehr Text, weniger Qualität: Start eines neuen Experiments in Reaktion auf die dezentrale Diskussionskultur.]]></description>
			<content:encoded><![CDATA[<p>Anfang Dezember hat <a href="http://bueltge.de">Frank</a> auf Google+ auf <a href="http://molily.de/">Mathias Schäfers</a> <a href="http://www.webkrauts.de/2011/12/05/sass-compass2/">Artikel zu Sass und Compass</a> <a href="https://plus.google.com/111291152590065605567/posts/LKpTjT7DcDu">hingewiesen</a>. Das haben wir gleich dort lebhaft diskutiert. <a href="http://grochtdreis.de/">Jens Grochtdreis</a> bedauerte später, daß die Diskussion auf Google+ stattfand und nicht im Blog. Meine Antwort:</p>
<blockquote><p>Wichtiger als der Ort der Diskussion ist doch, daß sie überhaupt passiert. Google+ verdeutlicht eben, daß die Idee der zentralen oder kontrollierten Debatte obsolet geworden ist.</p>
<p>Das war schon vorher so, jetzt merkt man es nur besser.</p>
</blockquote>
<p>Warum haben wir nicht im Blog diskutiert? Ich kann nicht für andere sprechen, meine Gründe waren recht einfach:</p>
<ul>
<li>Nach dem ersten Kommentar auf G+ entstand eine Folge von Beiträgen, die auf <strong>vorhergehende reagiert</strong> haben. Man kann nicht sinnvoll irgendwann ins Blog wechseln und dort auf Kommentare in G+ reagieren.</li>
<li>Auf G+ läuft die Kommunikation viel <strong>schneller</strong>. Ja, das Interface ist Scheiße, die Formatierung Glückssache und die Permalinks bestenfalls Schrott. Die Suche funktioniert nicht, das ist schließlich bloß Google. Aber die Antworten kommen schneller, und ich erfahre sofort von ihnen, weil ich keine umständliche Einwilligungsprozedur für entsprechende Hinweise durchlaufen muß.</li>
<li>In einem Blog hat man als Kommentator viel stärker das Gefühl, <strong>kontrolliert</strong> zu werden. Zwar sperrt auch Google immer noch einzelne Nutzer sehr willkürlich, aber einzelne Beiträge werden nur selten gelöscht. Postautoren, die ihnen nicht genehme Kommentare löschen, werden automatisch und zu Recht als Arschlöcher betrachtet. In einem Blog ist das <a href="http://toscho.de/2010/kommentare-moderieren-richtlinien/" title="Wie und warum ich Kommentare moderiere">etwas anders</a>.</li>
</ul>
<p>Alle drei Kriterien sind schwer objektiv meßbar, keines <em>erzwingt</em> einen Diskussionsort. Ich glaube, daß sie relevanter werden, je mehr sich die Interfaces sozialer Netzwerke verbessern.</p>
<p>Für Autoren heißt das: Sie verlieren mehr und mehr Einfluß auf den Ort der Debatte. Oft <em>erfahren</em> sie nicht einmal davon. Das hat schon mit Twitter angefangen. Allerdings kann man dort nur in Fragmenten reden, Diskussionen verpuffen sehr schnell, und sie erreichen nie die Tiefe wie auf Google+.</p>
<p>Okay, alles recht banal. Warum schreibe ich das auf? Weil ich gerade mein Blog inspiziere und sehe: Sieben Artikel im letzten Jahr. Dabei habe nicht weniger geschrieben, eher mehr. Aber eben dort, wo ich mit schnellen Reaktionen rechne: Auf Google+ und <a href="http://wordpress.stackexchange.com">WordPress.StackExchange</a>. Im Blog lege ich mehr Wert auf die Qualität der Artikel. Vielleicht zu viel?</p>
<p>Wenn die Diskussion an vielen Orten passieren kann, dann kann ich auch meine Texte an vielen Orten publizieren. Ich kümmere mich weniger um <a href="http://support.google.com/webmasters/bin/answer.py?hl=de&#038;answer=66359">Duplicate content</a> als um die Reichweite meiner Ideen.</p>
<p>Ich werde künftig mehr experimentieren – dazu habe ich das Blog ja eingerichtet. Also werdet ihr hier bald mehr Schnipsel lesen, Unfertiges, das ich allmählich überarbeite, Fertiges, das ich andernorts schon geschrieben habe, und bloße Konzepte für Artikel. Das wird mich einige Überwindung kosten.</p>
<p>Nun will ich nicht einfach das Blog füllen. Ich möchte auch die Leser erreichen, die nicht in den gleichen Netzwerken agieren wie ich, und die nicht gerne englische Texte lesen – meine sind ohnehin oft nicht der reine Genuß. Auch muß ein Text nicht sofort perfekt sein; ich kann und darf ihn irgendwann verbessern.</p>
<p>Das Risiko für mich dabei: Ich kann mich blamieren, weil ich nicht genügend recherchiert habe, weil ich mich schlicht irre oder Seiten von mir zeige, die ihr nicht mögt. So sei es.</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2012/dezentraler-pragmatismus/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Das Fefe-Theme</title>
		<link>http://toscho.de/2011/fefe-theme/</link>
		<comments>http://toscho.de/2011/fefe-theme/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 19:33:03 +0000</pubDate>
		<dc:creator>Thomas Scholz</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://toscho.de/?p=1816</guid>
		<description><![CDATA[Ihr wart hoffentlich alle hübsch unartig? Dann habe ich das passende Geschenk: Ein WordPress-Theme zu Ehren <a href="http://blog.fefe.de">Fefes Blogs</a>.]]></description>
			<content:encoded><![CDATA[<p><a href="http://toscho.de/wp-content/uploads/2011/12/screenshot.png"><img src="http://toscho.de/wp-content/uploads/2011/12/screenshot-150x150.png" alt="" width="150" height="150" class="alignright size-thumbnail wp-image-1817" /></a>Ihr wart hoffentlich alle hübsch unartig? Dann habe ich das passende Geschenk: Ein WordPress-Theme zu Ehren <a href="http://blog.fefe.de">Fefes Blogs</a>. Ich weiß zwar, was er von WordPress hält, aber das ist mir egal. Ich hatte mal Lust auf CSS-Verzicht.</p>
<p>Das Theme verwendet kein Stylesheet, keine Tags oder Kategorien, keine Post-Titel, und mit Bildern kann man auch nicht viel anfangen. Es gibt zwei Widgetflächen – oben und unten – da kann man Text hineinsetzen, wenn man möchte. Einen Shortcode für den Einbau des Suchformulars habe ich auch erstellt: <code>[searchform]</code>. Damit kann man die Maske auf einer beliebigen Seite mitten im Text plazieren.</p>
<div id="attachment_1818" class="wp-caption alignnone" style="width: 460px"><img src="http://toscho.de/wp-content/uploads/2011/12/vergleich-fefe.png" alt="" width="450" height="400" class="size-full wp-image-1818" /><p class="wp-caption-text">Vergleich Original und Theme</p></div>
<p>Die Sprache ist Englisch, es liegt aber eine deutsche Sprachdatei bei, und <a href="http://www.rarst.net">Andrey Savchenko</a>, den einige sicher als <a href="http://wordpress.stackexchange.com/users/847/rarst">Rarst von WordPress Answers</a> kennen, hat die Übersetzung ins Russische besorgt. Cool.</p>
<p>Das Repository liegt natürlich auf GitHub: <a href="https://github.com/toscho/Fefe-Tribute-Theme">https://github.com/toscho/Fefe-Tribute-Theme</a></p>
<p>Die <a href="https://github.com/downloads/toscho/Fefe-Tribute-Theme/fefe-theme.1.0.zip">Version 1.0 herunterladen</a> könnt ihr dort auch.</p>
<p>Verbesserungsvorschläge und Feature-Requests packt bitte in den <a href="https://github.com/toscho/Fefe-Tribute-Theme/issues">Issue-Tracker</a>, damit ich den Überblick behalte. Danke!</p>
]]></content:encoded>
			<wfw:commentRss>http://toscho.de/2011/fefe-theme/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Database Caching using disk: basic
Object Caching 568/704 objects using disk: basic

Served from: toscho.de @ 2012-05-17 11:40:56 -->
