In zijn praktijk in Baltimore behandelde psychotherapeut Robert Lindner een opmerkelijke patiënt met schuilnaam "Kirk Allen". Allen had een reeks sciencefictionromans gelezen en vertelde daarover

Op een vreemde en onverklaarbare manier wist ik dat ik mijn eigen biografie aan het lezen was.

Lindner heeft nooit onthuld om welke reeks het precies ging, maar het zou om de Barsoom1 boeken van Edgar Rice Burroughs2 gaan, die de avonturen beschrijven van een Amerikaanse Confederatie-veteraan op Mars.

Barsoom #1
A Princess of Mars (Edgar Rice Burroughs, 1912)
Barsoom #2
The Gods of Mars (Edgar Rice Burroughs, 1912)
Barsoom #3
The Warlord of Mars (Edgar Rice Burroughs, 1916)
Barsoom #4
Thuvia, Maid of Mars (Edgar Rice Burroughs, 1916)

Allen geloofde dat hij zijn fictieve identiteit naar believen kon aannemen en zou een deel van zijn leven op een andere planeet doorgebracht hebben. In een poging om zijn eigen geschiedenis te begrijpen, had hij zijn levensverhaal gebundeld. Daarbij was hij van de boeken vertrokken, en had die aangevuld met zijn eigen verzonnen herinneringen. Lindner vroeg of hij dit werk mocht zien:

Om te beginnen was er een manuscript van ongeveer 12 000 pagina's met de aangepaste "biografie" van Kirk Allen. Dit was ingedeeld in zo'n 200 hoofdstukken en las als fictie. Bij deze pagina's zaten nog eens ongeveer 2 000 aantekeningen in Kirk's handschrift, met correcties die nodig waren vanwege zijn recentere "onderzoekingen", en een enorme bundel kladjes en aantekeningen op enveloppen, rekeningen met kwitanties, wasbriefjes. Er was ook een glossarium van namen en termen dat meer dan 100 pagina's besloeg; 82 veelkleurige kaarten die zorgvuldig op schaal waren getekend, 23 van planeten in vier projecties, 31 van landmassa's op deze planeten, 14 met het label "Kirk Allen's Expeditie naar …", en de rest van steden op de verschillende planeten; 161 bouwkundige schetsen en architecturale gevels, allemaal zorgvuldig geschaald en van aantekeningen voorzien; 12 genealogische tabellen; een 18 pagina's tellende beschrijving van het sterrenstelsel waarin Kirk Allen's thuisplaneet zich bevond, met vier astronomische kaarten, één voor elk van de seizoenen, en negen sterrenkaarten van de sterrenhemel van observatoria op andere planeten in het sterrenstelsel; een 200 pagina's tellende geschiedenis van het rijk waarover Kirk Allen heerste, met een tabel van drie pagina's met data en namen van veldslagen of opmerkelijke historische gebeurtenissen; een reeks van 44 kaarten die elk 2 tot 20 pagina's bevatten, elk over een of ander aspect — sociaal, economisch of wetenschappelijk — van de planeet waarover Kirk Allen heerste. Tot slot waren er ook nog 306 tekeningen van mensen, dieren, planten, insecten, wapens, gebruiksvoorwerpen, machines, kledingstukken, voertuigen, instrumenten en meubels.

In een poging om Allen van zijn waanideeën te verlossen, ging Lindner er uiteindelijk zelf in mee, bevestigde de fantasie en herhaalde Allen's ideeën in dezelfde taal. Dit werkte: na enige tijd verklaarde Allen dat hij niet langer het gevoel had dat zijn alter ego echt was. Lindner publiceerde het verslag van zijn therapie in twee artikelen in Harper's Magazine en werkte ze verder uit in zijn memoires The Fifty-Minute Hour3 (1955). Allen's identiteit blijft onbekend, maar er wordt gespeculeerd dat het zou gaan om Paul Linebarger4 — die zelf sciencefiction schreef onder de naam Cordwainer Smith.

Opgave

We hebben het archief met schrijfsels en tekeningen van Kirk Allen gedigitaliseerd en opgeslaan in tekstbestanden die verspreid zitten in een directorystructuur onder de huidige directory (allen.zip5). Daarbij hebben we ervoor gezorgd dat er in die directorystructuur geen spaties voorkomen in de namen van bestanden en subdirectories.

