het mes (iii)

Een kwartier. Dat was de tijd die ik had uitgetrokken om nog eens een cappuccino te nuttigen op het terras van de Maciotto, in het Noordstation.

Er was opvallend veel volk. Vermoedelijk had een groepje vrienden aan het terras afgesproken, en er heerste wat ik voor een gezellige commotie hield. Iedereen kwebbelde lustig door, en ik kon zonder problemen, of zelfs maar de geringste wrevel, tussen het groepje door, naar de toog.

“Et pour monsieur?”

-Un cappuccino, s’il vous plaît.

Ik had geluk, want er was nog net een plaatsje, pal in het midden van het terras. In het vriendengroepje werd ondertussen druk gegesticuleerd. Een paar mensen deinsden achteruit, en plots werden een heleboel tafels geruimd. Ik had speciaal een kwartier eerder de werkplaats verlaten en was vastbesloten van mijn cappuccino te genieten. Dus bleef ik zitten.

Ik bleef ook zitten toen er plots iemand een volle tas koffie vanop een ijlings ontruimd tafeltje greep, en die over het hoofd van een compaan uitgoot. Ik bleef nog steeds zitten toen het slachtoffer vergelding zocht, en op een gelijkaardige manier zijn belager van koffie voorzag. Kwajongens, dacht ik nog, dit is niet de plaats om te ravotten; en ik nam hun geroep voor een bulderlach.

Ik bleef zelfs zitten toen ze beiden niet alleen de koffie, maar tevens het servies naar elkaar toegooiden. De scherven vlogen niet mij, maar een jonge moeder om de oren, die reeds met haar baby in de armen de schermutseling was ontvlucht. Even aarzelde ze nog om ook de kinderwagen in veiligheid te brengen, maar al gauw vluchtte ze de Maciotto binnen.

Toen zat er plots niemand meer op het terras, behalve ik. Koppig. Halsstarrig. Vastberaden.

En dan zag ook ik het mes.

Maar toen was het al afgelopen. Het mes werd tussen duim en wijsvinger schoon geveegd, het slachtoffer greep naar zijn schouder, en ook de belager deinsde achteruit, om naar een zij-uitgang van het Noordstation te verdwijnen. Ondertussen stond ook ik vanop een afstandje bedremmeld het einde van de gebeurtenissen af te wachten. En toen alles helemaal afgelopen was, waren ook de ordediensten daar.

Uitgelezen, jg 3, afl. 2: ‘Enfants Terribles’

Na de spetterende opening vorige maand, inclusief de beloofde majorettes, een enthousiaste Rick de Leeuw en een geïnspireerde Erwin Mortier, krijgt u vanavond een aantal Enfants Terribles uit het contemporaine literaire landschap voorgeschoteld.

Anna Luyten, Saskia De Coster, Jos Geysels en Wouter Deprez bespreken het recente werk van Michel Houellebecq (La possibilité d’une île) Bret Easton Ellis (Lunar Park), en Herman Brusselmans (Het spook van Toetegaai). Christophe Vekeman, wiens Een borrel met Barry vorige keer nog maar door het panel werd besproken, is Herlezer van dienst, met als onderwerp Onder Professoren van W.F. Hermans. (De vorige ‘Herlezing’ kan u overigens nog steeds on-line beluisteren.)

Verder bekijkt u nog de cartoons van ZAK, de foto’s van Stephan Vanfleteren, een Kingkong-kortfilm met Luc De Vos en JMH Berckmans, terwijl Fien Sabbe –zoals steeds– waakt over de goede gang van zaken.

Zeg niet dat u niet gewaarschuwd was.

Uitgelezen, met als thema “Enfants Terribles”, vanavond, 8 november om 20u in de Balzaal van de Vooruit. Toegang gratis!

de opdracht (xii) (fin)

“Bollaert!”

-Ja, Chef.

“Die website, Bollaert.”

-Ja, Chef. Alles was klaar op tijd, Chef.

“Ik weet het, Bollaert. Maar het interesseert mij niet.”

-Hoe bedoelt u, Chef?

“Het project werd afgelast, Bollaert.”

-Maar alles is klaar Chef. Binnen de deadline, Chef, en volledig functioneel.

“Afgelast, Bollaert. Hou u maar met iets anders bezig.”

-…

“En vergeet die kopie niet te wissen, Bollaert.”

401 not authorized

Hoe maak ik mijn website password protected via .htaccess en apache?

Om te beginnen zijn er minstens twee bestanden nodig: een .htaccess en een .htpasswd (dat niet noodzakelijk .htpasswd hoeft te heten, maar dat laten we even buiten beschouwing).

