d3.js’ component and update patterns easily allow for a more functional or Flux-like approach to visualisation rendering. Converting your render to a pure function of your model makes debugging much easier but often with an associated performance cost. Whilst this isn’t always noticeable in modern desktop browsers, it can be terminal on mobile or legacy browsers.In this talk I’ll look at how immutable.js can be combined with d3.js to produce high performance visualisations, without compromising on your code’s structure.

About the speaker

My name is Chris Price, I'm based in Newcastle upon Tyne and work as a Software Engineer at Scott Logic. I spend my days developing desktop/tablet/mobile web apps for financial services companies (unfortunately mostly hidden behind paywalls). I do like to blog about things when I can and am a core contributor to d3fc.

The next major release of D3 breaks down the diverse library into uncoupled components. Even the core concepts such as d3.selection are in their own optional plugins. The changes yield faster load, separation of concerns and more malleable datavis. We'll look at

• D3 4.0 plugins in general,

• D3 rendering without the DOM in the data flow using Observables and virtual DOM for reactive style,

• mixing SVG and Canvas/WebGL in the same visualisation towards native-like performance even on mobile.

About the speaker

I did financial analytics with SAP, R and predictive tools before focusing on datavis. I made a geotemporal dashboard with D3, crossfilter, SVG and WebGL, worked on web-based mobile and desktop time series charting tools such as http://bit.ly/1qqPtw1 and remote contracting at Retinatics for a cool London fintech startup now. My long term cause is to make dynamic visualisations easier to create, with a focus on STEM education.

Visualising Game Trees with D3.js

Writing algorithms for Artificial Intelligence is a lot of fun. You end up teaching your software how to move and learn in the environment and how to take actions to survive to obstacles and threats.

But this is still software. How do you know your AI is not dumb as doorknobs? How do you test something that thinks and decides in its own terms? How can you be sure it is following your inputs in a strategic way?

Join me in this talk as we build an AI for Pac-Man leveraging Monte Carlo Tree Search. With the help of D3.js we'll verify the correctness of the algorithm and enter in the mind of the machine.

About the speaker

Daniele is a technical consultant and entrepreneur based in London. He's passionate about solving problems and programming, particularly in Javascript. When he doesn't write code, Daniele advises startups in the London tech scene.