Wandelend op de Kruisweg in Haarlem vlak bij het station zag ik weer een paar Stolpersteine. Een herinnering aan mensen (waaronder een kind van 10 jaar) vermoord door een immoreel regime. Juist in deze tijd van verrechtsing is het goed om eraan herinnerd te worden wat het betekent als regime’s (zowel links als rechts) afgleiden in een gemoedstoestand waarin het normaal wordt andere mensen als minderwaardig aan te duiden.
Als je zoals ik oude GWBasic programma’s om aan het zetten bent naar Pascal en Python krijg je te maken met de SCREEN en WINDOWS statements van GWBasic. In GWBasic worden deze gebruikt om het weergeven van graphics op het scherm te beheersen.
Het SCREEN statement bepaalt de graphics mode en de scherm dimensies. SCREEN 0: 40 x 25 of 80 x 25, alleen tekst, 16 kleuren (EGA) SCREEN 1: 320 x 200 pixels, 80 x 25 tekst, 16 kleuren (EGA, CGA) SCREEN 2: 640 x 200 pixels, 40 x 25 tekst, 16 kleur (EGA, CGA) SCREEN 3: 720 x 348 pixels, 80×25 tekst, 2 kleuren (Hercules, Olivetti, AT&T) SCREEN 4: 640 x 400 pixels, 80×25 tekst, 16 kleuren ( Olivetti, AT&T) SCREEN 7: 320 x 200 pixels, 40 x 25 tekst, 16 kleuren (EGA) SCREEN 8: 640 x 200 pixels, 80 x 25 tekst, 16 kleuren (EGA) SCREEN 9: 640 x 350 pixels, 80 x 25 tekst, 64 kleuren (EGA) SCREEN 10: 640 x 350 pixels, 80 x 25 tekst, 9 kleuren (EGA) SCREEN 11: 640 x 480 pixels, 80 x 30 / 80 x 60 tekst, 256K kleuren (VGA, MCGA) SCREEN 12: 640 x 480 pixels, 80 x 30 / 80 x 60 tekst, 256K kleuren (VGA) SCREEN 13: 320 x 200 pixels, 40 x 25, 256K kleuren (VGA, MCGA)
Het WINDOWS statement (WINDOWS (x1,y1)-(x2,y2)) definieert een rechthoek binnen het door SCREEN gedefinieerde coordinatensysteem. Dit maakt het mogelijk om graphics te tekenen binnen het gespecifieerde gebied. Als SCREEN niet gespecificeerd is dan definieert WINDOW (50,50)-(150,150) een window met de linker benedenhoek op (50,50) en de rechterboevenhoek op (150,150). Als SCREEN wel gespecificeerd is dan definieert WINDOW (50,50)-(150,150) een window met de linker bovenhoek op (50,50) (lager coordinaten) en de rechteronderhoek op (150,150) (hogere coordinaten).
In onderstaande figuur geven we deze relatie meer pictografisch weer.
Als nu een GWBasic programma zowel SCREEN als WINDOWS statements gebruikt moeten we inzicht krijgen in de transformatievergelijking indien we het programma willen vertalen naar een andere taal.
Recentelijk heb ik de ZOYI – ZT703S – Oscilloscoop/Multimeter aangeschaft omdat ik al wat langer zat na te denken om een ietwat betere en handzamere oscilloscoop aan te schaffen die niet al te duur was. De Hantek 6022BE USB oscilloscoop was niet echt betrouwbaar in het gebruik. Ik heb tot op heden voornamelijk geexperimenteerd met het maken van Lissajous figuren maar zoals te zien is verloopt dit allemaal best goed.
Je verwacht eigenlijk dat je weining leven vindt in slootwater in het midden van de winter. Dat valt best wel mee als men het gaat onderzoeken. Het is wel wat minder, vooral veel ciliaten, maar uiteindelijk zelfs een raderdiertje gevonden.
De Raspberry Pi 4 (4GB geheugen) draait op een SSD. Zonder problemen heb ik DeepSeek R1 kunneninstalleren via enkele terminal commando’s: > sudo apt update > sudo apt upgrade -y > sudo apt install curl -y > curl -fsSL https://ollama.com/install.sh | sh > ollama run deepseek-r1:1.5b
Ik heb twee technische vragen gesteld die voor zover ik het kan zien foutloos bantwoord werden.
Citroenzuur blijft een leuk onderwerp om onder de polarisatiemicroscoop te leggen. Het preparaat is gemaakt door een beetje citroenzuur op een objectglaasje te leggen. Vervolgens verwarmd men voorzichtig boven een spiritusbrander waarbij men op het moment dat het citroenzuur gesmolten is stopt met verwarmen en onmiddellijk een dekglaasje paatst. Leg het preparaat dan enkele weken weg en bekijk het dan onder de mciroscoop.
Microscoop: Euromex ML2000 met polarisatiefilter Objectief: 4x Camera: Luckyzoom YW500 HD 5MP USB Cmos Electronic Digital Eyepiece.
Het ammoniumoxalaat (((NH4)2(C2H4))) is gemaakt door verweringswater (oxaalzuur) te neutraliseren met ammonia. Een druppel is ingedampt op een objectglaasje en bekeken onder een polarisatiemicroscoop. Ik heb dit experiment al eens eerder uitgevoerd en gepresenteerd. Microscoop: Dino-Lite AM4815ZT Vergroting: ca. 55X
Een van mijn hobby’s waar ik nieuw leven heb ingeblazen is programmeren en nu ik wat meer tijd heb wilde ik me niet beperken tot een enkele programmertaal. Naast Python en BASIC heb ik ook Pascal weer opgepakt, meer specifiek Object georienteerd Pascal. In de jaren 90 heb ik een PHTO cursus “Computer Science” gevolgd en de eerste taal die we daar leerden was Pascal. In het kader van “retro-computing” kon ik het niet aan me voorbij laten gaan om die taal weer op te pakken. De benodigde software, Lazerus Pascal (ook wel Free Pascal genoemd) kan men gratis downloaden. Daarnaast ben ik lid van de HCC, waar men Interessegroepen kent. Bij de Interessegroep HCC!Programmeren is er een subggroep Pascal waar ik me bij aangemeld heb. Deze groep komt elke zaterdagavond on-line samen, waarbij men dan o.a. programmeerproblemen kan bespreken. Je staat er dus niet alleen voor. Ook worden mogelijke programmeerprojecten besproken die alle leden dan gaan uitvoeren en waarbij men de resultaten en problemen kan bespreken. Momenteel zijn we bezig om de BASIC programma’s die in de welbekende boeken van Lauwerier besproken worden om te zetten naar Pascal. Ikzelf loop nog flink achter maar heb nu eindelijk mijn eerste Lauwerierprogramma omgezet. Het is een eenvoudig programma waarin de Brownse beweging op een sterk vereenvoudigde manier wordt gesimuleerd.
Nu ik al weer een tijdje met retrocomputing bezig ben vond ik het tijd om een hoekje in te richten met een vaste opstelling voor mijn Commodore 64. Net genoeg ruimte voor de C64, een mini-TV, een joystick, de datasette en een CBM 1541 disk drive.