Michel Vuijlsteke's weblog

Tales of Drudgery & Boredom.

Jaar: J (pagina 1 van 10)

Bedankt, openbaar vervoer

Ik had het dus helemaal uitgewerkt, een totaal foolproof scenario om van en naar Eurocontrol te gaan.

De stampvolle trein (ik had geen zitplaats meer) die om 7u59 had moeten toekomen, ruim een kwartier voor ik mijn bus heb, is om 8u17 toegekomen. Waardoor ik mijn bus gemist heb, en een half uur heb staan wachten. Fuck. De bus van Eurocontrol (naast de NAVO) heeft er een uur over gedaan om naar Brussel-Centraal te gaan, en de trein ’s avonds heeft ook meer dan een uur gedaan over het traject Brussel-Gent.

Kak.

Geschiedenis op school

Mijn jongste zoon zit in het tweede middelbaar, in een “moeilijke” richting.

Hij had iets van geschiedenis te leren, en hij vroeg ik hem kon opvragen. Hoera! Het ging over het Romeinse Rijk! Ik herinner mij mijn tweede jaar humaniora, waar we van het begin van het jaar tot het einde van het jaar ex cathedra les kregen over de Romeinen, met de cursus honorum en de grote P (patriciërs) en de kleine p (plebejers), en heel het verhaal van Marius en Sulla en de Gracchi en Caesar en heelder stukken uit de twaalf Caesars van Suetonius, en als we braaf waren kregen we de vrijdag voorgelezen uit het Gelag van Trimalchio.

Akkoord, we zagen zeer veel over de theoretische werking van de staat op het einde van de republiek en bijna niets voorbij pakweg Nero, maar toch. Een heel jaar les over de Romeinen.

Ik ga ervan uit dat er op al die tientallen jaren enorm veel interessante manieren gevonden zijn om het over Rome te hebben, ik keek er eigenlijk enorm naar uit.

Tot ik de les zag die Jan moest kennen. Het begon bij de vier soorten keizers: de Julio-Claudische dynastie (voorbeeld Augustus), de Flaviaanse dynastie (voorbeeld Vespasianus), de erfkeizers (voorbeeld Trajanus), en uiteindelijk de Servische keizers (voorbeeld Caracalla). Iets later ging het ook nog over schijnkeizers (voorbeeld Romulus Augustulus).

Ah euh wacht, de Severische keizers, niet Servisch. Jan had het verkeerd opgeschreven.

En “iets later”? Yup, inderdaad: het hele Romeinse Rijk was afgehaspeld op een bladzijde of acht. Met zeer veel illustraties en invulveldjes.

Met ook voorbeeldopdrachten, zoals:

Rangschik in volgorde: Germaanse stammen – val Oost-Romeinse Rijk – Augustus – val West-Romeinse Rijk – scheiding West- en Oost-Romeinse Rijk

Het hele Oost-Romeinse Rijk werd op de volgende manier behandeld:

Hoe lang overleefde het Oost-Romeinse Rijk nog? 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Jan had op het lijntje “Tot 1453, dus nog 977 jaar” geschreven. Tot zover dat stuk geschiedenis, dus.

Of een opdracht als “onderstreep in de tekst hiernaast hoe je kan achterhalen dat de keizer meer dan één god erkende”, en dan een “tekst” van letterlijk vier regels van elk vier centimeter lang, met onder meer iets als “Wij erkennen de goden van bladiebla”. Jawel, “de goden” was in het rood onderlijnd. Hoera voor pedagogiek.

I shit you not. Ik wou dat het om te lachen was, maar het is dodelijke ernst.

Tweede jaar humaniora. Een “moeilijke” richting.

Ik mag hopen dat ze in hun verschillende nestkastjes-richtingen meer leren. (Nestkastjes bouwen, nestkastjes tekenen, spreken over nestkastjes, electrische draden op nestkastjes solderen, … — PO en MO en TO en godweetwatnog allemaal, stuk voor stuk ongetwijfeld zéér goed voor de arbeidsmarkt.)

Lastige timing

Ik werk voor de voorzienbare toekomst een paar dagen per week bij Eurocontrol. Machtig boeiend werk, daar gaat ge mij geen slecht woord over horen zeggen, maar om daar te geraken, dat is een andere zaak.

Pak dat het werk begint om 9u.

Retroplanning!

OPTIE A

Beginnen rond 9u, dat wil zeggen dat ik best de shuttlebus aan Brussel-Centraal neem om 8u15, want die doet er ongeveer veertig minuten over, en de volgende is pas om 8u45.

