Welcome at Krijnen.Com

| Saturday, May 17, 2008, 11:14:37 A.M.  | RSS 1.0 | RSS 2.0 | Atom | Blogger | PhotoAlbums | Contact | Spam Poison |

February 24, 2006

Slow comment post speed fixed

The fix arrived in my RSS reader this morning, and once again Brandon Fuller saved my day: a bugfix that solves the slow handling of new comments. As Brandon described it: 'Posting a comment on my web site takes forever! I started getting sick of it. 90+ seconds to post a comment! What’s the deal?'

Here's the solution of the problem: once you do this, your comment posts will return to the user quicker and the rebuilds will happen in the background.

Posted by Leon at 08:59 AM | Comments (1)

February 22, 2006

Gremlin on your website?

cms.gifThe article is well over two years old, but I wish I'd discovered it earlier. It wouldn't have changed my choice (dynamic building, static publishing) but it contains a fine reservoir of arguments that I could have used in discussions with prophets of dynamic publishing.

Interesting too that the article is linked on the Movable Type website, the CMS used on this blog, a system that gives you the possibility to choose between static en dynamic publishing. Makes me wonder If they're receiving a lot of questions or complaints regarding dynamic publishing.

As Tony Byrne points out (after answering the question 'Whats 'Wrong with 'On-the-Fly'?) there are a lot of praises for static websites; faster delivering, better for external search engines, meaningnful names improving usability, no worries about database uptime, while one of the strongest point of static pages is actually the mobility; you can move the content to any platform you like.

By the way: what kind of application is ImageFolio on this website? Not database driven, but every click is a dynamic question. Quite right, but on the other hand: every page, every picture visited is copied to a cache, and from that moment on (until a rebuild of the indexes) all content is static. Best of two worlds?

Posted by Leon at 03:30 PM | Comments (6)

November 08, 2005

Is a server a she, like a ship?

No more Track Backs on this blog: the bloody spammers have won. I've had it with the track back system: deleted the mt-tb.cgi (and the renamed versions), and removed (at least I hope so) all occurencies of <$MTEntryTrackbackData$> in all templates, anywhere on the server.

The server bogged down too many times over the last months, because of trackback attacks. It didn't have to be rebooted (uptime 100% since april and the upgrade to the HPUnix 11i server), but I've been waiting too many times for things to happen, and I've been complaining to my host Verio for a number of times. Not their fault, I know now. I'm sorry, support.

Sometimes I was able to catch an attack as it started, and chmoded my mt-tb.cgi (or the renamed version) to 000, or simply deleted it temporarily, sometimes I wasn't there in time and only by coincidence saw that the whole blog was crashing to a standstill.

Bye bye trackbacks, and I'm not going to miss them. I don't think it's something that's going to stay anyway, and defintely not in the current form, where the spammers are raping the protocol every second or so.

If I want to know who's linking to me, my referral logs come in handy, and there's always Google who's keeping track of who's linking to my digital toko, or which websites are containing my blogs name, title, or ... whatever.

Waiting for the answer on the question when the trackback system will have followed dinosaurs into history (not if), the waiting is for some new plug-ins for Movable Type.

Like <$MTGoogle LinkToMyBlogData$> or something like that . . .

Anybody?

The best news: this entry took me approximately twenty minutes (cause I'm notorious for typo's that 10 minutes of writing, followed by 10 minutes of rereading).

Anyway, during those 20 minutes, and I started writing this post right after I killed my trackback system, my server feels and looks like she's (Is a server a she, like a ship?) reborn. Adding, editing, building, uploading, everything is fast and smooth again.

Ha!

Posted by Leon at 09:09 PM | Comments (13)

August 08, 2005

Passed the XHTML test :-)

Valid XHTML 1.0 TransitionalIt took some extra work over the weekend, but my blog (at least the front page) has passed the W3C markup validation service with flying colours; this page is valid XHTML 1.0 transitional now! Thanks to fellow Dutch Cowboy Bert-Jan who took my blog to the validator, and noticed with a big smirk - to my chagrin - that the front page contained no less than 596 (!) errors.
Ehhhhh?

That was the bad news, but the good news was that it wasn't too big a hassle to iron things out and reach a clean level.
For instance; ID's in the style sheet can only have one instance; if you plan to use an ID more than once, you have to use CLASS instead. Other errors for not passing validation were old <p> tags in the code, <br> instead of <br />.
The <p> was the main reason it looked much worse than it really was, as <p> only occured once in my main-index template. But, as it happened, that tag rested on a position in the template where it got parsed 80 or so time times during the building of the static XHTML, so we got 80 errors validating. Other faults: no </img> tags, no </input> tags (didn't even kow those existed), atrribute "type" not specified when calling java-script, attribute "alt" not specified, things like that.
You should not worry about your code if you use the standard MovableType templates; they pass validation.
My problem was that the code for the main-index was a kind of living organism, growing since 1997. When I started using MovableType two years ago, I mixed the old main index (lots of tables, and then again, lots of tables within tables) with the 2.6 MovableType templates. In the meantime MT has been upgraded a few times, my current version is 3.17 (soon to become 3.2).
Somewhere between 2.6 and 3.17 tables were dropped and divisions arrived; welcome to the wonderful world of XHTML. Only one table remains in the code: the calendar, but that one wil also be replaced by a division based one sooner or later.
When upgrading to 3.17 I decided not to change the old main-index, but I took the new templates, and started mixing elements like the random thumbnail and random cookies into the new template. It looked like everything was neat and well, and as there was no difference between the ways Firefox and Explorer parsed the whole kit and caboodle, I rested my templates.
Until Bert-Jan typed my adress in the W3C validator.
Is everything clean now? No, only the front page. I've got some more work to do before the rest of the site is celan too, and I'm afraid, I've got to rebuild all my ImageFolio templates as well.
In the meantime: check your own blog or website, and see for yourself what you have to do. Good luck :-)

