Anonymity vs. Deniability

Versus? Sollte das nicht immer Zusammen gehören? Nun, ich sage nein (sonst wäre der Artikel auch wertlos…), und gehe sogar soweit zu behaupten dass PD an der Stelle kontraproduktiv sein kann.

Das Konzept von Plausible Deniability ist ja, dass man im Falle eines Falles sagen kann, dass man damit nichts zu tun hat. In Richtung Kryptographie heißt das, dass mir niemand beweisen kann, dass der Datenmüll da auf Laufwerk S: meine streng geheimen Pläne zur Eroberung der Weltherrschaft sind. Die Sache ist nur: das funktioniert nicht. Zumindest nicht da wo es gebraucht wird. Dort, wo „in dubio pro reo“ noch gilt, ist das alles kein Problem. Ich sage, da ist nichts, keiner kann was anderes beweisen: Freispruch. Wunderbar, funktioniert. Aber was passiert, wenn das keinen interessiert?
Mal ein paar kleine Szenarien. Continue reading „Anonymity vs. Deniability“

Too much standard compliance

Hi!

Ich hab mich hier und anderswo ja schon öfter drüber beschwert, dass sich gewisse Browser nicht an Standards halten. ‚Gewisse‘ war dabei meist der IE 😉

Nun, offenbar tritt auch mal das Gegenteil auf… aber zum Anfang.

Ein Uber-1337-Web2.0-Projekt benutzt unter anderem DOM-Manipulation, dabei werden auch <style>-Nodes injected. Und zwar unterhalb des <body>s. Das funktioniert prima im Firefox(3) und in Opera, aber NICHT in IE und Safari/Webkit/KHTML/whatever. Woran liegt das? Nun, laut Standard darf ein <style>-Node nur unterhalb von <head> stehen. Meines Wissens sind Firefox und Opera die einzigen, die das ignorieren und die Dinger auch anderswo parsen. Schade eigentlich, denn meine so einfache Lösung wird jetzt durch Sonderbehandlung für die, die sich an Standards halten wieder komplizierter.

Was mich zum Fazit bringt: auch das W3C hat die Weisheit nicht gepachtet, für mich ist dieser Standard inkonsequent: die an sich ähnlich auszulegenden <script>s darf man schließlich auch überall verwenden.

Wer aber ne gute Idee hat, wie man das so hinkriegt, dass die Styles auch da geparst werden, oder wer mir sagen kann wie ich in IE/Webkit DOM-Änderungen Hooken kann (brauch ich fürs aufräumen, wenn ich doch in den <head> injecten muss), der kriegt ein Bienchen und eine About-Erwähnung 😉

cu,
Martok

Serverumzug

Und wieder mal ein Umzug (gut) überstanden 😉

Diesmal von einem vServer bei NetClusive, der unter anderem immer langsamer geworden ist (es gab andere Gründe, die möchte ich hier aber nicht ausbreiten) und deshalb von meinem Hoster gekündigt wurde, zu einem echten eigenen Server von OVH. Nettes Teil, man merkt die Geschwindigkeitsunterschiede^^

Dank nochmal an Beshig, der das so schön im Skype live gemanaget hat. Macht sich schon besser, wenn man direkt mit den Leuten reden kann 😉

cu
Martok

Wissen, das die Welt nicht braucht

Hi!

Mal was positives heute: es gibt einen neuen Blogger. BenBE teilt uns jetzt auch seine bescheidenen Gedanken mit 😉

Und beim gegenseitigen verlinken ist uns dann folgendes aufgefallen: sowohl BenBE’s humble thoughts als auch Martok’s Place enthalten…. na? Genau, einen Apostroph.

Die große Frage: ist das da eigentlich ein Deppenapostroph oder nicht? Also mal googeln. Und was sagt uns der 5. Treffer? Es gibt eine Wikipedia-Artikel zu Englischen Grammatik, in Länge und Breite 😯

Wozu braucht man denn sowas?

Horden von Englischlehren zittern in Angst um ihre Jobs!

