Welcome to the NodeConf London live blog!

Today’s conference is attended by software experts at all stages of their Node.js journey, from coding right up to C-level decision making. It brings together the sharpest minds from the enterprise with the industry’s leading software development heavyweights and the finest talent that London has to offer.

Follow along, or catch up, with all the action from today’s proceedings at the Barbican Centre. And remember to pop over to our live stream to view the talks as they happen.

NodeCrunch Live May 11, 20165:04 pm

A fantastic event, an amazing audience, and the end of this live-blog.

Go on, and be good to each other :)

A lot of great comments about the event on Twitter at nodeconflondon:

NodeCrunch Live May 11, 20165:00 pm

Smiles, beers, drinks and experiences being shared at the NodeConf Drinks Reception.

With an beautiful performance to boot.

NodeCrunch Live May 11, 20164:34 pm

<strong>A massive thank you to all the sponsors, speakers, attendees and the team at the Barbican for making the event memorable, interesting and a reality.</strong>

(We’ll be back to share a few photos from the drinks reception before signing off.)

NodeCrunch Live May 11, 20164:33 pm

With the panel Q&A summing up, it’s almost time for the Drinks Reception.

After so many fascinating and insanely interesting day of talks, we can’t wait to relax and get to know more of the attendees at the reception.

NodeCrunch Live May 11, 20164:26 pm

From a little earlier, here’s the code for Nikhila serverless demo:



NodeCrunch Live May 11, 20164:20 pm

NodeCrunch Live May 11, 20164:19 pm

Second question regards what the panelists are looking forward to from the future of Node.

Mentioned in answers: promises, serverless architecture and Microsoft.

NodeCrunch Live May 11, 20164:16 pm

First question is a ‘simple’ one:

How has NodeJS changed your lives?

All panelists definitely agree that it has indeed made their lives a little bit better or adventurous, in some way or another.

NodeCrunch Live May 11, 20164:15 pm

NodeCrunch Live May 11, 20164:13 pm

And to finish off the conference part of the day, we have a panel.

Ed Cudahy of Condé Nast
Steve Elliott of LateRooms
Jason Melo of ADP
Adam Griffiths of news UK

NodeCrunch Live May 11, 20164:08 pm

Fascinating talk jam-packed full of actual live and scaled examples of Node!

NodeCrunch Live May 11, 20164:07 pm

Matt and Jonathan’s 8 principles (continued):

8. Become great at running Node infrastructure.

(running Node reliably can be tough, so get your JS engineers to ask the hard questions)

NodeCrunch Live May 11, 20164:06 pm

NodeCrunch Live May 11, 20164:05 pm

Matt and Jonathan’s 8 principles (continued):

7. Be two steps away from catastrophe

(Hard to test for variables that will only happen in production. So be fault tolerant.)

NodeCrunch Live May 11, 20164:03 pm

Matt and Jonathan’s 8 principles (continued):

6. It’s fine to test on your production environment.

(Clearly defined micro-services = small releases!)

NodeCrunch Live May 11, 20164:02 pm

Matt and Jonathan’s 8 principles (continued):

5. Beware the cost of microservices.

(Especially the cost of overheads of mircoservices.)

NodeCrunch Live May 11, 20164:00 pm

Fascinating talk by Matt and Jonathan. Attendees agree via twitter:

NodeCrunch Live May 11, 20163:58 pm

Matt and Jonathan’s 8 principles (continued):

4. An event-driven approach helps scaling and load.
(The online Rio 2016 coverage will be the BBC’s biggest Node project yet.)

NodeCrunch Live May 11, 20163:54 pm

Matt and Jonathan’s 8 principles (continued):

3. Understand your load, in theory and for real. (eg knowing what to scale for Glastonbury, datastore not boxes).

NodeCrunch Live May 11, 20163:51 pm

Matt and Jonathan’s 8 principles:

1. Design as micro services that embrace the elasticity of the cloud. (Or larger services, nano if you will.)
2. Scale up like a rocket, down like a feather (From their experience building a node application to get iPlayer to work on the international space station).

NodeCrunch Live May 11, 20163:44 pm

NodeCrunch Live May 11, 20163:41 pm

