The doors open
Keynote 1 — James Bach
Beauty or Bugs: Using the Blink Oracle in Testing
Here's how the blink technique works: 1. Blast a firehose of data at your senses. 2. Notice things in it that are ugly, weird, or that in any other way seem worthy of investigation. (This process takes time. Give yourself at least 20 milliseconds to make a judgment.) In this presentation I will show some examples of blinking and how I use tools to create visualizations that support the process. The art of blinking is in designing the right kinds of complex displays that make interesting problems stand out.
Session 2 — Aslam Khan
Sharing for easier comprehension
Good code is easy to read and understand. A good sketch, regardless of fidelity, requires little to no explanation. Yet to produce something that is easy to comprehend is not easy. I suspect that if we get better at producing artifacts with low cognitive overload we will get better at writing code that is easier to comprehend. Over the last few years, I have assembled a few techniques that keep me from drifting into that horrible place of making it difficult for other people to understand me. And since this is Beauty in Code, I will start with code and move to other forms of expressing our thoughts. Some parts philosophical, some practical and definitely no Abba.
Session 3 — Adam Tornhill
Guide Refactorings with Behavioural Code Analysis
Adam Tornhill is a programmer who combines degrees in engineering and psychology. He's the founder of Empear where he designs tools for software analysis. He's also the author of Your Code as a Crime Scene, Software Design X-Rays, Lisp for the Web, and Patterns in C. Adam's other interests include modern history, music, and martial arts.
Keynote 2 — Kevlin Henney
It's half a century since the NATO Software Engineering conference in Garmisch. How are we doing? Are we nearly there yet? Or is there no there there? The world of software development has changed so much and in so many ways since 1968 that it's difficult to imagine what we could learn from the past, but it's learning rather than imagination that's the constraint. There was no shortage of imagination, insight and inspiration in the 1960s and 1970s, and in many ways the apple of 21st-century software development has fallen disappointingly close to the tree of the past. So let's turn back the clock to see what we could have learned from the past, what we can still learn from the past and what the future might hold in store for code and its development.
Session 4 — Louis Hansen
Software professionals, we keep using that word...
We constantly refer to Software Development, and the people in this field, as professionals, but are we really? Are we held sufficiently accountable for the things we build? And should we be? This talk will go through what it means to be a profession in the classical definition. We will look at what parts we already have in our field, and why we might want to strive for certain other aspects.
Session 5 — Aino Vonge Corry
A Comment on how we learn
As an expert you will be asked to facilitate the learning of others, not to mention your personal eternal learning in your field. Join an interactive session about how our brains accept new knowledge and store it for later use. Your take-away will be three-fold; how to chunk information you give to others, how to improve your own learning AND something to entertain with at dull parties.
Session 6 Kent Beck
Symmetry: Beauty's Potting Soil
Our brains are optimized pattern matchers. The experience of beauty stems from recognizing patterns and having those patterns violated in unexpected-but-harmonious ways. Patterns in code stem from symmetries–two things look different but they are actually the same in some fundamental way.
This talk explores symmetries in code by example and explains how a sense of beauty is a powerful practical tool for professional programmers.