Dus moet ik ten laatste om 8u10 in Brussel-Centraal zijn. Dat is dus de trein van 7u13 aan Gent-Dampoort, die om 7u23 in Gent-Sint-Pieters toekomt, en dan de trein van 7u32, die om 8u10 in Centraal toekomt.

En dus moet ik ten laatste om pakweg 7u06 thuis vertrekken, en ten laatste om pakweg 6u45 opstaan. Aan de andere kant van de dag moet ik de shuttlebus van 16u30 terugnemen, en kom ik dus rond 17u15 aan Centraal, waar ik de rechtstreekse trein naar Gent-Dampoort kan nemen van 17u20, die om 18u12 toekomt, en ben ik rond 18u20 thuis.

Als de trein geen vertraging heeft zoals recent, toen het aankondigingsbord bijna komisch in de war was, zo hard dat het aan het vertragen was:

20180420_173241

Maar! De trein naar Brussel heeft elke ochtend gegarandeerd minstens een paar minuten vertraging tegen dat hij in Brussel-Centraal toekomt, wat wil zeggen dat ik onmogelijk de bus van 8u15 kan halen — dat is mij namelijk zowel maandag als vandaag als vorige week nog geen enkele keer gelukt.

OPTIE B

En dus moet ik een trein vroeger nemen, bijvoorbeeld die die om 7u59 toekomt aan Centraal. Wat wil zeggen: de trein aan de Dampoort om 7u05. En aan de andere kant van de dag is het meer dan waarschijnlijk dat een werkdag niet stopt om 16u20, maar wel rond 17u, en dat ik dus de shuttlebus van 17u20 moet nemen, en dus aan Centraal ben rond 18u, en dus pas de trein van 18u25 kan nemen, en om 19u19 aan de Dampoort ben.

De aansluiting Gent-Sint-Pieters naar Dampoort is trouwens ook miserie: met een beetje pech sta ik daar 20 minuten te schilderen.

OPTIE C

En dus sla ik de Dampoort helemaal over, en rijd ik ’s morgens met de velo naar Gent-Sint-Pieters. Dat is pakweg een dik kwartier (13 minuten fiets, 2 minuten fiets parkeren, 2 minuten naar het perron stappen), maar het bespaart mij wel de aansluiting van de Dampoort, zowel ’s morgens (geen probleem) als ’s avonds (soms wel probleem).

Dit is wat het schematisch geeft, om een idee te hebben:

van en naar het werk

En ja, dat wil dus wel zeggen dat dat werkdagen van 12 uur en 21 minuten zijn. Dat ik elke dag Eurocontrol 4 uur en 13 minuten op weg van en naar mijn werk ben. En dat zijn dus geen trein-uren waar een mens een beetje kan werken: dat zijn voornamelijk uren van wachten op vervoer en/of in een krappe bus zitten. Ahem ja.

Nog een geluk dat het dus echt interessant is. En dat op deze manier dat audioboek-herlees-project van Song of Ice and Fire redelijk vooruit aan het gaan is. 🙂

Om de muren van op te lopen

Ik dacht, ik probeer in de rapte eens een prototype te maken van iets van detailinteractie.

95% was klaar op minder dan een uur. Op die laatste 5% heb ik meer dan twee uur zitten zoeken. En niet gevonden. Het is zo’n momenten dat ge beseft dat het in de details toch niet 100% doet wat een mens er zou van verwachten.

axurekak.png

En nu ben ik klaar om een moord te begaan op het volledige ontwikkelteam van Axure.

Een maat te klein

’t Is al denk ik vijftien jaar of zo dat ik meedoe met quizzen bij Gentquizt, maar de laatste tijd is het alsmaar minder en minder, met onze ploeg.

De quiz wordt te moeilijk, wij worden te oud, we doen niet genoeg quiz in het algemeen, we blokken niet op dingen, de andere ploegen zijn gewoon beter: ’t is altijd wel iets.

Pak vorige week: op zes ronden 8/10 gescoord — dat is dus niet eens zo slecht — maar toch zijn we ergens op de derdevoorlaatste plaats of zo geëindigd. En deze week was het niet veel beter. Zucht.

Hoera! Een nieuw seizoen!

Bloed! Geweld! Blote tetten! Sexistisch machogedrag! Hoera! Seizoen drie van Ash vs. Evil Dead staat op Netflix!

(Helaas, helaas: ’t is het voorlopig laatste seizoen. Ik zeg voorlopig, want een mens weet nooit tegenwoordig.)

Misrekend

Er was een recept, en dat hebben we dan verdubbeld. En hetzelfde met een ander recept. En nog een. En nog een. En nog een.