Up next it Matt and Jonathan from the BBC

“Front page of the BBC has 7 million hits a day and is totally built in node.”

NodeCrunch Live May 11, 20163:36 pm

The beauty of having ground-breaking speakers sharing their experience, we all learn more :)

NodeCrunch Live May 11, 20163:35 pm

Lucas concludes:

“‘server-less’ and ‘functional’ are the new hipsters. ‘Distributed functions’ are the future.”

NodeCrunch Live May 11, 20163:34 pm

According to Lucas, Uber wrote 3 libraries:

1. ringpop – scalable, fault tolerant app layer sharding
(distribution on an eventual consistent universe)

2. hyperbahn – service discovery and routing for large scale microservice operations.

3. tchannel – network multiplexing and framing protocol for RPC

NodeCrunch Live May 11, 20163:22 pm

So happy to see tweets like this:

NodeCrunch Live May 11, 20163:21 pm

Lucas goes on to say,

“SWIM tries to solve the failure detection problem over the cluster.”

NodeCrunch Live May 11, 20163:20 pm

Lucas introduces the audience to SWIM (Scalable Weakly consistent Infection style Membership protocol) from a remarkable whitepaper on the topic.

NodeCrunch Live May 11, 20163:19 pm

The problem Lucas has observed: the state of the cluster may change all the time.

NodeCrunch Live May 11, 20163:15 pm

Lucas says that Docker does not solve the problem of interconnecting microservices with each other.

NodeCrunch Live May 11, 20163:13 pm

Luca’s talk will take a dive into how Uber works (even though Luca has made it clear that he doesn’t in fact work for Uber in any way)

NodeCrunch Live May 11, 20163:12 pm

NodeCrunch Live May 11, 20163:11 pm

Luca has decided to retire his usual talk entitled “The Magic Dump” for today’s talk.

NodeCrunch Live May 11, 20163:05 pm

First talk of the ‘Use It’ segment is:

Luca Maraschi with “SWIMming in the microservices ocean”

NodeCrunch Live May 11, 20163:03 pm

Some snaps from the last coffee break of the day:

NodeCrunch Live May 11, 20162:33 pm

With another informative and feature-full talk done, we’re now breaking for a quick coffee/tea and snack.

When we return, we’ll be jumping right two talks on the ‘Use It’ segment.

NodeCrunch Live May 11, 20162:29 pm

NodeConf London attendees also get an exclusive discount of 1 free month on Greenkeeper. :)

NodeCrunch Live May 11, 20162:26 pm

Greenkeeper is also ‘set and forget’ functionality.

NodeCrunch Live May 11, 20162:23 pm

With regards to checking dependencies for updates on npm.

“If it doesnt happen on a fixed schedule, it doesn’t happen at all.”

Enter Greenkeeper

npm install -g greenkeeper
NodeCrunch Live May 11, 20162:20 pm

Semantic Release seems to be a hit with attendees:

NodeCrunch Live May 11, 20162:18 pm

To handle different setups, semantic release has custom message parsers, release constraints (once p/day, p/month etc or breaking change detection).

NodeCrunch Live May 11, 20162:15 pm

Semantic Release checks git commit messages for ‘fix’, ‘feature’ or ‘breaking change’ to assign the version numbers on push.

NodeCrunch Live May 11, 20162:13 pm

Jan introduces the concept of ‘semantic release’.

 npm install -g semantic-release-cli
NodeCrunch Live May 11, 20162:12 pm

A few comments from twitter:

NodeCrunch Live May 11, 20162:11 pm

Jan makes the crowd read this out:

Version numbers are for computers, release names are for humans.

NodeCrunch Live May 11, 20162:10 pm

NodeCrunch Live May 11, 20162:09 pm

NodeCrunch Live May 11, 20162:08 pm

Up now is Jan Lehnardt with his talk called “Kill all humans”

NodeCrunch Live May 11, 20162:02 pm

Andrew’s conclusions:

Large scale deployment is possible for small teams.
Traditional config management is dying.
QA teams are an organisational antipattern.
Treat everything as code (including the pipeline).
Be more devops. (be a generalist and support your own code)
Release early, release often. (work 9-5, go home and enjoy your weekend)

