Documentatie

Documentatie

is de basis van kennis en kunde, die men kan opdoen resp. heeft opgedaan. Gelukkig hoeven we alles niet zelf opnieuw uit te vinden, maar kunnen we gaan "staan op de schouders" van degenen, die vóórwerk hebben gedaan. Tot nu toe schreef ik dat vaak op. Waarop ik vervolgens te maken kreeg met de vraag: waar heb ik dat ergens staan?

Nu is er PmWiki

van origine een systeem om gedachten en ervaringen vast te leggen. Met als belangrijkste ontwerpcriterium "Favor writers over readers"

Project RUST

Python programmering In het kader van CoderDojo ben ik diverse onderdelen van het programmeren met Python aan het onderzoeken. O.a. welke code editors prettig zijn om mee te werken. Mijn brondocument is een artikel in de Raspi-Newsletter #:000_guizero_DIGITAL_v2.pdf.
Daarin worden genoemd:

  • EDLI
  • Mu_editor
  • Pyzo
  • PyCharm
  • Thommy

Thommy blijkt op de Raspberry Pi standaard aanwezig te zijn. Het werkt vlekkeloos samen met de guizero-bibliotheek. Een opvallende error-message is dat een image in een voorbeeld niet lijkt te worden gevonden. Na lang zoeken blijkt één editor te melden dat het type van de image niet correct is. Wat blijkt: onder MacOS wordt alleen het type GIF ondersteund! Op een Raspberry Pi wordt ook .png gewoon geaccepteerd.

Raspberry Pi setup en verder

Ik ben nu al diverse malen opnieuw gestart. De meeste keren was dat omdat er onderweg iets niet helemaal goed was gegaan. Het luistert allemaal tamelijk nauw. Vooral als er extra pakketten geïnstalleerd worden. Dus daarom heb ik besloten nu alles nauwkeurig te documenteren. M.b.v. links naar relevante websites en schermafbeeldingen. Eén van de problemen lijkt te komen doordat micro-sd kaartjes niet altijd even betrouwbaar zijn. De spanning van het systeem halen vóór het systeem compleet is afgesloten resulteert nogal eens in een corrupt systeem. Hier volgt de instructie voor het installeren van Raspian Buster Lite. Later zal ik toch nog een desktop installeren. Dat is nodig als ik het systeem wil benaderen m.b.v. Realvnc. Op dit moment doet zich een interessante ontwikkeling voor. Ik heb al eerder geëxperimenteerd met een Arduino. Een standaard test bestaat o.a. uit het laten blinken (aan/uit) van een led. De code hiervoor bij een Arduino heet een sketch. De programmeertaal is Python. Nu heb ik voor hetzelfde experiment op de Raspberry Pi een code in Rust; een functionele programmeertaal.

Project Programmeertalen Dit project heb ik toegevoegd, omdat ik ongeloofelijk veel leer van mijn experimenten. O.a. dat er veel meer in de wereld is dan de 'klassieke' programmeertalen. Tijdens mijn afstuderen schreef een medestudent, die wiskunde deed, een programma voor mij in Algol-60. Toen ik in dienst kwam bij een (toen) bekende machinefabriek in Hengelo, bleek het zusterbedrijf in Amsterdam in Algol te programmeren. Zij gebruikten de computers van het Mathematisch Centrum, tegenwoordig CWI, de X1 en de X8. Algol was daar dus de standaaard. In Hengelo daarentegen werd gewerkt met computers van IBM. De technische rekenaars, die een opleiding volgden op de TU-Twente, hadden leren werken met Fortran. Heel veel later kwamen daar allerlei interessante talen bij, zoals Pascal en APL. Tegenwoordig is het spectrum nog veel breder. Een overzicht van de top-tien laat zien wat de huidige keuzes zijn. Ergens in de 90-er jaren maakte ik kennis met een bedrijf dat programmeerde in Tcl/Tk. Ik heb me er nooit in verdiept. Niemand had het er over buiten dit bedrijf. Nu moet ik constateren dat dat een grove misvatting moet zin geweest. Het bestaat nog steeds en ... is bruikbaar op vrijwel alle platformen! Een goede reden om daar dus maar eens in te duiken.

Project Tcl/Tk

Even uitgeprobeerd of Tcl/Tk ook werkt op de MacBookAir. Inderdaad werkt dit prima. Bijgaand de schermafdruk van deze paragraaf 'First_steps'.