• Vakantie mislukt

    Er waren nog een paar supportvragen op het werk, dus ’t was minder vakantie dan gehoopt vandaag.

    Maar vanaf morgen voor serieus!

  • Tuinsafari

    Het is vakantie, en dan heeft een mens een projectje nodig.

    Mijn oude tuinsafariwebsite is jaren geleden ad patres gegaan. Ik dacht er eens een nieuwe versie van te maken — de eerste inhoud staat er alvast, op safari.tsuk.org. Op het moment dat ik dit schrijf, zitten er al 29 verschillende soorten beesten in, en met wat hard werk steek ik er in de loop van de maand nog een stapel bij.

    De vorige versie van de site was in ColdFusion geschreven, maar ik deed er eigenlijk niets dynamisch of databaseachtig mee, ik had alleen iets geschreven om thumbnails te maken en de EXIF-data uit de foto’s te halen, waardoor ik zo’n pagina’s had als ik op een thumbnail klikte:

    De nieuwe website is een standaard-WordPress met het Twenty Twenty-Five theme erop, dat ik aangepast heb tot het deed wat ik wou dat het deed.

    De homepage is een gewone pagina met daarin een query-loop voor de laatste twaalf gewijzigde posts. Een Advanced Query Loop weliswaar, omdat ik niet de laatste twaalf posts wil op basis van datum, maar wel de laatste twaalf posts op basis van datum van laatste wijziging.

    Redenering: het kan zeer goed zijn dat ik ineens een veel betere foto heb van een beest dat ik twintig jaar geleden voor het eerst zag, en dan zou ik dat beest weer op de voorpagina willen zetten.

    En ja, ’t is een beetje stom om voor zoiets kleins een aparte plugin te gebruiken, maar ik wou absoluut geen custom php of css schrijven, dat was zo’n beetje mijn uitgangspunt. Dat, en ook een minimum aan plugins natuurlijk, dat altijd een goed idee is bij WordPress.

    Onder die laatste twaalf items (in-page gepagineerd, trouwens) staan een aantal grote blikvangers van beesten waarvan er veel zijn. Ik weet nog niet goed of ik dat daar ga houden.

    En verder staat er op de pagina nog een navigatiemenu bovenaan dat naar een paar overzichtpagina’s en wat about us-nonsens gaat, en van hetzelfde onderaan in de footer.

    Een individuele pagina bevat een titel, datum van “aanmaak” (’t is de zeggen de datum van de oudste foto), datum van laatste wijziging, link naar de categorie, en dan de inhoud van de post zelf.

    De categorie, inderdaad, want elke post hangt onder precies één categorie. Ik heb de categorieën zelf wel in een boom gezet — zo moet ik alleen maar zeggen dat iets onder Nachtkaardespinnen valt, om dat meteen ook in spinnen, en in Chelicerata, en in Arthropoda te steken.

    Ik geef elke post ook een featured image mee, dat gebruikt wordt in lijsten. Dat is vaak een beeld dat ook op de pagina staat, maar soms is het ook een uitsnede van een beeld op de pagina, kwestie van meteen herkenbaar (achtig) te zijn in een overzicht.

    Ik ben een beetje lastig dat het Getegelde galerij-blok geen onderschriften toelaat bij de individuele foto’s, zodat ik niet bij elke foto de datum kan zetten, maar dat gemis weegt op tegen de propere manier om een, euh, getegelde galerij te maken die iets minder saai is dan een gewone galerij.

    De categoriepagina gebruikt twee verschillende plugins, en wel omdat categorieën normaal gezien geen geformatteerde uitleg hebben, alleen een tekstveld.

    Ik wil meer informatie in de categorie steken, zoals bijvoorbeeld links en misschien ooit wel eens een beeld. De eenvoudigste manier om dat te doen zonder zelf een lijn php te schrijven, is

    1. met Advanced Secure Custom Fields een custom wysiwygveld toe te voegen aan categorieën en
    2. dat veld op de categoriepagina zetten met Meta Field Block, dat zo’n custom field op een pagina kan zetten met een block in Gutenberg.

    En dat is het zwaardere werk: niet zó zwaar, dus. Ik heb ook een blog-achtige pagina met alle recente posts onder mekaar, en een categorieoverzichtpagina die op dit moment dit bevat van categorieën:

    ’t Is inderdaad nog maar het hele begin van het begin. Morgen doe ik verder.

    Het lastigste, en het meest demotiverende herinner ik mij van de vorige iteratie van de website, was dat er enorm veel beesten waren waarvan ik in de verste verte niet wist wat het zou kunnen zijn.

    Tengewoordig, met allerlei AI-zaken, hoop ik dat het iets beter is geworden.

  • Het zit erop

    Zo, vakantie.

    Er is nog een teameten met ons kleine teampje en een teamdag met heel de ICT van de universiteit, en ik ging nog eens naar een vergadering gaan met de collega’s van de communicatie, maar behalve dat zit het er voor mij op dit jaar.

  • Het begint te korten

    Nog een halve dag en ik ben op vakantie, hoera!

    Vandaag was ook maar een halve dag werk wegens alsdat ik naar de dokter moest om de draden uit mijn knie te peuteren, en dan naar de kinesist voor revalidatie.

    Ik heb recht op 18 sessies bij de man, maar hij voorziet dat er minder zullen nodig zijn omdat ik het al bij al goed doe qua knie. Vingers gekruist — ik heb een reeks oefeningen gekregen die ik elke dag moet doen, en volgende week is er opvolging.

    ’t Was trouwens wel grappig: ik maak een afspraak via het interweb, dat wordt allemaal proper bevestigd, en dan krijg vanmiddag dit bericht van meneer kinesist:

    Ik ben er redelijk 100% zeker van ben dat ik met mijn eigen naam en gegevens een afspraak heb gemaakt, maar blijkbaar zat ik in het systeem als onze oudste dochter (die daar ook klant is).

    ’t Is allemaal natuurlijk in orde gekomen, mar hoop dat daar geen GDPR-achtige viezigheid achter zit. 🙂

  • Trekzetelzorgen

    Mijn trekzetel is al maanden buiten commissie. Ik weet precies wanneer het gebeurd is en hoe: een bezoeker heeft zich met redelijk wat enthousiasme op de leuning gezet, en daardoor is er iets verbogen, waardoor hij niet meer recht staat.

    Op twee manieren: van de voorkant gezien helt hij over naar links, én hij ligt nu plat en geraakt niet meer recht. Kapot, dat ze zeggen.

    Een paar dingen:

    • ik heb een trekzetel nodig, mijn rug is slecht en ik lig graag in een zetel te lezen
    • trekzetels zijn duur
    • ik ben zeer gehecht aan de trekzetel die ik al bijna twintig jaar heb en die vol met goeie herinneringen zit
    • het model wordt niet meer verkocht en de winkel waar ik hem kocht, bestaat niet meer

    Ik heb via het internet heel Europa afgezocht naar een officiële reparateur, maar niets gevonden — tot ik, via Google, een PDF van een brochure voor het merk vond. De website zelf deed het merk al lang niet meer, en de winkel deed hoedanook geen herstellingen, maaarrrr de man van de winkel wist wel iemand die de zetel misschien kon repareren.

    Mail naar de mens gestuurd, en bijna onmiddellijk antwoord terug gehad. Hij woont aan de andere kant van het land, maar hij gaat regelmatig zeilen, rijdt dan langs Gent en zou kunnen langskomen om te kijken.

    Fantastisch!

    Na een valse start wegens geen zeilen wegens slecht weer en dus niet langs Gent geweest, is hij daarnet de zetel komen inspecteren. Geconstateerd dat er intern iets scheef zit, en dat hij er wellicht iets aan kan doen.

    De prijs zal stevig zijn, maar een stuk minder dan een nieuwe zetel, en zoals gezegd

    • ik heb een trekzetel nodig, mijn rug is slecht en ik lig graag in een zetel te lezen
    • trekzetels zijn duur
    • ik ben zeer gehecht aan de trekzetel die ik al bijna twintig jaar heb en die vol met goeie herinneringen zit

    Het zou een eeuwige schande zijn om hem op de vuilhoop te smijten als hij nog kan gerepareerd worden. Het is ondertussen ook vintage-ding, trouwens.

    Op 20 december komt de meneer van de meubels langs met een auto waar de trekzetel in past, en dan kan ik beginnen uitkijken naar de reparatie.

    Yay!

  • Tex Mex Motors

    Ik heb een aantal guilty pleasures. Auto-ombouw-programma’s zijn daar één van — dingen zoals Rust Valley Restorers of Car Masters: Rust to Riches. En het maakt niet uit dat de verhaallijnen alsmaar voorspelbare variaties op “we moeten via koop-reparatie-verkoop en inwisseldeals tot aan dit soort auto geraken” zijn.

    Het maakt zelfs niet uit dat de auto’s die die mensen maken vaak spuuglelijk zijn (ik kijk naar u, Gotham Garage) en gegarandeerd ook niet echt goed zullen rijden. Het is televisie die gemakkelijk kijkt, en het blijft altijd toch wel ergens spannend.

    Tex Mex Motors was een programma helemaal in die trant: auto’s kopen voor weinig geld over de grens in Mexico, ze naar El Paso in Texas verslepen, daar verbouwen, en voor veel geld verkopen. Met een bepaald geldelijk doel tegen het einde van het seizoen, en met een cast van al dan niet excentrieke personages — een verkoper, een fixer die Spaans spreekt, een moederfiguur, een kunstenaar.

    Terwijl ik het tweede seizoen aan het bekijken was, viel het contrast met die andere programma’s mij enorm op. De auto’s die ze kochten en verbouwden werden oordeelkundig aangepakt, met (op een enkele uitzondering van een wel bijzonder tacky drakenschildering) zowaar veel smaak en tact. Een Lamborghini bijvoorbeeld, die Gotham Garage in het metalliek paars met groene strepen zou gezet hebben (en vol met hun afgrijselijke doodskoppen en spiunnenwebben zou gehangen hebben), werd in origineel Lamborghini-oranje gespoten met echt mooi understated maar aanwezig Huichol-schilderwerk dat er prachtig in paste.

    En er was geen nodeloos drama. De mensen in de shop leken elkaar echt graag te zien, en echt professioneel bezig te zijn.

    Centrale figuur in dat alles was Rob ‘Rabbit’ Pitts, die de aankoop en verkoop deed, en een wandelende auto-encyclopedia was. Met een heerlijke stem (“honey over gravel” is niet gelogen), met een men-kan-niet-meer-Zuiderse-Verenigde-Staten-flair, met veel humor en menselijkheid.

    Tijdens het tweede seizoen van Tex Mex Motors stellen ze zich het doel om 500.000 dollar winst te maken in de loop van de herfst en de winter. Ze slagen daar bijna in: het wordt uiteindelijk maar een paar duizend euro minder. Eén van de verhaallijnen in het seizoen is dat Rabbit de indruk heeft dat ze concurrenten in El Paso zijn, die hetzelfde doen als zij — auto’s goedkoop kopen in Mexico en dan duur verkopen in de VS.

    In de laatste afleveringen blijkt dat inderdaad het geval te zijn. Spannend! En in de allerlaatste aflevering worden ze gecontacteerd door een Mexicaan waar ze al zaken mee gedaan hebben. Hij zegt dat hij hen zo ongeveer elk soort auto kan bezorgen, tot en met de meest exclusieve supercard. Dat hij hen ook kopers kan bezorgen met diepe zakken. Maar: dat hij wel 35% van de winst wil.

    Cliffhanger! Spannend! Wat gaan ze volgend seizoen doen!?

    …en dan komt er na de aftiteling een pancarte:

    In Memory of Our Friend
    Robert “Rabbit” Pitts

    We love you
    and will always
    remember you

    Ik was er niet goed van. Rabbit voelde zich niet goed, had buikpijn en vermagerde, is een paar keer naar dokters geweest die niets vonden, kreeg tijdens het filmen van het tweede seizoen alsmaar meer last van maagzuur en had geen eetlust meer. Uiteindelijk heeft hij een uitgebreide checkup laten doen, en bleek: maagkanker.

    Hij kondigde het zo aan op zijn Youtubekanaal:

    Hij is nog getrouwd met de liefde van zijn leven, en is een paar maand na de laatste draaidag overleden.

    Maar zo erg, jong.

  • Testen en kapotmaken en UX en al

    Ik denk niet dat er veel dingen zijn die ik leutiger vind dan door een toepassing (of een dienst, of een proces, of een procedure) gaan en zien waar het kapot gaat, en te zeggen hoe het eventueel te vermijden is dat het kapot gaat.

    Ik heb dat bij wijze van concurrentievervalsende vriendendienst nog eens voor niets gedaan, deze week.

    Het zijn altijd dezelfde klassiekers:

    • accessibility: kleurcontrast en toetsenbordnavigatie en dingen (idealiter ook allerlei ARIA-zaken, maar da’s al voor gevorderden die het echt goed willen doen)
    • informatiearchitectuur en navigatie: onduidelijke hiërarchie, te complex, verkeerde prioriteiten, gebrek aan consistentie, of vaak de klassieker van alles in te delen in termen van uw interne organisatie / uw businessobjecten / uw databasetabellen
    • naamgeving en labels
    • formulieren die niet goed omgaan met al dan niet dirty, impliciete volgordes die niet goed zitten, verkeerde controls voor verkeerde zaken, validatie die niet doet wat ze moet doen — niet nakijken of de einddatum wel na de begindatum is of niet minstens een sanity check op data doen genre een opleiding die 1 seconde kan duren
    • feedback: te veel, te weinig, op de verkeerde manier, op de verkeerde plaats, etc.
    • niet nagedacht hebben over user journeys of typische use cases of toptaken
    • enzoverder
    • enzoverder
    • enzoverder

    Het allerbeste natuurlijk is dat zo’n problemen niet naar boven moeten komen als iets al gemaakt is, en dat het op voorhand goed ontworpen en getest en gevalideerd is, maar oh wat is het leutig om een niet-echt-evidente toepassing te doorploeteren en te zien waar er allerlei zou kunnen rechtgetrokken worden.

  • Mijlstenen

    Ik heb vandaag voor het eerst sinds begin september met mijn velo rondgereden.

    Een gerief, u kunnen verplaatsen zonder op andere mensen een beroep te moeten doen.

    Ook moeilijk te geloven hoe rap zo’n operatie werkt: mijn knie is nu beter dan sinds vóór de zomer, toen ik wegens nieuwe schoenen die knelden mijn meniscus een beetje verwrongen had (maar het nog niet wist).

    Om niet te spreken van de meer dan een maand dat ik gewoon niet kon bewegen zonder pijn, en de anderhalve maand daarna dat ik mijn onmogelijk kon verplaatsen zonder twee krukken.

    Zot, maat.

  • Links van 21 tot 28 november 2024

    The meme-ification of the “Demon Core”

    The strange transformation of a criticality accident into dark Internet humor

    How animals learned to hibernate and why we can’t do it (yet) | Aeon Essays

    The conventional view is that humans and other creatures around us live between periods of waking and sleeping. But it is not true. Many have mastered the art of hibernating, which allows them to spend quite a lot of their life in a mysterious state of suspended animation – sometimes more than half of it. What is hibernation, and is it something that humans might be capable of?

    Meet the ‘giant’ river crabs that live beneath Rome’s ancient ruins

    Not much remains from the time Rome was only a marshy valley—except the crabs that have taken over ancient canals.

    Urbanization cut the crabs off from the Tiber, isolating them from other members of their species and trapping them in the middle of the developing city. “They have been stuck in the center of Rome since antiquity. What we see today is a relic of an ancient population that once lived there,” explains Damiani.

    A solution to the Onion Problem of J. Kenji López-Alt | by Dylan Poulsen | Medium

    Kenji López-Alt posed a mathematical problem on his YouTube channel about how to best cut an onion. I present a detailed solution.

    Bigfoot – Recreating Bluff Creek – YouTube

    Heerlijk, als een (uitstekende) 3D-modellering iets helemaal ontkracht. Geen onnatuurlijk groot iemand met onnatuurlijk lange armen whatsoever. 🙂

    Hacker in Snowflake Extortions May Be a U.S. Soldier – Krebs on Security

    Two men have been arrested for allegedly stealing data from and extorting dozens of companies that used the cloud data storage company Snowflake, but a third suspect — a prolific hacker known as Kiberphant0m — remains at large and continues to publicly extort victims. However, this person’s identity may not remain a secret for long: A careful review of Kiberphant0m’s daily chats across multiple cybercrime personas suggests they are a U.S. Army soldier who is or was recently stationed in South Korea.

    How the Ancient Sumerians Created the World’s First Writing System ‹ Literary Hub

    The Sumerians invented kingship, priesthood, diplomacy, law, and war. They gave the West its founding stories: the opposition of darkness and light at the Beginning; the Flood, with its ark and dove and surviving patriarch; the tower of Babel; the distant ancestors of Odysseus and Hercules. The Sumerians established the outlines of our political, legal, and temporal structures too, with the first kings and assemblies, the first written laws, the first legal contracts, and the sexagesimal system of counting that regulates the hours and seconds of our days.

    The Sumerians wrote the first epics and constructed the first monumental buildings. They invented the wheel, the sailing boat, the dome, and the arch. They were the first people to cast, rivet, and solder metals. They were the first to develop mathematics, calculating the hypotenuse of a right triangle two thousand years before Pythagoras and enabling extraordinary achievements in civil engineering. Compiling methodical lists of plants and animals, the Sumerians were the first people to apply rational order to our knowledge of the natural world.

    Features – The Many Faces of the Kingdom of Shu – Archaeology Magazine – November/December 2024

    Thousands of fantastical bronzes are beginning to reveal the secrets of a legendary Chinese dynasty

    Old Testament Interpretation Part 1 – Lecture 1

    An introduction to the contents of the Old Testament (Pentateuch and Historical Books) and to the methods of its interpretation.

    Copper Sushi 🍣

    This is a map of the European electrical transmission network. Each dot is a connection point where all the consumption from nearby settlements connects to the network, as well as all electricity generation from nearby power plants.

    The UX of LEGO Interface Panels – Interaction Magic

    Piloting an ocean exploration ship or Martian research shuttle is serious business. Let’s hope the control panel is up to scratch. Two studs wide and angled at 45°, the ubiquitous “2×2 decorated slope” is a LEGO minifigure’s interface to the world.

    These iconic, low-resolution designs are the perfect tool to learn the basics of physical interface design. Armed with 52 different bricks, let’s see what they can teach us about the design, layout and organisation of complex interfaces.

    Welcome to the world of LEGO UX design.

    UX, lego

    Petty squabbles and bloody battles – the life of an ancient Roman soldier | Aeon Videos

    When one imagines life in the ancient Roman army, it’s easy to conjure images of historic, bloody battles fought at close range. But, as this video from the British Museum details, life in the Roman army was, at its core, a job, with its own distinct barriers to entry, bureaucracies, benefits, hierarchies and interpersonal conflicts. Providing a tour of the exhibition ‘Legion: Life in the Roman Army’, which was on display at the museum earlier this year, the curators Richard Abdy and Carolina Rangel de Lima explore the intricacies of Roman army life through the experiences of a foreign soldier named Claudius Terentianus, who left behind many letters detailing his rise through the ranks and ultimate retirement – complete with a pension and full Roman citizenship.

    Tags:

  • Snel/traag internet

    Ik krijg regelmatig klachten van onze jongste zoon dat het internet traag is thuis. Dat is niet enorm verbazend, omdat zijn kamer nu eenmaal op de bovenste verdieping ligt en op de keuken na het verst van een wifidoos. Mijn internet is ook soms traag. Dat ligt er dan weer aan dat mijn computer aan een kabel hangt die aan een doos hangt die met wifi verbonden is met een doos beneden die met de modem verbonden is.

    De modem zelf die krijgt zijn interweb via glasvezel en zou dus in principe ruim snel genoeg moeten zijn, maar de ahem netwerktopologie in ons huis is ahem suboptimaal. Omdat ik eigenlijk wel benieuwd was hoe traag het internet is op mijn computer, ben ik wat in overkill gegaan.

    Een minder overkillaangelegde mens zou om de zoveel tijd eens speedtest.net opentrekken en op de Go-knop duwen, zoals ik nu net deed:

    …en dan bij Speedtest zelf de historiek nakijken en zo. Maar daar had ik geen goesting in, en ik wou ook weten of het ’s nachts dan rapper gaat of niet, en of de aanwezigheid van andere mensen er een invloed op heeft, en of er periodes zijn dat het sneller of trager gaat, en alles.

    Overkill dus maar.

    Sinds 26 juni draait er om de tien minuten een pythonscript op mijn computer dat een speedtest uitvoert en de resultaten daarvan in een bestand steekt. En daar kan ik dan grafieken uit trekken, zoals bij voorbeeld dit (klik voor meer detail):

    Er zitten twee vreemde gaten in september: ik vermoed dat het security-updates zullen geweest zijn, mijn sharing heb ik rond die tijd ook moeten aanpassen. Maar behalve dat: om de tien minuten een speedtest leert mij dat mijn downloadsnelheid op de beste momenten in de buurt van 700 Mbps komt, en meestal ergens tussen 350 en 450 ligt. Dat mijn uploadsnelheid meestal ergens tussen 150 en 175 Mbps zit, en mijn latency redelijk tussen 10 en 20 ms zit.

    Zijn er patronen te ontwaren? Als ik de cijfers uitzet in dagen en uren van de dag:

    Het valt meteen op dat er iets raars aan de hand was van de tweede week van juni tot de eerste week van juli: veel meer latency, en redelijk wat uitval en vertraging, zowel van download- als uploadsnelheid.

    En behalve dat? Niet enorm veel te zien, vrees ik. Als ik alleen de downloadsnelheid neem (die toch het meest varieert), zie ik dit:

    De rode stippellijnen geven aan wanneer het plots trager wordt. In juni-juli is dat om 9u, dus mogelijks wanneer ik begin te werken. Maar in augustus-september is het om 10u, en in oktober-november om 11u, dus nee, niet echt.

    De gele dozen zijn wanneer het sneller gaat. Dat komt overeen met (in juli) scoutskamp en (in september) wij allemaal op vakantie. Dus ja, aanwezigheid van kinderen heeft een effect. Dat het in oktober en november ook gelijk een beetje beter wordt, heeft er ook misschien mee te maken dat de kinderen allemaal aan het werk of op school zitten.

    Allez dan. Ik laat het script nog draaien tot het einde van het jaar en dan zet ik het af. Een mens moet daar ook niet in overdrijven, in data verzamelen.

    Voor wie benieuwd zou zijn: de data is met een minuscuul scriptje rond speedtest-cli in een csv-bestand gedumpt, dat wat bepoteld is met pandas en in grafieken gezet met matplotlib in een python notebook in VS Code.

  • Vakantie, definitief

    De toestand was dit:

    Veel ziekteverlof en vakantiedagen op overschot, awoert!

    Ik ben eigenlijk de namiddag na mijn geopereerd geweest zijn gewoon weer gaan werken, dus was het maar logisch om mijn ziekteverlof in te trekken (voeten in de aarde, ik zit een beetje tussen leidinggevenden) en de vakantiedagen dan maar op te gebruiken.

    En dus is het dit geworden:

    Nog de rest van de week, twee halve dagen volgende week, en op een teambuildingdag na, zit het jaar er gewoon al op!

  • Twin Peaks muzieks

    Ik ken niets van muziektheorie, maar ik blijf maar naar analyses en allerlei kijken op het interweb. Charles Cornell maakt mij altijd gelukkig als hij muziek wijs vindt:

  • Jeffrey en Styx

    Vanmorgen wakker geworden met niet één maar twee katten op ons bed, hoera!

    Ze moeten nog een beetje loskomen, maar ik denk dat ze zich al helemaal thuis aan het voelen zijn. Ik dacht eerst dat we op zoek moesten gaan achter onze krab/klim/schuilplaatspaal die ergens in huis rondslingert, maar uiteindelijk: de trap van de living naar het gelijkvloers is één grote uitkijkplaats, en ze zitten daar gelijk bijzonder graag.

    Jeffrey kijkt meestal gemeen, maar ze is enorm lief. En Styx komt heel de tijd bij u zitten. Ze komen eigenlijk alle twee heel de tijd af.

    En! ze hebben de kattenbak al direct gevonden, en waar het eten en het drinken staat, en ik ben enorm content. 🙂

  • Nieuwe huisgenoten

    Kijk!

    Ze zijn nog wat op hun positieven aan het komen, maar het komt helemaal in orde, denk ik wel.

  • Een ongeluk bij een ongeluk

    Ik voel de pijn in mijn knie bijna niet meer, hoera!

    Dat is enerzijds omdat het logischerwijs op den duur geen pijn meer zou mogen doen, maar het is anderzijds en vooral omdat aan dezelfde kant mijn voet besloten heeft een jichtaanval te doen.

    Het is dus écht wel zo dat als het ergens veel pijn doet, dat de andere pijn minder lijkt. 🙂