Michel Vuijlsteke's weblog

Tales of Drudgery & Boredom.

Maand: oktober 2005 (pagina 1 van 9)

Waarom geen MovableType?

vroeg Steven. Wel, dààrom niet:

Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, webmaster@vuijlsteke.be and inform them of the time the error occurred, and anything you might have done that may have caused the error.

Het importeren duurde een eeuwigheid (lànger dan WordPress), en het rebuilden (al die zooi moet in statische html-pagina’s gestort worden namelijk) lukt me niet. Time-out, vermoed ik? Ik zou het niet weten. Nee, ik weet het wel. Geen Movable Type voor mij. Ik word nerveus van de gedachte alleen al dat ik voor elke minuskule wijziging in formatering duizenden en duizenden filetjes moet heraanmaken.

Tempora, mores

Daarjuist op de kortste quiz: de één of andere numskull die er niet in geslaagd is om ook maar één van de drie kinderlijk simpele vragen te beantwoorden. Hij heeft naar eigen zeggen zo’n 50-60-70 CD’s in huis.

Als hem gevraagd wordt welke de laatste CD is die hij gekocht heeft, zegt de kerel zonder enige schroom: “ik copieer al mijn CD’s”.

’t Is proper.

[grrr]

Het begint nu toch wel de spuigaten uit te lopen met TypePad. Dedju.

Typepad/WordPress

Vorige keer is het redelijk rap gegaan, toen ik van Radio Userland overstapte op TypePad.

Maar deze keer ben ik er toch niet al te zeker van. Aan de ene kant: TypePad is godverdomme traag, en als ik iets post dan verschijnt het er ofwel drie keer op, ofwel niet. En ik kan er onmogelijk dingen aan toevoegen die iets meer doen dan enkel de Movable Type-tags. Aan de andere kant: àl die links die niet meer zouden kloppen.

Aan de nog andere kant: uiteindelijk bleek het niet eens zo moeilijk te zijn om voor redirects te zorgen. Eerst in TypePad een nieuwe template gemaakt:

<MTEntries lastn=”999999″>
<$MTEntryPermalink$> http://blog.zog.org/<$MTArchiveDate format=”%Y/%m/”$><?php echo sanitize_title(“<$MTEntryTitle$>”); ?>.html
</MTEntries>

Dat geeft een hele reeks lijntjes in de zin van

http:/blog.zog.org/2005/10/de_mysteries_va.html http:/blog.zog.org/2005/10/<?php echo sanitize_title(“De mysteries van Google”); ?>.html
http:/blog.zog.org/2005/10/toch_nog_php.html http:/blog.zog.org/2005/10/<?php echo sanitize_title(“Toch nog PHP”); ?>.html
http:/blog.zog.org/2005/10/links_for_20051_25.html http:/blog.zog.org/2005/10/<?php echo sanitize_title(“links for 2005-10-30”); ?>.html

Dit moet dan in WordPress ergens gesmeten worden, ik heb het in een ongebruikte template in de footer gezet, en die sanitize_title() maakt dan op basis van de titel de URL zoals die in WordPress gebruikt wordt. Resultaat is een lijst van URL’s zoals bij TypePad met ernaast de URL zoals in WP:

http:/blog.zog.org/2005/10/de_mysteries_va.html http:/blog.zog.org/2005/10/de-mysteries-van-google.html
http:/blog.zog.org/2005/10/toch_nog_php.html http:/blog.zog.org/2005/10/toch-nog-php.html
http:/blog.zog.org/2005/10/links_for_20051_25.html http:/blog.zog.org/2005/10/links-for-2005-10-30.html

Heb ik dat dan goed begrepen dat ik in de root van mijn nieuwe website een enóóórm grote .htaccess-file moet maken met op een rij

Redirect Permanent /2005/10/de_mysteries_va.html /2005/10/de-mysteries-van-google.html
Redirect Permanent /2005/10/toch_nog_php.html /2005/10/toch-nog-php.html
Redirect Permanent /2005/10/links_for_20051_25.html /2005/10/links-for-2005-10-30.html

voor elk van de bijna negenduizend entries? Brrr.