En zo zitten we nu met eten voor de volgende paar dagen in de frigo. 🙂

Coolblue bait and switch

Er is een eerste keer voor alles: ik ben teleurgesteld in Coolblue.

Ik kwam terug van het werk en ik dacht, ik zet mijn koptelefoon op. Mijn koptelefoon zat in de rechterbinnenzak van mijn vest, samen met mijn badge van het werk en een plastiekzakje met vervangknopen voor de vest.

En toen bleek dat mijn koptelefoon niet in mijn rechterbinnenzak zat. Ook niet in mijn linkerbinnenzak, rechter- of linkerbuitenzak, en ook niet in mijn boekentas.

Meer dan dat had ik niet: het weer had er voor gezorgd dat ik mijn palto niet meehad, namelijk, want anders zou mijn koptelefoon veilig in de linkerbinnenzak van mijn palto gezeten hebben en niet samen met die badge, waar hij ongetwijfeld in het lietsken van verstrengeld is geraakt, en dus samen met mijn badge bij het verlaten van het werk uit de zak ik getrokken en ongemerkt ergens gevallen.

Lang verhaal: ik had geen kopfoon meer.

Consument van geluid onderweg dat ik ben, kan ik niet zonder, dus: meteen naar Coolblue gegaan op de telefoon, precies dezelfde die ik al had weer opgezocht, gemerkt dat hij verdorie een paar euro duurder geworden is (hij komt denk ik van 19.99), maar toch maar op “in mijn winkelmandje” geklikt.

Het was deze, met name:

kopfoon.png

Zeer aangeraden: degelijke kwaliteit, en vooral: de platte kabel geraakt bijna nooit in de war.

Gekocht, naar de betaaldinges, oei, ze zeggen mij dat ik zal betalen in België en dat het kan dat het product daar niet beschikbaar is en dat het dan uit mijn boodschappenmand zal verdwijnen… ah nee, toch geen klachten, meteen op de betaalsite, klik op de betaalknop en dat is d…

Hang on!

Bij de betaalbevestiging, waar ik zonet op geduwd heb, staat niet dat hij 34 euro kost, maar wel dat hij 54.99 euro gekost heeft!

betaling

Voor de duidelijkheid: ik kan niet zweren dat ik niet nét voor het betalen de “aangepaste” prijs gezien heb. Maar de waarschuwing die ik kreeg van Coolblue zei me dat het product mogelijk niet beschikbaar zou zijn, niét dat de prijs zou kunnen veranderen.

En al helemaal niet dat de prijs gewoon meer dan 20 euro hoger zou zijn.

Ik ben zeer, zeer ontevreden.

En ik ga vanaf nu meer dan twee keer nadenken voor ik iets koop bij Coolblue. Bah. We leven in Europe gedomme, hoe belachelijk is het dat als ik 20 kilometer meer naar het noorden had gewoond, mijn koptelefoon zoveel goedkoper was geweest?

kaart

Muizenissen in de Quick

Ik gaf vandaag les, en daardoor kon ik mijn normale trein niet halen. Ik had een minuut of twintig te overbruggen in Brussel-Noord, en het was al later op de avond en ik had eigenlijk wel honger en goesting, dus deed ik wat ik al sinds een hele tijd niet meer gedaan had: naar de Quick gaan en milkshake en een Giant kopen.

De milkshake was nog net zoals hij in mijn geheugen zat. Maar de Giantsaus smaakte zuurder dan ik mij herinnerde, het brood was tegelijkertijd droger en wakker dan ik mij herinnerde, de sla zag er verlepter uit dan ik mij herinnerde.

Toen ik ongeveer vier vijfden door mijn Giant was, draaide ik hem om wegens dat er vanalles uit aan het vallen was.

mouse-pest-control_0

Er plakte een muizenstront aan de onderkant van mijn Giant.

Dankuwel, Quick. Bah. Bleh.

ASOIAF binge

Nu het vrijwel zeker is dat The Winds of Winter één dezer dagen / weken uitkomt (zeker deze week, misschien volgende week? of anders volgende maand? volgend jaar? enfin, zeer binnenkort): ik ben herbegonnen aan de hele A Song of Ice and Fire.

Confession time: ik heb alle boeken een keer of drie gelezen, en ik denk wel dat ik redelijk zeer goed mee ben met alles, van de boeken over Dunk & Egg over de tv-serie over de honderden theorieën over World of Ice and Fire tot de verzamelde So Spake Martin‘s, maar het lezen van de boeken zelf ging altijd veel te snel.

