Deze bijeenkomst was op zaterdag 18 maart 2017, 's middags van 13:00 tot 17:00 uur in De Hilt in Eemnes.
De gebruikelijke inloop vond plaats in de Eemzaal.
Plenaire sessie
Om 14:05 uur begint de plenaire sessie in de Driestenzaal. Johan is de gespreksleider, hij houdt eerst een inventarisatieronde. Hij wil de onderdelen kort houden. Langere verhalen horen niet in de plenaire sessie thuis, deze kunnen beter van te voren aangekondigd worden.
Marius vertelt eerst over Ryver (https://ryver.com/). Dit is een online tool voor teams om met elkaar te communiceren. Hij geeft uitleg en demonstreert hoe het werkt voor HCC!programmeren. Je kunt in Ryver gebruik maken van open forums waarbij iedereen elkaars berichten kan zien. Je kunt ook berichten uitwisselen binnen private teams zonder dat anderen meekijken. Er zijn ook mogelijkheden voor direct messages voor 2 deelnemers onderling. Het is een platform voor groepen. Om aan de Ryver groep van HCC!programmeren mee te doen kun je je aanmelden bij Marius. Of je stuurt een email naar het bestuur (https://programmeren.hcc.nl/contact.html). Het gebruik van Ryver is gratis, er is geen reclame. Het werkt anders dan Facebook, de groepen zijn niet openbaar. Alles wordt bewaard, later kun je via de zoekfunctie informatie eenvoudig terug vinden.
Daarna vertelt Marius over Codeweek (https://codeweek.nl/). We zijn benaderd door het HCC kantoor omdat HCC mogelijk wil meedoen aan Codeweek 2017. Jongeren worden voor Codeweek geactiveerd om te gaan programmeren. Coderdojo Hilversum (http://coderdojohilversum.strikingly.com/) is een organisatie die daar mee bezig. Daar is hij vanmorgen geweest, er waren 20 kinderen en enkele ouders aanwezig. HCC!programmeren kan mogelijk een begeleider leveren die kan meekijken met de kinderen en ondersteuning kan geven. Een ieder die hierin interesse heeft kan zich aanmelden bij Marius of bij het bestuur (https://programmeren.hcc.nl/contact.html).
Gordon laat enkele opdrachten zien die hij gebruikt als huiswerk bij zijn Basic cursus in de regio Amsterdam. Hij laat op de beamer zien hoe je een scherm vol met cirkels kunt maken met verschillende kleuren, diameters en posities. De andere opdracht is het aanpassen van een programma om een lijnvolger te maken die een bepaald pad afloopt. Er wordt opgemerkt dat het mogelijk beter is voor beginners om te beginnen met een commandline programma. Gordon heeft de ervaring dat zijn opdrachten goed te doen zijn voor beginners. Als het programma werkt is de opdracht geslaagd, ieder kan het maken op zijn eigen manier. Je kunt de Api in het cursusboek gebruiken. Het is de bedoeling om dit te maken met Liberty Basic (http://libertybasic.com/), het kost wel geld. Er is ook een gratis mogelijkheid voor beginners Just Basic (http://justbasic.com/).
Johan vertelt over de Werkgroep Programmeertechnieken die hij samen met Gerard begint. Hierover staat ook al iets in de nieuwsbrief en op de website. De plenaire sessie gaat vaak over praktische zaken. Hij wil een stapje terug doen, het meer conceptueel bekijken, hoe maak je eigenlijk een programma. Hij heeft een stapel boeken meegenomen, met daarbij The Art of Unix Programming (http://www.catb.org/esr/writings/taoup/html/). In dit boek staan goede voorbeelden van de manier waarop Unix programma's zijn gemaakt. Geef je gegevens door wanneer je interesse hebt om mee te doen met de werkgroep. Dit kan bij Johan of Gerard of bij het bestuur (https://programmeren.hcc.nl/contact.html).
Theo zoekt vrijwilligers, zoals vorige bijeenkomst ook al is gemeld tijdens de ALV. Eind april is er een CompUfair en in september is er een MegaCompUfair van HCC!compusers. Hij zoekt nog mensen die op onze stand willen staan. Hij legt uit wat het inhoudt, enkelen melden zich meteen aan.
Theo laat de Interactive Python website zien via de beamer. Onderdeel daarvan is Everyday Python (http://everydaypython.org), een soort van blog over Pyton onderwerpen. Ook staat er een online boek 'Problem Solving with Algorithms and Data Structures using Python' (https://interactivepython.org/runestone/static/pythonds/index.html). Dit boek sluit goed aan bij de Werkgroep Programmeertechnieken.
Johan kent een ander online boek Think Python (http://greenteapress.com/thinkpython/html/index.html). Dit is een goed boek voor diegenen die beginnen met Python.
Theo vertelt dat er vorige keer over Processing is verteld. Daarvan bestaat een Java variant en een JavaScript variant. Het blijkt ook mogelijk te zijn om Processing te gebruiken in een website met niet-standaard Python, namelijk met Skulpt (http://www.skulpt.org/). Dit is een Python interpreter die in een webbrowser werkt. Je kunt de Python code wijzigen en runnen in een webpagina. Hij demonstreert dit door de Turtle code die op de Skulpt homepage staat te wijzigen en te runnen. Op Everyday Python staat een voorbeeld waarmee je de Processing Javascript library kunt gebruiken met Python: http://interactivepython.org/runestone/static/everyday/2013/05/1_processing.html. De code van de programma's op deze webpagina kun je wijzigen en meteen uitproberen met de Run knop. Omdat dit grafische programma's zijn trekken ze wat meer aandacht. Deze zijn daarom goed bruikbaar om op de CompUfair te laten zien. Bij de organisatie hiervan, Runestone Interactive, staan nog meer online boeken, zie http://runestoneinteractive.org/library.html.
Theo meldt dat er door andere HCC interessegroepen samenwerking wordt gezocht met HCC!programmeren. Recent heeft met name HCC!genealogie gevraagd om samen te werken. Gordon vertelt over zijn ervaring toen hij eerder is gevraagd om te helpen. Rudolf kent de myheritage.com website, deze is commercieel. Er moet een datastructuur worden gebruikt, dat is vaak niet goed opgelost. Enkelen melden zich aan voor verder overleg met HCC!genealogie.
Gerard vertelt dat hij bestuurslid is van HCC!ai en interesse heeft in het maken van programma's voor spelletjes en puzzels. Tegenwoordig staat er in de Metro krant een Zeeslag puzzel, zoals in http://www.readmetro.com/nl/holland/metro-holland/download/20170316/. Zeeslag kan worden opgelost met bijvoorbeeld genetisch programmeren of backtracking. Hij kwam een verwant wiskundeprobleem tegen. Op de beamer wordt een Zeeslag puzzel uit de Metro getoond, hij legt uit hoe het werkt. Dit lijkt op een boundary value problem. Als je alleen naar de getallen kijkt aan de rand, en de in te vullen schepen weglaat, hoeveel mogelijkheden zouden er dan zijn? Elke cel is dan 0 of 1, een bitje, hoeveel mogelijke oplossingen zijn er dan? Met backtracking kun je alle mogelijkheden proberen. Rudolf denkt dat het lineaire analyse is, een linear programming probleem. Gerard legt uit dat er een techniek bestaat lineair programmeren voor optimalisatie problemen. Een voorbeeld is een onderneming waarbij je personeel moet toewijzen om de productie te maximaliseren. Er zijn dan voorwaarden, meestal ongelijkheden, waaraan moet worden voldaan. Meestal gaat dit over floating point getallen, er bestaat ook een variant integer linear programming waarbij de oplossingen integers moeten zijn. Hij wil proberen een formule te verzinnen, en deze eerst uitproberen met een kleine variant. Dan zal deze misschien met wat wijstellen ook werken voor grotere varianten. Johan meldt dat project Euler ook dit soort problemen heeft. Een diagram kan al een bit gevuld hebben, kan het programma dan het probleem ook oplossen.
De lezing om een Sudoku op te lossen volgens het Exact Cover probleem gaat nu niet door. Een lezing behoort wel goed te worden voorbereid. Een heel abstract onderwerp kan ook afschrikken. Het is waarschijnlijk minder abstract dan het Zeeslag probleem. Sommigen willen een programma waarmee je zelf een Sudoku kunt maken. Dat is minder eenvoudig dan het lijkt. Er volgt een discussie over wiskunde, een groot deel heeft geen pratkische toepassing. Vroeg of laat krijgt het dit toch wel. Het ontbinden in priem factoren is heel moelijk, dat is een toepassing in de cryptografie. Mogelijk komt dit nog met Quantum computers. Het detecteren of je wordt afgeluisterd is iets anders, als je gaat meten wordt de toestand gewijzigd, dat kun je detecteren. Een Blockchain is iets anders, dat kan ook zonder encryptie. Het Exact Cover probleem wordt uitgesteld. Er volgt nog overleg of het wordt aangekondigd of niet.
Rudolf vraagt zich af wat de Werkgroep Technieken van plan is. Gerard vertelt dat er tussen de bijeenkomsten onderling wordt gecommuniceerd, mogelijk via email of via Ryver. Er komt een lijst met mogelijke onderwerpen. Op de bijeenkomsten kun je elkaar dan in persoon zien. Tijdens de plenaire sessie kun iemand een korte lezing houden. Onderwerpen kunnen bijvoorbeeld zijn backtracking zoals op een vorige bijeenkomst ook al is lang gekomen. Of functioneel programmeren, zoals met Lisp, waarom gebruik je het. Of gotoless programmeren tijdens de vorige bijeenkomst.
Johan meldt dat het boek the Art of Unix Programming laat zien dat je beter tekst formaten kunt gebruiken in plaats van binaire formaten. Unix bestaat al lang en bestaat nog steeds daar kun je wat van leren. Een ander boek dat hij heeft meegebracht is Programmeertaal Concepten, een Nederlandse vertaling van het boek Programming Language Concepts van Carlo Ghezzi uit 1982. Verder nog het boek Beautiful Code uit 2007, waarin diverse programmeurs een bijdrage leveren. Hij vertelt wat over het boek Kunstmatige Intelligentie op uw Computer van John Krutch uit 1985. Ook laat hij het boek Computer Gamesmanship van David Levy uit 1980 zien.
Als afsluiting volgt nog de rondvraag.
Gordon vraagt zich af wat we kunnen doen met de losse eindjes, zaken die eerder aan bod zijn gekomen en waar een vervolg op zou kunnen komen. Johan heeft als suggestie om een actielijst bij te houden, met daarop wie wat gaat doen en op welke termijn. Gerard vraagt zich af of dit nodig is. Hij heeft problemen zoals die hij zojuist heeft besproken die best kunnen blijven liggen. Niet alles hoeft tot een resultaat te komen. Marius stelt voor om losse eindjes in Ryver te zetten. Wel moet er altijd ingelogd worden om toegang te krijgen. Bij forum software kun je het ook instellen dat gasten alleen kunnen kijken en moeten inloggen om wijzigingen te maken. Bij een forum wordt er minder gefilterd. In Ryver kun je ook met een klein groepje communiceren zodat je weet dat er alleen geinteresseerden voor een bepaald onderwerp meedoen.
Rudolf meldt dat hij vorige week op een lezing was van IBM. Die zijn bezig met een kennis programma. Dan trekken ze als het ware het hele internet leeg en organiseren dit. Hun zakenpartners kunnen ook hun database vullen met gegevens. Zo kan een bedrijf informatie over bijvoorbeeld Caterpillar Draglines aanleveren. Met die informatie kun je dan bijvoorbeeld net iets beter dan de concurrent een offerte doen. Dit maakt gebruik van Watson technologie. Met enorme hoeveelheden data kun je zo voordelen krijgen in een markt. Misschien is dit ook iets voor sommige bedrijven om hiermee een voorsprong te krijgen.
Gerard merkt op dat ze bij HCC!artifiiële intelligentie bezig zijn met het mogelijk opstarten van een workshop Neurale Netwerken. Er is al belangstelling voor bij HCC!robotica. De vraag was welke taal hiervoor gebruikt zou worden. Mogelijk is het beter wanneer deelnemers zelf de programmeertaal kunnen kiezen. HCC!ai levert dan de kennis over de Neurale Netwerken. Van de deelnemers wordt dan verwacht dat ze zelf al kennis te hebben om een programma te maken in de gekozen programmeertaal. Mogelijk wordt er dan een taal gebruikt waarvoor bij HCC!ai geen kennis is. Wanneer er vanuit HCC!programmeren enkelen zouden meedoen met de Workshop dan kunnen zij mogelijk hun kennis over het maken van programma's inbrengen. Het is nog niet zeker dat de workshop doorgaat omdat er ook nog een heleboel andere zaken lopen. De workshop is een soort van cursus tijdens de bijeenkomsten van HCC!ai waarbij je ook bezig bent met programmeren. Ieder doet meer dan alleen maar luisteren en brengt een eigen computer mee. Het begint pas in september of mogelijk nog veel later. Je leert dus iets van Neurale Netwerken en ook nog wat over programmeren door de diverse programma's van de deelnemers.
Om 15:45 uur eindigt de plenaire sessie.
- Details
- Hits: 1780