Geschreven al luisterend naar: Astor Piazzolla – The Vienna Concert – Invierno Porteno

Plugin

Allez dan. ‘t Is alsnog de plugin geworden die me aangeraden was door onder meer Pascal Vanhecke. Een schoon geprogrammeerd ding, voorwaar.

Op voorwaarde dat je

if ( function_exists("is_plugin_page") && is_plugin_page() ) {
 kjgrc_options_page();
 return;
}

vervangt door

add_action('options_page_get-recent-comments', 'kjgrc_options_page');

…want anders geeft het problemen van Fatal error: Cannot redeclare kjgrc_subpage_gravatar() en dergelijke. Wegens blijkbaar twee keer ingeladen, één keer in ‘t algemeen en één keer opnieuw op de options-pagina. En dat de te downloaden versie zich niet houdt aan de plugin API-afspraken, foei!

Geschreven al luisterend naar: Apollo 440 – Millennium Fever – Don’t Fear The Reaper

De mysteries van Google

‘t Is altijd koffiedik kijken met Google. Ik heb er meestal wel geluk mee, in die zin dat de websites die ik maak de neiging hebben redelijk goed geïndexeerd te raken, en redelijk goed te scoren.

Maar dan zijn er ook websites die om onverklaarbare redenen gewoon niet in de index geraken.

Pak bijvoorbeeld de website van Yves Fonck, www.yvesfonck.be. Zoek naar “yves fonck”, en je zou verwachten dat die redelijk hoog scoort: de domeinnaam is de zoekterm, de titel van de pagina is de zoekterm, helamaal bovenaan staat er een <h1> met de zoekterm in, enfin, them’s all good eats.

Maar toch: noppes. Een allinurl:yvesfonck geeft geen resultaat, met andere woorden, geen enkele pagina geïndexeerd.

En het is niet dat de site blacklisted is, enfin denk ik toch niet. Ik had me laten vertellen dat je dan bij een opzoeking met enkel de URL enkel de twee laatste opties krijgt in plaats van de drie die Google nu geeft:

De site bestaat ook al een maand of zes, wordt regelmatig gewijzigd, en dingen, en dingen.

‘t Is dus een typische Google-affaire. Downright scary.

update Voor alle duidelijkheid:

  1. ‘t Is niet mijn website
  2. Ik weet op één twee drie een stapel redenen waarom hij slecht zou geïndexeerd zou kunnen zijn, maar hij is gewoon niet geïndexeerd
  3. Ik weet op één twee drie een aantal redenen waarom hij zou kunnen blacklisted zijn, maar dat lijkt hij ook niet te zijn

Ja, de site heeft pagerank 0, en er zijn geen links en hij zit niet in Google’s cache, maar als iemand me zou kunnen zeggen hoe ik met zekerheid kan uitvinden of hij op de zwarte lijst staat…

En om specifiek op Philippe te antwoorden: (1) volgens andere spider-emulatoren staan de woorden wél van elkaar (2) zog.org heeft niet zoveel woorden en komt toch redelijk hoog in de resultaten voor “zog” (3) er staat een <h1>, zoals ik zei, en wel met de naam van de fotograaf erin, (4) you have got to be kidding

Toch nog PHP

…en zo kwam er vandaag alsnog PHP aan te pas. Blijkbaar zit er in WordPress geen standaardfunctie om de laatste x commentaren te tonen.

In MovableType is dat simpelweg

<MTComments lastn="15" sort_order="descend">
  <p>
    <MTCommentEntry>
      <a href="<$MTEntryPermalink$>#c<$MTCommentID$>">
        <$MTCommentAuthor$>
      </a> over
      <a href="<$MTEntryPermalink$>">
        <$MTEntryTitle generate="1"$>
      </a>
    </MTCommentEntry>
  </p>
</MTComments>

Maar niet standaard WP. Enfin, ik dus wat gezoch op tinternet, en dan kom je al meteen op allerlei plugins die vanalles en de pompsteen doen. Terwijl ik hoegenaamd niet zoveel nodig heb.

Dus dan maar zelf gedaan, en da’s dan standaard-PHP dus:

global $wpdb;