P.s. check out: The Sagacity in Validation:

P.s. It's six months later now and when I run the checker I get bombarded with 300+ errors. I know I can clean them up in half an hour or so, but, as the blog is performing well on MIE and Firefox on my XP and even better of FF and Safari on my Mac, why bother? I've removed the XHTML compliant button, to be honest.


Posted by Leon at 09:38 AM | Comments (2)

June 23, 2005

Mea culpa, ik ben geen spammer!

spam.gifMea culpa, maxima mea culpa, maar ik ben geen spammer!
Excuses voor de rommel die het afgelopen uur tot u gekomen is.
Ik zal de uitleg kort houden; ben een blog aan het ontwikkelen waar we iets mee willen gaan doen in Breda en Bredase wijken.
Dat gaat goed, op MovableType, maar een van de dingen die je graag aangeslingerd wil hebben, is een notificatiesysteem waarmee bezoekers zelf kunnen kiezen hoe ze op de hoogte gehouden willen worden.
Daar is een plugin voor ontwikkeld op MovableType, maar die heeft me al meer hoofdbrekens bezorgd. Toch nog maar eens geprobeerd op mijn eigen toko, en als je zo'n plugin wil testen dan doe je dat met meer adressen. Dus doe ik een uitdraai van een batch van een paar honderd adressen, want zo'n tabel moet een beetje vlees hebben in de database. en helaas stond u daar ook bij.

Vervolgens zet ik de default op niks, nergens niemand op geabonneerd, en importeer ik die adressen in MySQL. Allemaal goed en wel, maar kennelijk zet MT die vlaggen om op het moment dat die tabel uit de database wordt geimporteerd via de Notification Plugin.
Dat hoeft nog niet fout te gaan, maar als je dan op hetzelfde moment ook nog een plug-in aan het testen bent die zo'n beetje bijhoudt wat er in juli 2004 allemaal gepost is (de what happened on this day in ... plugin), tja dan ....
Pfffff, en het is al zo warm ....
Het zal niet meer gebeuren. Desbetreffende plug-ins zijn beiden tot nader order afgetest.
Ik snap nu ook waarom ze nog niet officieel door MovableType ondersteund worden.

Posted by Leon at 03:36 PM | Comments (2)

June 16, 2005

Randomizing revisited

movabletype3bible.gifExploring all possibilities in MovableType is kind of a neverending trip. Another good help is The Movable Type 3 Bible by Rogers Cadenhead, that's lying next to my machine these days. And of course there's always the daily trip tot Plugins Directory on the MovableType website, that every developer should visit regularly.
That's where I noticed the Perl plugin, and I found out that a lot of things I've always done by server side includes (hence most extensions on my blog are .shtml) can also be build and done by MovableType tagging.

For example this line of code that executes a .cgi script in my cgi-local to randomize the logo on top of the blog:

<!--#exec cgi="/cgi-local/randombop.cgi" -->

After installing the Perl plugin from Brad Coates I could include the Perl code straight forward in a template:

<MTPerlScript>
#!/usr/bin/perl
$random_file = "randombop.dat";
open (file, $random_file);
@lines=<file>;
close(file);
srand;
print "content-type: text/html; charset=cp1250\n\n";
print "@lines[int rand(@lines)]\n";
</MTPerlScript>

Which executes the Perl code from the page. Beautiful, but dangerous.

Brad Choate: Be very careful who you give access to edit your templates if you have this plugin installed. Anyone who can edit templates on your server can basically control your web site with this plugin under the hood. The Perl code contained within your PerlScript tags is not sandboxed at all: file and database operations can be performed, infinite loops can tie up your server— any number of things can go wrong. I cannot be held responsible for any damage to your web site or web server due to the improper use of this plugin.

Some other things become very simple, like:

<MTPerlScript>
print localtime();
</MTPerlScript>

While I'm thinking about this plug-in and its security issues, I ran into another interesting tag in the Movable Type 3 Bible: randomizer tags.

At first I thought it not very useful, as the randomizer only works once; when the page is build from the template, and I'd like the randomizer to work continiously, for every new visitor or refresh. While that problem would be solved by installing the Perl script module, the MovableType random tag can be very, ver useful for other things;

for example:

<MT include module="My Google Ads">

or:

<MTinclude file="GoogleAds.htmll">

Headers, footers, modules, layout tags, advertorials, think about it, possibillities are endless.

Previous posts about randomizing:

How to randomize

Another way leading to Rome

Posted by Leon at 08:12 AM | Comments (0)

June 14, 2005

Does spam poison prevent comment spam?

fight_back_against_spammers.jpg
I may be wright, and I may be wrong, but the Spam Poison link on top of my blog seems to have a very nice side-effect on the comment-spam; it looks like my blog is being blacklisted by the spammers and their robots. While the number of visitors and pageviews over the last months has increased, the comment spam has come down from a couple of hundreds per day to almost zero.

I've been thinking about it, but I can't find another reason. When I moved to my new server two months ago on this very day, I was forced to remove the Captcha! plugin after having rebuilded MovableType on the new HP-UX server. Because of security issues Verio does not allow (yet) the installation of the Perl Image::Magick module on HP-UX hosting plans. This module parses the little PNG with the security code commenters had to enter before being able to comment. I know there are more options - MT BlackList, renaming the comment and the trackback cgi's, IP-banning - but, although initially I felt quiet naked without Captcha!, I decided to keep the comment system open, and see what would happen. There's only one protection running now; if a bot starts to flood, after a few comments in a certain number of seconds the IP-number of the commenter is automatically banned my MovableType, and that happens every once in a while.
That's all, so I was wondering what the heck and why. Why I'm I not bothered anymore? Must be SpamPoison then, wich has nothing to do with comment spam, but everything with spam harvesters.
The Spam Poison links will redirect email harvesting bots to trap sites that will feed it with an almost infinite loop of dynamically generated fake email addresses, mostly on known spammer owned domains :-) This will render their harvested lists pratically useless and of no commercial value, while it will pollute their databases in such a way that they're out of bussiness for at least a while, because they have to clean up their databases.
Now, I'm I right? Is SmamPoison working so good that the spammers have started blacklisting blogs with SpamPoison links?

