Rotterdam, 29 May 2015

A one-day conference celebrating the art, craft, science and joy of software development

Learn new stuff

Great value

By devs, for devs

Rotterdam, 29 May 2015

Welcome to Joy of Coding! A one-day conference celebrating the art, craft, science and joy of software development. We are back with a schedule filled with great speakers and packed with knowledge. The next edition will be held 29 May 2015 at the Van Nelle ontwerpfabriek in Rotterdam. Reasons why you should attend:

Learn new stuff

We're not happy unless you go home after Joy of Coding feeling inspired and full of new ideas. That's why we're cramming the conference full of renowned speakers, passionate developers like yourself, and (un)sessions that we hope you'll love.

Great value

We know you can't go to every conference every year, but we really want you to come to ours, so we're working to keep the entry price completely reasonable by teaming up with sponsors. Our goal: be the best value for money conference in 2015. Our very-early bird tickets start selling at the meager price of only EUR 128,-!

By devs, for devs

Like you, we're a bunch of developers who like going to interesting conferences and meetups. So there will be no commercial agenda or ulterior motive to Joy of Coding. It's just a place where we can all get together and talk about code.

Buy your ticket!

Warm-Up Party

Want to meet some of the other attendees and speakers in an informal setting? Join us the night before Joy of Coding at our free warm-up party! We will have a few talks (Peter Hilton & Kevlin Henney) and best of all, drinks are sponsored by Ordina! The pre-party will be held at Locus Publicus International and is easily reached by subway from Rotterdam Centraal station (or Rotterdam Blaak station). RSVP @ Meetup that you are coming!

 

Mainstage

Room Thee 2.1

Room Thee 2.2

Room Thee 2.3

Schedule

