NodeConf AR 2016 – Day 1
These are some of the talks that I found interesting, inspirational ant that kept me thinking after the conference.
On Friday 18th, we hit the highway at 7:00 am heading to Buenos Aires to be early for the conference check-in. When we arrived, we grabbed the breakfast the organization had prepared, and we were ready to start. 🙂
The conference was kicked-off by Hugh Kennedy @hughskennedy, a developer/creative from Sydney, Australia. He talked about Interactive Installations, explained the process to bring installations to life and showed cool examples using NodeJS as “the glue” to put all these pieces together.
The installations have audio perception and real-time sound & projections.
To achieve this he uses several technologies and NodeJS libraries, such as:
Arduino boards & IoT devices (Johnny-Five, noble, bleno)
Mobile & bluetooth devices
WebSockets (socket.io, websocket-stream)
Audio (Web Audio API)
Control MIDI devices (loopjs)
Audio analysis (A wrapper library that Hugh wrote web-audio-analyser to analyze audio waveform)
Fullscreen browsers & multiple screens
Browsers / Desktop apps (Electron apps which allow to have a self-contained executable)
Check out the long list of npm packages Huge has written.
This year, he talked further about the 💩 (a.k.a. “pile of poo”) example. And the two new flags introduced in ECMAScript 6 for regular expressions:
y enables ‘sticky’ matching.
u enables various Unicode-related features.
You can read more about this interesting topic on Mathias’ blog:
NodeJS microservices. From zero to hero
Erich Oliveira @oliveira_erich, is the CTO at winnin.com, a media startup funded by coca-cola. He started his presentation describing the monolithic architecture and its limitations on adaptability, deployments & monitoring. He later highlighted the Reactive Manifesto principles and quoted Martin Fowler’s article on the topic.
With this background information, he introduced studio. A micro services framework (inspired by the akka/erlang actors model) for Nodejs. The framework enforces good practices such as async messages, immutability and modularization. It also offers a handful set of plugins to ease support for clusters, usage metrics, timeouts & retries. He sets up a cluster with 2 lines of code!
He’s currently working on a new set of APIs and documentation, with a high focus on app developers, so anyone can start using the framework easily.
The dirty secrets of building large, highly available, scalable HTTP APIS
Damian Schenkelman @dschenkelman, works at Auth0. Auth0 is the company that developed JSON Web Tokens, a technology widely used for authentication. They are active supporters of the Open Source communities.
It was an interesting talk to have a better understanding of the problems faced by large APIs which support huge amount of users.
“When your API starts gaining adoption, you have to worry about things like Authentication, Authorization, Documentation, Validation, Rate Limiting and 0-Downtime Deployments among others.”
Here’s the link to his slides.
Empathetic communication: why vulnerability is the key to collaboration
One of the most inspirational talks IMO was delivered by Sharon Steed @sharonsteed, even though it was not technical. Sharon is an incredible speaker and the founder of Communilogue, a digital marketing agency specializing in content and communication.
Empathy fuels connection and drives collaboration.
Encourage people that don’t talk to speak their minds.Embrace silence, give the opportunity to speak to other people.
Think about the listener/speaker.
Find a common ground with people with different background, countries, cultures.
Tech can’t replace face-to-face communication.
< I stutter />
She dedicated the first part of her presentation to talking about her stutterness and how she overcame her fears by engaging in public speaking.
Memory profiling for mere mortals
Thorsten Lorenz @thlorenz is a nomad, he travels & works around the world. His current stop is Colombia.
He’s a funny guy and started his presentation telling a story about Bobby and his toys. Bobby has the problem. He can only have a limited amount of toys inside his house. As an analogy of the memory limitation of any application.
He has written articles and collected resources on V8 engine and NodeJS performance. Which are worth reading.
I found this talk really interesting since I’ve worked and done a lot of research on this topic for Java applications and JVM tunning. Most of the tools and techniques are pretty similar, so I’ll dedicate a future post to covering this specifically.
The last speaker of day 1 was Guillermo Rauch @rauchg. He’s the CEO and co-founder of ZEIT. Guillermo is an Argentine talent that created some of the most used NodeJS libraries like micro, socket.io, mongoosejs, HyperTerm.
The best way to start a new project is by having high-speed progress and iterations. So ZEIT created a tool called now(), which allows to deploy NodeJS applications to the cloud instantly. Each deployment is immutable, which means that all of them will live even after new deployments have been executed.
Now only needs to know how to run the application. There are currently three alternatives for this:
This tool can publish localhost environments to the cloud in just seconds, running a single command. Sounds easy? It’s incredible useful, take a look at the official documentation.
The other ZEIT’s project presented by Rauch was Next.js. NodeJS enables us to share code between client and server, but there is no framework that allows us to share the same codebase between the two.
Rauch mentioned these two essays in his speech as motivations that led him to create the library:
This is the official introduction to the framework. These are some of its features:
Automatic server rendering
Data fetching is up to the developer
Ahead-of-tie code loading
Also he mentioned some possible future features of the framework:
Next as middleware
That was day 1 of the conference. We closed the day having some beers and getting back to La Plata talking about the highlights of the event. I’ll publish NodeConf day 2 soon.