Posted by Leon at 10:04 AM | Comments (5)

May 31, 2005

Bye, bye, mailmachine

Ik ga iets anders doen; na acht jaar onafgebroken zonder problemen (stupid and simple) gefunctioneerd te hebben gaat mijn vertrouwde mailmachine.cgi de deur uit.
Achterhaald door de tijd, door de tijd en door de nieuwe ontwikkelingen; deze entry is de laatste die op de oude manier door de mailserver is uitgebulkt.

Vanaf nu kunt u bij iedere nieuwe entry en/of comments een mededeling van mijn MT-Notifier plugin ontvangen, die door MovableType automatisch gegenereerd wordt op het moment dat er een nieuwe entry of comment wordt toegevoegd.
Een klik op de link erin brengt u naar het laatst toegevoegde artikel op mijn blog.
De Notifier plugin is een elegante applicatie van Everitz Consulting. Onder iedere mail die U met de nieuwe applicatie ontvangt staat een linkje naar een beheerspagina waar u zelf kunt kiezen voor opt out, dus met een enkele klik bent u voorgoed van me af, maar u kunt er ook voor kiezen of u op de hoogte wil gehouden van alleen nieuwe entries, van alleen nieuwe comments, of van entries plus comments.
Dat beheer is in het Engels, omdat er altijd nog wat Yanks, Brits en Ozzies meeliften op de diepere krochten van Krijnen.com, en altijd weer meedoen zogauw ze er iets van begrijpen.
Wie nu op de mailing-list geabonneerd is, ontvangt dus vanzelf minstens een keer ongevraagd een Notification, nadat ik de adressen heb geimporteerd in de MovableType database. Daarna ziet u maar wat u doet.
De laatste maanden zag ik al een teruggang in het aantal geabonneerden, hetgeen op het conto van het fenomeen RSS-feed bijgeschreven kan worden; nogal wat lezers hebben zich afgemeld voor de mailing-list, omdat ze een paar minuten eerder al de vlag van hun RSS -reader omhpog hadden zien gaan.
Da's een nieuw probleem voor uitgevers; kennelijk hebben nogal wat mensen genoeg aan de kop plus een enkele regel tekst in een RSS-feed, en nemen ze niet de moeite meer om even naar de site van de afzender te klikken. Hoe gaan we dat nu weer opvangen?
Zie ook: 'RSS-feeds kannibaliseren het web' op: www.dutchcowboys.nl/rss
Maar ik ben geen Luddite en ik hou ook die vooruitgang in mijn eentje niet tegen.
Ergo, mijn RSS feeds kunt u vinden op:
RSS 1.0 op: krijnen.com/index.rdfkrijnen.com/index.rdf
RSS 2.0 op: krijnen.com/index.xml
Atom (volledige feed) op: krijnen.com/atom.xml

Posted by Leon at 01:18 PM | Comments (2)

Upgraded tot 3.16: building like the devil

mt316.gifOne of the top beauties of MovableType is the support community. Because I'm building and developing a new blog, to be opened soon somewhere else on the web, I decided to upgrade this one to the latest release - 3.16 - first, before installing and building the new blog on the new and empty server. Some extra experience never hurts. I'm not a real fanatic regarding upgrades and releases; my average is maybe 1:5. Let others solve problems and issues first, and then upgrade.
Having said that; this one I should have done earlier. I've heard there are some security issues involved, which should be solved by now, but the main difference is the new building speed. Amazing, rebuilding the database is at least twice as fast as it used to be in 3.121.

The upgrade went without big glitches. One minor problem: I wasn't able to reset the ActivityLog. MovableType kept saying: It looks like you've changed your password recently. Please log out and log in again to complete this action. So I did, to no avail. This is where the support forums come in handy. One question, one answer, this time from Kimberley from the Six Apart support team: Seeing this message means the files in the /tmpl/cms/ directory have not been updated to the latest versions.
So it must have been a glitch in the FTP process, cause I did upload this directory as well, as the time flags on the server show. Anyway, after deleting the contents of /tmpl/cms and uploading again, resetting the ActivityLog was possible.
I've posted a second question minutes ago, regarding a problem with the MT-Notifier plugin. MT-notifier one is going to replace my ten year old mail-machine. That is, if the problem is solved, because it is working too well; it sends two mails to every subscriber when a new entry is added to the blog, instead of one. When adding a new comment (an every subscriber can choose his own opt in/opt out possibilities) it acts normal and sends one e-mail. I'm waiting for an answer from the forum, and in the meantime, I'm busy building another 3.16 release.

Posted by Leon at 08:53 AM | Comments (3)

May 14, 2005

Blog verhuisd ...

verio.gifKrijnen.Com is de afgelopen dagen verhuisd naar een nieuwe server op het Unix platform van Verio. Het is zeven jaar Free BSD geweest, maar nu is het HP Unix geworden, en na het inrichten van mijn toko ben ik nog op zoek naar de verschillen. Verio is na al die jaren nog steeds onovertroffen qua dienstverlening. Ze leveren voor 27 dollar in de maand niet alleen een complete (shared) Unix server met alle toeters en bellen, maar maken tevens iets waar wat ik notabene in mijn werkomgeving nog nooit meegemaakt heb: echt 24x7 echte ondersteuning.
Op welk uur van dag of nacht, in welk werelddeel, het maakt niet uit: als je een ticket invult of een mailtje invult voor support wordt je binnen minuten geholpen.