Mainstage

  1. 9:30 - 10:20

  1. Opening keynote - Programming as distributed cognition: defining a super power

    Chris Granger

    9:30 - 10:20

    With the constant barrage of frameworks, languages, and methodologies, it's easy to forget that programming isn't an end unto itself, but instead merely a means to get somewhere else. With the help of a computer, we can think and create things we never would have been able to before. Programming isn't simply a skill, it's a fundamental upgrade to our capabilities as humans - a way to distribute and externalize computation that would otherwise have to take place in our heads. So what would it be like if *everyone* could use computers as the thinking tools we originally meant for them to be?
    Let's try to find out.

    About Chris Granger

    I grew up as part of the nintendo generation, having learned the parts of a computer at the age of two and later learning numbers and colors from a Sesame Street game on the NES. I started programming at the age of ten and took my first paid development gig at 17. Since then I’ve built websites large and small, written frameworks and libraries used by thousands, taught developers around the world, and helped envision the future of development at Microsoft. These days, I’m the co-founder and CEO of Kodowa, where we built the next generation code editor Light Table and now Eve, a new vision for putting computation in the hands of everyone.

  1. 10:30 - 11:00

  2. 11:10 - 11:40

  3. 11:50 - 12:20

  4. 12:20 - 13:20

  5. 13:30 - 14:20

  6. 14:30 - 15:00

  7. 15:10 - 15:40

  8. 15:50 - 16:20

  1. Joy of Testing

    John Hughes

    10:30 - 11:00

    Even the best test suites can't entirely prevent nasty surprises: race conditions, unexpected interactions, faults in distributed protocols and so on, still slip past them into production. Yet writing even more tests of the same kind quickly runs into diminishing returns. I'll talk about new automated techniques that can dramatically improve your testing, letting you focus on what your code should do, rather than which cases should be tested--with plenty of war stories from the likes of Ericsson, Volvo Cars, and Basho Technologies, to show how these new techniques really enable us to nail the hard stuff. And best of all—it’s fun!

    About John Hughes

    John Hughes has been a functional programming enthusiast for more than thirty years, at the Universities of Oxford, Glasgow, and since 1992 Chalmers University in Gothenburg, Sweden. He served on the Haskell design committee, co-chairing the committee for Haskell 98, and is the author of more than 75 papers, including "Why Functional Programming Matters", one of the classics of the area. With Koen Claessen, he created QuickCheck, the most popular testing tool among Haskell programmers, and in 2006 he founded Quviq to commercialise the technology using Erlang. Along the way he’s learned to take great joy in buggy code.

  2. The Joy of Debugging Ourselves

    Laurent Bossavit

    11:10 - 11:40

    Here's a guilty secret of programming: a little debugging is a lot of fun. Granted, too much debugging can be the opposite of fun. Therein lies a mystery: why can't we ever seem to write *just the right amount* of bugs? The discipline tasked with answering these questions, known as Software Engineering has for the past four decades (and a bit) managed to ignore some fundamental facts about programming, such as why a little debugging can be a lot of fun, and more interestingly where bugs come from in the first place. Laurent's talk reveals some dismal truths about this sad state of affairs, but also offers more uplifting suggestions on how we can bring tons of fun back into programming, by developing new skills such as leprechaun hunting and brain debugging.

    About Laurent Bossavit

    Free electron, Extreme Programming and Agile enthusiast, a passion for learning and Things That Work

  3. Just enough crypto for the web

    Angelo van der Sijpt

    11:50 - 12:20

    Cryptography is a staple of the modern web, and most developers don’t make it past “it uses HTTPS, so it must be secure, right?”. In 30 minutes, I will show you what you need to understand to make your web application secure, and explain everything you need to know about the file types used in public key infrastructure.

    Note: this talk is certified math-free.

    About Angelo van der Sijpt

    Angelo is a Fellow and Software Architect at Luminis, where he focuses on connected devices, security, and is a firm believer in the power of service design and simplicity in software. The main thing that binds his projects is that all have a "twist", be it in hardware, scale, or security requirements. Angelo is an Apache committer on the Apache ACE project, and has spoken at conferences such as Apachecon and Oredev. He is a frequent flyer at hands-on sessions such as those of Devnology and Agile Holland.

  4. Lunch break

  5. Exercises in Programming Style

    Crista Lopes

    13:30 - 14:20

    Back in the 1940s, a French writer called Raymond Queneau wrote an interesting book with the title Exercises in Style featuring 99 renditions of the exact same short story, each written in a different style. In my book "Exercises in Programming Style" I shamelessly do the same for a simple program. From monolithic to object-oriented to continuations to relational to publish/subscribe to monadic to aspect-oriented to map-reduce, and much more, you will get a tour through the richness of human computational thought by means of implementing one simple program in many different ways. This is more than an academic exercise; large-scale systems design feeds on these ways of thinking. I will talk about the dangers of getting trapped in just one or two prescribed styles during your career, and the need to truly understand this wide variety of concepts when architecting software.

    About Christa Lopes

    Crista Lopes is a Professor of Informatics in the School of Information and Computer Sciences at the University of California, Irvine. Her research focuses on software engineering for large-scale data and systems. Early in her career, she was a founding member of the team at Xerox PARC that developed Aspect-Oriented Programming. Along with her research program, she is also a prolific software developer. Her open source contributions include being one of the core developers of OpenSimulator, a virtual world server. She is also a founder of Encitra, a company specializing in online virtual reality for early-stage sustainable urban redevelopment projects. She has a PhD from Northeastern University, and MS and BS degrees from Instituto Superior Tecnico in Portugal. She is the recipient of several National Science Foundation grants, including a prestigious CAREER Award. She claims to be the only person in the world who is both an ACM Distinguished Scientist and Ohloh Kudos Rank 9.

  6. Hacking Culture with Chat Robots

    Ben Straub

    14:30 - 15:00

    Chat robots are just for looking up cat GIFs, right? Well, not necessarily. Robots are for automation, and what you choose to automate has a feedback effect on the people who use it. Come take a look at some examples of this, and some guiding principles for how you can apply it in your organization.

    About Ben Straub

    Ben Straub has been writing software for over 15 years. He's a GitHub alumnus, co-author of the second edition of Pro Git, and has written a multitude of Hubot plugins. He's seen what chat bots can do, not just for engineering, but for a whole company.

  7. Hello, declarative world

    Tom Stuart

    15:10 - 15:40

    We know that a computer is an imperative machine: a CPU reads one instruction after another, and performs one operation after another, with each operation modifying the state of its registers and memory. But although it’s completely natural to think of computer programs as imperative recipes, there are other interesting ways to specify a computation. One such alternative is declarative programming, where we tell the computer what we want to achieve instead of exactly how to achieve it. This idea has been around for a long time but has recently begun to reappear everywhere. In this talk we’ll look at some modern examples of declarative programming and explore how it can help us with the applications we build today.

    About Tom Stuart

    Tom is a computer scientist and programmer. He has lectured on optimising compilers at the University of Cambridge, co-organises the Ruby Manor conference, and is a member of the London Ruby User Group. His latest book, Understanding Computation, was published by O'Reilly in 2013.

  8. Modelling complex game economy with Neo4j

    Yan Cui

    15:50 - 16:20

    The challenge of modelling and balancing the economy of a large scale game is one of the biggest problems game developers face and one that many have tried to solve by simply throwing man-hours at it... But there's a better way!

    Learn how Gamesys did it by leveraging graph database Neo4j to model the in-game economy of our MMORPG "Here Be Monsters" and automate the balancing process. We'll discuss lessons learned, successes and challenges, and how a graph database enables our small team of game designers to stay agile and focused on delivering new content to players.

    About Yan Cui

    Yan works as a server side developer at Gamesys where he develops scalable backend services for Gamesys's social games on mobile and Facebook. He's a co-author of the upcoming book F# Deep Dives for Manning Publishing. He's a regular speaker on topics such as Aspect-Oriented Programming, F# and NoSQL, and he keeps an active blog at http://theburningmonk.com/

  9. Closing keynote - Cool Code

    Kevlin Henny

    16:30 - 17:20

    In most disciplines built on skill and knowledge, from art to architecture, from creative writing to structural engineering, there is a strong emphasis on studying existing work. Exemplary pieces from past and present are examined and discussed in order to provoke thinking and learn techniques for the present and the future. Although programming is a discipline with a very large canon of existing work to draw from, the only code most programmers read is the code they maintain. They rarely look outside the code directly affecting their work. This talk examines some examples of code that are interesting because of historical significance, profound concepts, impressive technique, exemplary style or just sheer geekiness.

    About Kevlin Henny

    Kevlin Henney is an independent consultant, trainer and writer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for many magazines and web sites and is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know.

