Nederlands (NL-nl)English (United Kingdom)
Learn a new language: Pharo
Written by Angelo vd Sijpt   

Dit verslag is geschreven door Kees Kremer (@kremerk). Bedankt Kees!

Learn a  Language: Pharo

Op 1 April mochten we in Arnhem kennis maken met de taal Pharo. Luminis had voor ons haar faciliteiten beschikbaar gesteld.  De meeting werd afgetrapt met pizza en een drankje. 

Daarna begonnen Stephan Eggermont en Diego Lont met de aftrap. Pharo is een open source Smalltalk implementatie met een actieve gemeenschap. Complexiteit van software is een steeds groter probleem, Pharo kan daar een oplossing voor bieden. Het bevat late-binding,  is volledig object georienteerd, gebruikt message passing en heeft goede ontwikkeltooling waarbij de omgeving een constante feedback geeft.

Bij de opdracht die we gingen uitvoeren kregen we direct de  ontwikkeltooling, te zien. De omgeving  was op te starten door het dowloaden van een Pharo-image. Die konden we openen en in dat image zat  zowel het deel van de opgaven als de ontwikkeltooling. We hoefden dus niet een compiler, IDE en opgaven te installeren. Het downloaden van een image voldoet.

De opgave bestond uit het implementeren van “1 euro + 100 cent = 2 euro” . Hiervoor gingen we een test schrijven waarvan het de bedoeling was dat deze ging slagen. Het bijzondere was bij het runnen van de test de Debugger (die ook in het Pharo Image zit) op kwam (1 does not understand: euro) waarna vanuit de debugger de methode euro op getal kon worden gedefinieerd.  Verschillende acties moesten worden uitgevoerd om de test te laten slagen, alles vanuit de debugger. Niet TestDrivenDesign maar DebugDrivenDesign. Blijkbaar kan een debugger hier ook kan worden gebruikt om nieuwe zaken te maken. 

Daarna gingen we op zoek naar mogelijkheden binnen het image. We zagen een deel van het metaprogrammeren, de tooling die de code visualiseert. Daarmee was de  complexiteit van de code in kaart gebracht. We zagen de classbrowser en gingen op zoek en vonden de implementatie van het if statement.

Naast dat we met de taal Pharo kennis maakten, was er ook voldoende ruimte voor discussie en vragen.  Smalltalk is geen mainstream taal, maar in bepaalde hoeken wordt het intensief gebruikt. Zoals plekken waar de software veranderende complexe zaken moet automatiseren  (zoals binnen het bankwezen) of grote database systemen (Gemstone op Pharo).  De Pharo ontwikkelaars gaven aan dat de productiviteit met Smalltalk/Pharo substantieel hoger ligt dan bij andere programmeertalen. Waarna we een discussie hadden over “Stel dat een programmeertaal bewezen efficiënter is  zou management hiervoor durven/moeten/kunnen kiezen?”. Ook hadden we het over de problemen waar we tegen aan lopen, zoals performance bij updaten van grote hoeveelheden gebruikers.  Een leuke levendige discussie.

Deze avond hebben we veel gezien. Het concept van het werken via een image biedt veel voordelen voor een avond zoals deze: iedereen was zo up en running en omdat het image een volwassen ontwikkel systeem aan boord heeft is het eenvoudig om opdrachten uit te werken. Verassend te zien dat hierbij zowel volwassen ontwikkeltooling als alle code beschikbaar is in zo weinig Mb’s.

Voor we het wisten was de avond ten einde. Een geslaagde avond bij Luminis (ze zoeken nog mensen!)

 
Codefest Algoritmiek
Written by Daan van Berkel   

Op 9 September waren wij zeer welkom bij Atos voor een nieuwe Devnology Codefest. Bij een codefest is het de bedoeling echt in de code te duiken, vaak gekoppeld aan een bepaald thema. Dit keer was het thema algoritmiek, in het bijzonder sorteren.

