Archive for November, 2006

Javascript Editor.

Samstag, November 25th, 2006

maennchen.pngTrotz tiefgründiger Abneigung gegen Javascript (zumindest sofern’s im Browser läuft), erwische ich mich immer wieder dabei, blöde Tricks in Javascript zu implementieren. Um mir dabei behilflich zu sein, habe ich vor einiger Zeit einen kleinen, browserbasierten Editor gebastelt und per Copy & Paste von Projekt zu Projekt mit mir herumgeschleppt.

Inszwischen bin ich dazu gekommen, diverse Bestandteile zusammenzutragen und zwecks einfacher Wiederverwendbarkeit zu einem Päckchen zu schnüren. Dank eines genialen Bookmarklet, kann man den Editor sogar an beliebige fremde Seiten tackern, und mit den Javascript Elementen dieser Seiten interagieren.

Wie Spam funktioniert.

Donnerstag, November 16th, 2006

viagra.png

Lesenswerter Artikel für alle, die sich schon mal gefragt haben: „Wer kauft eigentlich das ganze Viagra?“. Fazit ist, das die Spammer nur als Affiliates vermittelnd in Erscheinung treten und daher die Apotheken nicht für deren handeln zur Rechenschaft gezogen werden können. Wenn mir jetzt noch jemand erklärt, wie man an Penisverlängerungen Geld verdient…

Malbuch für Manager.

Mittwoch, November 15th, 2006

The Executive Coloring Book: Ein subversives Malbuch aus den 60ern, das an Aktualität nichts eingebüßt hat. Ausser vielleicht das inszwischen selbst mein Telefon mehr Knöpfe hat.

FTP unter MacOSX

Dienstag, November 14th, 2006

cyberduckicon.png… sollte eigentlich im Finder unterstützt sein. So halbwegs funktioniert’s auch, im Finder Menu „Gehe zu -> Mit Server verbinden..“ („Go -> Connect to Server„). Fehlermeldungen sind allerdings mehr als kryptisch, wenn man überhaupt welche erhält und Varianten von sicherem FTP (SFTP, FTP über TLS-SSL) werden scheinbar gar nicht unterstützt. Dokumentation seitens Apple gibt es hier auch keine.

Sehr empfehlenswert ist das das kleine GNU Programm Cyberduck von David Kocher welches schlicht und ergreifend alle meine Anforderung an ein FTP Programm erfüllt.

Ganz nebenbei bin ich bei meinen „Recherchen“ über diese schmucke CNN-Reportage über Walnut Creek (inszwischen Digital River) gestolpert, die aus Zeiten stammt, als ein 56k Modem noch blitzschnell war:

At the present time, wcarchive resides on half a terabyte (500 GB) of RAID 5-disk storage. Even if your 56-Kbps modem can deliver seven kilobytes per second, downloading the complete archive would take you 70 million seconds. Even then, some of the files would be more than two years out of date, so a bit of „back and fill“ would be needed.

70 MILLIONEN SEKUNDEN!? Das sind ja weit mehr als eine Millionen Minuten!

`sprintf` in Javascript

Montag, November 13th, 2006

Schon tausendmal gemacht, aber ich konnte es mir nicht verkneifen meine eigene unvollständige Javascript sprintf Implementierung zu schreiben:

[viewcode source=“sprintf.js“ link=“yes“ scroll=“yes“]

Unterstützt werden die folgenden Formate:

%o : numerischer Wert, oktal, Format: 0…
%x : numerischer Wert, hexadezimal, Format: 0x…
%b : numerischer Wert, binär, Format: 0b…
%d : numerischer Wert dezimal
%s : „normale“ Zeichenkette

Prozentzeichen können durch %% dargestellt werden.

Beispiele:

sprintf ("%s, %o, %x, %b", 17, 17, 17, 17)

=> 17, 021, 0x11, 0b10001

sprintf ("Alles Gute zum %d. Geburtstag, %s %s!", 88, "Frau", "Schmitz")

=> Alles Gute zum 88. Geburtstag, Frau Schmitz!

Außerdem wird die eigebaute Javascript Klasse String um die Methode, fmt ergänzt. Dies erlaubt, dass Zeichenketten unmittelbar als Formatstrings verwendet werden können:

"%d.) %s".fmt(1, "an erster Stelle...")

=> 1.) an erster Stelle…

Instances of Use of United States Armed Forces Abroad, 1798 – 2004

Montag, November 13th, 2006

Aufschlussreicher Bericht über Einsätze des amerikanischen Militärs in den letzten 200 Jahren.

Spongebrot

Donnerstag, November 9th, 2006

Bin ich eigentlich der erste, dem diese vervblueffende Aehnlichkeit bisweilen aufgefallen ist?

spongebrot.png

Akismet Spam

Donnerstag, November 9th, 2006

Ich habe vorgestern aus Verzweifelung das Akismet Spam Plugin von WordPress ausprobiert und bin hellauf begeistert. Jeder gepostete Kommentar wird mittels des Akismet Webservice auf Spam Eigenschaften geprueft. Negativ bewertete Postings werden nach 14 Tagen geloescht, koennen aber so lange im Akismet Menupunkt (Verwaltung->Akismet Spam) gesichtet und gegenbenfalls als „gutartige“ umgestuft werden.
Das Plugin ist ab WordPress 2.0 bereits installiert und muss nur noch ueber das Adminstrationsmenu in WordPress (Plugins->Plugins) aktiviert werden.
akismet.png

