Speaking Engagements

Schedule

NDC London

London

2017/01/18 – 2017/01/20

Taming cloud complexity with F# DSLs
Oredev

Malmo

2016/11/09 – 2016/11/11

Modelling game economy with Neo4j (recorded)
Fear and Loathing with APL (recorded)
CodeMesh

London

2016/11/03 – 2016/11/04

The future of PAAS is serverless, and why you should care
Leetspeak

Malmo

2016/10/15

Building reactive systems with AWS Lambda (recorded)
Swansea Con

Swansea

2016/09/12 – 2016/09/13

7 ineffective coding habits many F# programmers don’t have
NDC Sydney

Sydney

2016/08/03 – 2016/08/05

F# in the Real World (recorded)
SODA Social

London

2016/07/25

AWS Lambda from the trenches
Polyconf

Poznan

2016/06/30 – 2016/07/02

My adventure in Elm (recorded)
The Lead Developer

London

2016/06/23 – 2016/06/24

Tour of Language Landscape (recorded)
Code Slinger

London

2016/06/23

Tour of Language Landscape
NDC Oslo

Oslo

2016/06/08 – 2016/06/10

F# in the Real World (recorded)
OsloFSharp

Oslo

2016/06/07

7 ineffective coding habits many F# programmers don’t have
CodeMotion Dubai

Dubai

2016/04/01 – 2016/04/02

Modelling game economy with Neo4j

F# in the Real World

F# |> Cambridge

Cambridge

2016/03/21

Taming cloud complexity with F# DSLs
F# |> Bristol

Bristol

2016/03/02

Taming cloud complexity with F# DSLs (recorded)
Lambda Days

Krakow

2016/02/18-2016/02/19

Taming cloud complexity with F# DSLs (recorded)

F#unctional Londoners

London

2016/02/11

Taming cloud complexity with F# DSLs (recorded)

BCS

London

2016/02/03

7 ineffective coding habits many F# programmers don’t have
/dev/winter

Cambridge

2016/01/23

My adventure with Elm

NDC London

London

2016/01/13-2016/01/15

7 ineffective coding habits many F# programmers don’t have (recorded)
LDN Functionals

London

2015/12/08

A tour of the language landscape
BuildStuff

Vilnius

2015/11/18-2015/11/20

My adventure with Elm
F#unctional Londoners

London

2015/11/12

7 ineffective coding habits many F# programmers don’t have (recorded)
OSCON

Amsterdam

2015/10/26 – 2015/10/28

Modelling game economy with Neo4j
Lambda World

Cadiz

2015/10/24

F# in the Real World
LDN Functionals

London

2015/10/13

F# in the Real World
code.talks

Hamburg

2015/09/29 – 2015/09/30

A tour of the language landscape
DDD East Anglia

Cambridge

2015/09/26

F# in the Real World
Kats Conf

Dublin

2015/09/12

A tour of the language landscape
PolyConf

Poznan

2015/07/02 – 2015/07/04

A tour of the language landscape (recorded)
NDC Oslo

Oslo

2015/06/17 – 2015/06/19

Modelling game economy with Neo4j (recorded)
A tour of the language landscape (recorded)
Joy of Coding

Rotterdam

2015/05/29

Modelling game economy with Neo4j
NCrafts

Paris

2015/05/21 – 2015/05/22

My adventure with Elm (recorded)
Craft

Budapest

2015/04/22 – 2015/04/24

Learn you to tame complex API with F# powered DSLs
Lambda Con

Bologna

2015/03/28

My adventure with Elm
F# in the Real World
Code Motion

Rome

2015/03/27 – 2015/03/28

My adventure with Elm
QCon London

London

2015/03/04 – 2015/03/06

Modelling game economy with a graph database (recorded)
Lambda Days

Krakow

2015/02/26 – 2015/02/27

My adventure with Elm (recorded)
/dev/winter

Cambridge