$comments = $wpdb->get_results("SELECT ID, comment_ID, comment_author, post_title FROM $wpdb->comments LEFT JOIN $wpdb->posts ON $wpdb->posts.ID=$wpdb->comments.comment_post_ID WHERE post_status = 'publish' AND comment_approved = '1' ORDER BY comment_ID DESC LIMIT 15");

foreach ($comments as $comment) {
  echo "<p>".$comment->comment_author.
       " over ".$comment->post_title."</p>";
}

Heh. Nu nog een permalink te pakken krijgen. En dat zal, vrees ik, niet zo simpel zijn.

Met de ingebouwde .htaccess-generator komen er links uit als

  • http://blog.vuijlsteke.be/2005/10/links-for-2005-10-29.html
  • http://blog.vuijlsteke.be/2005/10/today-i-are-been-mostly-listening-to.html
  • http://blog.vuijlsteke.be/2005/10/naam-in-japanse-tekens-voor-tattoo.html

terwijl de equivalente links bij TypePad zijn:

Godver. Typepad doet een vervanging van alle aardige tekens door _, trunceert het resultaat tot 15 tekens, en voegt er indien nodig _[volgnummer] achter. Maar dat wordt dus nergens bijgehouden. En het kan ook niet gereconstrueerd worden uit de database.

Enige manier om het te achterhalen, is de fecking gegenereerde files allemaal te downloaden. Dus:

wget --mirror -w 1 -p http://blog.zog.org

en dan moet ik nog eens een man ls doen om een lijst te krijgen van alle files, in de vorm van een dir /b /r *.html, maar dan in unixlingo, dus zoiets:

/2005/10/filenaam1.html
/2005/10/filenaam2.html
/2005/10/filenaam3.html

en dan vrees ik dat ik zal moeten alles in een grote excel-file smijten en één voor één de permalinks juist zetten in de WordPress-database.

Tenzij iemand een beter idee heeft op het internet, natuurlijk. Ik zal nog eens zoeken.

links for 2005-10-30

Motorisch geheugen

Handen naar omhoog al wie vroeger in Norton Commander leefde!

Ik dus wel degelijk. En als ik dan op Linux moet rondhossen, gebruik ik steevast Midnight Commander.

Dan komen er twee motorische geheugens met elkaar in conflict: dat waarbij F5 copy is en F6 move, F4 edit en F10 quit aan de ene kant, en dat waarbij F2 rename is aan de andere.

Gelijk het verschil tussen alt-f s in alle windowsprogramma’s tegen alt-f v in Photoshop CS (niet CS2). En escape :wq! versus F2 enter F10 enter. En F5 enter enter en F7 n y en rap even F11 in WP. En ctrl-K b, ctrl-K K in editors. En al die andere dingen.

Ach, alleman in koor: mèèèèèè-morieeeesss

Verhuis

Ik heb vandaag, in plaats van PHP te programmeren, een weblogd verhuisd.

Uiteindelijk is dat allemaal geen werk meer tegenwoordig—al kruipt er in de stomme kleine details nog meer tijd dan een mens denkt—maar dat doet me er nog maar eens aan denken dat ik eigenlijk wel eens zou kunnen mijn weblog hier van adres van server kunnen laten verhuizen.

Ik ga eens proberen om te zien wat het geeft. Naar een domein onder vuijlsteke.be of zo. Want bij Typepad, nog naast de eeuwigegodse traagheid, zal het ook niet blijven duren.

Het is daar namelijk zo’n typisch fuzzy situatie trouwens à la Telenet in het begin: “de limiet is x, maar we gaan er nooit naar kijken, echt waar beloofd”. En toen was er plots de telemeter. Een Pro-account bij Typepad, daar mag men eigenlijk maar maximum 10 GB traffiek hebben, maar ik zit daar al jaar en dag boven: deze maand wordt het denk ik 100 GB. 

Dus op het moment dat ze daar hun eigen telelemeter aanschakelen, moet ik er rap weg kunnen geraken.

En bij Dreamhost kom ik nog van ver nog van dicht aan de transferlimiet. En ik betaal er toch voor. Zodus.

Lang geleden

‘t Was al weer eens lang geleden dat ik nog eens iets nutteloos gedaan had.

