22nd October 2018 in London at CodeNode

This SkillsCast was filmed at Automata, Chaos and Emergent Behaviour

This session was not filmed.

This month we're very lucky to have Peter Marks talk to us about the surprising patterns and behaviour that can emerge from collections of even very simple automata. Don't miss it!

Automata are machines or control mechanisms whose behaviour follows predetermined instructions. An automaton acts entirely according to its own rules, possibly responding to its environment, but not under external control.

In this talk, we will explore software automata and how they can be used to create art. Specifically, we will limit our consideration to deterministic finite-state automata (DFA) – entirely predictable machines with no randomness in their actions.

One might imagine that simple machines with rigid, predictable behaviour would produce boring, predictable art, but we will demonstrate that that is not the case. We will look at chaotic systems where slight variations in initial conditions yield wildly diverging outcomes. Such systems, whilst completely deterministic, are not practically predictable at all.

Though chaotic, these systems can exhibit patterns - patterns not specifically encoded, but clearly observable. This is called emergent behaviour, and allows us to create complex images and animations from simple code.

We will show how software automata are built from three programming concepts: iteration, multiplicity and interaction. We will present and explain increasingly complex automata, and finish with a hands-on session where participants will build their own automata using a framework provided.

We will use JavaScript and P5.js which has been introduced in a few previous talks. Some basic knowledge of JavaScript and P5.js will be assumed, but the material presented should be accessible to people with little programming experience. Feel free to bring a laptop and experiment yourselves during the session.

YOU MAY ALSO LIKE:

Thanks to our sponsors

Automata, Chaos and Emergent Behaviour

Peter Marks

Peter has been developing software for over 30 years. As an active member of the OO community, he was a regular speaker at the OT and SPA conferences. In 1999, he co-founded Connextra, pioneering many of today's main-stream Agile practices. For ten years, Peter's primary interest has been functional programming, and he now leads the FPF team at Barclays, developing languages for modelling Structured Products, and tools for pricing and managing trades, in Haskell.

SkillsCast

This session was not filmed.

This month we're very lucky to have Peter Marks talk to us about the surprising patterns and behaviour that can emerge from collections of even very simple automata. Don't miss it!

Automata are machines or control mechanisms whose behaviour follows predetermined instructions. An automaton acts entirely according to its own rules, possibly responding to its environment, but not under external control.

In this talk, we will explore software automata and how they can be used to create art. Specifically, we will limit our consideration to deterministic finite-state automata (DFA) – entirely predictable machines with no randomness in their actions.

One might imagine that simple machines with rigid, predictable behaviour would produce boring, predictable art, but we will demonstrate that that is not the case. We will look at chaotic systems where slight variations in initial conditions yield wildly diverging outcomes. Such systems, whilst completely deterministic, are not practically predictable at all.

Though chaotic, these systems can exhibit patterns - patterns not specifically encoded, but clearly observable. This is called emergent behaviour, and allows us to create complex images and animations from simple code.

We will show how software automata are built from three programming concepts: iteration, multiplicity and interaction. We will present and explain increasingly complex automata, and finish with a hands-on session where participants will build their own automata using a framework provided.

We will use JavaScript and P5.js which has been introduced in a few previous talks. Some basic knowledge of JavaScript and P5.js will be assumed, but the material presented should be accessible to people with little programming experience. Feel free to bring a laptop and experiment yourselves during the session.

YOU MAY ALSO LIKE:

Thanks to our sponsors

About the Speaker

Automata, Chaos and Emergent Behaviour

Peter Marks

Peter has been developing software for over 30 years. As an active member of the OO community, he was a regular speaker at the OT and SPA conferences. In 1999, he co-founded Connextra, pioneering many of today's main-stream Agile practices. For ten years, Peter's primary interest has been functional programming, and he now leads the FPF team at Barclays, developing languages for modelling Structured Products, and tools for pricing and managing trades, in Haskell.