NodeCrunch Live May 11, 20161:58 pm

Great comments coming re: Andrew’s talk on Twitter at nodeconflondon

NodeCrunch Live May 11, 20161:55 pm

Ian’s post-lunch announcements were:

Nodeschool International Day is on Saturday 21st May – more info here: http://nodeschool.io/international-day/

And NodeGirls are looking for female mentors :)

NodeCrunch Live May 11, 20161:48 pm

Another great hint from Andrew is to freeze your dependencies on deployment.

NodeCrunch Live May 11, 20161:47 pm

Andrew’s personal recommendation for Source Control is GitLab who have much the same functionality as GitHub, but isn’t as pretty.

But it does ship you your own container to spin up your own hosting and testing instances.

NodeCrunch Live May 11, 20161:45 pm

NodeCrunch Live May 11, 20161:44 pm

Andrew touches on the benefit of using a service like docker to reduce the infrastructural overhead, but heads a warning that although containers promise ‘build once deploy anywhere’, saying that that’s not always the case in real life.

NodeCrunch Live May 11, 20161:40 pm

With regards to the what the key players are doing with continuous deployment, Andrew says:

“All the key players move much much slower than Amazon, who deploy every few seconds.”

NodeCrunch Live May 11, 20161:37 pm

Andrew expands further stating:

“QA team should never be bigger than the dev team”

going on to mention that the QA team size should only ever be 20% of the size of the dev team.

NodeCrunch Live May 11, 20161:35 pm

NodeCrunch Live May 11, 20161:34 pm

Andrew goes on to share:

“By pushing tests down to the lowest possible level for that feature, you can run tests on almost every commit.”

NodeCrunch Live May 11, 20161:33 pm

“If you trust your team show it.”

Andrew says, on the topic of continuous deployment to the master, as oppose to code review.

NodeCrunch Live May 11, 20161:29 pm

After an animated start Andrew gets to the core topic of his talk.

Andrew recommends:
Release (Early) or die trying.
Continuous Integration (building the process flow) & Continuous Delivery (think ikea flatpacked furniture to your door) & Continuous Deployment (feature toggles)
Throughout the process, humans are the friction, so try and reduce their manual input.

NodeCrunch Live May 11, 20161:25 pm

NodeCrunch Live May 11, 20161:20 pm

The next speaker is Andrew Martin who’ll be talking about “avoiding release paralysis”.

NodeCrunch Live May 11, 20161:19 pm

Emily’s talk ends off inviting more developers to get more involved with IoT.

NodeCrunch Live May 11, 20161:18 pm

NodeCrunch Live May 11, 20161:17 pm

You can see the dashboard for the interactive demos here: http://bit.do/btn-dash

NodeCrunch Live May 11, 20161:15 pm

Emily has invited the attendees to participate in two ways:

1. Pressing a hardware button and passing it around the room.
2. Getting folks to tweet nodeconflondon with a CSS colour code

NodeCrunch Live May 11, 20161:13 pm

Emily touches upon the fact that developers need to shut down all their social channels to focus, but the problem is that then they’re all alone.

They will be running over building a quick IoT device during the talk. It involves building a bit of hardware, ‘devicey codez’ (code that sits on the hardware) and some ‘cloudy code’ (server-side code to handle parsing tweets looking for colours and preparing it for transfer).

NodeCrunch Live May 11, 20161:10 pm

NodeCrunch Live May 11, 201612:55 pm

Attendees seem to love the venue as much as we do :)

NodeCrunch Live May 11, 201612:52 pm

And we’re heading back in from lunch for the ‘Ship It’ segment. We’re kicking off with a talk from Emily Rose with her talk “How I learned to stop worrying”.

NodeCrunch Live May 11, 201612:30 pm

A few snaps of some of today’s attendees getting into sometimes in-depth conversations over delicious lunch and dessert.

NodeCrunch Live May 11, 201611:55 am

Now a quick lunch break for everyone to eat in the lovely outside/garden space available at the Barbican.

NodeCrunch Live May 11, 201611:54 am

NodeCrunch Live May 11, 201611:53 am

Because building this kind of code from scratch can be tricky, here’s a bit of help from Thomas:


NodeCrunch Live May 11, 201611:49 am

As promised, here are Colin’s slides:

NodeCrunch Live May 11, 201611:46 am

Thomas will now go into a live coding example of how to build a custom language using operators:
‘eq’ (eqauls),
‘lt’ (less than),
‘gt’ (greater than)
and ‘not’ (a negator for the above)

NodeCrunch Live May 11, 201611:43 am

He extends his example by showing a bit of code for a validator function.

NodeCrunch Live May 11, 201611:42 am

Thomas highlights when to use code writing code, by using an over-simplified example, allowing a f(seed,data) function to use ‘seed’ again and again through a preparef(seed) function.

NodeCrunch Live May 11, 201611:40 am

NodeCrunch Live May 11, 201611:39 am

One of the biggest pitfalls in writing code that writes code is the performance issues it can create.

NodeCrunch Live May 11, 201611:38 am

An alternative title for his talk would be “How (or when) to write code that writes code”

NodeCrunch Live May 11, 201611:35 am

Final speaker in the ‘Build It’ segment is Thomas Watson with his talk “It goes to eleven”.

NodeCrunch Live May 11, 201611:33 am

Discussion about using ‘.mjs’ for ES6 modules, nicknamed ‘Michael Jackson Script’ but mostly because other file extensions are taken.

NodeCrunch Live May 11, 201611:31 am

Another attendee has shared a valuable resource for checking node and ES6 compatibility:

NodeCrunch Live May 11, 201611:27 am

Christian promised to share more information on ChakraCore’s time-travelling debugging. He delivered, here:

NodeCrunch Live May 11, 201611:25 am

There are some links in Colin’s slides, we’ll share the link as soon we get it.

NodeCrunch Live May 11, 201611:24 am

NodeCrunch Live May 11, 201611:21 am

NodeCrunch Live May 11, 201611:20 am

LTS (Long Term Support) implemented – provides 18 months of active LTS, with 12 months of maintenance, whilst the master branch continues with releases.

NodeCrunch Live May 11, 201611:19 am

V8 of NodeJS moves fast, but is built by Google for Chrome, is evergreen (old versions are abandoned) and breaks often. ‘nan’ implemented but not a perfect solution or future-proof.

NodeCrunch Live May 11, 201611:17 am

James has also released his slides from his previous talk here: https://github.com/substack/nodeconf-london-2016

NodeCrunch Live May 11, 201611:16 am

Tweets still pouring in with quotes from the previous talk. Like this one:

NodeCrunch Live May 11, 201611:15 am

Went from nodeJS v0.12 to nodeJS v4.

And some people tweeted in that maybe they forgot how to count.

NodeCrunch Live May 11, 201611:14 am

At NodeSummit in 2015 Joyent announced Node Foundation, and io.js joined. Now supported by 30+ orgs.

NodeCrunch Live May 11, 201611:13 am

NodeCrunch Live May 11, 201611:12 am

Colin starts by talking about how initially, Joyent was kind of the corporate steward of Node.js.
After many frustrations, the community landed up launching forward Node, but after not being able to commit, landed up launching a fork called io.js.

NodeCrunch Live May 11, 201611:10 am

Up now is Colin Ihrig talking about the “State of Node.js Core”.

NodeCrunch Live May 11, 201611:06 am

Christian’s hopes and wishes:

To have less drama and more documentary (and documentation).
Embracing constant change and avoid monoculture.
Not forgetting to keep things simple.
Not making ‘computer science a religion’ – the web was built by everyone.

Embrace outside influencers.

User choice and user experience should always trump developer needs.

NodeCrunch Live May 11, 201611:04 am

Christian’s notes on looking ahead:

Node should be where we kick the tires of JS, and as we build the tools, let’s not repeat the previous mistakes we made with the web.

We can also educate developers inside tools, rather than outside on the net.

In order for Node to take off, devs need to embrace the needs of people outside the community. Becoming more professional in dealing with corporate customers will help.

NodeCrunch Live May 11, 201611:01 am

Christian asks the developers in the room to think about internationalisation from the start, so you don’t have to rebuild your code.

There’s more than one language in the world, don’t forget that.

