10.19.07

Eerste weken bij Maplesoft

Posted in Uncategorized at 9:04 by erik

Het is al even geleden dat ik een post geschreven heb, maar ja, ik beleef niet meer zo veel nieuwe dingen als in de voorgaande weken. En ik maak ook een stuk minder foto’s. Daarentegen is het ook wel heel leuk om hier te werken, moet ik zeggen. Laura heeft natuurlijk al het een en ander geschreven over wat we met mijn ouders samen gedaan hebben; daar heb ik niet zo veel meer aan toe te voegen. Maar ik wil wel wat meer vertellen over wat ik op mijn werk zoal doe.

In de eerste week was dat bijvoorbeeld het vikingen-spel: ik kwam woensdag de kantine in, waar veel mensen met de scrabble-competitie bezig waren. Ik had besloten dit jaar maar niet mee te doen — nog genoeg aan mijn hoofd. Maar aan een van de tafeltjes waren twee mannen bezig met een spel dat ik niet direct herkende. Ik vroeg of ik erbij mocht gaan zitten. Het bleek te gaan om het vikingen-spel, ook wel Tafl genaamd, dat de vikingen zo’n 1500 jaar geleden al speelden. Meestal met grote hoeveelheden mede bij de hand. Het is een erg interessant spel; je kunt de regels in een minuut of twee uitleggen, maar er zit heel veel tactiek in. En het is bovendien niet gebalanceerd; bij gelijkwaardige spelers wint wit zo’n 60% van de potjes.

Dit was een potje tussen Neil (zwart) en een van de vele Daves (wit). Neil kende het spel al behoorlijk goed (met enkele honderden potjes achter de rug), Dave slechts redelijk (ongeveer 60 of zo). Dat had tot gevolg dat Dave verloor. Toen werd ik door Dave uitgedaagd; die uitdaging nam ik natuurlijk graag aan (spelend met wit). Ik werd gelukkig door advies van Neil voor een paar beginnersfouten behoed. Daarna moest Neil naar een vergadering en heb ik met veel plezier van Dave verloren.

De dag daarop gingen we, zoals in principe elke donderdag, met een clubje naar de Farmers’ Market. Daar trakteerde John op appelflappen (voor de puristen: officieel moet ik appelbeignets zeggen), grappend naar mij dat de traditie eigenlijk was dat de nieuwste employee dat deed (John is drie weken voor mij begonnen). Daar sprong ik gretig op in, en we besloten dat we zo’n traditie inderdaad in het leven zouden roepen. De week daarop heb ik dus op appelflappen getrakteerd: ik wist namelijk dat deze week drie nieuwe mensen zouden beginnen! Vandaag (nog een week later) was het dus tijd voor Austin, Wilson en/of Elena om te trakteren: het blijft nog een week of twee hun beurt, en dan krijgen we er als het goed is nog iemand bij die daarna nog geruime tijd de pineut zal zijn. Nou ja. We kunnen in ieder geval doen alsof.

Vorige week vrijdag was de eerste editie van de TransWorld Lunch waar ik bij was, een maandelijks evenement waarbij een groep Maplesoft-mensen bij een of ander restaurant met een min of meer exotische keuken gaat eten. De bestemming was ditmaal Japan, dat wil zeggen, Ye’s Sushi Restaurant. We waren met een man of tien, en het was erg gezellig. Hier was het eten lang niet zo Japans als bij het Japanse restaurant in Vancouver; het klinkt een beetje banaal, maar dat is meer mijn smaak. Het is een all-you-can-eat restaurant; het idee is dat je zo vaak kunt bestellen als je wilt, maar als je wat overlaat moet je extra betalen. Zo wordt het verspillen van voedsel goed voorkomen.

Afgelopen maandag begonnen dus drie nieuwe mensen, in principe bij hetzelfde project als ik. Austin zit ook in de wiskunde-groep, terwijl Wilson en Elena bij de Engineering Applications-groep horen. Verder is mijn samenwerking met naaste buurman Victor (nog een undergraduate-student wiskunde) erg leuk. We werken aan heel verschillende dingen, maar die kunnen we vaak samen bespreken. Gisteren was hij wat aan het experimenteren hoe je met zo weinig mogelijk keren vergelijken de mediaan van vijf (ongesorteerde) verschillende getallen kunt vinden. Met wat puzzelen kwamen we samen op een methode hoe het met maximaal zeven, vaak minder keren vergelijken kon. Maar we zagen niet direct in of dit optimaal was. Wikipedia bleek echter een stelling van Knuth te weten die een ondergrens voor het benodigde aantal keren gaf, en voor vijf elementen kwam daar precies zeven keer vergelijken uit. Dus het is inderdaad optimaal. (Oefening voor de lezer: wat is de procedure? Drie punten te verdienen.)