Room Thee 2.1

  1. BreakIn: Making a Breakout clone in F#

    Andrea Magnorsky

    10:30 - 12:20

    In this workshop, we will start of with the skeleton of a Breakout clone in F# and turn it into a more functional version of Breakout. By the end of the workshop you will write a cool power up, so brush up on your game skills for extra bonus points!!

    You will need a windows machine (a VM on OSx has worked for many people) with F# installed . A mouse will come handy too because we have an editor where clicking things is necessary.

    This is an ideal way to try some F# and/or game development.

    About Andrea Magnorsky

    I am a developer that makes games, at the moment Onikira:Demon Killer. I like to learn how to do things in different ways, in the hope that one day I will have to do nothing and just do things because I can.

    Conferences and meetups are a great way to learn more, so I try to help when I can to make them happen.

    I worked on enterprise (not the one with Piccard sadly) for too many years and then we created the company where we now make games, the future unknown.

  2. Lunch break

  3. The story of one who ever finally shipped something

    Ole Michaelis

    14:30 - 15:00

    Everyone knows that, you have that one idea, it might be the next facebook or just the thing somehow nobody build yet but you are dying for it. So what does a programmer do? Right, going to build it. We are makers, builders we have the powers to create our own tooling and make our dreams come true! But somehow only a very few of these ideas actually will ever see a production environment. Contrary to popular belief, some ship! And this is the story how I shipped my pet project!

    About Ole Michaelis

    Ole Michaelis is the co-founder of SoCoded, a hackfest and web development conference in Hamburg. He’s a Software Engineer at Jimdo, a DIY website creator, where he focuses on backend development. In his free time, he’s building slidr.io, a hazzle-free slide sharing platform. Ole is passionate about open source software, enjoys traveling, and loves Mexican food. He classifies himself as a 'bad' German as he dislikes beer and soccer – the traditional German past-times.

  4. Functional Programming for Beginners

    Nicole Rauch

    15:10 - 15:40

    Functional programming is currently booming. This is partly driven by the growing number of hybrid languages like Scala or F#. But even if you are not directly interested in one of these languages, you can benefit from looking into functional programming: It widens the horizon and can provide new stimuli for developers working in an object-oriented or procedural environment.

    In this talk, I will demonstrate the basic aspects of functional programming languages, showing examples in Haskell and JavaScript, and I will point out what is so special about functional programming.

    About Nicole Rauch

    Nicole Rauch is an independent software developer and development coach with a solid background in compiler construction and formal methods. Over the last three years, she worked on the restructuring of large legacy code applications with different technologies. She is also involved in the development of a web platform in node.js. Nonetheless, her secret love is for functional programming. Alongside her occupation as developer, she took part in conducting a number of self-organized conferences related to software craftsmanship and agile coaching. She is also one of the initiators of Softwerkskammer, the german-speaking Software Craftsmanship community.

  5. Building Applications With AWS Lambda

    J Randall Hunt

    15:50 - 16:20

    AWS Lambda is a really exciting new way to abstract away complex infrastructure and focus solely on building your application. Imagine being able to take a javascript, python, or Java method and have it just run. No servers, no queues, no ops. That's what the vision of AWS Lambda is and I want everyone to try it out. In this demo I'll share my love of space and show you how to write simple AWS Lambda functions for changing your twitter background to the astronomy picture of the day. Finally I'll stick around to answer any questions you have about AWS and Lambda.

    About J Randall Hunt

    J. Randall Hunt Developer Advocate and Software Engineer at Amazon Web Services in New York City. Python is his favorite language but he can sometimes be found in the dark realm of C++. Randall loves databases and enjoys talking about them from the developer perspective. Author of gitshots, a ridiculous and amusing platform for sharing git commits. Contributor to MongoDB and lots of other open source tools and libraries. Formerly of MongoDB, hackNY, and NASA. A total space nerd.