In het .htaccess bestand staat het volgende:

  1. AuthUserFile /pad/naar/.htpasswd
  2. AuthGroupFile /dev/null
  3. AuthName EnterPassword
  4. AuthType Basic
  5. Require valid-user

Waarbij

  • /pad/naar/.htpasswd verwijst naar de locatie van uw .htpasswd bestand (dit is een absoluut path, en kan iets zijn zoals /opt/www/uwnaam/web/www.uwsite.be/.htpasswd)
  • valid-user om het even welke user (gebruiker) is die u hebt aangemaakt in dat .htpasswd bestand

Een .htpasswd bestand is –net zoals het .htaccess bestand– een eenvoudig tekstbestand, met daarin een gebruikersnaam en een (geëncrypteerd) paswoord. Voor de gebruiker ’test’, met als paswoord ’test’ bevat dat bestand één lijn met daarop test:aS8AbzZUiBZ6Y Om zo’n paswoord aan te maken bestaan overigens een aantal online tools. (Het is overigens best mogelijk dat uw hosting provider dat proces voor u geautomatiseerd heeft.)

Uploaden naar de root directory van uw website, en voilà, uw ganse site is paswoord beveiligd.

Nu komt the fun part™: wanneer iemand niet over de noodzakelijke credentials beschikt, komt die terecht op een weinigzeggende foutmeldingspagina: 401 not authorized (cfr Status Code Definitions). Via de apache ErrorDocument directive, kunnen we die foutmeldingspagina aanpassen.

Om een eigen 401 pagina aan te maken, voegen we een (zesde) lijn toe aan ons .htaccess bestand:

  1. AuthUserFile /pad/naar/.htpasswd
  2. AuthGroupFile /dev/null
  3. AuthName EnterPassword
  4. AuthType Basic
  5. Require valid-user
  6. ErrorDocument 401 /errordocs/401.htm

/errordocs is gewoon een subdirectory in onze webroot, die we ook kunnen bereiken via de browser: http://www.uwsite.be/errordocs/, of voor die 401 pagina: http://www.uwsite.be/errordocs/401.htm Die pagina is een eenvoudig HTML bestand, net zoals (waarschijnlijk) de andere pagina’s op uw site. Het zou er als volgt kunnen uitzien:

  1. <html>
  2. <head>
  3. <title>uwsite.be</title>
  4. </head>
  5. <body>
  6. <p><strong>sorry!</strong><br />
  7. <strong>you are not authorized to view this document</strong></p>
  8. </body>
  9. </html>

Edoch! U zal merken dat, wanneer u probeert toegang te verkrijgen tot de site zonder opgave van een correcte gebruikersnaam en het bijbehorende passwoord, u deze pagina niet te zien krijgt. Het probleem is als volgt: door in de webroot het .htaccess bestand te plaatsen, hebben wij de ganse site afgeschermd, dus ook de subdirectory /errordocs. Concreet betekent dit dat je, om http://www.uwsite.be/errordocs/401.htm te kunnen bekijken, net zo goed een paswoord moet ingeven als voor de rest van de site. Niet echt nuttig.

De oplossing is eenvoudig. Binnen de subdirectory /errordocs plaatsen we gewoon een nieuw .htaccess bestand, met daarin slechts één lijn:

  1. Satisfy Any

Ziedaar: basic password protection in vier bestandjes: .htpasswd, .htaccess, /errordocs/.htaccess en /errordocs/401.htm. Hopelijk bent u er iets mee.

jumping the gun

Gezien Michel mijn development site in zijn dagelijkse del.icio.us lijst heeft opgenomen, heb ik (voorlopig) de URL errordoc-gewijs naar deze entry doorgelinked. Tenzij u het paswoord kunt raden.

Redirecten via een ErrorDocument directive met Apache is overigens heel eenvoudig. In een .htaccess file neemt u het volgende op:

  1. ErrorDocument 401 http://blog.volume12.net/2005/11/002550.htm
  2. AuthUserFile /pad/naar/.htpasswd
  3. AuthGroupFile /dev/null
  4. AuthName EnterPassword
  5. AuthType Basic
  6. require user username

waarbij u /pad/naar/.htpasswd vervangt door de locatie van uw .htpasswd, en de username door de door u gebruikte username. Een paswoord maken is overigens ook al eenvoudig.

[Update:] not quite:

Note that when you specify an ErrorDocument that points to a remote URL (ie. anything with a method such as “http” in front of it), Apache will send a redirect to the client to tell it where to find the document, even if the document ends up being on the same server. This has several implications, the most important being that the client will not receive the original error status code, but instead will receive a redirect status code. This in turn can confuse web robots and other clients which try to determine if a URL is valid using the status code. In addition, if you use a remote URL in an ErrorDocument 401, the client will not know to prompt the user for a password since it will not receive the 401 status code. Therefore, if you use an “ErrorDocument 401” directive then it must refer to a local document.