Zusaetzlich benoetigt man einen API Key, denn man als registrieter WordPress.com Nutzer umsonst fuer nicht kommerzielle Zwecke erhalten kann.

Mit diesem Key kann man den Akismet Spam Dienst ueberigens auch fuer andere Applikationen als  WordPress verwenden. Es gibt unter anderem Implementierungen in Ruby, Python, Perl, Java, und PHP.
Fazit: Als Betreiber einer Site, die selten bis nie legitime Kommentare erhaelt, kann ich ich Akismet wirklich waermsten empfehlen. Installation is vollkommen schmerzfrei,in 5 Minuten erledigt und das staendige wegmoderieren von Reklame fuer englische Mobilfunkanbieter entfaellt vollstaendig. Wie sich sich das Plugin bei einem hohen Volumen legitimer Kommentare verhaelt, kann ich leider nicht beurteilen.

Displaying Source Code in WordPress

Dienstag, November 7th, 2006

I needed to post some source code on WordPress. I had no idea how painful this would be. There’s a number of plugins that are supposed to handle this, but that canonical source code plugin doesn’t seem to exist. The one that seemed to fit my needs best was Code Viewer because of the following features:

  • lets you maintain source code in a external files, only maintaining references to the files in the editor
  • automatically includes download link to the external files
  • line numbering

A guy called AJ added scrollable text areas and the capability to select which lines to display like this: 1,3-7,15 in updated versions. Both versions have at least two disadvantages I’ve stumbled across:

  • they can’t be used with the WYSISWIG Editor, because the built-in tinyMCE editor really goes out of it’s way to make sure it screws up anything remotely resembling source code.
  • they require their own CSS styles that can either be included from the header template or appended to the end of the default.css stylesheet. Both options require editing „default“ files, which I think is bad style.

A third guy called HÃ¥kan Carlström tries to address these issues, but unfortunately, I wasn’t able to get his version of the plugin code to work at all.

I looked at the different versions and but together my own melange. Caveat: I have no idea what license any of the three release the code under, but I’ll get back to you on that…

The reason why the first two versions don’t work in the WYSIWYG editor, is because they rely on xml tags like this:

brackets.png

and the WYSIWYG editor just can’t cope with unfamiliar tags. The editor will also consistantly screw up the string:

src=

but that’s another story. HÃ¥kan version of the plugin tries to avoid the angled brackets by using square brackets like this:

carlstrom.png
a tad too verbose for my taste. A nice feature of his plugin is the capability to dynamically link in the necessary style sheet. Too bad I can’t get it to work…

So here’s my version. It can be used from within the WYSIWYG editor because it uses source as the attribute name instead of src and square brackets like this:

syntax.png

So anyway, this is what you end up getting:

[viewcode source=“arg.src“ scroll=“yes“]

Yes, it’s true, I spent the larger part of the afternoon sifting through *argh* php code. And now this. So: DO NOT USE THIS PLUGIN WITH PHP CODE!

What else didn’t I get working? Glad you asked: including a link to the Coder Viewer stylesheet doesn’t work, because of an unseen entity from deep within WordPress that filters out link tags.

That being said, you can download the semi-functional plugin here.

So here’s the css with some modifications I’ve made, you’ll need to botch these styles into some other stylesheet you’re already including or include it seperately in the header:

[viewcode source=“code-viewer.css“ link=“yes“ scroll=“yes“]

Included on this page using the actual Code-View plugin!!

So if there’s anything I learned from this experience is that while I already disliked php for having $variables and unecessary semicolons, I had no idea how bad it really sucks:

php.jpg

„Buongiorno“ heisst „Ich liebe Dich“

Dienstag, November 7th, 2006

… waere ein super Titel fuer so eine ZDF Eigenproduktion, finden Sie nicht? Das Drehbuch in meinem Kopf ist fast fertig: Auf Elba trifft der verwitwete Kardiologe Rudolph von Stattelhoffer die smarte Tierpflegerin Hanne, die auf der Insel das gebrochene Bein des Schimpansen Rudolf kuriert. Eine unheilvolle Verwechselung, durch lustigen Schabernack des Schimpansen und dessen Namensvetterschaft zum Kardiologen verursacht, laesst den Verdacht entstehen, dass Dr. Rudolph seine Frau ermordet hat. Zwischen Rudolph und Hanne knistert es zwar, aber sie weiss nicht, ob sie dem Kardiologen vertrauen kann.

Rudolf mit „Ich wuerde mich so gerne in Deinen starken Armen fallen lassen, aber ich weiss nicht, ob ich Dir vertrauen kann.“ koennte sie ihm z.B. in einem intimen Moment zufluestern.

Wird es Dr. van Stattelhoffer gelingen, seine Unschuld zu beweisen? Oder zumindest Hanne davon ueberzeugen, dass seine Frau wirklich bei einem tragischen Tennisunglueck auf dem von Stattelhoff’schen Anwesen umgekommen ist?

Man muss Zielgruppenorientiert denken, wenn man Erfolg als Drehbuchautor haben will, und das 75-95jaehrige Kernpublikum beim ZDF mag schmucke Aerzte und Schimpansen.