Sterker nog; je wordt daarna ook nog eens gebeld of het probleem naar behoren opgelost is, en als je dan toevallig een andere vraag te binnen schiet wordt je door je account-manager (staat wel tof; 'mijn account-manager') doorverbonden met een techneut en het komt allemaal goed.
Ook een hele mooie: als je aangelogd bent (via HTTPS) op je account, dan gaat er een piepje af - ik denk eerder bij sales dan bij support, want het blijven Amerikanen :-) - en dan duikt er ineens een chat venster op je machine op, waarin Jo John ('how are ya buddy?') vraagt of-ie je mischien even moet bellen, want dat praat wat gemakkelijker dan chat of e-mail of tickets. Net zoiets als die vermaledijde paper clip van Micorosoft die te pas en te onpas opduikt, maar dan eentje van vlees en bloed.

Voor de liefhebbers: de toeters en bellen: 40 gb monthly data transfer, 1500 mb disk space, 140 configurable pop/webmail e-mail accounts with mail forwards and autoresponders, spam filtering, virus protection, white listing to admit wanted addresses, blacklisting to deny unwanted addresses, cgi, ssl secure server support, database support (mysql, php4), real audio/video support, free volano chat, htdig search engine, urchin web traffic reporting, web site hosting control panel, httpsd fast downloads with multiple oc3 and oc12 connections, ups power backup, diesel backup generator, 24/7/365 network monitoring, 99.9% guaranteed uptime.

Alle veren in de reet van Verio gestoken hebbende; ik heb nogal wat werk moet verrichten om de boel weer aan het draaien te krijgen, maar dat is mijn eigen schuld; de server wordt ingericht zoals-ie besteld is, met alle garanties, maar wat je erop doet moet je zelf weten en ook zelf voor zorgen. Virtuele normen en waarden, eigen erantwoordelijkheid, afijn, U weet wel.
Wie wel eens een server verhuisd heeft weet waar de probleempjes ontstaan; de paden en url's in allerlei scripts moeten aangepast worden, de content van de database moet geëxporteerd en geimporteerd worden, de hele flikkerse boel (ook een hele mooie (Brabantse?) uitdrukking) moet verhuisd en aangepast worden, als dat gedaan is moet er getest worden, en als dat achter de rug is, blijven er nog kleine dingetjes haperen.

Een van de (niet ondersteunde) dingetjes die ik nog aan de gang geschopt heb gekregen: Captcha! Dat is een anti comment-spam tool, door Brandon Fuller geschreven, maar nog niet geimplementeerd en/of ondersteund door MovableType.
Captcha laat zo'n afbeeldinkje met willekeurige cijfers zien die niet door een computer gelezen kunnen worden, maar wel door U, en als U die cijfers goed overtikt, wordt uw comment toegelaten. Hat afbeeldinkje wordt per click at random gegenereerd door een Perl-script, als een PNG. Daarvoor is Image::Magick nodig, een Perl module die ergens door de host als root geinstalleerd moet worden. Ik heb het aangevraagd, dus dat zal wel goedkomen.
Het maffe is dat Captcha! op de vorige server draaide als een tierelier, de afgelopen maanden een zillion comment spams gestopt, terwijl daar bij mijn weten geen Image::Magick aan te pas kwam. Rara?

Goed, intussen de aanroepen van het Captcha! form tijdelijk uit de forms gesloopt, dus uw commenteert (graag) maar weer raak, maar als ze verzeild raken tussen reclames voor Casino's porno en Viagra, dan weet u waar dat aan ligt. Happy blogging!

Posted by Leon at 11:14 AM | Comments (6)

January 11, 2005

Six Apart Guide to Comment Spam

gotcha.gifWhile I'm still counting my blessings after having installed Brandon Fullers Captcha!, it never hurts to keep reading and studying other ways to prevent (comment) spam.
Jay Allen has posted a comprehensive document on the Movable Type website regarding all kinds of problems and solutions.
The document describes how malicious or unwanted comments ('comment spam') affect weblogs, the techniques spammers use to abuse weblogs, and the tactics that can be used to prevent and defend against these attacks. Also included is a review of the strengths and weaknesses of each tactic, instructions for implementing them on your weblog and ones which we recommend for the best protection. Enjoy!

Permalink to 'Guide for Fighting Comment Spam' Also available in PDF

Posted by Leon at 11:23 AM | Comments (6)

November 12, 2004

Movable Type: waar blijft Captcha!?

pluginpack.gifDeze bijdrage is geschreven op verzoek van de redactie van www.dutchcowboys.nl

Met andere blogs of weblog systemen heb ik geen ervaring, en dat zal er ook niet van komen, nadat ik ruim een jaar geleden MovableType geinstalleerd heb, en verslingerd ben geraakt aan dat prachtige publishing system. Je kan er mee wat je maar kan verzinnen, en iedere dag ontdek ik nieuwe trucs en mogelijkheden.
MT is een management systeem dat een site bouwt op basis van de content die in een database wordt opgeslagen. De meeste gebruikers zullen op een Linux platform met MySQL werken, maar het schijnt ook ook op een Windows server/SQL te willen draaien. Verder kun je MT op Linux/Free BSD/Unix ook met andere databases dan MySQL samen kan laten werken. De mijne draait op Free BSD/Apache/MySQL, altijd zonder problemen.

Tot versie 3.0 (inmiddels zijn we bij 3.121) parste MT vanuit de database statische files en indexen, maar vanaf versie 3.0 (default dan wel per individuele index) kun je kiezen of je de content statisch of dynamisch wil. Kies je statisch dan worden er .htm, .html of .shtml files en indexen gemaakt, kies je dynamisch dan worden er .php files gemaakt, van waaruit de database vervolgens bij iedere klik van een bezoeker dynamisch benaderen wordt. Beide methoden hebben hun voor- zowel als nadelen, zodat de marketing van Six Apart, het groeiende bedrijf van echtpaar en makers Ben en Mena Trott, met deze mooie kreet de markt op gegaan is: MovableType 3.0, The Best of Both Worlds!