NodeCrunch Live May 11, 201611:00 am

ChakraCore also allows for time-based debugging (so you can go back in time to debug).
Gets a loud ‘woohoo’ from the audience!

NodeCrunch Live May 11, 201610:59 am

ChakraCore is now available to power Node and breaks the monoculture.
It’s highly optimised to run in low-end environments and is a brand new engine (without overhead from previous implementations).

NodeCrunch Live May 11, 201610:55 am

NodeCrunch Live May 11, 201610:54 am

(FYI) ES6 = Echo Script 6

NodeCrunch Live May 11, 201610:54 am

What Christian is working on is making ES6 happen.

It’s a great opportunity to ratify a standard, bundling in truckloads of good features, and re-vamping the education materials. (It also allows the community clean up our act).

NodeCrunch Live May 11, 201610:52 am

But there are problems with the Node approach, including:
- limiting ourselves to one JS engine
- building towards capabilities of one engine
- running into the danger of relying too much on dependencies
- the politics around the community are very harsh

NodeCrunch Live May 11, 201610:49 am

“With Node we liberated ourselves from the woes of the web”

Christian moves on to how Node comes to the rescue.

NodeCrunch Live May 11, 201610:48 am

He also mentions “blaming the user”, “‘temporary’ fixes” and “trying things till they work”.

Leaving JS a little like this:

NodeCrunch Live May 11, 201610:46 am

Christian makes a point about another JS problem:

The full stack overflow developer – look up things, copy and paste them, sell them and run away.”

NodeCrunch Live May 11, 201610:44 am

Christian’s technical humour is going down a treat. He makes the serious point of JS not being fault tolerant into something to giggle about.

NodeCrunch Live May 11, 201610:43 am

The topics Christian will talk about in his talk today:

NodeCrunch Live May 11, 201610:41 am

The problems with JS are similar to its promises.

It makes the web more interactive (and not always usable), doesn’t use IDEs so there is less conformity of code, and it works straight into the browser (and you don’t know what browser users will want to use).

The problem with ‘adventurous development’ is that it’s unmaintainable.

NodeCrunch Live May 11, 201610:40 am

NodeCrunch Live May 11, 201610:39 am

Christian starts off by talking about the JavaScript promise and problem.
JS made the web much more interactive, it’s easy to learn without tooling overhead and doesn’t need compilation as works straight in the browser.
It also allows for different and adventurous development styles.

NodeCrunch Live May 11, 201610:32 am

A few comments from the Twitter chatter on nodeconflondon:

NodeCrunch Live May 11, 201610:24 am

Up first in the ‘Build It’n segment is Christian Heilmann. His talk is titled “Making ES6 happen with ChakraCore and Node”.

NodeCrunch Live May 11, 201610:24 am

During the break, attendees got into some awesome conversations over tea/coffee and cookies. (Yes. Cookies!)

NodeCrunch Live May 11, 20169:53 am

We’re now off for a short coffee break to give everyone a chance to refuel before the next segment called ‘Build It’.

NodeCrunch Live May 11, 20169:52 am

Very interesting demonstrations by James, one being a ‘gossip’ system and a scalable mapping solution for villages with little or no internet access.

NodeCrunch Live May 11, 20169:51 am

NodeCrunch Live May 11, 20169:43 am

“Anarchitecture” is the architecture for systems that nobody owns, says James.

NodeCrunch Live May 11, 20169:42 am

In just three slides, James has demonstrated a few lines of code for setting up a p2p user system (and signing of messages) using Sodium

NodeCrunch Live May 11, 20169:40 am

But some things are better for p2p, like inverse scaling where things get better with more users rather than more expensive. But notes that everything has to be built into the client, as there’s only a client.

NodeCrunch Live May 11, 20169:38 am

A word of caution, with regards to building p2p solutions, is some things are hard. Like getting global consensus for example.

NodeCrunch Live May 11, 20169:36 am

“So how do we make systems that nobody owns or runs?”

asks James.

NodeCrunch Live May 11, 20169:35 am

NodeCrunch Live May 11, 20169:34 am

James will be talking and doing some wacky demos on p2p infrastructure.

NodeCrunch Live May 11, 20169:30 am

