• We hebben de sleutels!

    Gisteren was het zo ver, de dag waar we zo lang naar uit hadden gekeken. We zouden het huurcontract kunnen komen tekenen en de sleutels in ontvangst nemen. Na de formaliteiten zijn we de woning in gegaan die nu dus écht van ons is. We liepen de opleveringspunten nog even na, namen de meterstanden op, controleerden de sleutels… Alle negen (ja, we hebben NEGEN huissleutels gekregen)!

    Het klussen kan gaan beginnen!

    Lees verder
  • De Laatste Loodjes

    Nog een paar weken, dan is het gebeurd met de studententijd! Het werk aan CoffeeDregs is af, het is in mijn ogen (en gelukkig ook in de ogen van m’n begeleiders) een leuke tool geworden. Ik heb twee experimenten met studenten gehouden en beiden waren erover te spreken, om verschillende redenen zelfs! Om te kunnen testen of CoffeeDregs een beetje iets is had ik wat programmeeropdrachten gegeven, waarbij ze enerzijds van een bestaand programma moesten voorspellen en verklaren wat het deed en anderzijds een niet-werkend programma moesten aanpassen.

    Nu ben ik aan het schrijven aan m’n verslag. Hopelijk is het eind van de week zo ver gevorderd dat we kunnen spreken van een eerste conceptversie. Dat betekent namelijk dat ik waarschijnlijk nog in april mijn presentatie kan gaan houden en dus nog een maandje vakantie heb voordat ik bij ISAAC(Internet Strategy and Automation Company) ga beginnen.

    Jawel! Ik heb vanaf 1 juni een baan bij een snel groeiend web- en softwarebureau in Eindhoven, schuin tegenover het Parktheater, met klanten als Megapool, Modern Electronics en IKEA Family. Ik ben erg benieuwd!

    Het is grappig, want onze wasmachine gaan we nu waarschijnlijk bestellen door gebruik te maken van code die door mijn toekomstige collega’s is geschreven.

    Lees verder
  • Ryanair weet zich geen houding te geven op internet

    Rants PR op internet, het is niet altijd even subtiel en doordacht, zo bewijst Ryanair. Jason Roe, een software developer uit Dublin vond op een goede dag een leuk bugje in het boekingssysteem van Ryanair, waardoor hij gratis een vlucht kon boeken.

    Ok, As I was booking flights down to cork for the blog awards, I noticed something a bit strange. When I went to change my flight times, all of the prices on the flights had changed to “Total Cost of Flight 0.00”.

    De (bevestigde) reactie van Ryanair

    jason! you’re an idiot and a liar!! fact is! you’ve opened one session then another and requested a page meant for a different session, you are so stupid you dont even know how you did it! you dont get a free flight, there is no dynamic data to render which is prob why you got 0.00. what self respecting developer uses a crappy CMS such as word press anyway AND puts they’re mobile ph number online, i suppose even a prank call is better than nothing on a lonely sat evening!!

    of dit juweeltje:

    If you would work in your pathetic life on a such big project in a such busy environment with so little resources, you would know that the most important is to have usual user behavior scenarios working rather than spending time on improbable and harmless things.

    Ongeacht of Jason nu wel of geen gelijk heeft, het is natuurlijk niet zo verstandig om een klant publiekelijk uit te maken voor een idioot en een lunatic. De officiële reactie van Ryanair hierop is nóg grappiger:

    Ryanair can confirm that a Ryanair staff member did engage in a blog discussion. […] It is Ryanair policy not to waste time and energy corresponding with idiot bloggers and Ryanair can confirm that it won’t be happening again. […] Lunatic bloggers can have the blog sphere all to themselves as our people are far too busy driving down the cost of air travel.

    Wat een hilariteit. En alsof het allemaal nog niet genoeg is moeten we straks ook nog betalen als we naar de WC gaan (dat is trouwens wél een heel slim gespeelde PR-stunt). Alsof dát de prijzen kan laten dalen.

    Beste Ryanair, een tip, kijk eens hoe Iceland Express omgaat met bloggers en publiek en PR in het algemeen: Ze zijn net zo looney als de bloggers zelf!

    Heb je zelf nog leuke PR-missers die het vermelden waard zijn? Plaats een reactie!

    Lees verder
  • CoffeeDregs in Supremum

    De redactie van de Supremum, het periodiek van de studievereniging GEWIS, vroeg of ik een stukje wilde schrijven over m’n afstuderen voor het derde nummer van het jaar. Nou, dat wilde ik wel. De deadline kwam en de deadline ging en ik was een paar dagen te laat, maar… Het stukje kwam er wel!

    Ik weet zeker dat een paar van jullie na het lezen van dit stukje hadden gewild dat ik een paar jaar eerder was begonnen met afstuderen. Het onderwerp van mijn afstuderen is namelijk het uitbreiden en verbeteren van CoffeeDregs, een tool die het begrijpen van object-georiënteerd programmeren in Java voor beginnende programmeurs moet vereenvoudigen. Kort gezegd biedt CoffeeDregs je een (beperkt en daardoor aangenaam) kijkje in de virtuele machine van Java.

    Laat ik mijzelf eerst even voorstellen. Mijn naam is Christian Luijten en loop alweer een paar jaartjes teveel rond op onze universiteit. Vorig jaar augustus ben ik begonnen met afstuderen bij dr. Kees Huizing en dr. Ruurd Kuiper die een deel van het programmeeronderwijs aan de TU/e en op een aantal VWO-scholen in Eindhoven verzorgen. Ze hebben hiervoor hun eigen lesmateriaal ontwikkeld, waarin ze een visueel model voor de uitvoering van (Java)programma’s gebruiken. De oorsprong van dit model ligt al in de jaren zeventig, toen een soortgelijke methode werd voorsteld voor processen die een blokstructuur vertonen (verreweg de meeste moderne “general purpose” programmeertalen voldoen hieraan). In het model wordt uitgegaan van een set distincte objectruimten in de tijd en de overgangen hiertussen. Je zou het dus als een soort transititesysteem kunnen zien.

    Een screenshot van CoffeeDregs geïntegreerd in NetBeans
    CoffeeDregs geïntegreerd in NetBeans

    Als je een Javaprogramma start, zal Java als eerste op zoek gaan naar de static void main(String[] args) methode in de klasse die je hebt opgegeven. Van hieruit kan je als programmeur zorgen dat de rest van het programma wordt geladen. Wat we in CoffeeDregs doen is alles wat vanuit deze eerste klasse ontspruit in beeld brengen, in de meeste gevallen zijn dat instantiaties van klassen. Zowel klassen als instantiaties worden weergegeven als een doosje met een titel en een inhoud. Die inhoud zijn bijvoorbeeld de klasse- of instantiatievariabelen en de actieve methoden die zelf ook weer als doosjes worden weergegeven. Wordt een methode meerdere malen aangeroepen, dan zul je deze ook meerdere keren terugvinden.

    Wanneer een variabele een referentie bevat naar een instantiatie, wordt een pijl getekend van die variabele naar instantiatie. Zodoende bouw je een graaf van object-referenties op. Naarmate de kennis en oefening van de programmeur vordert, worden zijn/haar programma’s groter en complexer. Als er veel objecten in het spel komen, heeft de visualizatie dan ook de neiging om nogal onoverzichtelijk te worden. Het is daarom belangrijk te filteren welke objecten wel en welke niet van belang zijn voor de programmeur.

    Objecten waarin geen functionaliteit zit, maar alleen data, blijven bijvoorbeeld standaard als dichtgeklapt klein doosje zichtbaar op het scherm. Referenties van buitenaf zijn zichtbaar, maar waar de referenties van het dataobject heen gaan wordt verborgen, net als alles wat er verder nog achter hangt. Denk hierbij aan de structuur van een linked list, of een of andere geavanceerde boomstructuur. Het blijft wél altijd mogelijk de doosjes open te klappen en te volgen waar de referenties heen lopen. Als in een object een methode wordt aangeroepen, wordt het bijbehorende doosje opengeklapt om de effecten goed te kunnen bestuderen. De uitgaande referenties worden dan getoond en de “buurobjecten” worden zichtbaar gemaakt.

    Op een gegeven moment in de executie van het programma zullen er meerdere methoden actief zijn; het is immers vrij normaal dat de ene methode een andere aanroept, die weer een andere aanroept enzovoort. Zonder visuele hulp is het dan lastig de vraag te beantwoorden welke methode welke andere methode heeft aangeroepen en waar de huidige plek van executie is (waar komen we vandaan? waar gaan we naartoe? het kan er filosofisch aan toe gaan!). De methoden worden in CoffeeDregs verbonden met een pijl die letterlijk als een rode draad door het programma gaat. Heeft je programma meerdere threads, dan krijg je ook meerdere losse draden te zien.

    Het ontwerp- en implementatiedeel van mijn afstuderen is nu grotendeels afgerond en ik ga me nu richten op een kleinschalig onderzoek naar de inzetbaarheid van de huidige staat van CoffeeDregs in het programmeeronderwijs van volgend jaar. Hiervoor heb ik een aantal experimenten voorbereid om op verse studenten los te laten. Je kan hierbij denken aan het gedrag van een programma te laten verklaren terwijl het uitgevoerd wordt of een kleine aanpassing maken zodat het programma doet wat je wil dat het doet. Dat alles uiteraard met hulp van CoffeeDregs.

    Wil je je eigen Java-programma’s eens aan de visuele test onderwerpen? Op https://svn.win.tue.nl/trac/CoffeeDregs/ vind je de website van het project en een link naar de source code. Er is ook een plugin voor NetBeans beschikbaar. Over niet al te lange tijd zullen ook binaire versies van CoffeeDregs op de site komen te staan.

    Lees verder
  • Collalbo 2009

    Ik ben alweer even terug uit Italië, twee weken om precies te zijn en ik heb hier nog helemaal niks over Collalbo geschreven!


    View Larger Map

    We zijn dus op 31 januari met Isis naar Collalbo afgereisd op trainingskamp. Collalbo, ook wel Klobenstein genoemd, ligt in de Italiaanse Alpen. Als je over de Brennerpas gaat is het nog maar zo’n veertig kilometer. Geen wonder dat dit stuk ook behoorlijk Oostenrijks aandoet. Voor de Eerste Wereldoorlog wás dit gebied zelfs Oostenrijks en nu nog steeds wordt er veel Duits gesproken.

    De onoverdekte ijsbaan ligt op 1198 meter hoogte, wat je zou kunnen merken in verband met een verlaagd zuurstofgehalte in de lucht. Zelf had ik hier eigenlijk niet veel last van, maar anderen raakten echt buiten adem. Ik heb geen idee waarom ik er geen last van had, in 2005 in Zwitserland had ik hetzelfde, misschien heb ik overcapaciteit in m’n longen die ik in de bergen kan aanspreken?

    IJsbaan panorama
    De ijsbaan van Collalbo

    In ieder geval, het ijs is prachtig, heerlijk glad, geen bobbeltje in te ontdekken en het rijdt superfijn. Zelfs als je niks doet, ga je nog vooruit. Dat ligt er waarschijnlijk aan dat je op één recht eind altijd wind mee hebt en het andere rechte eind een klein beetje afloopt (volgens Jos).

    Er ligt overal een dikke laag sneeuw, behalve op het ijs, want dat houden ze netjes schoon… Tot donderdag dan, want toen had het toch iets te hard gesneeuwd en was het bovendien vastgevroren aan het ijs. Resultaat: Een op natuurijs lijkende kunstijsbaan met een laag sneeuw waar je amper meer op doorheen kon ploegen. Dat was het laatste wat we van het ijs hebben gezien, de rest van de week moesten we ons vermaken met alternatieve activiteiten, die toch ook erg leuk waren.

    Alles bij elkaar is het een leuke week geweest, jammer van de sneeuw op het eind die roet in de afsluitende wedstrijd gooide, maar daardoor weten we nu wel wat Nard met een krokodil doet.

    Lees verder
  • Koffiedik kijken met CoffeeDregs

    In augustus had ik hier al geschreven dat ik koffiedik zou gaan kijken. Nu, vijf maanden later is het werk aan CoffeeDregs grotendeels klaar. Ik ben nu nog een beetje aan het schaven om de laatste probleempjes eruit te werken, maar het grote werk is af.

    Een screenshot van CoffeeDregs in actie
    Een screenshot van CoffeeDregs in actie

    De gebruiker kan nu een Java-broncode inladen en deze met behulp van de tool uitvoeren. Je ziet dan de objecten gecreeerd en verwijderd worden, referenties gelegd, methoden aangeroepen worden, hoe waardes in variabelen veranderen. We (m’n begeleiders en ik) hopen over een paar weken een aantal studenten met de tool te laten spelen en kijken hoe ze ermee omgaan, om te zien of het bruikbaar zou zijn om vanaf september in het programmeer-onderwijs in te gaan zetten.

    Helaas maak ik die lancering natuurlijk niet meer mee, maar interessant gaat het zeker worden; ik heb dan toch een klein beetje een stempel weten te drukken op het onderwijs van de TU/e!

    De komende twee maanden ga ik m’n verslag schrijven en de experimenten uitvoeren en dan ben ik hopelijk afgestudeerd!

    Lees verder
  • Reacties vernieuwd

    Vanaf vandaag op Logging the Switch, een daadwerkelijk werkende reactie-pagina! Hoera :)

    Ik gebruik nu het systeem van Disqus om de reacties te verwerken en te tonen. Het voordeel van Disqus boven HaloScan wat ik voorheen gebruikte, is dat de comments nu wél volledig onder mijn beheer zijn en ik ze ook kan opslaan naar een bestand, iets wat bij HaloScan dus niet kon. Sterker nog, de reacties werden “eigendom” van HaloScan, wat natuurlijk belachelijk is.

    Bij Disqus kan de reaguurder reageerder zelf bepalen of deze een anonieme reactie plaatst óf er een account maakt en reacties onder eigen naam wegzet. Daarbij blijft de reactie altijd van jezelf, van jou, je eigen, jouw precioussss. Met de license die je er zelf aan hangt.

    Via de samenwerking met seesmic is het nu bovendien mogelijk videoboodschappen achter te laten.

    Dus… Vanaf nu voor elck wat wilsch!

    Lees verder
  • We hebben weer natuurijs!

    Er ligt alweer even een flinke laag ijs op de Nederlandse meren. Net in het oude jaar zijn we nog eens naar het Oud Meer in Son getrokken om het uit te proberen. Videos na de klik/enter/whatever.

    30 december

    3 januari

    Lees verder
  • Gelukkig 2009!

    Het 2008e jaar van de Gregoriaanse kalender zit er alweer bijna op. Voor mij was het best een leuk jaar, waarin ik m’n collectie Scandinavische vlaggetjes op m’n tas heb kunnen completeren. Én dat ik dat niet alléén hoefde te doen! Een terugblik.

    2008 begon voor mij in een mistig Groningen en ik had afgesproken voor de nieuwjaarsduik in Scheveningen. In de dikke soep probeerden we met de auto het noorden te verlaten, maar strandden in Heerenveen. Met de trein bereikten we uiteindelijk nog wel mooi op tijd de hofstad.

    In januari kwam ook m’n Nokia N810 binnen waarmee ik later Twitter begon te verkennen. Met de N810 doe ik tegenwoordig maar weinig, vooral omdat de Nokia ontwikkelomgeving in Mac OS X niet prettig werkt. Jammer, want het platform is verder best aardig.

    Februari stond vooral in het teken van de studiereis naar Noorwegen, Zweden en Finland.

    In februari en maart heb ik ook nog wat schaatswedstrijden gereden in Heerenveen, Nijmegen en in ons eigen Eindhoven.

    In mei sloot ik mijn bestuurswerk voor Isis af en in juni besloot ik dat m’n toenmalige afstudeeropdracht niet tot iets zou gaan leiden. Met frisse moed zocht ik een nieuwe opdracht, die inmiddels flink aan het opschieten is en hopelijk in maart/april klaar gaat zijn.

    Rock Werchter was m’n eerste meerdaagse festival en met Marly ben ik op vakantie naar Kopenhagen geweest.

    Ik begaf me in de tweede helft van 2008 op het videopad met een Flip Ultra. In oktober kreeg m’n laptop een leuke harddisk crash waarbij ik een hoop bestanden kwijt leek te zijn die ik later op andere plaatsen weer terugvond. Slechts een paar videos ben ik voor altijd kwijt. Tóch ben ik nu nóg wat beter m’n backups gaan bijhouden :-).

    In november zijn Marly en ik begonnen met het zoeken naar een plekje voor ons twee. De Urkhovenseweg is het nooit geworden, maar inmiddels hebben we al drie woningen aangeboden gekregen en de luxe gehad ze af te wijzen.

    Vanavond sluiten we 2008 af en beginnen vol goede moed aan het jaar waarin ik eindelijk zal gaan afstuderen! Ik wens iedereen een fijne jaarwisseling en een gelukkig nieuwjaar!

    Lees verder