Room Thee 2.2

  1. Hack your language with Rascal

    Tijs van der Storm & Jouke Stoel

    10:30 - 12:20

    Ever wondered why you had to write getters and setters in Java over and over again? And how about Javascript not having a true foreach statement? Are you tired of writing tedious idoms to circumvent programming language deficiencies? Let's fix this with meta programming! The Rascal meta programming system is programming language and environment, designed precisely for such tasks. In this hands-on workshop we will introduce Rascal and let you hack a language. We will use Javascript as the example language add simple extensions on top of it by compiling them down to plain Javascript. So you can have your foreach statement in if you want, but the possibilities are truly limitless: from simple expression and statement extensions, to complete domain-specific languages (DSLs). Moreover: Rascal is a true language workbench, so we're not only extending the language itself, but also the IDE! You'll get syntax highlighting and jump to declaration features for free! So free your mind, free your language with meta programming!

    About Tijs van der Storm

    Tijs van der Storm is researcher at Centrum Wiskunde & Informatica (CW), the Dutch national institute for computer science and mathematics and teaches Software Construction at the Universiteit van Amsterdam (UvA). In his work he tries to solve software engineering problems through better language design and language engineering. He is one of the designers of the Rascal language workbench and core developer of the Ensō programming framework. Apart from all that, he likes literature and hates ugly code.

    About Jouke Stoel

    Jouke Stoel has been a professional software developer for at least 15 years. He has a keen eye for the quality of code, in whatever language he happens to be using. Currently, he is pursuing a PhD at Centrum Wiskunde & Informatica (CWI) where he employs domain-specific language technology to radically simplify the implementation of financial services.

  2. Lunch break

  3. Property Based Testing Hands-on

    Marc Evers, Rob Westgeest & Willem van den Ende

    14:30 - 16:20

    Most unit/integration testing as we know it is example-based: we describe examples of how the code under test behaves in our favourite testing framework.

    Property based testing is a new and promising approach to automated unit testing. It is very different from example-based approaches: in property based testing, you don't write examples but you describe properties of the code under test (statements about the outputs based on the inputs). Based on this, a property-based test framework generates many different inputs and checks if the code under test satisfies everything.

    It started in QuickCheck in the functional programming language Haskell and currently frameworks are available for many languages, from Java/Scala to C++.

    Property based testing forces you to think carefully about specifications: what are the preconditions, postconditions, invariants? It looks like a useful new tool for the crafts(wo)man's tool chest. This session will give you a good impression of how it works and what possible applications could be.

    About Marc, Rob & Willem

    Marc: works as an independent coach, trainer and consultant in the field of (agile) software development and software processes. Marc develops true learning organizations that focus on continuous reflection and improvement: apply, inspect, adapt. Marc also organizes workshops and conferences on agile and lean software development, extreme programming, systems thinking, theory of constraints, and effective communication. He is co-founder of the Agile Open and XP Days Benelux conferences.

    Rob: after years of experience with Object Oriented Software Development with UML, several development processes and project approaches as developer, architect, trainer and project leader, Rob worked on his first XP project in 2000. And with great success! He supports projects and people in the application of agile practices, principles and values since then. Rob develops himself and others continuously by visiting, organising and hosting workshops at conferences and user group meetings like SPA, XP Days, XP-NL and Agile Open.

    Willem: is a Dutch eXtreme Programming pioneer. As a coach, developer and coach he guides organisations in introducing agile software development since 1999.