Verder ging vandaag een clubje collega’s de hele afdeling langs om mensen te motiveren een briefje in de bedrijfs-ideeënbox te deponeren met een verzoek voor een nieuw espresso-apparaat. Ik probeerde uit te leggen dat ik geen koffie drink, laat staan espresso, maar dat mocht niet baten. Uit collegialiteit hoorde ik toch zo’n briefje te schrijven, vond men. Natuurlijk ben ik dan niet te beroerd er iets moois van te maken. Temidden van een groot aantal espresso-verzoeken vindt iemand dus binnenkort een briefje met de volgende tekst: “On behalf of my treasured colleagues, I would like to request the installation of a new espresso machine (preferably shiny).” Mijn collega’s vonden het een geweldige grap.

7 Comments

  1. Wmijn said,

    October 21, 2007 at 3:29

    😀 Ik heb geen flauw idee of je werk je bevalt (inhoudelijk), maar het is in ieder geval duidelijk dat het collega-technisch helemaal snor zit. Het klinkt allemaal erg gezellig en alsof je je daar als een vis in het water voelt. Het werk zelf zal hopelijk ook bevallen.

  2. erik said,

    October 21, 2007 at 5:42

    Het werk is inhoudelijk ook erg leuk; ik heb tot nu toe vooral veel gelezen en nog niet zo veel echt gedaan, maar dat komt nu ook wat meer. Ik heb er niet zo veel over geschreven, maar is voor een deel ook omdat ik niet over alles *mag* praten…

  3. Hanneke said,

    October 24, 2007 at 7:17

    Wauw dat klinkt echt supergoed! Leuk hoor.
    Kom je ook wel aan werken toe 🙂

  4. Hanneke said,

    October 25, 2007 at 0:25

    okee okee…

    Stel de vijf getallen heten n1,n2,n3,n4,n5.

    Sorteer n1 t/m n4. Hiervoor zijn maximaal 5 vergelijkingen nodig (zie
    onder).

    Stel het gesorteerde lijstje is x1,x2,x3,x4 (elk van de getallen
    n1,n2,n3,n4 komt hier dus precies 1 keer in voor).

    Dan kunnen we als volgt de mediaan bepalen:
    if (n5 < x3) then
    if (n5 < x2) then
    mediaan = x2
    else
    mediaan = n5
    end if
    else
    mediaan = x3
    end if

    Dit kost duidelijk maximaal 2 vergelijkingen, waarmee het totaal aantal
    vergelijkingen op maximaal 7 komt.

    De standaard-aanpak zou zijn om n1 t/m n5 te sorteren en dan de 3e in de
    gesorteerde lijst te pakken, maar dat heeft maximaal 8 vergelijkingen
    nodig. We kunnen dit dus met 1 verminderen door bij het gesorteerd
    invoegen van n5 wat slimmer te werk te gaan, gebruik makend van het feit
    dat we niet de hele lijst hoeven te sorteren om de mediaan te kunnen
    bepalen. Dit is eigenlijk de enige slimme truc die hier plaatsvindt.

    In het beste geval vinden er overigens maar 5 vergelijkingen plaats.

    ———————

    Sorteren van n1 t/m n4 gaat als volgt:
    – Zet n1 en n2 op volgorde (1 vergelijking):
    if (n1 < n2) then
    lijstje = [n1,n2]
    else
    lijstje = [n2,n1]
    end if
    – We hebben nu het gesorteerde lijstje [y1,y2]. Voeg n3 op de juiste
    plek in dat lijstje in (max. 2 vergelijkingen):
    if (n3 < y2) then
    if (n3 < y1) then
    lijstje = [n3,y1,y2]
    else
    lijstje = [y1,n3,y2]
    end if
    else
    lijstje = [y1,y2,n3]
    end if
    – We hebben nu het gesorteerde lijstje [z1,z2,z3]; voeg n4 daar als
    volgt in (2 vergelijkingen):
    if (n4 < z2) then
    if (n4 < z1) then
    lijstje = [n4,z1,z2,z3]
    else
    lijstje = [z1,n4,z2,z3]
    end if
    else
    if (n4 < z3) then
    lijstje = [z1,z2,n4,z3]
    else
    lijstje = [z1,z2,z3,n4]
    end if
    end if

    Dus het totaal aantal vergelijkingen om n1 t/m n4 te sorteren is
    maximaal 5 (en minimaal 4).

  5. laura said,

    October 25, 2007 at 6:56

    duidelijk de volle punten waard!

  6. Ria said,

    October 26, 2007 at 3:50

    Hanneke waar gaat dit over????

  7. Hanneke said,

    October 26, 2007 at 4:16

    iets met een mediaan en vergelijkingen.
    heeft me mooi wel 3punten opgeleverd 🙂