Posts

  • Ons nieuwe hutje: Woningjacht voorbij!

    In november schreef ik over m’n jacht naar een woning in Eindhoven. Aan die jacht is bijna een einde gekomen, want in april krijgen we de sleutels voor ons eigen appartementje!

    Op 30 maart werden we door Woonbedrijf uitgenodigd een kijkje te komen nemen in ons nieuwe appartement. Wat vinden jullie ervan? Laat een reactie achter!

    read more
  • 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!

    read more
  • 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 Als je een Javaprogramma start, zal Java als eerste op zoek gaan naar de static main 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.

    read more
  • Ugly Betty heeft geen stroom nodig

    Even goed kijken…

    Ugly Betty doesn't need a power cable

    Hee kijk nou, Betty kan een iMac gebruiken waar geen stroomkabel in zit :-P

    read more
  • 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.

    read more