Room Thee 2.3

  1. Intro to Musical Programming with ChucK

    Bonnie Eisenman

    10:30 - 12:20

    Learn to programmatically generate music with the ChucK programming language! ChucK is an easy-to-learn, versatile way to program music, intended for use by musicians with no programming knowledge and experienced programmers alike. It is particularly useful if you wish to create your own musical projects or installations. In this workshop, I'll walk through the basics of ChucK, and participants will learn to program their own musical pieces.

    About Bonnie Eisenman

    Bonnie Eisenman is a software engineer at Codecademy. She recently graduated from Princeton with an engineering degree in Computer Science. Besides her work at Codecademy, she also works on side projects involving Arduinos and electronic music.

  2. Lunch break

  3. Coda Lisa: Collaborative Art in the Browser

    Rico Huijbers

    14:30 - 16:20

    In this laid-back workshop, we're going to make art! Or more precisely, we're going to make computer programs that are going to make art for us.

    Intricate patterns are going to emerge on our shared virtual canvas, as the rules of our little automatons combine to form some emergent behavior that nobody expected. We'll even incorporate stimuli from the real world to make our installation interactive. So grab a drink and a laptop, sling some JavaScript, and be part of this creative event that is bound to win several awards!(*)

    About Rico Huijbers

    Rico Huijbers is a software development Jack-of-all-trades, who hates web development yet for some reason can't stop talking about it.

  1. 16:30 - 17:20

  1. Closing keynote - Cool Code

    Kevlin Henney

    16:30 - 17:20

    In most disciplines built on skill and knowledge, from art to architecture, from creative writing to structural engineering, there is a strong emphasis on studying existing work. Exemplary pieces from past and present are examined and discussed in order to provoke thinking and learn techniques for the present and the future. Although programming is a discipline with a very large canon of existing work to draw from, the only code most programmers read is the code they maintain. They rarely look outside the code directly affecting their work. This talk examines some examples of code that are interesting because of historical significance, profound concepts, impressive technique, exemplary style or just sheer geekiness.

    About Kevlin Henney

    Kevlin Henney is an independent consultant, trainer and writer based in the UK. His development interests are in patterns, programming, practice and process. He has been a columnist for many magazines and web sites and is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know.

  1. 17:20 - 21:00

  1. Afterparty & Dinner

    17:20 - 21:00

    We are most happy that due to a generous donations by Hoppinger and Incentro we are able to provide you with dinner & drinks and the opportunity to reflect on the days sessions. There wil be plenty time to mingle with other attendees and speakers. Which talk did you enjoy most? Which gadget should I buy in 2015?

    Around 21:00 we will have to wrap up the 2015 edition of Joy of Coding, waiting a full year for our 2016 return!

    Drinks sponsor

    Dinner sponsor

