<?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>MIGHTY MARCUS BLOG</title>
	<atom:link href="http://www.mighty-marcus.de/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mighty-marcus.de</link>
	<description>Zu arm für einen Slogan!</description>
	<lastBuildDate>Thu, 30 Jun 2011 07:30:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Poker online spielen</title>
		<link>http://www.mighty-marcus.de/poker-online-spielen/189</link>
		<comments>http://www.mighty-marcus.de/poker-online-spielen/189#comments</comments>
		<pubDate>Thu, 30 Jun 2011 07:21:49 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Poker]]></category>
		<category><![CDATA[poker freeroll]]></category>
		<category><![CDATA[poker online]]></category>
		<category><![CDATA[poker regeln]]></category>
		<category><![CDATA[poker spielen]]></category>
		<category><![CDATA[poker turnier]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=189</guid>
		<description><![CDATA[In meiner Familie wird viel Poker gespielt. Angefangen hat das damals mit den Fernsehübertragungen von Texas Hold&#8217;em Poker Turnieren. Gut, ich hab als Kind schon gern mit meinem Bruder gepokert, und auch mit Freunden, aber so richtig los gings dann &#8230; <a href="http://www.mighty-marcus.de/poker-online-spielen/189">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In meiner Familie wird viel Poker gespielt. Angefangen hat das damals mit den Fernsehübertragungen von Texas Hold&#8217;em Poker Turnieren. Gut, ich hab als Kind schon gern mit meinem Bruder gepokert, und auch mit Freunden, aber so richtig los gings dann erst später.<br />
Die Zocker in meiner Familie sind mein Stiefvater, mein Neffe und ich. Mein Stiefvater hat sich sogar einen Satz Chips gekauft und einen Pokertisch, mit dem er gern mit Arbeitskollegen spielt.<span id="more-189"></span><br />
Familienfeiern wie Weihnachten, Geburtstage usw. enden meist mit einer längeren Partie Poker. Da werden dann auch mal andere Verwandte dazu überredet mitzuspielen und es macht richtig Spaß, auch wenn ihnen erst mal bei Bedarf die <a href="http://de.pokerroomsonline.com/pokerregeln.php">Poker Regeln</a> eingebläut werden müssen. Ich bin aber meist ziemlich schlecht, da ich zu viel auf Risiko gehe. Mein Neffe aber z.B. hat es inzwischen schon richtig drauf und spielt auch gerne mal Online Turniere. Man kann online auch um Geld spielen, allerdings spielt er eher um Punkte. Damit kann man dann auch schöne Preise absahnen, ohne richtiges Geld zu verlieren.<br />
Eine gute Strategie ist es eben nicht auf Risiko zu spielen wie ich das mache, sondern zu versuchen möglichst viele kleine oder auch große Gewinne einzuheimsen und die Verluste möglichst klein zu halten. Das heisst man muss wissen, wann man aussteigt. Wenn man keine guten Karten hat, sollte man nicht auf sein Glück setzen und auf Karten hoffen, die einem plötzlich ein gutes Blatt bescheren, sondern einfach aussteigen. Gut, zwischendurch muss man auch mal bluffen, damit man nicht allzu durchschaubar spielt. Dazu gehört dann das richtige Gefühl, das Pokerface, und ein wenig Erfahrung.<br />
Bluffen heisst: ich habe zwar schlechte Karten, aber tue so, als hätte ich Gute. Je nachdem wie gut man das rüberbringt, gewinnt man mit dem miesesten Blatt das Spiel gegen z.B. ein Full House, da man den Eindruck vermittelt, man hätte z.B. einen Vierer. Jedoch sollte man halt schauen, dass man das nicht zu oft macht, denn sonst verliert man seine Glaubwürdigkeit und jedem ist klar, dass man ständig nur blufft.<br />
Poker spielen ist eine richtige Kunst, es erfordert Intelligenz, Menschenkenntnis und natürlich auch Glück. Allerdings verlassen sich gute Pokerspieler eben nicht auf das Glück, sondern sie versuchen strategisch klug zu spielen und ihre Chips zusammen zu halten.</p>
<p>Ich kenne einen von der Arbeit, der professionell Poker spielt. Der spielt halt kein <a href="http://de.pokerroomsonline.com/">Poker Online</a> sondern richtige Turniere. Diese Turniere finden ausserhalb von Deutschland statt. Ich glaube innerhalb von Deutschland ist es gar nicht erlaubt um Geld zu spielen, Glücksspiel und so. Jedenfalls als ich damals in seinem Computerladen gearbeitet habe, kam es öfter vor, dass man nicht wusste, ob er den Laden aufgeben muss oder nicht. Es war tatsächlich so, dass er einfach zu einem Poker Turnier gereist ist und dort mit seinen letzten Geldresourcen gespielt hat. Dabei hatte er auch noch eine Frau, die ebenso gern Poker spielte. Das war echt verrückt.<br />
Aber es hat immer geklappt, allerdings gibt es das Geschäft heutzutage nicht mehr, und ich glaube ich kann mir vorstellen warum.</p>
<p>Um Geld spielen ist sowieso keine gute Idee. Besser ist es sich in Turnieren nach Punkten und um Preise zu spielen, ob nun online oder real, da man ansonsten wirklich Haus und Hof verspielen kann. Poker ist ein Glücksspiel, und es macht ebenso wie z.B. Roulette süchtig. Die meisten Menschen können einfach nicht mehr rechtzeitig aufhören, und spielen, bis sie alles verloren haben. Siehe dazu auch mein anderer <a href="http://www.mighty-marcus.de/das-perfekte-roulette-system/6">Artikel</a>.</p>
<p>Eine gute Möglichkeit Risikofrei zu spielen ist ein sogenannter <a href="http://de.pokerroomsonline.com/freerolls.php">Poker Freeroll</a>. Dabei spielt man eben nicht um Geld, sondern um Preise. Das ist nicht nur für Anfänger gedacht, sondern es gibt auch Profis, die nur Freeroll spielen, um eben kein echtes Geld zu verlieren. Gut, man kann nicht wirklich so viel absahnen, wie wenn es um echtes Geld geht, jedoch muss man auch keine Angst haben morgen auf der Straße zu sitzen.<br />
Mein Neffe z.B. spielt das desöfteren und hat schon mehrere Turniere gewonnen. Dabei hat er Preise wie Geld, Gegenstände (z.B. Laptop, Ipod etc.) gewonnen. Also eine gute Möglichkeit mit Online Poker Gewinne zu erzielen, und dabei riskiofreien Spaß zu haben.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/poker-online-spielen/189/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Sound Delay</title>
		<link>http://www.mighty-marcus.de/flash-sound-delay/185</link>
		<comments>http://www.mighty-marcus.de/flash-sound-delay/185#comments</comments>
		<pubDate>Fri, 20 May 2011 13:12:02 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[delay]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[latenz]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=185</guid>
		<description><![CDATA[Flash ist ja an sich eigentlich keine schlechte Software. Gut, Hardwareunterstützung gibt es nur bei Videos. D.h. wenn man mit Flash ein Spiel programmiert, kommt man über einfache 2D Bitmap Grafiken nicht hinaus. Aber gut, Retro ist in und mit &#8230; <a href="http://www.mighty-marcus.de/flash-sound-delay/185">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Flash ist ja an sich eigentlich keine schlechte Software. Gut, Hardwareunterstützung gibt es nur bei Videos. D.h. wenn man mit Flash ein Spiel programmiert, kommt man über einfache 2D Bitmap Grafiken nicht hinaus. Aber gut, Retro ist in und mit der richtigen Technik (BitmapData Blitting) kriegt man schon was zu stande, auch wenn man auf sowas wie VSync verzichten muss.<span id="more-185"></span></p>
<p>Was aber gewaltig stört ist die Sound Latenz. Das ist wirklich schon peinlich, wenn ein Sound erst nach 50 &#8211; 200 ms abgespielt wird. Und jetzt stellt euch das in einem Actionspiel vor. Man schießt und hört 200ms später erst den Schuss.<br />
Das schlimmste an diesem Problem ist, dass man es mit Flash / Actionscript überhaupt nicht lösen kann. Entweder ist dieser Bug den Flash Entwicklern egal oder sie kriegen es nicht hin. Das Problem besteht ja schon seit Jahren.</p>
<p>Auf Linux Computern ist die Latenz übrigens noch deutlich höher (1000 &#8211; 3000 ms). Das geht einfach nicht.</p>
<p>Jetzt hab ich aber schon Actionscript gelernt und bin gar nicht so schlecht darin. Deshalb sieht meine Lösung so aus:<br />
Ein Java Applet spielt die Sounds. Von Flash aus wird per ExternalInterface.call eine Javascript Funktion aufgerufen, die eine Java Funktion aufruft, die dann den Sound abspielt. Toll oder? Naja, aber es haut zum Glück recht gut hin und die CPU Auslastung steigt dadurch auch nicht. Also Gott sei Dank kann ich jetzt mein Spiel weiterentwickeln und das bekommt nun tatsächlich Sound mit nicht wahrnehmbarer Latenz. Man muss sich einfach zu helfen wissen. <img src='http://www.mighty-marcus.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/flash-sound-delay/185/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress Anti Spam Snippet</title>
		<link>http://www.mighty-marcus.de/wordpress-anti-spam-snippet/177</link>
		<comments>http://www.mighty-marcus.de/wordpress-anti-spam-snippet/177#comments</comments>
		<pubDate>Fri, 22 Apr 2011 07:43:51 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[anti]]></category>
		<category><![CDATA[antispam]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wordpress antispam]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=177</guid>
		<description><![CDATA[Die meisten Kommentare, die ich in meinem Blog bekomme sind SPAM! Und zwar meist &#8211; nein immer &#8211; englischsprachig. Und ich wette die Spamer und Spambots können kein deutsch. Also hab ich ein WordPress Mini Anti Spam System geschrieben. Das &#8230; <a href="http://www.mighty-marcus.de/wordpress-anti-spam-snippet/177">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Die meisten Kommentare, die ich in meinem Blog bekomme sind SPAM!<br />
Und zwar meist &#8211; nein immer &#8211; englischsprachig. Und ich wette die Spamer und Spambots können kein deutsch.<br />
Also hab ich ein WordPress Mini Anti Spam System geschrieben. Das ganze ist nur ein paar Zeilen groß, dürfte aber die meisten Spamer fern halten.<span id="more-177"></span></p>
<p>Vielleicht brauchts ja sonst noch jemand, es ist eine Sache von ein paar Minuten und man braucht keinen API Key oder sonstiges. Hier eine Anleitung, was man machen muss, um vor englischsprachigem Spam verschont zu bleiben.</p>
<p>Die Idee ist folgende: Unter dem Kommentar-Formular wird das Bild einer Frucht angezeigt. Darunter ist ein weiteres Input-Feld, in das der Kommentator den Namen der Frucht schreiben muss. Und zwar auf deutsch.</p>
<p>1. Spambots sind zu blöd Früchte zu erkennen<br />
2. die meisten Spambots können kein deutsch<br />
3. englisch kommentierende Spamer können die Früchte erkennen, können aber kein deutsch (zumindest die meisten). Ausser sie schauen in ein Wörterbuch, aber ich glaube da suchen sie sich eher den nächsten Blog.</p>
<p>Naja, ich muss wohl erstmal ne Zeitlang warten, aber ich hab so das Gefühl, dass jetzt erstmal Schluss ist mit dem massenhaften Spam.</p>
<p>Schritt 1 &#8211; Speichert euch die ganzen Bilder unter den gleichen Namen wie ich sie habe auf den Rechner (1.jpg &#8211; 8.jpg)</p>
<p><img src="http://mighty-marcus.de/fruits/1.jpg" alt="fruit1" /><br />
<img src="http://mighty-marcus.de/fruits/2.jpg" alt="fruit2" /><br />
<img src="http://mighty-marcus.de/fruits/3.jpg" alt="fruit3" /><br />
<img src="http://mighty-marcus.de/fruits/4.jpg" alt="fruit4" /><br />
<img src="http://mighty-marcus.de/fruits/5.jpg" alt="fruit5" /><br />
<img src="http://mighty-marcus.de/fruits/6.jpg" alt="fruit6" /><br />
<img src="http://mighty-marcus.de/fruits/7.jpg" alt="fruit7" /><br />
<img src="http://mighty-marcus.de/fruits/8.jpg" alt="fruit8" /></p>
<p>2. Schritt<br />
Erstellt auf eurem Webspace einen Ordner namens &#8220;fruits&#8221;, und zwar im untersten Verzeichnis. Ladet dort per ftp die Bilder hoch. (die genaus heissen müssen, wie bei mir)</p>
<p>3. Schritt<br />
Öffnet mit einem Editor die Datei comment-template.php im wp-includes Ordner (per ftp downloaden).<br />
Sucht die Stelle</p>
<p>[php]</p>
<p class="form-submit">
[/php]</p>
<p>DAVOR fügt ihr diesen Code ein:</p>
<p>[php]<br />
<?php<br />
// hacked by mighty marcus / spam protection<br />
$fruit = mt_rand(1, 8);<br />
echo '
<p style="font-weight:bold; font-size: 16px; color: #888">&#8216;;<br />
echo &#8216;<img src="http://www.deinedomain.de/fruits/'.$fruit.'.jpg" alt="fruit" title="fruit" /><br />&#8216;;<br />
echo &#8216;Was ist das?<span style="color:#F00">*</span><br />&#8216;;<br />
echo &#8216;<br />
<input type="hidden" name="fruit" value="'.$fruit.'" />&#8216;;<br />
echo &#8216;<br />
<input type="text" name="fruit_answer" />&#8216;;<br />
echo &#8216;</p>
<p>&#8216;;<br />
// end hack<br />
?><br />
[/php]</p>
<p>Datei speichern und wieder hochladen.</p>
<p>4. Schritt<br />
Holt euch die Datei wp-comments-post.php im untersten Verzeichnis und öffnet sie mit einem Editor.<br />
Sucht die Stelle:<br />
[php]<br />
if ( &#8221; == $comment_content )<br />
	wp_die( __(&#8216;Error: please type a comment.&#8217;) );<br />
[/php]</p>
<p>DANACH einfügen:<br />
[php]<br />
// hack<br />
if (isset($_POST['fruit_answer']) &#038;&#038; $_POST['fruit_answer'] != &#8221;) {<br />
$fruit_ary = array(&#8221;, &#8216;ananas&#8217;, &#8216;erdbeere&#8217;, &#8216;pfirsich&#8217;, &#8216;apfel&#8217;, &#8216;kirsche&#8217;, &#8216;banane&#8217;, &#8216;birne&#8217;, &#8216;zitrone&#8217;);<br />
$fruit = $fruit_ary[$_POST['fruit']];<br />
	if ($fruit != strtolower($_POST['fruit_answer']))<br />
	wp_die( __(&#8216;Fehler: Du müsstest eigentlich wissen, was das für eine Frucht ist!&#8217;) );<br />
}<br />
else<br />
wp_die( __(&#8216;Fehler: Sie müssen den Namen der Frucht eintragen!&#8217;) );<br />
// hack end<br />
[/php]</p>
<p>Fertig. Die Spambot Macher könnten jetzt zwar einfach den Blogeintrag lesen und ihren Bots beibringen, dass zum Beispiel 1.jpg eine Ananas ist usw&#8230; Aber ich schätze nur wegen meinem Blog wird das keiner machen. Check it out!</p>
<p>Wie immer am Ende noch ein paar Keywords, haha. Anti Spam yes Anti Spam. Ein Minimales Anti Spam System für WordPress von mighty.marcus. See ya (in hell) !</p>
<p>UPDATE: Und es funktioniert. Bisher kein einziger Spam-Kommentar!</p>
<p>UPDATE 2 (24. April): Immer noch kein Spam! Haha Loser!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/wordpress-anti-spam-snippet/177/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax mit PHP und Jquery</title>
		<link>http://www.mighty-marcus.de/ajax-mit-php-und-jquery/167</link>
		<comments>http://www.mighty-marcus.de/ajax-mit-php-und-jquery/167#comments</comments>
		<pubDate>Fri, 01 Apr 2011 18:59:29 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[ajax jquery]]></category>
		<category><![CDATA[ajax php]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jquery ajax]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=167</guid>
		<description><![CDATA[Ajax mit ein paar Zeilen. Jquery machts möglich. im Html-Header: [php] var infoBox; /* wir speichern die Referenz zum Element #infoBox ( id=&#8221;infoBox&#8221;) in der globalen Variable infoBox * Und zwar erst, wenn der DOM komplett geladen ist, Ansonsten könnte &#8230; <a href="http://www.mighty-marcus.de/ajax-mit-php-und-jquery/167">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ajax mit ein paar Zeilen. Jquery machts möglich.<br />
<span id="more-167"></span><br />
im Html-Header:<br />
[php]<br />
var infoBox;</p>
<p>/* wir speichern die Referenz zum Element #infoBox ( id=&#8221;infoBox&#8221;) in der globalen Variable infoBox<br />
* Und zwar erst, wenn der DOM komplett geladen ist, Ansonsten könnte es sein, dass infoBox = null<br />
* Es ist zwar in diesem Beispiel nicht notwendig, aber man sollte es sich angewöhnen sich gleich Referenzen<br />
* zu DOM-Element anzulegen, die man öfter benutzt.<br />
*/ </p>
<p>$(document).ready(function() {<br />
infoBox = $(&#8220;#infoBox&#8221;);<br />
});</p>
<p>// Diese JS-Funktion ruft die Jquery-Funktion &#8220;post&#8221; auf. Der Output einer Datei wird gespeichert in &#8220;data&#8221;.<br />
// Die Jquery-Funktion &#8220;html&#8221; fügt data in das Element #infoBox ein.<br />
function get_servertime() {<br />
	$.post(&#8220;php_output.php&#8221;, function(data) {<br />
	$(infoBox).html(data);<br />
	});<br />
}</p>
<p>Ein Link mit onclick=&#8221;get_servertime(); return false;&#8221; href=&#8221;javascript:&#8221;</p>
<p>Eine Datei php_output.php.</p>
<p>echo date(&#8220;d.m.Y H:i&#8221;, time());<br />
[/php]</p>
<p>Und fertig. Wenn man auf den Link klickt, holt Jquery sich den Output der Datei php_output.php und fügt ihn in das Element #infoBox im DOM ein.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/ajax-mit-php-und-jquery/167/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sin cos tan entdeckung</title>
		<link>http://www.mighty-marcus.de/sin-cos-tan-entdeckung/159</link>
		<comments>http://www.mighty-marcus.de/sin-cos-tan-entdeckung/159#comments</comments>
		<pubDate>Fri, 31 Dec 2010 03:55:21 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[textscroller]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=159</guid>
		<description><![CDATA[Damals in der Schule hatte ich in Mathe eine 6. Ja eine 6! Und das als angehender Programmierer. Nicht schlecht, oder? Vor ein paar Tagen habe ich mich aber mal ein bisschen damit beschäftigt und das neu erworbene Wissen gleich &#8230; <a href="http://www.mighty-marcus.de/sin-cos-tan-entdeckung/159">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Damals in der Schule hatte ich in Mathe eine 6. Ja eine 6! Und das als angehender Programmierer. Nicht schlecht, oder?<br />
Vor ein paar Tagen habe ich mich aber mal ein bisschen damit beschäftigt und das neu erworbene Wissen gleich in einem Flash-Textscroller genutzt.</p>
<p><a href="http://www.mighty-marcus.de/projekte/flash/textdemo.html"></p>
<p>Sehts euch an.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/sin-cos-tan-entdeckung/159/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer &#8211; man lernt nie aus &#8211; PNG 24 Bild</title>
		<link>http://www.mighty-marcus.de/internet-explorer-man-lernt-nie-aus-png-24-bild/107</link>
		<comments>http://www.mighty-marcus.de/internet-explorer-man-lernt-nie-aus-png-24-bild/107#comments</comments>
		<pubDate>Tue, 06 Apr 2010 07:16:12 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Bild]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[PNG]]></category>
		<category><![CDATA[png 24]]></category>
		<category><![CDATA[PNG24]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=107</guid>
		<description><![CDATA[Es ist faszinierend. Jedes mal wenn ich an einer Website rumgebastelt habe und abschließend noch mal einen Blick mit dem IE darauf werfe, entdecke ich was neues. Diesmal war es ein PNG-Bild. Ein Farbüberlauf in einem DIV, der in eine &#8230; <a href="http://www.mighty-marcus.de/internet-explorer-man-lernt-nie-aus-png-24-bild/107">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Es ist faszinierend. Jedes mal wenn ich an einer Website rumgebastelt habe und abschließend noch mal einen Blick mit dem IE darauf werfe, entdecke ich was neues.<span id="more-107"></span></p>
<p>Diesmal war es ein PNG-Bild. Ein Farbüberlauf in einem DIV, der in eine hellblaue Farbe führte. Beim Firefox und den anderen Browsern war der Überlauf stufenlos, d.h. man hat das Bild selbst gar nicht gesehen.</p>
<p>Beim IE konnte man einen direkten Schnitt erkennen, das PNG-Bild war hier seltsamerweise dunkler als in den anderen Browsern, und auch dunkler als in Photoshop. Strange?</p>
<p>Es half nur das Bild als JPG abzuspeichern und zu verwenden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/internet-explorer-man-lernt-nie-aus-png-24-bild/107/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zufälliges Sternensystem &#8211; Perlin Noise und Flash</title>
		<link>http://www.mighty-marcus.de/zufalliges-sternensystem-perlin-noise-und-flash/100</link>
		<comments>http://www.mighty-marcus.de/zufalliges-sternensystem-perlin-noise-und-flash/100#comments</comments>
		<pubDate>Sun, 21 Mar 2010 23:15:39 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[noise]]></category>
		<category><![CDATA[perlin]]></category>
		<category><![CDATA[perlin noise]]></category>
		<category><![CDATA[Planeten]]></category>
		<category><![CDATA[Sternensystem]]></category>
		<category><![CDATA[tilemap]]></category>
		<category><![CDATA[zufall]]></category>
		<category><![CDATA[zufällige Planeten]]></category>
		<category><![CDATA[zufallsgeneriert]]></category>
		<category><![CDATA[zufallsgeneriertes Sternensysten]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=100</guid>
		<description><![CDATA[Eigentlich wollte ich nur eine zufallsgenerierte Sternenkarte erstellen, mit Clustern (Sternenhaufen), verschiedenen Planeten, Tilemaps auf den Planeten&#8230; Aber wie macht man so etwas? Meine Vorstellung lag bei so hunderten verschiedenen Planeten, die alle auch noch begehbar sein sollten. Man sollte &#8230; <a href="http://www.mighty-marcus.de/zufalliges-sternensystem-perlin-noise-und-flash/100">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Eigentlich wollte ich nur eine zufallsgenerierte Sternenkarte erstellen, mit Clustern (Sternenhaufen), verschiedenen Planeten, Tilemaps auf den Planeten&#8230; Aber wie macht man so etwas? Meine Vorstellung lag bei so hunderten verschiedenen Planeten, die alle auch noch begehbar sein sollten. Man sollte mit einem Raumschiff in ein Sternensystem fliegen können und dort &#8211; ganz Starflight &#8211; auf den Planeten landen können. Man sollte die Oberfläche der Planeten schon vom Weltraum aus erkennen können, und die Planeten sollten alle einzigartig sein. Zufallsgeneriert eben.<span id="more-100"></span><br />
Bei meinen Internet-Recherchen, auf der Suche nach brauchbaren Tutorials, bin ich irgendwann auf das Stichwort Perlin Noise gestoßen. Es ist ein Alogrithmus, oder eher ein Filter, der nun ja : Chaos verursacht. So mancher kennt bestimmt den Wolken-Effekt von Photoshop. So in etwa arbeitet der Perlin Noise-Filter. Mit ihm ist es möglich zufallsgenerierte Heightmaps zu erstellen.<br />
Eine Heightmap ist eine Karte mit Pseudozufälligen Erhöhungen und Vertiefungen darauf, und zwar in SW.<br />
Diese Erhöhungen kann man mit einem geeigneten Programm parsen und daraufhin seine Tiles verteilen.<br />
Ich will auch gar nicht viel drum herum labern, jedenfalls habe ich zu meiner Freude festgestellt, dass es in der Flash-Entwicklungsumgebung eine Perlin-Noise-Methode gibt. Eigentlich eher zur Bildbearbeitung gedacht, taugt diese aber auch dazu, künstliche Welten zu erzeugen.</p>
<p>Ich habe heute ein bisschen damit herumgespielt und bin mit dem Ergebnis echt zufrieden. Jetzt kann ich endlich ein cooles Space-Spiel programmieren, oder es zumindest versuchen.</p>
<p>Entweder werde ich ein festes Universum erzeugen, und das Ergebnis in einer Datenbank speichern&#8230; So um die 1000 verschiedene Planeten mit zufallsgenerierten Namen, oder es wird immer bei jedem Spielbeginn ein neues Universum erstellt. Wie auch immer, Ideen habe ich, nur mit der Umsetzung hapert es meistens (ich träume von einer Art Galactic Civilziations 2 Spiel, mit Multiplayer. Mal sehen was ich wirklich daraus mache.)</p>
<p>Aber seht euch einfach mal das Sternensystem an. BTW ich bin kein Grafiker, mich interessiert eher dieses Zufalls-Zeugs. (Ruhig öfter mal den Browser aktualisieren für andere Ergebnisse.)</p>
<p>Perlin Nose, aha noch ein paar Keywords einbaue, SEO Haha!</p>
<p>Perlin Noise und Flash AS3 Actionscript, zufallsgeneriertes Sternensystem.</p>
<p>Achso ja der Link, den hätt ich ja fast vergessen&#8230;</p>
<p>Häng zuviel vorm PC!</p>
<p><a href="http://www.mighty-marcus.de/wp-content/perlin.html">Perlin Noise Demo</a></p>
<p>Bye bye!</p>
<p>Ach ja, klickt ruhig auf die Planeten um das Surface zu sehen. Sieht zwar nicht besonders aus aber die Möglichkeiten sind faszinierend (Stichwort Tilemap).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/zufalliges-sternensystem-perlin-noise-und-flash/100/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flash XML Socket und Perl Socket Server</title>
		<link>http://www.mighty-marcus.de/flash-xml-socket-und-perl-socket-server/95</link>
		<comments>http://www.mighty-marcus.de/flash-xml-socket-und-perl-socket-server/95#comments</comments>
		<pubDate>Mon, 11 Jan 2010 00:58:54 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[bayeux]]></category>
		<category><![CDATA[comet]]></category>
		<category><![CDATA[echtzeit]]></category>
		<category><![CDATA[policy file]]></category>
		<category><![CDATA[policy file request]]></category>
		<category><![CDATA[socket server]]></category>
		<category><![CDATA[xml socket server]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=95</guid>
		<description><![CDATA[Flashs XMLSocket-Klasse in Verbindung mit Perl-Sockets Mit Perl ist viel mehr möglich als „nur“ dynamische Webseiten zu erstellen, auch auf die Socket-API von C lässt sich darauf zugreifen und in Verbindung mit Flash als Client lassen sich damit Chats und &#8230; <a href="http://www.mighty-marcus.de/flash-xml-socket-und-perl-socket-server/95">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Flashs XMLSocket-Klasse in Verbindung mit Perl-Sockets</p>
<p>Mit Perl ist viel mehr möglich als „nur“ dynamische Webseiten zu erstellen, auch auf die Socket-API von C lässt sich darauf zugreifen und in Verbindung mit Flash als Client lassen sich damit Chats und sogar Multiplayer-Spiele realisieren.<span id="more-95"></span> Was ist ein Socket? Um es kurz zu machen: ein Socket ist eine Schnittstelle in einem Netzwerk, die es ermöglicht Daten beinahe in Echtzeit zu übertragen. Dabei fungiert ein Perl-Script als zentraler Server, lauscht auf Verbindungen und eingehende Daten, parst die Daten und sendet sie bei Bedarf weiter an andere Computer, die auch mit dem Perl-Server verbunden sind.<br />
Zum Vergleich: ein Apache-Webserver macht eigentlich das selbe. Er lauscht auf sogenannte HTTP-Requests, die wir senden, wenn wir einen Link anklicken. Der Webserver parst die Daten und liefert uns die gewollte Seite aus. Der vorteilhafte Unterschied zwischen einem Apache-Webserver und einem Perl-Socket-Server liegt aber darin, dass es nicht ganze HTML-Seiten sind, die über die Leitungen fließen, sondern schlanke Strings.</p>
<p>Kleines Beispiel: Wir klicken einen Button in Flash an, auf dem steht: Zeig mir die Server-Zeit.<br />
Flash sendet durch einen (TCP-)Socket den String „[aktion:serverzeit]\0“ an den Perl-Socket-Server. Das „\0“ fügt der Flash-Player übrigens automatisch hinzu, um damit das Ende des Strings zu signalisieren.<br />
Der Perl-Server parst den String und findet heraus: aha, ich soll die Serverzeit ausliefern. Als Antwort schickt er nun den String „[serverzeit:12:32:54]\0“.<br />
Es sei an dieser Stelle auch gleich erwähnt, dass die XMLSocket-Klasse nicht zwingend Strings im XML-Format verlangt. Und das ist auch gut so, denn ein<br />
 „&lt;xml version=“1.0“&gt;&lt;aktion&gt;serverzeit&lt;/aktion&gt;&lt;/xml&gt;“ im vergleich zu „[aktion:serverzeit]“ ist ganz klar bandbreitenschonender, weil man einfach viel weniger Daten senden muss. Natürlich hätte ich auch „{aktion}{serverzeit}“ schreiben können oder auch „[a][s]“ oder gar „[s]“. Welches Protokoll man auch verwendet, solange man es selbst versteht und solange es logisch ist, passt alles.</p>
<p>Perl, der Meister der Regular-Expressions. Damit wird es sehr einfach, die Daten zu parsen.</p>
<p>$flashDaten =~ /\[aktion:(\w+)\]/;<br />
my $aktion = $1;</p>
<p>if ($aktion eq „serverzeit“) {<br />
my ($sec,$min,$hour) = localtime(time);<br />
my $anwort = „[serverzeit:$hour:$min:$sec]\0“;<br />
sende_zurück($antwort);<br />
}</p>
<p>Ok, ich glaube man hat mich verstanden: Sockets dienen hauptsächlich dazu möglichst kleine Daten möglichst schnell zu senden/empfangen, und bieten damit die Möglichkeit viele Clients gleichzeitig zu bedienen. Man stelle sich einen Chat vor auf dem sich gerade hunderte User unterhalten. Die Nachrichten müssen so schnell wie möglich weitergeleitet werden, um überhaupt einen Chat möglich zu machen. Es reicht nicht, die Nachrichten in einer Datenbank zu speichern und alle paar Sekunden mittels eines HTTP-Requests die Seite zu aktualisieren. Es gibt zwar solche Chats, z.B. mit PHP, MySQL und Javascript (für automatische HTTP-Requests) realisiert – aber die taugen doch nicht wirklich was; und zwingen mit steigender Useranzahl selbst die stärksten Server in die Knie.</p>
<p>Ein ganz nützliches Perl-Modul, mit dem die Arbeit mit Sockets zum Kinderspiel wird, ist das POE-Modul. POE heisst Perl Object Environment, es ist objektorientiert und dadurch ist die Syntax auch leicht verständlich.</p>
<p>Was ist POE? POE ist ein Framework, welches es wie ein Betriebssystem erlaubt, mehrere Prozesse in einem Perl-Skript gleichzeitig laufen zu lassen, über sogenannte Sessions. Es lassen sich damit wunderbare Programme schreiben, in denen verschiedene Sessions sich um verschiedene Aufgaben kümmern. Da es für viele Bereiche – vor allem im Netzwerk-Bereich – vorgefertigte POE-Module gibt, schreibt sich ein Socket-Server damit fast schon von alleine. Die Hauptarbeit überlassen wir einfach POE und können uns direkt um die lustigen Sachen kümmern wie die Logik unseres Servers, Datenparsen usw.</p>
<p>Ladet euch das POE-Framework von CPAN herunter und installiert es. Falls ihr keinen eigenen Server habt sondern einen Webspace ohne Root-Zugang, kein Problem. Erstellt einfach einen Ordner auf dem Webspace, ladet dort das POE-Modul hoch und inkludiert es anstatt einfach nur:</p>
<p>use POE;</p>
<p>mit&#8230;</p>
<p>use lib „dein/absoluter/pfad/zum/POE-Ordner/lib“;<br />
use POE;</p>
<p>Nun aber endlich mal zu einem Beispiel. Ich zeige euch einen kompletten Perl-Socket-Server, der eigentlich zwei Server beinhaltet: der eigentliche Hauptserver kümmert sich um den Flash-Film, der andere Server &#8211; nennen wir ihn Policy-File-Server &#8211;  kümmert sich um die Auslieferung einer virtuellen XML-Datei, dem sogenannten Policy-File. Policy-File, was ist das?<br />
Nun ja, machen wir es kurz: Adobe verlangt aus Sicherheitsgründen die Auslieferung eines virtuellen Policy-Files, quasi eine Datei in der geschrieben steht, dass der Flash-Film dazu berechtigt ist auf bestimmte Ports des Servers zugreifen zu dürfen.<br />
Diese Datei liegt in unserem Perl-Skript in einem String und wartet nur darauf, in die große weite Welt verschickt zu werden. Sie sieht, bei mir zumindest, so aus:</p>
<p>my $xml = &#8216;&lt;?xml version=&#8221;1.0&#8243;?&gt;&lt;!DOCTYPE cross-domain-policy SYSTEM &#8220;/xml/dtds/cross-domain-policy.dtd&#8221;&gt;&lt;cross-domain-policy&gt;&lt;site-control permitted-cross-domain-policies=&#8221;master-only&#8221;/&gt;&lt;allow-access-from domain=&#8221;localhost&#8221; to-ports=&#8221;5006&#8243; /&gt;&lt;/cross-domain-policy&gt;&#8217;;</p>
<p>Wie man sieht, steht darin geschrieben, dass localhost auf den Flash-Film zugreifen darf, und der Flash-Film auf den Server auf Port 5006.</p>
<p>Auf Port 5005 lauscht ein zweiter Server, also eine zweite POE-Session, die sich um nichts anderes kümmert als auf eine Verbindung und einen String „&lt;policy-file-request/&gt;\0“.<br />
Schickt ein Flash-Film – oder wer auch immer – solch einen String, bekommt er als Antwort die $xml-Datei.</p>
<p>Ladet euch einfach <a href="http://www.mighty-marcus.de/downloads/xmlsocket.zip">die Quelltexte für den Actionscript-Client und den Perl-Server</a> herunter. Schaut euch mal die Datei testServer.pl an.</p>
<p>Ganz kurz, was der Hauptserver macht: Er lauscht auf Verbindungen, akzeptiert diese, schreibt die Verbindungen oder besser gesagt die Referenzen dazu in das Array @connections, sendet eingehende Daten an die Verbindungen (im Array @connections, ausser an den Sender), löscht beendete Verbindungen wieder aus @connections (das ist wichtig, damit der Server nicht versucht Daten an bereits beendete Verbindungen zu senden – was zu einem sehr unschönen Programmabbruch führen würde). Daten parsen tut er nicht, aber falls er das tun soll, könnte es etwa so aussehen wie schon oben erwähnt, mit Regular Expressions:</p>
<p>$buff =~ /\[aktion:(\w+)\]/;<br />
my $aktion = $1;</p>
<p>if ($aktion eq „serverzeit“) {<br />
my ($sec,$min,$hour) = localtime(time);<br />
my $anwort = „[serverzeit:$hour:$min:$sec]\0“;<br />
$outbuffer{$client} .= $antwort;<br />
$kernel->select_write($client, „event_write“);<br />
}</p>
<p>Nun zum Flash-Teil. Wir erstellen nun einen Flash-Film, der einfach ein blaues Viereck zeigt. Dieses Viereck lässt sich verschieben, und wenn man es verschoben hat, sendet es die neuen Koordinaten des Vierecks an die anderen Flash-Filme, die noch mit dem Server verbunden sind. Die anderen Flash-Filme platzieren das Viereck dann an der neuen Position.</p>
<p>Ich zeige erstmal den Actionscript-Code. Es ist übrigens möglich den Code via der freien Flex-SDK<br />
zu kompilieren, falls man kein Flash besitzt. Und das schöne an der Flex-SDK ist – außer dass sie nichts kostet – dass man sie auch unter Linux einsetzen kann. Da POE unter Windows nur zu Versuchszwecken taugt (POE verursacht zumindest beim strawberry-Perl unter Windows nach kurzer Zeit eine CPU-Auslastung von 100%) ist das natürlich sehr praktisch.<br />
Falls ihr an der Flex-SDK interessiert seit, benutzt Google, ist leicht zu finden.</p>
<p>Erstellt in Flash einen neuen Film, speichert ihn und gebt in den Eigenschaften als Dokumentklasse TestSocket an. Mit TestSocket ist die Datei TestSocket.as gemeint, die ihr zusammen mit dem neuen Flash-Film in den selben Ordner kopiert. Oder kopiert die AS-Datei in den bin-Ordner der Flex-SDK und kompiliert den Code mittles Eingabeaufforderung bzw. Terminal dort mit mxmlc TestSocket.as. Danach bindet ihr die SWF-Datei in eine HTML-Seite ein und ladet diese zusammen mit der SWF-Datei auf euren Webspace bzw. xampp bzw. /var/www/ oder wo auch immer ihr eure Webseiten liegen habt hoch.</p>
<p>Startet nun den Server mittels Terminal oder Eingabeaufforderung und ruft über den Browser die HTML-Seite mit dem Flash Film auf. Wenn alles geklappt hat, macht weitere Fenster oder Tabs auf und verschiebt das Viereck. Es müsste nun auf allen anderen Seiten ebenfalls verschoben worden sein.</p>
<p>Ach ja, ein besonderes Schmankerl für die eigene Webseite ist es natürlich einen unsichtbaren Flash-Film laufen zu lassen, der eine Socket-Verbindung herstellt. So ist ein Datenaustausch auch ohne Seitenreload möglich. Dabei kann man Javascript als Brücke verwenden, um so empfangene Daten direkt im Browser auszugeben bzw. anzuzeigen. Man stelle sich einfach vor, dass ein User namens „Hans“ dem User mit der Uid 12 eine Nachricht schreibt, ganz normal über die Webseite. Nun wird eine Funktion in Javascript aufgerufen, die dem Flash-Film sagt, er soll eine Nachricht an den Server schicken, z.B. „[post][12][Hans]“. Der Server parst diesen String und findet heraus: aha, ich soll dem User 12 Bescheid sagen, dass er soeben Post von Hans bekommen hat. Der Server schickt an den Socket des Users 12 den String „[post][Hans]“.<br />
Nun erscheint am rechten unteren Bildschirmrand des Postempfängers – der ja noch nichts von seinem Glück weiß, weil er die Seite noch nicht aktualisiert hat – eine kleine schicke Box, in der steht: „Sie haben Post von Hans!“. Posteingang-Benachrichtigung ohne Seitenreload beinahe in Echtzeit, realisiert mit einem TCP-Socket.</p>
<p>Sehr vorteilhaft ist es natürlich diesen unsichtbaren Flash-Film in einer Hauptseite laufen zu lassen, in der die eigentlichen Webseiten in einem iframe dargestellt werden. Warum? Weil sonst bei jedem neuen Seitenaufruf die Verbindung unterbrochen und dann wieder hergestellt wird.</p>
<p>Es gibt übrigens eine Javascript-Klasse, die diese Brücke herstellt, gebt mal in einer Suchmaschine „JSXML Bridge Javascript Flash“ ein. Diese Klasse arbeitet mit der ExternalInterface-Klasse von Flash.</p>
<p>Zuguterletzt noch zwei Punkte:<br />
1.Warum muss ich jeden String, den ich vom Perl-Socket-Server an einen Flash-Client schicke mit einem „\0“ beenden? Weil Flash sonst ewig auf das Ende der Nachricht warten würde.<br />
2.Kann jedes Programm, dass Socketverbindungen möglich macht, von jedem anderen Menschen dazu benutzt werden meine auf Port 5005 und 5006 lauschenden Server mit Nachrichten geradezu zu überfluten? Und ob. Stichwort Flooding. Leider können die Server nicht erkennen, ob Daten von einem Flash-Film, einem C++-Programm, einem anderen Perl-Skript oder von sonstwo geschickt werden. Hier ist es wirklich sehr wichtig, sich sichheitstechnisch abzusichern, will man nicht von seinem Webhoster gesperrt werden. Ich z.B. habe es so realisiert, dass nachdem sich ein User in meine Webseite eingeloggt hat seine IP-Adresse über einen UNIX-Socket an das POE-Skript gesendet wird; diese IP-Adresse wird für ein paar Sekunden erlaubt, d.h. Nur IP-Adressen werden gestattet, die praktisch „von oben“ ein okay bekommen haben, und das nur für ein paar Sekunden. Jede andere IP-Adresse wird gar nicht erst reingelassen bzw. sofort wieder rausgeworfen. „Tut mir leid, sie stehen nicht auf der Gästeliste!“. Ausserdem muss der Client auch seine Session-ID mitschicken, und es wird geprüft, ob diese in der Datenbank unter den eingeloggten Usern steht. Wenn nicht, auf Wiedersehen.</p>
<p>Okay, und das ist auch das Stichwort für mich, ich muss weg. Ich hoffe ich konnte dem einen oder anderen einen groben Einblick in die Welt der Sockets bieten und wünsche euch viel Spaß beim Erstellen von coolen Flash-Perl-Applikationen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/flash-xml-socket-und-perl-socket-server/95/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Internet Explorer italic Bug</title>
		<link>http://www.mighty-marcus.de/internet-explorer-italic-bug/87</link>
		<comments>http://www.mighty-marcus.de/internet-explorer-italic-bug/87#comments</comments>
		<pubDate>Wed, 15 Jul 2009 02:05:56 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Italic]]></category>
		<category><![CDATA[Italic Bug]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=87</guid>
		<description><![CDATA[Ich habe ein dreispaltiges Layout. Ein DIV Container links, ein DIV Container in der Mitte und einer Rechts. Wenn ich jetzt im linken DIV einen italic Text einfüge, rutscht der ganze rechte DIV nach unten, und zwar dorthin wo der &#8230; <a href="http://www.mighty-marcus.de/internet-explorer-italic-bug/87">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ich habe ein dreispaltiges Layout. Ein DIV Container links, ein DIV Container in der Mitte und einer Rechts.<br />
Wenn ich jetzt im linken DIV einen italic Text einfüge, rutscht der ganze rechte DIV nach unten, und zwar dorthin wo der mittlere DIV aufhört.<br />
<span id="more-87"></span><br />
Hier mal ein Screenshot:<br />
<img src="http://www.mighty-marcus.de/wp-content/images/div1.jpg" alt="screenshot1" /></p>
<p>Wenn ich im linken DIV keinen italic Text benutze, sondern einen normalen, fetten oder was auch immer:</p>
<p><img src="http://www.mighty-marcus.de/wp-content/images/div2.jpg" alt="screenshot2" /></p>
<p>Ich würde mal sagen, das ist eine saubere Leistung. Immerhin stammen die Bilder hier von Internet Explorer Version 8.0, und der italic Bug trat schon in Version 5.0 auf. Wirklich, eine Glanzleistung.</p>
<p>Aber mal ehrlich, sowas kann doch gar nicht sein&#8230; Man kann doch nicht wirklich peinliche Fehler wie diesen hier über 4 Versionen lang ignorieren.</p>
<p>Der Fehler tritt dadurch auf, dass der Internet Explorer zu dämlich ist, die richtige Breite des DIV Containers zu berechnen, auch wenn diese explizit angegeben ist, sobald sich darin italic geschriebener Text befindet.<br />
Für Layouts bei denen es pixelgenau zugeht, kann ein italic Text also eine Katastrophe heraufbeschwören.</p>
<p>Ich mein, seht euch mal die Bilder an&#8230;</p>
<p>Ich habe ja nichts dagegen, dass der Internet Explorer keinen Spaß versteht und bei der kleinsten Unstimmigkeit im Quellcode einen Fehler ausspuckt oder die Seite erst gar nicht anzeigt: kann man sogar was lernen dabei. Aber solche Bugs wie dieser Italic Bug, sowas muss doch nicht wirklich sein. Immer und immer wieder sorgt dieser unglaublich nervige Browser für Unbehagen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/internet-explorer-italic-bug/87/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Keywords in der Url &#8211; ein kleiner Test</title>
		<link>http://www.mighty-marcus.de/keywords-in-der-url-ein-kleiner-test/24</link>
		<comments>http://www.mighty-marcus.de/keywords-in-der-url-ein-kleiner-test/24#comments</comments>
		<pubDate>Sun, 15 Feb 2009 20:56:58 +0000</pubDate>
		<dc:creator>mighty.marcus</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[keyword in der url]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[keywords in der url]]></category>

		<guid isPermaLink="false">http://www.mighty-marcus.de/?p=24</guid>
		<description><![CDATA[Ich werde hier mal für mich &#8211; und alle die es interessiert &#8211; mal einen kleinen Test starten. Und zwar geht es um das Thema Keywords in der Url &#8211; bringt es tatsächlich Vorteile für das Ranking? Ich habe mittels &#8230; <a href="http://www.mighty-marcus.de/keywords-in-der-url-ein-kleiner-test/24">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ich werde hier mal für mich &#8211; und alle die es interessiert &#8211; mal einen kleinen Test starten.<br />
Und zwar geht es um das Thema Keywords in der Url &#8211; bringt es tatsächlich Vorteile für das Ranking? Ich habe mittels PHP zwei zufallsgenerierte Texte erstellt, in denen 420 unterschiedliche Pseudo-Wörter vorkommen. 399 &#8220;Wörter&#8221; davon bestehen ganz einfach aus zufällig generierten Buchstabenfolgen, die 6 Buchstaben lang sind. 21 mal kommt das Pseudo-Wort &#8220;Deiramantis&#8221; vor, das in diesem Test die Rolle des Keywords spielt, und dessen Keyworddichte 5% ausmacht.<br />
Die Texte sollen keinen Double Content erzeugen sondern ein jeder soll unique sein. Keyworddichte, Länge des Textes und die Postition der Keywords (Das erste sowie jedes 21te Wort) sind aber identisch. <span id="more-24"></span></p>
<p>Wir haben also zwei unterschiedliche Texte, die in Hinblick auf das relevante Keyword jedoch völlig gleich sind.</p>
<p>Der erste Text wird über diesen Artikel über diesen Link: <a href="http://mighty-marcus.de/deiramantis.html" target="_blank">deiramantis</a> für die Suchmaschinen erreichbar sein.</p>
<p>Der zweite Text wird über diesen Artikel über diesen Link: <a href="http://mighty-marcus.de/test007.html" target="_blank">deiramantis</a> für die Suchmaschinen erreichbar sein.</p>
<p>Die Linktexte sind also die gleichen, die Dateinamen &#8211; und somit die URL sind aber verschieden. Beim ersten Text ist das Keyword in der Url vorhanden; beim zweiten nicht. Ob es nun eine Rolle spielt, dass der Link zu Text eins eher vorkommt, also die Suchmaschine eher darauf stößt als auf den zweiten Text, lasse ich jetzt mal ausser Acht.</p>
<p>Als Titel und Description werde ich einfach die ersten 5 Pseudo-Wörter des jeweiligen Textes bzw. die ersten 12 Wörter des jeweiligen Textes verwenden. So sind auch Titel und Description unique, obwohl sie eigentlich suchmaschinentechnisch gesehen äquivalent sind. Wichtig ist ja nur das Keyword.</p>
<p>Die Ergebnisse werde ich dann in ein paar Wochen hier posten.</p>
<p>Ach, jetzt habe ich doch glatt vergessen suchmaschinenfreundlich zu schreiben. Also müssen natürlich noch ein paar Keywords rein. HALLO OUT THERE! Hier geht es um das Thema: Keywords in der Url &#8211; ein praktischer Test.</p>
<p>Ich tippe mal stark darauf, dass der Text mit dem Keyword Dateinamen das Rennen macht.</p>
<p>UPDATE: Inzwischen wurde die Seite test007.html in den Index aufgenommen, wenn man im index-cache nachsieht sogar schon am 16.02.2009, also einen Tag nach Veröffentlichung dieses Artikels.<br />
Die andere Seite mit dem Keyword im Dateinamen ist allerdings noch nicht aufgetaucht. Das muss man jetzt nicht verstehen, denke ich mal. Heute ist der 24.02.</p>
<p>UPDATE2: 27. Februar.<br />
Die zweite Seite deiramantis.html wurde nun auch in den Index aufgenommen. Momentan belegt sie noch den zweiten Platz. Mal sehen, ob sich das noch ändert.</p>
<p>Momentan sieht es so aus: <a href="http://www.google.de/search?source=ig&#038;hl=de&#038;rlz=&#038;=&#038;q=deiramantis&#038;btnG=Google-Suche&#038;meta=lr%3D" target="_blank">KLICK ME!</a></p>
<p>UPDATE 1. April 2009</p>
<p>Ähm, ja, lasst euch vom Datum (1.April) nicht täuschen. Ich haber gerade bei Google nachgeschaut und hab gesehen, dass sich der deiramantis.html Artikel jetzt doch durchgesetzt hat. Also das Keyword in der URL scheint doch besser bewertet zu werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mighty-marcus.de/keywords-in-der-url-ein-kleiner-test/24/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