Simpel: dit stukje

  1. ErrorDocument 401 http://blog.volume12.net/2005/11/002550.htm

wijzigen naar

  1. ErrorDocument 401 /errordocs/401.php

En daarin (in 401.php) dan enkel dit plaatsen

  1. <?php
  2. header("Location: http://blog.volume12.net/2005/11/002550.htm");
  3. exit;
  4. ?>

Ofwel wijzigen naar

  1. ErrorDocument 401 /errordocs/401.htm

En daarin (in 401.htm) dan enkel dit plaatsen

  1. <meta HTTP-EQUIV="Refresh" CONTENT="0; URL=http://blog.volume12.net/2005/11/002550.htm">

En dan is er nog WordPress om mee af te rekenen, want dat doet zelf al een heleboel dingen met de errortoestanden en redirects (Authorization errors are handled by the WordPress program.).

[Update 2]: Het is niet nuttig een custom 401 document binnen het realm van de Require te plaatsen. Wij recapituleren even in een volgende entry.

ophokplicht

Mijn ei is gelegd. Ik dacht dat u dat misschien wel wilde weten. Voorlopig houdt u het maar bij die beperkte wetenschap, en blijft u maar even in het ongewisse. Dat is een tactiek, zo moet u maar denken.

Los daarvan ben ik nog steeds bezig met de mogelijke omzetting van het MT weblog naar een WP weblog. Dat het Michel probleemloos is gelukt kan alleen maar motiverender werken (maar niet als een rode lap op een stier). Bovendien ben ik dan eindelijk ook van die flagrante taalfout verlost (moveable type, mét ‘e’).

Want WordPress komt mij steeds aantrekkelijker voor, ook al omdat ik dank zij enige tips erin geslaagd ben een aantal van de eerder vermelde beperkingen op te lossen. (Steeds onaantrekkelijker wordt Priorweb, maar dat laten we hier maar even terzijde.)

Rest nog de manier waarop mijn archieven momenteel kunnen geconsulteerd worden: de meest recente entry volledige; de daaropvolgende vijf verkort, en van de rest enkel de titel. Al vraag ik mij af wat het grote belang is van de indeling in categorieën. Veel belangrijker is de tagging (of keywords of hoe je het ook wil omschrijven), en een zoekfunctie, die momenteel op dit weblog ontbreekt, maar in WordPress moeiteloos wordt toegevoegd.

Twee obstakels: de omzetting van het MT entry_id naar het WP ID (ik zie het nut niet in van betekenisvolle URLs voor een weblog, om dezelfde reden waarom ik nu twijfels heb over de categorieën; cfr overigens de titel van dit stukje); en de omzetting van de MT entry_keywords naar ‘iets’ in WP (in het entry_keywords veld worden momenteel immers de technorati tags bewaard).

Onoverkomelijk kan het niet zijn.

de opdracht (xi)

“Bollaert!”

-Ja, Chef.

“Is mijn website klaar, Bollaert?”

-Nog niet, Chef.

“Hoezo, Bollaert!”

-Hoezo, Chef?

“Zeg mij zo niet na, Bollaert.”

-Ik had toch tot woensdag, Chef?

“Heb ik soms verantwoording af te leggen, Bollaert? Ge hebt nog anderhalf uur.”

Nabucco

Spektakelopera in concertante uitvoering. Vorig jaar reeds werden we verwend met de concertante uitvoering van Verdi’s Giovanna d’Arco, dit jaar was het de beurt aan Nabucco, Verdi’s derde opera.

Net zoals (later) bij Giovanna d’Arco, schreef Temistocle Solera het libretto voor Verdi, dit keer gebaseerd op het toneelstuk van Auguste Anicet-Bourgeois en Francis Cornu. Tot één zin samengevat, vertelt de opera het relaas van de ballingschap van de joden door de Babylonische overheerser Nabucodonosor (Nebukadnezar). Dat is ten andere diezelfde Nabucco, aan wie de constructie van de Hangende Tuinen van Babylon (een van de Zeven Wereldwonderen van de oudheid) worden toegedicht.

nabucco - afficheDe eerste opvoeringen van de opera vallen zeer dicht bij het hoogtepunt van de Italiaanse Risorgimento, de Italiaans-nationalistische eenheidsstrijd, die uitmondde in de eenmaking van de versnipperde Italiaanse staten (in 1870). Vooral het overbekende stuk met het ‘Slavenkoor’ kende (ook) toen een immens succes, en reeds meermalen werd geopperd de muziek tot het Italiaanse volkslied uit te roepen. Milaan, waar de opera in La Scala in première ging, was destijds onder Oostenrijkse bezetting, waardoor de romantische neerslachtigheid en het thema van Verdi’s opera al gauw aansluiting vond bij een bevolking op zoek naar een nationale identiteit.

