23 juni 2016
Het blog bouwen... in stijl!
Ontwikkelen op een 20 jaar oude computer met 16MB RAM en Windows 98
Je moet een beetje gek zijn om op het idee te komen een blog te bouwen (dus: echt programmeren) op een oude 486-laptop met slechts 16MB RAM. Ik ben toevallig zo gek: ik pakte mijn allereerste laptop uit de jaren 90 en besloot uit te zoeken of het mogelijk was om er een ontwikkelmachine van te maken.
De laptop
Het was rond 1999 toen ik al mijn spaargeld gebruikte om mijn eerste computer te kopen, het was een tweedehands Toshiba T2130CT met machtig indrukwekkende specificaties:
- Intel 486DX4-processor op 75Mhz
- 16MB RAM
- 500MB harde schijf (die ik later heb geüpgraded naar een 2.1GB schijf)
- 3.5" floppydiskdrive
- dubbele PCMCIA-aansluiting
- 10-megabit 3COM PCMCIA-netwerkadapter
- 65.536 kleuren TFT-scherm met een resolutie van 640x480 pixels
- geïntegreerde MousePoint ("knub-style" rubberen stip) muis
- batterijduur van ongeveer 20 minuten

Toen de machine net uitkwam, in 1995, was het een topmodel. Ik kocht hem als een tweedehands refurbished exemplaar bij een lokale computerwinkel voor een flinke 1.000 Nederlandse Guldens (wat in hedendaags geld ongeveer hetzelfde is als €1.000). Als jonge student knutselde ik ermee en gebruikte ik hem om mijn eerste software in BASIC en websites in HTML te programmeren.
Aan de praat krijgen
Nadat hij jarenlang stof had verzameld in de kast, vroeg ik me af of de machine nog wilde opstarten. Dat deed hij niet. De computer begroette me met de melding "ongeldige opstartschijf". Het was duidelijk dat hij ofwel aan geheugenverlies leed, of dat iets anders het opstarten verhinderde.

Ik vermoedde dat de harde schijf het probleem was en besloot hem aan te sluiten op mijn moderne computer. Mijn dagelijkse Linux-machine kon niet met de schijf communiceren, maar ik had meer geluk toen ik hem op een MacBook Air aansloot. Het Schijfhulpprogramma van OS X identificeerde de schijf correct en ik kon door de inhoud van de 2,1GB schijf bladeren (het is grappig om te beseffen dat zelfs smartwatches vandaag de dag meer geheugen hebben dan mijn dierbare oude laptop). Ik controleerde het bestandssysteem op fouten en nadat deze waren verholpen, installeerde ik hem opnieuw in de Toshiba. Helaas maakte het geen verschil: de "ongeldige opstartschijf" bleef.

Gelukkig had ik ook nog de originele 500MB harde schijf (die was geïnstalleerd voordat ik de schijf later upgradede). De laptop herkende zijn originele 500MB schijf wel en begon op te starten. Ik was bijna vergeten dat het bestond toen ik Microsoft Scandisk zag verschijnen om de schijf te controleren. Dus met één schijf die werkte en de andere niet... moest het iets anders zijn!
Zoals vaak in de informatica was de oplossing een logische: omdat de computer lange tijd niet op een stroombron was aangesloten, was de BIOS-batterij leeg. Dat zorgde ervoor dat de basisinstellingen van de computer, zoals de datum/tijd, werden gereset. Onder de BIOS-instellingen was er de optie voor de hardeschijf-interfacemodus. Zodra de interfacemodus van de harde schijf was ingesteld op "enhanced IDE", was de computer klaar om op te starten met de grotere 2.1GB schijf.
Windows 98 en het moderne internet
Nooit was ik zo blij om het opstartscherm van Windows 98 te zien. Het is grappig om te beseffen dat de opstartschermen van vandaag veel minder kleurrijk zijn, maar aan de andere kant zijn de opstartschermen van vandaag slechts een paar seconden zichtbaar. De oude laptop nam zijn tijd en toen hij klaar was met opstarten, was ik klaar om hem naar het volgende niveau te tillen: hem verbinden met het moderne internet!

Moderne laptops hebben de meeste hardware geïntegreerd, maar vroeger was het gebruikelijk om extra hardware (zoals netwerkadapters en modems) aan te sluiten. Ergens in 1999 kocht ik een 10-megabit 3COM PCMCIA-netwerkadapter. Hoe snel sommige computertechnologieën zich ook ontwikkelen, het internetprotocol is vandaag de dag eigenlijk nog grotendeels hetzelfde als in de jaren 90. Dit maakte het relatief eenvoudig om de oude laptop met een gewone netwerkkabel op mijn lokale netwerk aan te sluiten.

Een veiligheidsopmerking: je moet heel voorzichtig zijn om zo'n oude computer rechtstreeks op het openbare internet aan te sluiten. Elke oude computer is een interessant doelwit voor computervirussen. Aangezien ik de lokale netwerkbeheerder ben, was ik er redelijk zeker van dat het veilig was om de computer aan te sluiten. (En als hij was ontploft, had dat vast een interessante passage in dit verhaal opgeleverd...)
Ontwikkeltools: de kracht van de cloud
Dus hoe goed is Windows 98 dan voor moderne softwareontwikkeling? Nou, vergeet volwaardige moderne geïntegreerde ontwikkelomgevingen, er is geen moderne webbrowser en als er iets crasht op Windows 98 is het mogelijk dat de hele computer vastloopt (vanwege de manier waarop Windows 98 zijn processen beheert). Maar het is niet allemaal slecht: Kladblok is er, de Windows Verkenner en het is me gelukt een compatibele versie van PuTTY te vinden! Met PuTTY kun je inloggen op andere computers en hun softwareaanbod gebruiken alsof het op de lokale machine staat.

Met PuTTY verbond ik de oude laptop met een moderne virtuele Debian Linux-machine die in de cloud draait. De oude computer werd als "een venster" naar de moderne (ontwikkel)wereld, waardoor het volledig mogelijk werd om dit blog te programmeren!