Venue

Van Nelle Ontwerpfabriek

This years edition will be held at the former Van Nelle factory, a world heritage site since 2014. In the 20th century it was a factory, processing coffee, tea and tobacco and later on additional chewing gum, cigarettes, instant pudding and rice. The operation stopped in 1996. Currently it houses a wide variety of new media and design companies and is known as the Van Nelle Design Factory ("Van Nelle Ontwerpfabriek" in Dutch).

The Van Nelle Factory

How to get there

car: use your car navigation to get to Van Nelleweg 1, Rotterdam. Parking space is available at the venue.

public transport: travel to Rotterdam central station, take bus 38 towards Schiedam central station and get off at Beukelsbrug. From there it is only a 5 minute walk towards the venue.

If you stay at the Van der Valk hotel you can easily walk towards the venue

The Van Nelle Factory

Code of conduct

All attendees, speakers, hosts, sponsors and volunteers (further referred to as participants) involved in our events are subject to the following code of conduct. We will enforce this code throughout our events and expect cooperation from all participants to help ensure a safe environment for all.

No harassment

We are dedicated to providing harassment-free events for everyone, regardless of gender, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). We do not tolerate harassment of participants in any form.

Harassment includes offensive verbal comments related to gender, age, sexual orientation, disability, physical appearance, body size, race or religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact, and unwelcome sexual attention.

Participants asked to stop any harassing behaviour are expected to comply immediately.

We will help

If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact one of the organisers immediately. We will make sure that during our conferences the organisers can be easily identified, for example through recognisable t-shirts.

If you are travelling to or from our event, and during the event, we will be happy to help you contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of our event. We value your attendance and will take serious any breach of this code of conduct.

No offensive content

It is not appropriate to link any offensive content, such as sexual language and imagery, to our events in any form, including talks, workshops, parties, Twitter and other online media. Speakers are asked to review their material and be considerate and friendly to a diverse audience.

No alcohol abuse

Thanks to the help of our sponsors, food and drinks are often freely available during or after our events. We hope this will be appreciated and used in good spirits, but we ask you to drink responsibly.

Compliance

We expect participants to follow these rules at all of our events and related social events. Participants who violate these rules may be expelled from the event without a refund at the discretion of the organisers.

Credit: parts of this code of conduct were taken from http://confcodeofconduct.com/

Together with

Partners

Preparty & Drinks + Dinner Afterparty sponsors

Sponsors

Media partners

Previous editions

2014

Feeling nostalgic? We still have the Website available for you. The slides, photos and videos can be found at the linked sites.

2013

The website is still available in its final form. You can look at the photos and videos at the linked sites.