Felienne behandelde wat theorie over sorteren. Zo werd onder andere het verschil uitgelegd tussen comparatieve sorteeralgoritmen, bijvoorbeeld quicksort, en niet comparatieve sorteeralgoritmen, zoals bucketsort. Daarnaast werden enkele eigenschappen die sorteeralgoritmen kunnen bezitten besproken zoals stabiliteit.

Na de theorie was het tijd om de laatste hand, en voor sommige de eerste hand, aan hun gekozen sorteeralgoritme te leggen. Na een klein uur van intens coderen was het tijd om de resultaten met elkaar te delen. De spits werd afgebeten door een insertionsort geïmplementeerd in Scratch.

InsertionSort in Scratch

Scratch is een visuele programmeertaal ontwikkeld aan MIT om kinderen bekend te maken met programmeren. Dit maakte het mogelijk om een kat te laten miauwen wanneer de lijst gesorteerd was.

Na de Scratch implementatie volgende nog vele even bijzondere ideeën. Zo werd in een oplossing SQL gebruikt om data te sorteren, zonder direct de query mogelijkheden van SQL te gebruiken.

Sorteren in SQL

Felienne gaf een voorproefje van een deel van haar Strangeloop praatje door een (goed leesbaar!) sorteeralgoritme in Excel te demonstreren.

Excel excelleert in sorteren

Daarna volgde nog implementaties in D, een implementatie zonder if-while-case te gebruiken in JavaScript

Zelf sorterende bomen in JavaScript

en een zeer elegante implementatie van quicksort in Haskell.

De klap op de vuurpijl was een implementatie van een wel heel bijzonder sorteeralgoritme, genaamd bogosort. Het idee achter dit algoritme is om net zo lang de lijst te schudden tot dat deze door toeval op volgorde is gekomen.

 
Community Day 2014 Schedule
Written by freek   

Thanks to the great community here and with help of our sponsors we are able to bring you what promises to be a great day of talks, workshops, chats and good times.

The schedule below is subject to change. This event falls under the Devnology code of conduct. If you have questions, comments or anything you want to add (even a session), please feel free to contact us on secretariaat@devnology.nl.

Registration is free of charge, come join us on the 4th of October at the AFAS offices in Leusden!.


Da Vinci Theather (1.08) Einsteinzaal (1.14) Auditorium (1.01) Platozaal (1.12)
9:30
9:40
Opening
9:40
10:25
Keynote Pieter Hintjens
10:30
11:00

Working effectively with pull requests

Georgios Gousios

Programs and machines

Michel Rijnders

React: fast and maintainable single-page web applications

Egbert Teeselink

Open Data Hackathon


11:15
11:45

Evolution of the Startersquad kanban flow

Iwein Fuld

12:00
12:30

Firebase in a Flash

Rico Huijbers

12:35
13:25
Lunch
13:30
14:00

Outside the API box

Ruth John

Workshop GO

Pieter Joost van de Sande

Testing Katas - Try before you buy

Emma Armstrong


14:15
14:45

Just enough crypto for the web

Angelo van der Sijpt

15:00
15:30

Reinventing software development productivity

Peter Hendriks

15:35
15:45
Break
15:45
16:15

Building large client-side JavaScript apps

Michiel Overeem

Build your Arduino Clone

Romilly Cocking

Coda Lisa

Rico Huijbers

The Immutable Stack

Martin van Amersfoorth, Michiel Borkent

16:30
17:00

Orleans: A framework for building scalable, distributed .NET cloud applications 

Bart Vries

17:15
17:45

Rails Considered Harmful

Michel Rijnders

17:45
17:50
Closing
17:50
19:00
Drinks


Legend

Presentation
Workshop
 
<< Start < Prev 1 2 3 4 5 6 7 8 9 10 Next > End >>

Page 1 of 30

Meetings

Prijzen sponsors

JetBrains logo



Pictures

Bekijk alle foto's van Devnology op Flickr.

Why meet up?

Devnology meetings are aimed to bring together passionate developers to exchange ideas and experience, to discuss and network - geek to geek.

About us

We focus on concepts of software development. For new developments we will dig into the underlying principles and concepts and try to place this in a broad perspective of existing platforms and solutions. Read more...