2015/01/24

Modelling game economy with Neo4j
Code Mash

Ohio

2015/01/06 – 2015/01/09

My adventure with Elm
F# in Social Gaming
Modelling game economy with Neo4j
NDC London

London

2014/12/01 – 2014/12/05

My adventure with Elm (recorded)
FuncBy

Minsk

2014/11/22

Tame complex API with F#-powered DSLs
Build Stuff

Vilnius

2014/11/19 – 2014/11/21

Modelling game economy with Neo4j
Code Mesh

London

2014/11/04 – 2014/11/05

Modelling game economy with Neo4j (recorded)
Chester Devs

Chester

2014/02/05

Introduction to Aspect-Oriented Programming
Code Mesh

London

2013/12/05 – 2013/12/06

F# in Social Gaming (recorded)
F# in Finance

London

2013/11/25

F# in the Cloud and at Scale
Google Cloud Platform Roadshow

London

2013/10/08

BigQuery in Social Gaming
DDD 10

Reading

2012/09/01

Introduction to Aspect Oriented Programming
F#unctional Londoners

London

2012/06/28

.Net in Social Gaming (recorded)
DDD South West 4

Bristol

2012/05/26

Introduction to Aspect Oriented Programming

Podcasts/Webinars

Mostly Erlang

2013/08/29

013 – F# with Bryan Hunter
Community for F#

2013/05/14

Building a MMORPG with F# (recorded)
.Net Rocks

2013/02/14

846 – Yan Cui builds games in F#
SharpCrafters webinar

2012/03/26

Pseudo real time performance monitoring with AOP and AWS CloudWatch (recorded)

 

F# in the Real World

F# is an incredibly versatile and expressive language and enables you to solve a wide array of problems succinctly and efficiently.

This talk illustrates, with real-world examples, how the Gamesys social team is using F# to build the backend services that support around 1 million Daily Active Users (DAU) and 250 million daily requests across its social games on both mobile and web platforms.

 

7 Ineffective Coding Habits Many F# Programmers Don’t Have

At BuildStuff’14, Kevlin Henney presented an excellent talk titled “Seven ineffective coding habits of many programmers”. As a member of the audience that day and someone who has exhibited many of these habits over the years, I came to realize that using F# has cured me of many of these ineffective habits!In this talk I’ll share my thoughts on how the use of F# and functional programming techniques can encourage good programming habits and help you become a better OO programmer.

 

Tour of Language Landscape

There seems to be a new programming language every week, and for us busy developers we just don’t have the time to keep up with them. But have you wondered what we might have missed out on whilst we’re busy working in our language of choice?

Having spent time with numerous programming languages the past few years I have learnt something new from each. In this talk, we will go on a whirlwind tour of the interesting concepts and ideas I have encountered, from F#’s type providers and Rust’s borrowed pointers, to Elm’s signals and Idris’s dependent types to name a few.

 

 

Modelling Game Economy with Neo4j

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.

 

 

Learn you to tame complex APIs with F# powered DSLs

In this talk I drew on our experiences of working extensively with AWS’s APIs to illustrate with real-world examples how different forms of complexities can creep in and how they can be tamed using internal and external DSLs. I also illustrate using both FParsec and Active Patterns how F# can be a very effective tool in creating these DSLs.

 

My Adventure in Elm

Reactive Extensions (Rx) has brought reactive programming to the mainstream in recent years with successful adoption in languages such as C#, Java and JavaScript. But have you ever wondered what Rx will look like as a language?

Elm is a new programming language based on the idea of Functional Reactive Programming (FRP). Elm lets you create highly interactive web applications without all the messy callbacks tangling around shared states. In this talk Yan Cui will give a gentle introduction to Elm and share his experience learning the language and how he used Elm to recreate Missile Command in less than 250 LOC. You will leave this session with a handle on the Functional Reactive paradigm and a basic understanding of Elm.