|
Written by Arne Timmerman
|
|
Devnology is een open community met het doel om gepassioneerde softwareontwikkelaars in Nederland een platform te bieden om kennis uit te wisselen. In tegenstelling tot bijeenkomsten waarin een internationale expert wordt uitgenodigd steunt een groot deel van onze evenementen op de expertise uit de community. De ultieme Devnology dag is de Community day: een dag waarop iedereen uit de community de kans krijgt om zijn visie en ervaringen te delen; een dag waarop we elkaar uit de 'comfort zone' trekken; een dag waarop we van elkaar leren. Zaterdag 6 november organiseert Devnology de tweede editie van de Community day (lees hier het verslag van vorig jaar), de call for content start vandaag! We willen jou uitnodigen om een sessie voor te stellen, waarin je jouw enthousiasme over bijvoorbeeld een software- ontwikkelmethode, architectuurstijl of programmeertaal deelt met je collega's. Je kunt op deze bijzondere dag kiezen voor het geven van een workshop, presentatie, chalk'n talk, lightning talk of het faciliteren van een discussie. Workshop: In deze sessievorm faciliteer je een hands-on ervaring met een platform, taal, technologie of een ander concept uit het software engineering vakgebeid. Een workshop bestaat uit één of meerdere slots van 75 minuten. Presentatie: Een presentatie is een ideale vorm om je kennis, ervaring en enthousiasme te delen met je collega's uit het vakgebied in één slot van 75 minuten. Chalk ‘n Talk: In een Chalk 'n Talk sessie discussieer je met andere softwareontwikkelaars door middel van een whiteboard. Een Chalk 'n Talk sessie staat garant voor een interactieve, energieke sessie en bestaat uit één slot van 75 minuten. Discussie: Je kunt een discussie voorstellen over een onderwerp waar je veel over weet of veel over wilt leren. Voor sessies met meer dan 15 deelnemers zal hiervoor de Fishbowl manier van discussiëren worden gehanteerd. Je treedt in een discussie op als facilitator en vult één slot van 75 minuten. Lightning talk: Een Lightning talk is een praatje of presentatie van maximaal 20 minuten. Door middel van dit format kun je in een korte tijd een punt maken of een demo geven. De flitsende presentatie is laagdrempelig en to the point is. Je kan na de korte sessie natuurlijk napraten over het onderwerp met enthousiaste toehoorders. Sessievoorstel indienen?Als je een sessievoorstel doet moet je rekening houden met de volgende richtlijnen: - Het Devnology publiek bestaat uit software engineers met uiteenlopende achtergronden: onze bezoekers werken vaak als softwareontwikkelaar in een taal als Java, Ruby, Scala, .NET, Smalltalk of bijvoorbeeld Groovy, maar zijn soms ook buitengewoon geïnteresseerd in andere facetten van het vakgebied, zoals software evolutie, architectuur of proces. Bedenk wat je sessie betekend voor iemand met een andere achtergrond dan jezelf.
- We zien graag een nadruk op concepten, stijlen of benaderingen, meer dan op specifieke implementaties.
- Academische onderwerpen hoeven niet te worden geschuwd.
- We zien graag meer interactie tussen praktijk en theorie van softwareontwikkeling. Probeer in je sessie ruimte te creëren voor interactie met de deelnemers.
Je hebt tot zondag 26 september om een sessievoorstel te doen. Je kan het voorstel indienen via het volgende formulier. Op vrijdag 1 oktober worden de sessies bekend gemaakt die op de agenda van de Community day zijn geplaatst. Als je nog vragen hebt, of meer informatie wilt over het indienen van sessies aarzel dan niet om even te mailen naar secretariaat@devnology.nl. |
|
Written by freek
|
|
Dit verslag is geschreven door Vincent Verschuren (@vverschuren). Bedankt Vincent!
Manoeuvrerend langs wegwerkzaamheden stuurde mijn inventieve navigatiesysteem me door het prachtigste tuinbouwlandschap via nostalgische B-wegen naar het nieuwe kantoor van Pareto. Pareto is een aanbieder van weboplossingen, zowel in Microsoft technologie als in open source. Met ruim een half uur vertraging kwam ik de drempel over met het avondeten op de hielen. Een select gezelschap van 12 developers en 1 security specialist waren al druk aan het bij kletsen. De macaroni en vegetarische lasagna werden welkom onthaald, maar hierna was het tijd voor echt zware kost: DNS en DNSSEC.
De spreker van deze avond was Matthijs Mekking van NLNet Labs. NLnet Labs is een stichting opgericht om (nieuwe) protocollen te evalueren en te ontwikkelen. De focus ligt hierbij op onderwerpen die direct gerelateerd zin aan het Internet, zoals IPv6 en routing, maar vooral ligt de expertise op het gebied van DNS en DNSSEC. Onze spreker is dus met recht een expert.
Omdat er een internationaal gezelschap aanwezig was, was de presentatie deze keer in het Engels. Het onderwerp van de avond was DNS en vooral de DNSSEC extensie dat een aantal security kwesties oplost. Omdat het merendeel van de aanwezigen developers was en niet dagelijks met DNS bezig zijn, begon de presentatie met een korte beschrijving van het DNS protocol.
Wat is DNS
Het Domain Name System (DNS) is het systeem en protocol dat o.a. op het Internet gebruikt wordt om IP-addressen bij domeinnamen te vinden. Het systeem bestaat uit een hiërarchische structuur van name servers. Via een recursieve lookup kan op basis van de hiërarchische structuur in de domeinnaam, van een root server naar authoritative nameserver worden genavigeerd, die uiteindelijk het IP-adres van een website teruggeeft. Ook het omgekeerde is mogelijk: een IP-adres kan gematcht worden naar een bepaald domain (reverse DNS). Hoewel dit de meest gebruikte mogelijkheden zijn, wordt DNS ook op andere manieren gebruikt, bijvoorbeeld voor het bepalen van de mailservers voor een domein.
Om niet iedere keer een volledige lookup te hoeven doen, worden DNS gegevens meestal gecached door de locale DNS server. De Time To Live (TTL) waarde van het DNS record bepaald hoe lang de data in de cache blijft.
Security threats
Het grootste probleem is dat de integriteit van de verkregen data niet te valideren is. Omdat het DNS protocol niet goed beveiligd is, is het vrij eenvoudig om domeinnamen te kapen of onbereikbaar te maken door bijvoorbeeld cache poisoning. Dit is bijvoorbeeld te realiseren via de zogenaamde Kaminsky Attack, waarbij men niet alleen een DNS query maar ook een response verstuurt, die vervolgens in de cache van de DNS server wordt opgenomen. Dit kan redelijk eenvoudig omdat het DNS protocol slechts 65536 mogelijke transaction ID’s kent, waardoor dit eenvoudig te raden is.
Tot recent was er geen echte oplossing voor dit probleem. Een van de mogelijke patches was het vergroten van het aantal mogelijke UDP poorten, waardoor raden moeilijker werd.
DNSSEC
DNSSEC, wat mede door NLNet Labs ontwikkeld is, is een oplossing voor dit beveiligingsprobleem. Het is een backwards compatible uitbreiding op het DNS protocol. De beveiliging wordt bereikt door de DNS records te signen d.m.v. public-key cryptografie. Het DNS record wordt geverifieerd via een ‘chain of trust’ die start vanaf de DNS root server. Op die manier kan de bron en authenticiteit van de DNS records worden geverifieerd. Ook het ontbreken van een record kan worden aangetoond doordat de hashes van de records die voor en na het ontbrekende record zouden staan, worden geretourneerd.
Praktische problemen bij het gebruik van DNSSEC
Een van de problemen is dat het periodiek nodig is de encryptie keys, of zelfs het complete encryptie algoritme te vervangen. Een aantal strategieën om dit te realiseren werden besproken. Verder is het een probleem dat nog niet alle toplevel-domeinen DNSSEC ondersteunen. Bijvoobeeld de .nl DNS-servers zijn nog niet gesigned. De verwachting is echter dat dit binnenkort gerealiseerd zal zijn.
Een ander probleem is dat DNSSEC het beheren van de DNS records veel complexer maakt. NLNet Labs werkt hiervoor aan een softwarepakket genaamd OpenDNSSEC, die dit vereenvoudigt.
Ten slotte werd er een video getoond van de Signing Ceremony van de root servers.
Hoewel de meeste aanwezigen developers zijn en vanuit die functie niet dagelijks bezig zijn met DNS, was de sessie een zeer welkome verdieping van de kennis van een van de belangrijkste protocollen op het internet.
Na de sessie werd er, zoals gebruikelijk, nog lang na gesproken onder het genot van een hapje en een drankje. Ook hierin zijn we goed verzorgd door onze gastheren.
Mijn dank gaat uit naar Pareto die zo vriendelijk was om de gastheer van deze avond te zijn.
|
|
Written by freek
|
|
Dit verslag is geschreven door Maarten Metz(@Mmz_) . Bedankt Maarten!
Op zaterdag 5 juni stapte ik om een uur of 8 in de auto om naar de Devnology Open Space 2010 in Baarn te rijden. Op de vraag van m'n zoontjes wat ik ging doen antwoorde ik dat ik naar een cursus ging. Ze keken me aan of ik gek geworden was. Diezelfde blik zag ik overigens ook bij hun moeder toen ik haar uitlegde wat zo'n open space bijeenkomst nou eigenlijk is. "Dus je gaat een dag van het weekend met prachtig weer opofferen om met andere vakidioten te praten over onderwerpen die je pas die ochtend vaststelt?" Uh, ja, ongeveer wel ja. "Rrrright..."
Het niet duidelijk kunnen zeggen wat ik ging doen zat me wel wat dwars, maar ik hield me vast aan de gedachte dat ook anderen met gezin (o.a. @freekl, @rubenspr, @mamersfo, @fransbouma), met complete verbouwingen (o.a. @luus), of zelfs met nog langere reistijden (o.a. @DennisLaumen en @DavyLandman) ook *iets* zagen in de bijeenkomst. Gelukkig werd m'n komst al snel beloond. Bij binnenkomst stond de montere @arnetim al klaar om me te verwelkomen en de eerste gesprekken kwamen al snel op gang.
Omdat de meesten van ons waarschijnlijk nog onvoldoende cafeïne door de aderen hadden stromen kwam het planningsgedeelte langzaam op gang, maar gelukkig stond er na een kwartiertje toch een indrukwekkend dagprogramma op het whiteboard. Na het broodnodige koffie-infuus werd het startsein gegeven. Wat een verademing! In een open, respectvolle, maar zeker ook humoristische sfeer met gelijkgestemden van gedachten wisselen over onderwerpen die me boeien, zonder enig winstbejag. Gewoon omdat het leuk is, omdat het kan. De sessies leken - net als de hele dag overigens - te kort te duren, wat volgens mij een goed teken is. Ondanks de mogelijkheid om tijdens een sessie naar een andere sessie over te stappen heb ik daar geen gebruik van gemaakt. Wel heb ik me tijdens een sessie met 2 anderen 'afgesplitst' om dieper in te gaan op een deelaspect van het besproken onderwerp. Vrijheid, blijheid zullen we maar zeggen. Al met al een prima dag, zeker voor herhaling vatbaar!
Op de terugweg besefte ik dat ik thuis eindelijk kon vertellen wat de waarde van de dag was: twitter-followers 'in real life' gesproken, gedebatteerd over privacy en politiek, scala & clojure demo's gehad, gesproken over android en iphone ontwikkeling, verschillen van functionele en object georienteerde - en van dynamic en statically typed talen besproken, syncen van spotify en iTunes metadata, Scrum, compilers en individueel kennismanagement de revu laten passeren, oud collega's en -teamleden weer gesproken en ga zo nog maar even door. Geen slechte score! Maar wacht eens... het gros van die termen begrijpen ze thuis niet eens. Voorgaand verhaal zou me weer de 'hij-heeft-ze-misschien-wel-alle-vijf-op-een-rij-maar-ze-werken-in-ploegendienst'-blik opleveren. En daarom antwoorde ik thuis op de vraag hoe de dag was: 'Passie, schat. Pure passie.' ;)
|
|
Written by Arne Timmerman
|
|
Het Devnology Open Space evenement staat weer voor de deur. Aanstaande zaterdag, 5 juni, opent het kantoor van onze hoofdsponsor om ruimte te maken voor softwareontwikkelend Nederland. Een dag bomvol discussie over alles wat met software engineering te maken heeft, een dag om eens lekker te sparren met je collega's uit het vakgebied. Een Open Space is eigenlijk een grote koffiepauze, waarbij de deelnemers volledig zelf verantwoordelijk zijn voor het bepalen van de inhoud. Om alle discussies een beetje in banen te leiden is de dag is opgedeeld een vijftal timeslots. Ieder slot zijn er vier ruimtes beschikbaar voor interactieve sessies die op de dag zelf worden ingepland. Je bent natuurlijk vrij om buiten deze geplande sessies om een plaats op te zoeken in de kantine en in een kleinere samenstelling verder te discussiëren of een case uit te programmeren. Het tijdschema voor de dag ziet er als volgt uit: - 9:15 Inlopen en kennis maken met je collega's
- 10:00 Start van de Open Space in de zalen Codd en Olsen
- 10:15 Indienen sessievoorstellen en inplannen
- 11:10 Tijdslot 1
- 12:00 Tijdslot 2
- 12:45 Lunch en genieten van de zon
- 13:30 Tijdslot 3
- 14:20 Tijdslot 4
- 15:05 Koffiepauze
- 15:25 Tijdslot 5
- 16:10 Afsluiting en evaluatie
- 16:30 Lekker verder discussiëren bij de borrel
|
|
Written by freek
|
|
Dit verslag is geschreven door Rick van der Arend(@rvdarend) . Bedankt Rick!
Nog even hard aan het werk om zover mogelijk te komen voor een presentatie van de rapportage-faciliteiten komende maandag en vervolgens de boel afsluiten om alles netjes achter te laten voor het lange Hemelvaartweekend. En dan uiteindelijk tegen vijf uur toch echt in de auto duiken in Amersfoort om de A1 en A9 te pakken richting het Microsoft kantoor bij Schiphol. Zo begon mijn woensdagavond.
Aangekomen bij het goed bereikbare kantoor bleek alles piekfijn geregeld. De receptie wist van de komst van de Devnology leden af en gaf zonder gemor een in- en uitrij kaart aan me uit. Binnengekomen werd ik door een vriendelijke dame begeleid naar het restaurant. Ondertussen gaf ik natuurlijk mijn ogen goed de kost, ik was nog niet in dit vrij nieuwe kantoor geweest en wist dat ze er werkend volgens "Het Nieuwe Werken". Dat betekent grote tafels en open ruimte en dus veel ruimte voor flexwerkers. En daarnaast kleine afgezonderde ruimtes voor teams of een-op-een gesprekken. Al met al zag het er mooi uit, wel een beetje massaal. Maar de inrichting gaf het toch wel een 'warm' gevoel, met afwisselende details en het gebruik van stoffen bekleding op een behoorlijk aantal muren. Uiteraard ook nuttig om geluidsoverlast te voorkomen, aangezien deze muren behoorlijk wat geluid opnemen. Aangekomen bij het restaurant was daar de keuze tussen een lasagne en een tagliatelle. Met een flink bord lasagne voor mijn neus raakte ik al snel in gesprek met de andere ontwikkelaars die er vanavond bij gingen zijn. De lasagne was heerlijk en ik heb me laten vertellen dat de tagliatelle ook prima was. De avond eindigde overigens ook met een borrel met een aantal lekkere hapjes en drankjes, dus we zijn goed verzorgd door Microsoft.
De Devnology bijeenkomst van vanavond draaide deze keer om code reviews volgens het format van IFSQ. Frank Oppedijk en Ronald Harmsen gingen ons daarin wegwijs maken en uiteraard uitleggen waarom ze deze techniek zelf ook gebruiken. Ten eerste een korte impressie van de theorie:
- De IFSQ code review techniek kent meerdere, zo expliciet en objectief mogelijk beschreven niveaus.
- Niveau 1 is echt heel expliciet beschreven en bestaat uit het tellen van beschreven defects in code-regels.
- Denk hierbij o.a. aan todo's die nog in de code staan en het gebruik van magic numbers.
- Het totale aantal defects per soort en in totaal wordt uitgerekend en gedeeld op het aantal regels code komt daar een rapportcijfer uit.
- Elk volgend niveau voegt een aantal defects toe waarop gecontroleerd dient te worden.
- Niveau 2 is ook nog vrij expliciet, maar heeft wel drie subjectieve regels erbij vermeld al.
- Niveau 3 voegt een aantal vrij subjectieve regels toe.
- Een en ander is allemaal goed terug te vinden op http://www.ifsq.org
Om er een beetje gevoel voor te krijgen, hebben we gezamenlijk een IFSQ check level 1 uitgevoerd op door Frank en Ronald meegebrachte code. Dat bleek nog niet eenvoudig, je moet even wat handigheid krijgen in het 'zien' van de defects en deze handig optellen. Detecteren per type over de hele lengte en vervolgens optellen per type en per pagina bleek handig te werken. Vervolgens gingen we aan de slag met onze eigen code of een tweede set meegebrachte code voor een ronde op level 2. Ik ben begonnen met mijn eigen code, maar het bleek handig te zijn om regelnummers mee te printen en niet twee pagina's per A4 uit te printen, zodat ik daar vrij snel vanaf stapte (vond trouwens ook veel te weinig :-)). Vervolgens heb ik nog even gebruik gemaakt van de voor iedereen meegebrachte code.
Eerlijk gezegd kreeg ik al snel het idee dat deze checks toch te automatiseren moeten zijn, zeker die op niveau 1. En er zijn uiteraard vrij veel static code checking tools die precies dat doen. De vraag werd dan ook aan onze presentatoren voorgelegd of dit niet beter ge-automatiseerd gedaan kan worden. Ronald en Frank gaven aan deze vorm van code reviewing volgens de IFSQ methode te doen om de volgende redenen:
- De regels zijn door een onafhankelijk orgaan opgesteld. Dit maakt het eenvoudiger te verdedigen in lastige situaties waar er een (al dan niet terechte) schijn van belangenverstrengeling is.
- Niet alle regels zijn voldoende expliciet te maken. Wat is er allemaal een todo die nog in de code staat? Dat staat vaak free-format in commentaar..
- Het uitvoeren van de code-checks heeft ook een leereffect. Doe je het met het team, dan zwengelt het ook de discussie aan.
- De regels zijn bewust taal-onafhankelijk opgesteld
- Zeker de hogere niveaus zijn moeilijk expliciet genoeg te maken om ge-automatiseerd te kunnen checken.
Mogelijk heb ik er nog een paar gemist, maar ik geloof dat dit ze toch wel waren. Of dit voldoende redenen zijn om gebruik te maken van deze methode, laat ik uiteraard aan de lezer. Zelf vond ik het in ieder geval interessant om een afwijkend geluid te horen wat dit betreft en mocht ik hem nodig hebben, dan weet ik waar ik moet zoeken. Hierbij wil ik dus in ieder geval Ronald en Frank bedanken voor de goede voorbereiding en organisatie. Naast de inhoud was de avond in ieder geval ook een mooie gelegenheid om een aantal mensen weer eens te spreken. En nu op naar de Open Space in juni!
|
|
<< Start < Prev 1 2 3 4 5 6 7 8 9 Next > End >>
|
|
Page 1 of 9 |
|
Pictures
Bekijk alle foto's van Devnology op Flickr.
|