Tijd om eens een website temaken in PHP. Dat is al geleden van, eum, ergens eind de jaren 90 dacht ik, toen er ergens “snel even een kalender” voor gemaakt moest worden en dat dat alleen in PHP kon. En dat het project toen een beetje uitgelopen was.

Ik heb een idee voor iets, maar ik weet niet of ik er wel ga geraken op een paar dagen. ‘t Is nogal ambitieus. En om het dan ook meteen met een taal te doen die ik al geen jaren meer gebruikt heb, en die ondertussen ook al zoveel veranderd is: masochisme.

Hm. phpinfo() zegt me dat ik 4.3.10 gebruik. Eens upgraden eerst. Niet omdat het nodig is, maar een mens heeft graag blinkend nieuw spul hé.

Zo: 5.0.4.

Geschreven al luisterend naar: Kate Bush – The Kick Inside – Kite

links for 2005-10-29

Dedju

Bruno is mij voor.

Ik was van plan het met een lik meer sarcasme te zeggen, maar ‘t komt op het zelfde neer: www.peeceefobie.be en www.pecephobie.be schieten hun doel naar mijn goesting voorbij.

Ach. Al was het maar om contrarie te zijn: ‘t zou kunnen van niet natuurlijk. Wij hebben het gemakkelijk om vanuit onze luie zetel te gaan denken dat meer dan tien jaar websites maken ons genoeg ervaring geeft om te weten wat de gemiddelde niet-PC-kundige Belg denk van elke website.

Misschien best eens op zoek gaan naar mensen in de buurt die geen verstand hebben van computers, en wie weet zeggen die mij iets heel anders.

Mij lijkt het alvast alsof ze de zogezegd-blindsurfer-versie met wat beeldjes zouden kunnen opfrissen, de pagina’s wat onderverdelen, er wat screenshots en dergelijke zouden bij kunnen plaatsen, en dat ze dan een perfecte site hebben. Ah well.

Spy vs. Spy

Heh. Over Valerie Plame, de dame dankzij wie onrechtstreeks allerlei vervelende zaken aan het gebeuren zijn voor de Bush-administratie:

Plame entered the CIA 20 years ago as a case officer at age 22. She spent several years in intensive training at home and abroad, and traveled widely, often presenting herself as a consultant.

Her official employer, listed in public records, was a Boston firm, now known to have been fictitious, named Brewster-Jennings & Associates. And during her years undercover she studied at the College of Europe in Bruges, Belgium. [Washington Post]

We hebben nog wel spionnen aan het College gehad, voor beide kanten in de Koude Oorlog trouwens. Ik hoop van ganser harte dat er ooit eens genoeg tijd is om dat allemaal op het interweb te krijgen.

Kalender gedaan, oef!

Pfff. Ik ging niet rusten voor ik die stomme kalender af had, ewel, ‘t is zover.

En kwestie van het toch een beetje proper te houden, zijn URLs van de vorm

  • /events voor de nu actuele en komende events
  • /events/2005 voor alles van 2005 (maar dat moet ik nog doen, want ik wil in de database een veldje bij maken voor de belngirjkheid, en dan zou ik daar per maand alleen de belangrijkste dingen tonen en daarna iets als “and 14 more events…”)
  • /events/2005/10 voor alle events van oktober 2005
  • /events/2005/10/29 voor alle events op 29 oktober 2005
  • individuele events hebben nu nog de vorm /events/[id], waarbij [id] gewoon een getal is, maar dat wordt van zodra ik weer tijd heb iets in de vorm /events/[jaar]/[maand]/[dag]/[slug], waarbij ik de begindatum van het even zou nemen en een arbitrair gekozen slug als die ingevuld is, of anders de eerste paar karakters, sanitized uiteraard, zoals bij veel weblogs het geval is.

Default zicht is dit:

Calendar 1

…’t is te zeggen, de twintig nu actieve en komende events. Ik moet er dringend nog belangrijkheid insteken, dat de belangrijkste events bovenaan kunenn staan (nu staat die Pilot Course die we doen in Moskou meer dan een maand helemaal bovenaan, wat niet zo interessant is).

