Talks and workshops on a range on subjects are available, including Reviving a Community with Code, Clojure Fundamentals, Reactive Systems, Implementing the Theory of Audible Programming, and Practical Implementations of Agile Development. Please get in touch if you are interested in a presentation or workshop at your event or business.

Recent Events

21st October 2016
SCNA, Los Angeles
- Reviving a Community with Code

9th September 2016
Keynote at Geecon Sopot, Poland
- Reactive Systems: From Drug Development to Functional Programming

18-20th August 2016
Abstractions, Pennsylvania
- Reviving a Community with Code

2nd August 2016
eSynergySolutions webinar
- Deep learning: Clojure

30th April 2016
Chicago Code Camp
- Learning the Fundamentals of Clojure

7th Mar 2016
Qcon London
- Understanding Core Clojure Functions

12th Feb 2016
Clojure Remote
- Understanding Core Clojure Functions

4th, 8th and 11th Dec 2015
Yow! Australia, Melbourne, Brisbane, and Sydney.
- Implementing the Theory of Audible Programming

24th Nov 2015
BuildStuff, Kiev Ukraine.
- Reactive Systems: From Drug Development to Functional Programming
- Mining Minds: The Path from Coal Mining to Software Development

20th Nov 2015
BuildStuff, Vilnius Lithuania.
- Reactive Systems: From Drug Development to Functional Programming
- Mining Minds: The Path from Coal Mining to Software Development

14th Nov 2015
DetroitDevDay, Detroit USA
- Reactive Systems: From Drug Development to Functional Programming

6th Nov 2015
Oredev, Malmo Sweden.
- Mining Minds: The Path from Coal Mining to Software Development

14th August 2015
8th Light University, Chicago USA
- Science of Drugs and Rock n Roll


Abstracts for available talks are listed below.

Reactive Systems: From Drug Development to Functional Programming

You can view the slides and video from BuildStuff 2015.

Systems built as Reactive Systems are more flexible, loosely-coupled and scalable. This makes them easier to develop and amenable to change. They are significantly more tolerant of failure and when failure does occur they meet it with elegance rather than disaster.

The approach to the design and development of manufacturing processes for the production of new drugs within the pharmaceutical industry has changed dramatically over the last decade. Focus is given to designing systems that are responsive to issues and constraints, through knowledge of the impact of exceeding standard operating ranges and the use of real-time analytics; resilient to failures that could occur at any point within the system; elastic to changing demands that occur during the lifecycle of manufacture through a flexible and well understood approach to scalability; and message driven, whereby the resources used and specifications required for a specific segment of the system are derived by the demands external to that segment. With Quality by Design applied throughout the development process, the industry is now beginning to reap the benefits from the flexibility that Reactive Systems provide in production.

In this presentation we will use learning’s from the Pharmaceutical Industry to explore the extent of the Reactive Manifesto for software development, and we will look specifically at how this relates to functional programming. The public demands high and consistent quality from the medicines that we take, and we should demand that same quality from the software that we develop. If you are passionate about the quality of your code, then this talk will provide you with a new perspective on how you think about your craft.

Science of Drugs and Rock n Roll

Watch the video from my talk at 8th Light on YouTube, and the slides are available here here.

Developing a new drug and putting it into manufacture isn’t magic. Neither is programming. But how does someone new to either field break through the veil of mystery and understand what is really happening?

In this talk we will look at how coding music with Sonic Pi can give an introduction to the concepts of programming. We will also use the drug development process to discuss some of the considerations of scaling a complex system into production. From fun experimentations to commercial deployment, we will look at how gaining fundamental understanding allows us to create the illusion of magic whilst maintaining full control.

Implementing the Theory of Audible Programming

Watch a presentation from Yow! 2015.

Want to make the sound track to your own day? Dream of performing on stage? Interested in inspiring others to consider a career in programming? If you answered yes to any of the above, or simply want to find out more about making music with code, then come along and join in.

In this session we will explore how to combine musical theory with programming skills to craft interesting and inspiring musical compositions in real time. Everything you need to take your first steps as a live coder will be covered, and you'll leave with the understanding you require to have real control over the music you create.

Understanding Core Clojure Functions

Watch my QCon London 2016 talk.

Every programming language has a bunch of core functions already defined for us. This is great - it means we can quickly get on building what we want, without having to worry about writing everything from scratch.

This power and ease of use does come with a cost, though. Do we really understand how the functions are working, and if not, how do we really know the power of the magic that we are wielding? Are we in danger of breaking our code through the misuse of functionality that we thought, but didn’t truly, understand? And are we utilizing the functions to their full effect, or missing out on some of the benefits of the language?

In this presentation we will look at how to implement our own versions of the Clojure functions reduce, count, filter, map and pmap. The pace will start gently to allow people with no Clojure experience to follow, but will expand to give insight to enable everyone to increase their true understanding and to become better developers.

Mining Minds: The Path from Coal Mining to Software Development

Talk in conjunction with Amanda Laucher.

Check out Mined Minds for more details.

What makes a good software developer and how do we bring new people with the talents that we need into our industry?

In this presentation we will talk about the programming training that we are providing in a rural town in Pennsylvania, which has been hit by redundancies within the coal mines, the dominant industry in the area. Many people aren’t aware that software development is an option for them, but when a real opportunity is given, we have the chance to develop a diverse group of programmers that are forward-thinking, language-agnostic, and that are versatile in their approach. We will discuss the skills we have been teaching, techniques that we have used, the people involved, and the many lessons that we have learnt along the way.

If you think it’s important to give something back to the community, and you see the value of inspiring and teaching people from diverse backgrounds, then this talk will be of interest to you.