De populariteit van MT heeft een nadeel: het relatieve nieuwe verschijnsel comment spam. Wie net een Movable Type is beginnen te draaien komt daardoor weleens in de waan te verkeren dat zijn site razend populair, gemeten naar de immense hoeveelheden commentaar die er al snel nadat het systeem up is, op geplaatst worden. Het gaat daarbij vooral om reclame voor viagra (en aanverwante soorten stijfsel), naast reclame voor casino's, financieringen, vele vormen van porno. Niet veel nieuws onder de zon; het is dezelfde spam waarmee alle mailboxen ter wereld geteisterd worden, alleen wordt deze rommel niet in een mailbox geplaatst, maar rechtstreeks onder de entries op je website.

De uniformiteit van Movable Type installaties is hier waarschijnlijk mede debet aan: ik vermoed dat de spammers hun robotspiders loslaten op de voor de hand liggende paden en de structuur van de gemiddelde Movable Type installatie, en vervolgens de comment forms vervuilen. Aan de andere kant; ik weet niet of bloggers die gebruik maken van andere systemen (Pivot, PHP Nuke, Bzero, Live Journal, Userland Radio) te kampen hebben met dezelfde hoeveelheid spam, dus misschien doet bovenstaand opgeld voor meer systemen.

Hoe dan ook; je begint gauw genoeg te krijgen van die flauwekul. Uiteraard biedt MT verschillende vormen en mogelijkheden van protectie.
1. Je kunt om te beginnen kiezen of je wel of geen comments toestaat. Geen heb je helemaal nergens last van , maar ja, wat is een blog zonder comments? Ik zie wel verschillende MT installaties die gefrustreerd hun comment fields weggescript hebben, en inplaats daarvan via een mailform (wordt kennelijk nog niet als zodanig herkend door de spam robots) comments verzamelen en via de beheersinterface aan de achterkant de comments aan de entries op het front end toevoegen. Omslachtig, niet zoals je het zou willen, maar je moet toch wat en het werkt goed; en het enige wat je moet doen is het 'comment' linkje naar het mail form linken.

2. Alleen maar comments toestaan van hen die een TypeKey identity hebben. TypeKey is een met SixApart samenwerkende organisatie, waar je jezelf gratis aan kan melden voor zo'n id, en als je die hebt en de MT webmaster heeft TYpeKey geactiveerd in zijn systeem, dan worden comments van wie zo'n sleutel heeft, naar keuze automatisch geplaatst. In het configuratiescherm van MT zijn daar verder wel wat mogelijkheden die qua structuur op allow/disallow lijken, zodat je daar even goed moet nadenken wat je aan het doen bent. Zoals niet geregistreerde bezoekers wel of niet toestaan, en zo ja, of zo nee, wel of niet gemodereerd, wel of niet met verplichte gegevens, en wel geregistreerde bezoekers wel of niet zus of zo. Het een in die settings heeft soms gevolgen voor het ander, dus hier goed opletten.

3. Wie gespamd wordt, en dat worden we allemaal, kiest al snel voor gemodereerd; alle comments komen in een wachtrij te staan. Op die wachtrij kun je verschillende filters loslaten, waaronder een selectie op IP nummers. Die IP nummers kun je vervolgens selecteren zodat ze in de toekomst geblocked worden, maar veel levert dat niet op; de grote spammers wisselen constant van ip-nummer, zodat je nog steeds iedere dag met de hand batches nonsens aan zit te vinken en te deleten.

4. Jay Allen heeft de MT Blacklist plugin geschreven. Daarover kan ik u niet veel melden, behalve dat ik daar zeer wisselende reviews over gelezen heb. Variërend van 'perfect werkend, als het eenmaal goed geconfigureerd is', tot veel wanhopige kreten om hulp op de support fora omdat er van alles fout gegaan is tijdens mislukte installatiepogingen. Dat zegt niet alles, maar de reden dat ik er nog net aan begonnen was omdat ik mijn 2.6 versie van MT een tijd heb doorgedraaid nadat de developer versie 3.0D al beschikbaar was, en MT Blacklist is niet backwards compatible.

5. Toen ik de 3.121 versie van MT geinstalleerd had en uiteindelijk toch maar besloten had om aan Blacklist te beginnen, want je moet toch wat als je verzuipt in de comment spam, belandde ik bij toeval op de website van Brandon Fuller. Aanleiding was een stukkie in een Apple Magazine over leuke plug-in die hij geschreven had voor i-Tunes: 'Now Playing'.

Die plug-in pakt de MP'3 tags van waar je op dat moment in i-Tunes naar zit te luisteren, in XML op, stuurt dat pakketje naar je webserver, en vandaar parst een PHP scriptje het naar het plekkie op je blog wat je daarvoor bestemd hebt. De plug-in kijkt of er een hoesje staat bij Amazon, of bij de iTunes winkel, of bij Barnes and Noble, en pakt de image erbij, vergezeld naar een link naar de song in de database van Amazon en/of iTunes. Leuk, en als jezelf aanmeld als affiliate bij iTunes en Amazon verdien je er, wie weet, ooit nog een cadeaubon of een paar dollar mee :-)

Dat script gekocht bij Brandon - een tien dollar donatie via PayPal - wilde ik een comment plaatsen op zijn mooie website, toen ik daar iets ontdekte wat me bijzonder intrigeerde: Brandon had zelf de perfecte anti-spam oplossing op zijn zijn MT weblog gemaakt: Captcha!

U kent het verschijnsel: de server genereert een willekeurig plaatje in het formulier. De tekst die erin geparsed wordt, dient u in een extra field voor de submit button in te voeren, en als u dat fout doet, wordt de comment geweigerd. Mensen kunnen zo'n tekst in een image wel lezen, computers (nog) niet. Als ze dat wel kunnen, is het pad naar een andere oplossing vrij simpel: je zet er een foto neer van een centerfold naast een heks en vraagt aan de bezoeker wie de mooiste is: links of rechts? Of zoiets.

