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:

Toshiba T2130CT-laptop met een 75Mhz Intel 486-processor en een indrukwekkende 16MB RAM (dat zijn megabytes!)
Toshiba T2130CT-laptop met een 75Mhz Intel 486-processor en een indrukwekkende 16MB RAM (dat zijn megabytes!)

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 moest de originele schijf verwijderen omdat hij niet werkte... dacht ik!
Ik moest de originele schijf verwijderen omdat hij niet werkte... dacht ik!

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.

... blijkbaar had hij een beetje aanmoediging nodig van zijn moderne neven...
... blijkbaar had hij een beetje aanmoediging nodig van zijn moderne neven...

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!

Nooit gedacht dat ik hier blij van zou worden: het Windows 98 opstartscherm!
Nooit gedacht dat ik hier blij van zou worden: het Windows 98 opstartscherm!

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.

De 486-ontwikkelmachine!
De 486-ontwikkelmachine!

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.

VIM draaiend op de 486 via PuTTY
VIM draaiend op de 486 via PuTTY

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!