Elk event heeft hier een titel, een datum van (eventueel ook tot), een plaats, een doelpubliek (dat ik nog een label zou moeten geven, zie ik net), en een korte omschrijving.

Idemditto voor het maandoverzicht; in de kalender rechts zijn de iets donkerder grijze dagen klikbaar (rollover geeft een achtergrondeffektje en een andere kleur en alles op het getal):

Calendar 2

Klik op een dag, en je krijgt alle evenementen op die dag te zien:

Calendar 3

Merk op: “events on”, niet zoals anders “events for”. En ook: als er maar één event is, ga je meteen naar de detailpagina, die er als volgt uitziet:

Calendar 4

Nog niet helemaal zeker of ik “News & Events” zou houden als titel dan wel dat ik de naam van het event zou gebruiken.

Merk op: in de kalender staan de dagen waarop het ding plaatsgrijpt of -greep, in een coleurken aangeduid.

Ook: als het geen zin heeft om een detailtekst te voorzien omdat er een detailpagina ergens op de site bestaat voor het event (zoals de opening vorige week bijvoorbeeld), dan wordt de “more” link op indexpagina’s vervangen door een link naar de pagina met meer uitleg (in plaats van de detailpagina in de eventkalender)

Ik heb uiteindelijk dezelfde database als het nieuws gebruikt, maar wel twee flags toegevoegd, zodat een item nieuws en/of event kan zijn. Dus dat ik de keuze heb om een aankondiging (“X zal komen”) te zetten én een event (“komst van X”), dan wel alleen een nieuwsitem (“nieuwe job te verkrijgen alhier”), dan wel alleen een event (“Europees Documentatiecentrum gesloten van…tot”), dan wel iets dat voor allebei kan dienen (“op dag X, gebeurtenis Y op plaats Z, met deelname van Q”).

Maar goed, basisversie is klaar. En al het heavy lifting is gedaan.

Nog te doen: error checking allemaal eens grondig nakijken, layout nog wat verfijnen. k zou er ook een hele ransel events moeten in pompen, maar dat zal voor een moment zijn dat ik iets meer geconcentreerd zal zijn.

Ik kan er nu voor de rest al related links insteken via de algemene related links-functie, maar daar wil ik op termijn ook een systeem van categorisatie in steken, waarmee ik bijvoorbeeld voor alle bibliotheeknieuws automatisch een related link naar de bibliotheek kan zetten.

En ook nog te doen: een RSS feed maken. Moeilijk is dat niet, en zoals de ‘ollanders plegen te zeggen, wél zo handig.

Ah ja, en ook: eens kijken naar wat er onder die kalender staat. Ik had eerst gedacht aan Today/This Week/Next Week/This Month/Next Month. Maar toen bedacht ik dat dat misschien niet zo handig is: “today” zullen, er nooit veel meer dan een paar zijn, “this week” is altijd van maandag tot zondag, dus dat heeft niet veel zin, en zowel “this month” als “next month” zijn niet noodzakelijk relevant.

En dan dacht ik aan een sidebar gelijk die die ik op het voorlopige intranet gezet had, met “next seven days: [x events]” en “next 30 days: [y events]”, maar dan moest ik iets doen met de URL’s, bijvoorbeeld /events/[dinges]-x+y, waarbij dan getoond wordt wat [dinges] zeg, met x dagen ervóór en y dagen erna, bijvoorbeeld

  • /events/+7: volgende zeven dagen vanaf vandaag
  • /events/-10+10: vandaag, tien dagen vóór vandaag, en tien dagen na vandaag
  • /events/2005/11/3+14: 3 november en de veertien dagen daarna

…maar daar had ik ook niet genoeg concentratie meer voor.

Eum, nog iets? Ik weet het niet. Morgen (straks) nog eens denken. En dan begin ik nu aan nog een newsletter die naar Thailand en Duitsland en Maleisië moet verstuurd worden.

Geschreven al luisterend naar: Johnny Cash – Johnny Cash at Madison Square Garden – As Long as the Grass Shall Grow

Oudere berichten

© 2016 Michel Vuijlsteke's weblog

Thema gemaakt door Anders NorenBoven ↑