Captcha! Dat moest ik hebben, maar hoe? Mailtje naar Brandon komt terug met een link naar een een .tar file, uitgepakt een summiere handleiding en een paar files. Zonder steun en garanties, want daar heeft-ie nog geen tijd voor en perfect is het nog niet. Belangrijkste overweging: de installatie is allesbehalve simpel en hij heeft geen tijd om een handleiding te schrijven, laat staat om ondersteuning te geven. Wel is hij in onderhandeling met Six Apart, zodat Captcha! wellicht in een volgende release geimplementeerd wordt.

Toch maar aangeslingerd, want als het werkt is het te mooi om waar te zijn, en hoef ik niet meer aan Blacklist te beginnen. Na twee pogingen in twee dagen werkt het ook nog, met tussen de bedrijven door een enkel antwoord van Brandon op mijn vraag waarom dat ene fieldje steeds maar achter de submit button opduikt inplaats van ervoor: 'forgot about that, you can't use captcha with those templates'.
Met andere woorden; zoek het zelf maar uit, overigens begrijpelijk, en niet onvriendelijk bedoeld. Pielen dus maar. Verschillende templates van 2.6 en 3.0 mengen blijkt uiteindelijk de oplossing; ik ben in een klap van álle comment spam af, kan TypeKey deactiveren, en hoef niet meer aan Blacklist te beginnen. 'Perfect. Glad you persevered through it', laat Brandon een dag later weten.

Mazzel was het ook, blijkt enkele dagen later als ik een bevriende MT blogger, die er niet uitgekomen is, laat weten dat ik het voor hem wel even zal fiksen, want ik weet nu immers hoe het moet. Zelfoverschatting; het viel vies tegen; iets andere paden, iets anders ingericht; een kleine crime, uiteindelijk wel met het beoogde resultaat.

Movable Types users die erom zitten te springen; laten we hopen dat-ie in de volgende versie van MT is opgenomen. Ik heb de vraag naar Six Apart gestuurd en wacht met belangstelling op het antwoord. Het enige wat ik U op dit moment aan kan raden is om dezelfde vraag daar te deponeren: waar blijft Captcha!?

Posted by Leon at 09:05 PM | Comments (2)

November 10, 2004

PB spamfree

slow.jpgPB spamfree as well now, thanks to the Captcha kit and kaboodle from Brandon. It took me considerable more time and effort to get it running on PB's site than I expected. Strange, because I didn't expect any trouble beforehand, logging into exactly the same MT version (3.121) as mine. One would expect two of the same MT versions behaving exactly the same, apart from the differences in paths. Because I've got a lot off cgi-stuff running (my illustrious colleague Henk van Ess dubs me the cgi-beast) I've installed MT in a cgi-local subdirectory, calling all my static files from another directory outside cgi-local. Other MovableType bloggers probably run more (or everything) straight from the bin.
In the meantime I've learned a few things: if you're hopping from one MT installation to another, cutting and parting templates and code from one installation to another: act slow! Made me think of what the skipper in Barbados told me in 1984 when he handed me the helm of his ship for the first time: 'whatever you do, you do it slow'

In contemporary MT language: think before you hit 'save', think before you hit 'build'. Then think again, look at what you are doing in the cutting and pasting process, and think again.
Well, the good news for PB: Captcha! is working everywhere, so he only has to do some minor restyling on some templates. On his main index he only has to rebuild his left navigation column. I hope he has a back-up of that template somewhere, because I've lost it somewhere between the two user interfaces this afternoon. Never mind: I've pulled his main index from Googles cache, so at least we know what we're talking about :-)
The biggest problem is that when you're trying to install Captcha! it won't work with the 3.0 date-based archive template, individual entry archive template, comment listing template, comment preview template, comment error template and comment pending template. The catch is that it also won't work with the 3.0+ versions of those templates. Still there?
So what I had to do was make another mix (different than my own cooking) of the 2.6 templates with the 3.0 templates, and after a lot of cutting, pasting, saving and rebuilding and making mistakes, after a couple of hours al kinds of error messages finally silenced: working forms, and no more spam.
Let's hope Six Apart is offering Captcha! as soon as possible, be it as plugin, or as part of the publishing system.

Posted by Leon at 03:23 AM | Comments (3)

November 03, 2004

MT 3.121 up and running

mt-31-banner.gif
Yep! MovableType 3.121 up and running. TypeKey working as well, but am I finished now? No, because even with TypeKey working, I'm fed up with the spam morons. They don't show up as comments on the front-end, but I still have to delete them from the cms. Why can't we block ip-ranges instead of ip-numbers?
I'd like to see an upgrade routine where clearly is pointed out which files - and which files only - have to be uploaded for a succesfull upgrade and which files can be omitted without encountering problems.
After having upgraded from 3.0D to 3.11 I had to re-edit all the special templates, because I'd done so in the past. I'm running them with headers and footers, different from the originale special templates, and they look nicer.
Only two minor flaws in some cms template files (e.g. in list_comment.tmpl and list_commenters_tmpl) where border ="0" was lacking in some tags, so the graphics in the cms over there got ugly blue borders.
Removing spam comments and rebuilding archives and/or indexes is much faster now. Af for the spam: I thinks I have to dive in MTBlacklist to find out if and how that works, bute I think Brandon Fullers solution might the one. Now how ... ?

Posted by Leon at 03:03 AM | Comments (3)

October 21, 2004

Now playing > > > > > >