We hebben een shell variabele EXTENSION ingesteld met een bepaalde bestandsextensie: het deel van de bestandsnaam na het laatste punt. Geef een Unix commando dat naar standaard uitvoer (stdout) uitschrijft hoeveel regels de vijf grootste bestanden onder de huidige directory samen hebben. Daarbij moet het commando enkel kijken naar gewone bestanden met de gegeven bestandsextensie. Zorg ervoor dat het commando enkel iets uitschrijft naar standaard uitvoer (stdout).

Shell variabelen

Een shell variable6 is een naam die verwijst naar een string (tekst). Als je in een Unix commando de naam van de variabele laat voorafgaan door een dollarteken ($) en optioneel tussen accolades zet ({}), dan zal de variabele (het dollarteken, de naam en de optionele accolades) door de shell vervangen worden door de geassocieerde string voordat het commando wordt uitgevoerd.

$ NAME="Linus"
$ echo "Hallo $NAME!"
Hallo Linus!
$ echo "Hallo ${NAME}!"
Hallo Linus!

Let er wel op dat de shell deze variable substitution7 enkel uitvoert als er geen escaping8 wordt toegepast op het dollarteken. Het voorgaande voorbeeld toont aan dat de shell wel nog variable substitution uitvoert als het dollarteken tussen dubbele aanhalingstekens staat. Dat is echter niet het geval als het dollarteken tussen enkele aanhalingstekens staat of wordt voorafgegaan door een backslash (\).

$ NAME="Linus"
$ echo 'Hallo $NAME!'
Hallo $NAME!
$ echo Hallo \$NAME!
Hallo $NAME!

Voorbeeld

In onderstaande interactieve bash sessie gaan we ervan uit dat het ZIP-bestand allen.zip9 uitgepakt werd in de huidige directory. Het gevraagde commando moet op de plaats van de drie puntjes (…) komen.

$ EXTENSION="txt"
$ 11867

Bronnen

Epiloog

Second Life is een virtuele wereld voor meerdere spelers waarin mensen voor zichzelf een avatar kunnen creëren en vervolgens kunnen communiceren met andere gebruikers en kunnen interageren met voorwerpen die gebruiker gemaakt hebben. Het werd ontwikkeld door het in San Francisco gevestigde bedrijf Linden Lab. De online omgeving werd op 23 juni 2003 gelanceerd en groeide enkele jaren snel. In 2013 had het ongeveer een miljoen regelmatige gebruikers. Uiteindelijk stabiliseerde de groei en eind 2017 was het aantal actieve gebruikers gedaald tot "tussen de 800 000 en 900 000". In veel opzichten valt Second Life onder het soort video games waarin een massaal online rollenspel gespeeld wordt. Linden Lab benadrukt echter dat hun creatie geen spel is: "Er wordt geen conflict uitgelokt en er is geen vast doel".

second life
Landschap van The Pilgrim's Dawn in Second Life.

De virtuele wereld is vrij toegankelijk via Linden Lab's eigen clientsoftware of via alternatieve viewers van andere partijen. Gebruikers van Second Life — ook wel "bewoners" genoemd — creëren virtuele voorstellingen van zichzelf (avatars genaamd), en zijn in staat om te communiceren met plaatsen, objecten en andere avatars. Ze kunnen de wereld (bekend als the grid) verkennen, andere inwoners ontmoeten, socializen, deelnemen aan zowel individuele als groepsactiviteiten, bouwen, creëren, winkelen en virtuele eigendommen en diensten met elkaar verhandelen.

Het platform bevat voornamelijk 3D-gebaseerde, door gebruikers gegenereerde inhoud. Second Life heeft ook zijn eigen virtuele munt, de Linden Dollar (L$), die kan ingewisseld worden tegen echte valuta. Second Life is bedoeld voor spelers van 16 jaar en ouder, met uitzondering van 13–15-jarige gebruikers, die enkel toegang hebben tot de Second Life wereld van een sponsorende instelling (bijvoorbeeld een bedrijf of een school).