Oder so ähnlich.

cu
Martok

WordPress: wpautop(), der einfachere Weg

Hallo!

Ich melde mich mal wieder, diesmal mit etwas relativ wichtigem. Vor kurzem wurde WordPress 2.6 freigegeben, im Zuge des Updates musste ich mal wieder den wpautop()-Fix einspielen.

Dabei sind mir einige Unzulänglichkeiten aufgefallen, unter anderem dass er sinnlos kompliziert ist 😉

Die neue Version kommt mit grade mal 7 neuen und einer geänderten Zeile aus.

Hier die Diff (wir sind wieder in wp-includes/formatting.php):

@@ -65,10 +65,15 @@
 }
 
 function wpautop($pee, $br = 1) {
+	$preserving = strpos($pee, '<preserve>') !== false;
+	if ($preserving) {
+		$pee = preg_replace_callback('!<preserve>(.*?)</preserve>!is', create_function('$matches', 'return "<revert>".base64_encode($matches[1])."</revert>";'), $pee);
+	}
+
 	$pee = $pee . "n"; // just to make things a little easier, pad the end
 	$pee = preg_replace('|<br />s*<br />|', "nn", $pee);
 	// Space things out a little
-	$allblocks = '(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|map|area|blockquote|address|math|style|input|p|h[1-6]|hr)';
+	$allblocks = '(?:table|thead|tfoot|caption|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|form|map|area|blockquote|address|math|style|input|p|h[1-6]|hr|revert)';
 	$pee = preg_replace('!(<' . $allblocks . '[^>]*>)!', "n$1", $pee);
 	$pee = preg_replace('!(</' . $allblocks . '>)!', "$1nn", $pee);
 	$pee = str_replace(array("rn", "r"), "n", $pee); // cross-platform newlines
@@ -99,6 +104,9 @@
 	$pee = preg_replace( "|n</p>$|", '</p>', $pee );
 	$pee = preg_replace('/<p>s*?(' . get_shortcode_regex() . ')s*</p>/s', '$1', $pee); // don't auto-p wrap shortcodes that stand alone
 
+	if ($preserving) {
+		$pee = preg_replace_callback('!<revert>(.*?)</revert>!is', create_function('$matches', 'return base64_decode($matches[1]);'), $pee);
+	}
 	return $pee;
 }

Bei der Gelegenheit habe ich den Tag von <nowpautop> in <preserve> geändert, hier gegebenfalls betreffende Posts/Seiten anpassen.

Die angesprochenen anderen Unzulänglichkeiten hatten damit zu tun, dass nur p und br-Tags verhindert wurden. Alles andere wurde trotzdem munter verändert. Jetzt ist das Verhalten das erwartete: per php generierter HTML-Code wird genau so übernommen wie er aus dem Interpreter kommt. Technisch liegt das daran, dass ich jetzt nicht mehr einzelne Zeichen schütze, sondern alles, indem der Code base64-Codiert vor wpautop() versteckt wird.

Viel Spaß damit 😉
Martok

Dieter Bohlen: gebt die Musik im Netz frei!

Ich finde ihn ja normalerweise nicht so toll. Aber bei Kerner (den ich auch nicht mag; Minus mal Minus ergibt wohl doch Plus) hat er am 01.11.2007 etwas wirklich wahres gesagt.

Du kannst doch den Leuten nicht irgendwie sagen „Hier ist ein Hammer, aber jetzt hau den Nagel nicht in die Wand!“

Womit er völlig Recht hat. Denn wer verdient denn an den CD-Brenner-Preisen kräftig mit…

Aber seht selbst:

Forum eröffnet

In einer Nacht-und-Nebel-Aktion hab ich uns ein Forum beschafft. Es ist über den Link „Forum“ (oh Wunder) oben rechst zu erreichen.

Ich hoffe ja, dass da irgendwann mal ne Community draus wird. Ich scheine ja nicht wenige Leser zu haben, aber kaum einen von denen kenne ich. Das soll sich jetzt mal ändern 😉

–Martok