rem.gif
Leuke plug-in in iTunes: Now Playing. Het script is geschreven door Brandon Fuller, en pusht informatie over de song die op dit moment in iTunes op mijn machine gespeeld wordt, als een XML file naar de server. Daar leest een PHP script de XML, en regelt een simpele regel java script wat hier rechts zichtbaar wordt: Now Playing. Doe af en toe eens een refresh en u ziet waar ik op hetzelfde moment naar zit te luisteren. Als iTunes uitgespeeld is, parsed de PHP niets meer, en verdwijnt Now Playing hier rechts vanzelf in een zwart gat omdat het niet meer zichtbaar is in de main index van Movable Type.
Overigens hoef je geen Movable Type te draaien om deze plugin van iTunes te kunnen gebruiken.
Je bepaalt immers zelf waar de XML heen gestuurd wordt, en dat kan naar iedere webserver zijn, en vanaf welke plaats op welke webserver je vervolgens het PHP script oproept, dat moet je zelf weten.

De enige voorwaarde is dat je iTunes gebruikt (gratis) en uiteraard dat je ergens op een webserver kan. iTunes is sinds vorige week mijn vaste speelprogramma geworden, in de plaats van Music Maker Jukebox, waar ik verder niks over te klagen had. Maar Volume Logic (19 dollar), de plug-in die spierballen aan mijn Audigy/Klipsch sound heeft toegevoegd, werkt alleen maar in iTunes. Ach, even wennen. Na een week bevalt iTunes me ook prima, zeker als je er zulke leuke plug-ins aan toe kan voegen als Volume Logic en Now Playing (10 dollar donatie als je het aan de gang krijgt).
Wie alle ins and outs van Now Playing wil weten, moet de boel downloaden op de (mooie) website van Brandon Fuller. Ik ben er nog niet helemaal achter wat allemaal kan. Bijvoorbeeld automatisch Podcasts downloaden als ik mijn iPod synchroniseer via iTunes, onderdeel van de Audioblog van Brandon. Komt nog wel.
Als er van de song die op dit moment op mijn computer gespeeld wordt, een hoes aanwezig is op een van de databases waar de plug-in naar kijkt (Apple iTunes winkel, Amazon, Barnes and Nobles) dan is de hoes zichtbaar. Zo niet, dan staat er een 'Not available' gifje, maar je kunt wel klikken naar informatie over de cd die op dit moment gespeeld wordt. Je kunt ook bestellen, maar daar verdien ik nog niks mee; ik moet mezelf eerst affiliate van Amazon maken, als ik dat goed uitgevogeld heb. Later meer, zullen we maar zeggen.

Posted by Leon at 11:53 PM | Comments (2)

May 27, 2004

Up and running: MovableType 3.0

mt30.jpg
Up and running: version 3.0 of Movable Type Publishing Platform. Having said that, apart from the fact that the installation/upgrading manual could be a little clearer om some points, I'll have to find out what the new release can do more. One good step forward is the possibility to delete comments in batches, and setting up rules voor registered comment authors. I'm sure a lot of bloggers are fed up now with spam comments, like porn or viagra advertisements. Last week I had an average of a hundred and fifty of those bloody things per day - posted by a moron who calls himself lipitor. Until 3.0D I had to delete them one by one before rebuilding the files, be it through the Movable Type user interface, or in PHPMyAdmin. I think there must be a query to delete all comments in MySQL if posted by a certain commenter, but as I am using MySQL itself not often enough, I haven't got a clue what kind of query.
Anyway, in the new comment filter there's a possibility to do so. You can list comments displayed to certain e-mail adresses, physical names, or ip-adresses. What's more, three different statuses can be attached to the comments: approved, pending approval, banned. And the possibuility to check or uncheck all comments before deleting, in rows from twenty or more. Beautiful!
From the same menu you can call lists of all comments - coming up with editing or deleting fields and buttons - from any commenter, all comments on any entry, all comments form a certain ip-adress, all comments by e-mail adress, if given by commenter.
What more can be done with 3.0, I'll have to check out later, but it looks good.

Posted by Leon at 01:02 AM | Comments (0)

March 13, 2004

Waarom mijn Movable Type zou moeten sterven

Movable_Type_must_die.jpg
Je kunt je afvragen of de vader van iemand die Joyce heet, er goed aan doet om zijn zoon James te noemen. Als, want zo gaat het nogal gauw op internet, die zich Joyce noemende James tenminste rechtmatig op die voor- of achternaam kan beroepen. Morgen noemt-ie zich misschien met hetzelfde gemak Shakespeare of de Zoon van God.

