1 of 59

How I ended up automating my curtains and shouting at my laptop

Luke Bonaccorsi - @LukeB_UK

Software Engineer

@LukeB_UK

2 of 59

I’m lazy

@LukeB_UK

3 of 59

Because I’m lazy, automation is a good thing

@LukeB_UK

4 of 59

In everyday life we’re surrounded by automation and probably don’t realise

@LukeB_UK

5 of 59

Traffic lights

Automatic doors

Motion sensing lights

Automatic hand driers

Cash machines

@LukeB_UK

6 of 59

And that’s just the stuff I noticed and paid attention to today...

@LukeB_UK

7 of 59

As consumers, we're embracing automation in our homes

@LukeB_UK

8 of 59

Heating

Lighting

Access control

@LukeB_UK

9 of 59

These usually have APIs so you can interact with them

@LukeB_UK

10 of 59

We also use automation to make our jobs easier

@LukeB_UK

11 of 59

Build tooling

Tests

Infrastructure configuration

@LukeB_UK

12 of 59

As interesting as that stuff can be, I’m not here to talk about that

@LukeB_UK

13 of 59

Over the past couple of years there’s been a “bot uprising”

@LukeB_UK

14 of 59

They're quickly becoming a bigger and bigger part of our lives

@LukeB_UK

15 of 59

Release token

Personalised news

Ordering food

@LukeB_UK

16 of 59

These can be hooked directly to a chat system

@LukeB_UK

17 of 59

There are frameworks that make it easy to build a bot

@LukeB_UK

18 of 59

And then there's Github’s Hubot

@LukeB_UK

19 of 59

Deploying code

Provisioning hardware

Visitor wrangling

@LukeB_UK

20 of 59

Even controlling the music!

@LukeB_UK

21 of 59

We now have virtual assistants!

@LukeB_UK

22 of 59

They’re in our homes and help us with our everyday lives

@LukeB_UK

23 of 59

It’s quite easy to add your own abilities

@LukeB_UK

24 of 59

And the uprising is only just beginning

@LukeB_UK

25 of 59

In mid-2014 I started working on a chatbot

@LukeB_UK

26 of 59

It’s called Woodhouse

@LukeB_UK

27 of 59

It’s modular and extensible

@LukeB_UK

28 of 59

It's open source and written in JavaScript

@LukeB_UK

29 of 59

In the beginning I only wanted to download movies...

@LukeB_UK

30 of 59

Before I did that, I automated my lamps instead

@LukeB_UK

31 of 59

@LukeB_UK

32 of 59

@LukeB_UK

33 of 59

I use this every day

@LukeB_UK

34 of 59

Then I began adding other little bits

@LukeB_UK

35 of 59

I started having these wild ideas of getting it to control everything

@LukeB_UK

36 of 59

...But then decided to rewrite it all instead

@LukeB_UK

37 of 59

The first time I gave a version of this talk I wanted something new

@LukeB_UK

38 of 59

@LukeB_UK

39 of 59

@LukeB_UK

40 of 59

@LukeB_UK

41 of 59

There’s so much cool stuff for JavaScript and hardware

@LukeB_UK

42 of 59

Johnny-Five

Cylon.js

Espruino

Tessel

@LukeB_UK

43 of 59

Eventually I got bored over christmas and started shouting at my laptop

@LukeB_UK

44 of 59

@LukeB_UK

45 of 59

Offline hotword detection

(npm.im/snowboy)

Google Speech API

@LukeB_UK

46 of 59

That’s the story so far

@LukeB_UK

47 of 59

So what about the future?

@LukeB_UK

48 of 59

I am genuinely terrified of the prospect of home ownership

@LukeB_UK

49 of 59

At the start of this talk I said I was lazy.�Let me correct that

@LukeB_UK

50 of 59

I’m the stupid kind of lazy where I’ll spend hundreds of hours making things so I don’t have to do simple tasks

@LukeB_UK

51 of 59

But it goes further than that

@LukeB_UK

52 of 59

I’m not here just to show off all the stuff I’ve built

@LukeB_UK

53 of 59

I’m here with the aim of inspiring you

@LukeB_UK

54 of 59

I’ve learned so much while working on this

@LukeB_UK

55 of 59

I kept going down the rabbit hole

@LukeB_UK

56 of 59

@LukeB_UK

57 of 59

If you were learning to cook, you’d make stuff you want to eat

@LukeB_UK

58 of 59

Build something that’s weird and interesting to you

@LukeB_UK

59 of 59

Thank you!

Come say hello and chat!

Twitter: @LukeB_UK

Github: github.com/lukeb-uk

Woodhouse: github.com/woodhouse

@LukeB_UK