Up now: James Halliday will be talking about “The disintermediated web”

NodeCrunch Live May 11, 20169:29 am

Some more info from Nikhila on getting started at http://www.github.com/dwyl/learn-aws-lambda

NodeCrunch Live May 11, 20169:28 am

The good things about server-less:
Deploy functions individually, simple microservices, piggybacking off existing AWS infrastructure, attractive pricing and versioning on lambdas.

But beware of:
More complex testing, debugging, many moving parts and worth keeping infrastructure setup neat.

NodeCrunch Live May 11, 20169:24 am

With the front-end going live, Nikhila receives a strong round of applause from the audience.

Live demoing is scary, imagine live deploying :)

NodeCrunch Live May 11, 20169:23 am

Truly fascinating to watch Nikhila deploy a quick app (both front and back ends) in under 15 minutes.

NodeCrunch Live May 11, 20169:16 am

Nikhila is now demonstrating how to quickly deploy a jukebox application on GraphQL and AWS.

NodeCrunch Live May 11, 20169:15 am

NodeCrunch Live May 11, 20169:14 am

Nikhila takes us through how you could use Amazon’s Lambda with HTTP endpoints on an API gateway to serve simple frontend applications.

Her teams however use /gragphql to provide endpoints.

NodeCrunch Live May 11, 20169:10 am

The auditorium is really packed from the very first talk. It’s bound to be an awesome day already!

NodeCrunch Live May 11, 20169:10 am

NodeCrunch Live May 11, 20169:09 am

The first point Nikhila makes is that server-less architecture still uses servers. (Much like remote employees are still employees)

NodeCrunch Live May 11, 20169:06 am

A well received first talk by a packed auditorium. Next up is Nikhila Ravi who’ll be talking about “Server-less architecture in the wild”.

NodeCrunch Live May 11, 20168:58 am

“We are, at our best, a global version of Ionia. But we must work much harder to prevent destruction than we currently do to spread information.”

says Kassandra

NodeCrunch Live May 11, 20168:57 am

NodeCrunch Live May 11, 20168:56 am

Kassandra goes on to state how it’s not all doom and gloom and there’s still quite a bit of optimism. The growing size of the internet’s reach, the availability of free tutorials on almost anything, and draws comparison to the ancient city of Ionia.

NodeCrunch Live May 11, 20168:54 am

NodeCrunch Live May 11, 20168:53 am

Taking the metaphor further, Kassandra mentions that we’re close to the destruction of our own community due to exclusion (be it intentional or accidental).

NodeCrunch Live May 11, 20168:51 am

Kassandra sheds light on her cynicism, comparing our lack of passion to fill our library (open source web) to the passion involved with filling the Library of Alexandria.

NodeCrunch Live May 11, 20168:47 am

Kassandra also makes an aside to mention that programmers should not be exclusive to those who have hobbies outside of coding.

NodeCrunch Live May 11, 20168:45 am

Kassandra hit’s it home with this one:

Our very species needs these side projects, be they code or otherwise to thrive.”

NodeCrunch Live May 11, 20168:44 am

Kassandra begins her talk with the topic of ‘coding for fun’ and how side-projects are more valuable than they’re usually given credit for. They prevent burnout, bring in new people and encourage curiosity.

NodeCrunch Live May 11, 20168:42 am

NodeCrunch Live May 11, 20168:41 am

Kassandra Perch all the way from the US is up first talking about “Robots, code and people”.

NodeCrunch Live May 11, 20168:36 am

Just a few opening remarks from conference organiser Ian Crowther, before the first talks begin.

NodeCrunch Live May 11, 20168:01 am

A few snaps from the registration desk and reception coffee session:

NodeCrunch Live May 11, 20168:00 am

Today’s conference is split into 4 segments, namely ‘Start It’, ‘Build It’, ‘Ship It’ and ‘Use It’.

Each segment is separated with either a coffee break or lunch, with each containing three fascinating talks (except ‘Use It’ which ends with a panel discussion).

NodeCrunch Live May 11, 20167:57 am

With the doors flung open and registrations open, the first attendees have started to pour in. Some are meeting old acquaintances and friends, whilst others are meeting new ones.