Het gaat vaak zo op internet, maar het is van alle tijden. Shakespeare, God en zijn zoon, een van de twaalf Apostelen, vele keizers en pausen die ooit geleefd hebben, staan iedere zondag op Speakers Corner in Hyde Park en verkondigen daar luidkeels hun boodschap.
Op internet kan iedereen tegenwoordig zijn eigen Speakers Corner opstarten en daar verkondigen wat hem juist of lollig dunkt. Om misverstanden te voorkomen: het is ook mijn hobby, een jaar of tien geleden begonnen op het bulletinboard met het Amsterdamse NEABBS als toegang tot internet. In 1996 gevolgd door de eerste homepage op de server van Digitale Stad Eindhoven, weer een jaar later een eigen domein.
Ik doe nog steeds even vrolijk als in het begin mee aan het zinloos verspreiden van tekst en beeld, terwijl ik het aan anderen overlaat om zich een oordeel aan te matigen over de kwaliteit van het gebodene. `James Joyce daarentegen neemt geen blad voor zijn mond, als hij het over zijn collega-bloggers heeft. Voor wie het nog niet weet: waar je de meeste persoonlijke homepages of websites altijd als digitale dagboeken of virtuele kermissen van digitale ijdelheid had kunnen zien, is het vooral de voortschrijdende techniek die het begrip en de naam weblog of blog bepaalt.
Een blogger doet qua content in principe niks anders dan Tante Truus met haar homepage over breiwerkjes, waarop andere breisters opgeroepen worden om interessante patroontjes toe te voegen of om te reageren op de gestegen wolprijzen.
Hij doet ook niets anders dan ondergetekende, die het wel leuk lijkt om alles wat-ie schrijft van een passend plaatje te voorzien, dat in een database te stoppen, om vervolgens aan iedereen trots te laten zien hoe mooi het is. Met iedereen die zijn schouders erbij ophaalt, vraag ik me niet eens af wat het nut van deze egotrip is. Terwijl ik me aanbevolen hou voor zinnige suggesties aangaande het nut, ga ik er desondanks lekker mee door om de enige valide reden: leuk om te doen.
De een heeft een modelspoorbaan, de ander gaat vissen, wij pielen met onze computers.
Niks mis mee, maar via die computer bots ik iets te vaak naar mijn zin op figuren die zichzelf zeer serieus nemen en die over internet, weblogs, bloggers, zoekmachines, virtual communities en RSS feeds praten en schrijven alsof het eind der tijden aangebroken is. James Joyce is nog een graadje erger. Was hij niet op internet terechtgekomen, dan was-ie nu waarschijnlijk host in van die Amerikaanse of Australische radio talk-back shows. Ook wel bekend als hate-radio.
Gezien het alsmaar zakkende niveau van wat de commerciëlen hier in beeld en geluid brengen, zal er ongetwijfeld snel een Nederlands equivalent opstaan, dus wees gewaarschuwd. De gemiddelde talk-back host praat net zo snel en onbeschoft als Hans Teeuwen, leunend op een gedachtegoed dat aan ultra-rechts óf aan ultra-links ontleend is. De masochist die het leuk vind om live voor joker gezet te worden, belt zo’n figuur tijdens de uitzending en krijgt dan de wind van voren.
Heel gezellig, voor de liefhebbers dan.
James Joyce heeft zich op Kuro5hin (Technology and culture, for the Trenches) ontpopt als zo’n profeet van de aanwakkering van de haat. Zijn munitie is gericht op bloggers in het algemeen en op de gebruikers van het Movable Type systeem (MT) in het bijzonder. Dat laatste doet pijn, net nou ik dacht dat ik de meeste grappen en trucs van dat mooie content management en publishing systeem onder de knie begon te krijgen. Tenminste, ik vind het een fantastisch systeem, maar Joyce ziet het als een het internet bedreigende pest.
Als de scheld- en schuttingwoorden uit het betoog van James Joyce gestript worden, blijft er minder dan de helft over. Volgens hem kan iedere idioot met een IQ ter hoogte van de gemiddelde kamertemperatuur (20 graden Celsius is 68 graden Fahrenheit) MT installeren en er vervolgens het web mee verstoppen.
Dat is bijzonder slecht nieuws voor mijn ego, want het heeft me bloed, zweet en tranen gekost, voordat ik het boeltje goed aan het draaien had. Laten we daarom de thermometer even buiten beschouwing laten en zien welk onheil er met MT aangericht kan worden.
De kern van het onbeschofte betoog is tamelijk technisch. Simpel gezegd komt het erop neer dat de gebruikers van MT, die vrolijk op en neer pingen en linken naar elkaar, niet alleen het world wide web, maar ook de zoekmachines, met Google als voornaamste slachtoffer, beginnen te verstoppen.
James Joyce gebruikt zoveel technische termen en vergelijkingen die mijn pet te boven gaan, dat ik niet weet of-ie gelijk heeft met zijn argumenten en beschuldigingen.
Misschien scheldt hij met verstand van zaken, misschien niet. Hij heeft in ieder geval een levendige discussie op gang gebracht, die door voor- en tegenstanders in tientallen talen op duizenden blogs gevoerd wordt. Ik ben geen aanhanger van complottheorieën, maar hier twijfel ik. Waar is James Joyce, de pot die de ketel het zwart zijn verwijt, mee bezig? Zoveel mensen struikelen in hun haast om iets aan zijn opvattingen toe te voegen, dat nog maar zelden de naam van een blog - die van Joyce - zo snel zo hoog in beeld gekomen is bij Google. Tik Movable Type en zie zelf. Zou dát de bedoeling geweest zijn?

Check out: PBDoetMee

Posted by Leon at 05:50 PM | Comments (6)

February 09, 2004

Another way leading to Rome

rom.gif
Another way to randomize things, be it pictures, cookies, headlines, entries, postings, archives, whatever.
This one in php, and maybe just a bit simpler, more elegant?

I think so.

My previous method consisted of a server side include call code somewhere (in a template, or in static file, parsed from the template) calling an executable file in the cgi-local, that on its turn executed the randomizer. Whic means you need the call, the script and a file with what you want to randomize.
With the php method you only need a little bit of code, and a file with the randomizer stuff.
Remove the hard breaks, and you have one line of code. Silly? I know a guy who is really freakish about file and code sizes. After having done his html he removes all hard returns form his code, and all the file-names on his server a as short as possible. He runs files like a.htm trough z.htm, and is convinced it speeds up things.

Anyway, the php randomizer, to be embedded anywhere you want it to show up, looks like this:

<?php
$randomizer = file("random.dat");
$random = rand(0, sizeof($randomizer)-1);
echo $randomizer[$random];
?>

In this case the name of the file containing the randomizer is, you guess it: random.dat.

Bring it back to one line of code, and it still works, at least it does on my server;

<?php $randomizer = file("random.dat"); $random = rand(0, sizeof($randomizer)-1); echo $randomizer[$random]; ?>

And of course, my freakish code saving friend would do this:

<?php $a = file("f"); $b= rand(0, sizeof($a)-1); echo $a[$b]; ?>

Works too, funny, isn't it?

Posted by Leon at 06:49 PM | Comments (0)

January 29, 2004

Ping ping, ping pong

ping.jpgMet dank aan Erwin Boogert: mijn eerste twee track back pings! Net zoiets als de eerste sigaret, de eerste je weet wel, de eerste kater...
Met een variatie op 'ik vind u goed, hoe vindt u mij': u heeft mij gepingd, dus ik ping u terug :-)
Bij deze: bedankt, ping!

Posted by Leon at 09:43 AM | Comments (0)