Een concertante uitvoering brengt altijd een zeker risico met zich mee. Men bezoekt de opera immers voor een groot stuk ook omwille van het decor, en de visuele omkadering van de muzikale opvoering. Zeker bij een opera zoals Nabucco is het nadrukkelijk visuele een grote rol gaan spelen. Vorig jaar werden we echter aangenaam verrast bij de opvoering in De Bijloke (olv Silvio Varviso), waardoor ook deze keer de verwachtingen hoopvol waren.

De klank in de opera is alvast geheel verschillend van de concertzaal in De Bijloke. Weinig verbazingwekkend, zult u denken, gezien de compleet verschillende bouwstructuur. Het orkest werd voor deze concertante opvoering op de scene geplaatst, de concertbak gesloten, en de bovenkant van de scene werd akoestisch afgesloten, waardoor de muziek in de theaterzaal werd gestuwd. Zelden heb ik zo’n warme muziek gehoord bij een live opvoering. De muziek was geestdriftig, opzwepend waar nodig, echter zonder de overdrijvingen die men gewoon is van de gepopulariseerde opvoeringen van Nabucco.

Marius Brenciu (Ismaele), die u misschien kent van de Koningin Elizabeth Wedstrijd (2e prijs voor zang in 2000) liet zich door Marc Clemeur bij voorbaat verontschuldigen voor een verkoudheid, al bleek dat tijdens de opvoering behoorlijk mee te vallen. Het waren voornamelijk Bruno Caproni (Nabucco) en Paoletta Marrocu (Abigaille) die op de waardering van het publiek konden rekenen, maar de grote lieveling bleek, geheel terecht, Arutjun Kotchinian (Zaccaria) die een zeer rijk gekleurde bas neerzette. De moeite waard.

Nabucco van Giuseppe Verdi; met een libretto van Temistocle Solera. Nog op 8, 11 en 13 november in de Vlaamse Opera te Gent.

(Dit artikel vindt u ook terug op gent.blogt.)

Woordenlijst Nederlandse Taal

Omdat het van Dale taalweb vaak uit de lucht gaat, heb ik een paar dagen geleden een shortcut voor woordenlijst.org aan mijn bookmarks toegevoegd.

Welk een gemak. De woordenlijst bevat alle informatie uit het nieuwste Groene Boekje, en is geheel gratis te consulteren. Het is een uitgave van de Nederlandse Taalunie.

De zoekfunctie werkt veel beter dan die van het van Dale taalweb. Logisch, want je zoekt in de woordenlijst naar de juiste schrijfwijze –wat meteen impliceert dat je niet noodzakelijk de juiste schrijfwijze hanteert.

Vergelijk: cappuccino, ingegeven als capusino: woordenlijst.org vs van Dale taalweb

slordig

De laatste maand ben ik twee zaken verloren.

  • Mijn bruinkleurige, niet-wollen sjaal, waarvan ik redelijk overtuigd ben dat ik hem ergens in een Kinepoliszaal heb laten liggen.’Niet-wollen‘ was overigens een belangrijk kenmerk van deze sjaal, gezien mijn nekvel nogal de neiging vertoont geïrriteerd te raken bij een wollige omhelzing.
  • Een enveloppe met daarin een 15-tal maaltijdcheques, elk ter waarde van 6,00 EUR. Ik had gehoopt dat ze vorige week bij de Limerick uit mijn tas waren gevallen, een hoop die daarnet ijdel is gebleken. De kans is nu redelijk tot enorm groot dat ze gewoon op het werk gepikt zijn. Niet door een (directe) collega, maar er zitten nog tig andere bedrijven in hetzelfde gebouw, waarin gisteren nog drie portefeuilles werden ontvreemd.

En ik speel anders nooit iets kwijt.

(Al had ik ook goed nieuws bij de Limerick: mijn hardcover van Anansi Boys was binnen (Includes EXclusive eXtra Material: Anansi Boys deleted scene. EXtracts from Neil Gaiman’s notebook. An interview with Neil Gaiman. Reading-group Discussion Questions.). En terwijl ik daar toch was, heb ik meteen Jeanette Wintersons Weight meegebracht. Het verhaal was van secundair belang deze keer (The Myth of Atlas and Heracles), maar de vormgeving van het boek was verschrikkelijk mooi.)