Ik kan mezelf gewoon niet tegenhouden: pagina’s vliegen voorbij, en als ik niet zeer hard oplet, lees ik gewoon méér dan diagonaal. Wat geen goed idee is bij dat soort boeken, waar vanalles op een half woord kan draaien.

EN DUS heb ik besloten om de vijf boeken in audioboek te beluisteren. Dat is in totaal 201 uur en 38 minuten. Stel dat ik elke dag een half uur kan luisteren, ergens tussen de podcasts die ik moet volgen en het slapen op de trein, dan heb ik nog meer dan een jaar te gaan.

En tegen dan ik Winds of Winter zéker uit. Toch?

[De vijf boeken hebben mij trouwens vijf jetons gekocht bij Audible. Ik krijg met mijn abonnement van 10 dollar per maand één jeton per maand, dus dat heeft me 50 dollar gekost. De papieren boeken zouden mij nu 33.60 dollars kosten in Kindle-formaat bij Amazon, maar als ik ze aan volle prijs zou kopen bij Audible, zou het mij –afhankelijk van waar ik kijk– iets tussen 121 en 295 dollars teruggezet hebben.]

[Oh en ook: Roy Dotrice takes some serious getting used to. De inconsistentie waarmee hij namen uitspreekt, zijn soms bijzonder vreemde keuzes van accenten voor sommige personage, zijn on note tone of voice bij verhalende stukken: ahem ja. Het is vooral lastig omdat er wegens de tv-serie al een hele reeks stemmen in mijn hoofd zitten, en ik vergeef het hem omdat hij een legende is, en ook omdat hij al dood is , maar toch. Caveat emptor!]

Het tussenseizoen

Ik heb het niet graag als het warmer wordt. Dan loop ik rond met een hemd en een vest en dan ook nog een lange mantel en een muts, maar blijkt het te warm geworden te zijn voor een muts en zet ik die dus niet op mijn hoofd maar steek ik ze in mijn mantelzak en riskeert ze er uit te vallen.

Het was maandag van dat: uit mijn mantel gevallen op de tram, en gelukkig dat fijne collega Johan het gezien had, of ik was gezien.

En dan kom ik op mijn werk van bij de klant en ga ik ’s avonds naar huis en besef ik bij het buiten gaan dat ik mijn muts niet op heb, ah ja, ’t is te warm voor een muts.

Maar dan kom ik dinsdag terug op het werk en dan is mijn muts onvindbaar en aargh!

Ik zat al een paar uur ergens tussen low-grade paniek-modus en berustend binnensmonds vloeken — toen er impromptu vergadering aan de pianotafel was op het werk en wat graadt gij? mijn muts lag daar gewoon naast de koffiemachine.

Dat ik zeer content ben dat niemand dat luizig ding in de vuilbak gesmeten heeft, want ik ben er zeer aan gehecht.

Trotse badge-eigenaar

’t Was vandaag de eerste échte dag op een nieuw project. Na een paar dagen als speciale bezoeker, heb ik nu mijn eigen echte contractor-badge.

Het is verre van fulltime, het werk, maar het zal toch wel raar doen, denk ik: ’t is redelijk lang van termijn, het is redelijk complex, en het is wel degelijk de bedoeling om helemaal embedded te zijn. Dus geen sprake van Team Bedrijf aan de ene kant en Team Consultants aan de andere, maar wel allemaal samen Team Project.

Ik kijk er serieus naar uit.

First!

Vandaag hebben we voor het eerst dit jaar buiten op het plankier gezeten.

Yay! Nog een beetje en we kunnen barbecuen!

En verder is het wel spannend, want niet één maar twee fijne buren verhuizen binnenkort. Jammer van het verhuizen, zeer benieuwd wie er bij komt.

Klooien met css-bugs

Dát was gedomme al eens heel heel heel lang geleden: worstelen met vreemde dingen in css, tegen de rand van de standaard aan.

Het probleem: ik wil een tabel maken waarvan de cellen een achtergrondkleur hebben en de randen halfdoorschijnend zijn. En dat lukt niet als de tabelcellen position: relative hebben.

Illustratie! Dit is de situatie, met twee tabelcellen die naast elkaar staan (de vakjes zijn pixels, voor de duidelijkheid):

tabel0.png

De rand van een tabelcel, dat is soms iets raars. Het kan op deze manier:

tabel00

maar het kan ook, met border-collapse: collapse op de tabel, op deze manier:

tabel01.png

Of, als ge in plaats van #a4a4a4 zoals hierboven, dat gewoon grijs is, in de plaats een halfdoorschijnend zwart als rgba(0,0,0,0.25) neemt, dan wordt het iets in deze zin:

tabel02.png

Ah. Hm. Raar, juist. Eigenlijk zou een mens die lijn in het midden het liefst van al op deze manier zien gebeuren:

tabel03.png

…al gaat dat natuurlijk niet, wegens dat er niet echt geen halve pixels bestaan.

Maar goed, we hebben dus een halfdoorzichtige lijn, met

table { border-collapse: collapse; }
td { border: 1px solid rgba(0,0,0,0.25: }

…en dan komt de kat op de koord. Ik wil een tooltip laten verschijnen als ik over een tabelcel ga. Dat kan op veel verschillende manieren, de gemakkelijkste is om de inhoud van de tooltip in de tabelcel in een verborgen element te steken, en dat element bij :hover zichtbaar te maken in iets dat relatief ten opzichte van zijn parent is gepositioneerd.

En om dat mogelijk te maken, moet de tooltip position: absolute krijgen, en het parent-element position: relative. Zo gezegd, zo gedaan, en de tooltip werk helemaal zoals hij zou moeten werken, maar wat doet in dat geval die border? Dit:

tabel04.png

Gah! Mijn border-collapse: collapse is weg, en ik krijg een halfdoorschijnende grijze lijn op een achtergrond van wit! Even een intensieve Dokter Google-bepotelingssessie gehouden, en jawel: ’t is iets dat al lang zowal overal fout gaat, en ’t heeft voor zover ik begrijp iets te maken met ambiguïteiten in de definitie van hoe borders zich gedragen.

De theorie is dat een stippellijn-border zich bijvoorbeeld zou zou moeten gedragen:

tabel06b.png

…maar dat dat niet echt het geval is. En dat het fout loopt met die position: relative en die border-collapse, maar dat er geen consensus is om het degelijk op te lossen.

Ik dus op zoek naar een workaround. Men zegt dat het zou werken met background-clip: padding-box; men doolt. Het werkt niét met background-clip: padding-box.

Een beetje hoofdscharten later is het dit geworden:

box-shadow: inset 1px 1px 0 0 rgba(0, 0, 0, 0.25);

Read ‘em and weep, boys and girls. 🙂

Een schaduw aan de td gegeven, maar aan de binnenkant. Een pixel naar rechts en een pixel naar onder verschoven, zonder blur, en 75% doorschijnend zwart. Dat doet dan dit:

tabel07

…en als er een reeks cellen onder elkaar staan, geeft dat iets in deze zin (de lijnen zijn deze keer de randen van de tabelcellen, 4 keer uitvergroot):

tabeldetail

Good enough for me.

Behalve dat ik bij het nemen van de screenshot merkte dat er hier en daar cellen zijn die geen 20 pixels maar wel 21 pixels breed waren. En andere die geen 20 maar 21 pixels hoog waren. En natuurlijk ook een paar cellen die 21 op 21 pixels waren.

Grr!

De schuldige is die zwarte rand, die ik stomgaweg met een border: 2px solid #000 gedaan heb, maar die wegens die niet-meer-werkende border-collapse blijkbaar de cel breder maakt in plaats van naar binnen te groeien.

Ziet, de rode pijltjes geven aan waar het te breed of te hoog is:

tabelaargh.gif

En ja, ik lig daar dus wakker van. Als het op de pixel juist kan zijn, dan moet het van mij op de pixel juist zijn.

Poging gedaan om het allemaal met box-shadow: inset te doen, en jawel, dat is enorm veel beter:

tabelanim

Behalve dat er exact twee keer vier pixels te weinig op staan: onderaan in de rechterbenedenhoek van april 2017, en bovenaan in de linkerbovenhoek van augustus 1971, daar waar de hoek van juli naar augustus 1970 zit:

tabelteweinig

Ja, ook daar lig ik wakker van. Maar ’t zal toch voor na een nacht slapen zijn.

Wie geïnteresseerd is: het staat allemaal hier op github.

En ja, ik hoor u roepen, daar in de achtergrond, dat ik het allemaal niet met tabellen had mogen maken, en dat het allemaal met SVG had gekund. Jaja.

Jajaja.

Macchiato

Ik drink normaal geen koffie, maar we hebben op het werk een machine die vanalles kan maken, en ik dacht hey waarom niet?

(Dat was trouwens mijn tweede tas, wegens dat de eerste niet-doorschijnend was.)

Ik denk dat ik vanaf nu elke ochtend begin met zo’n tas van dat.

Oudere berichten

© 2018 Michel Vuijlsteke's weblog

Thema gemaakt door Anders NorenBoven ↑