25 january 2014
III Node.js Conf
The third edition of NodeJSConf, will be held on January 25th 2014 in Brescia.
The venue is the same of last time: Centro Paolo VI in Brescia, a large and modern congress center located within a beautiful palace from the 1500, close to the city historical center. We’ll have a main room with 200 seats, closed and open spaces (weather permitting) to have coffeebreaks, lunch and places for chatting with other attendees; the address is Via Calini 30 – Brescia.
-
08:30 - 09:00: Registration
-
09:00 - 09:20: Welcome!
-
9:30 - 10:10: Alex Fernández - @pinchito
Scalability Lessons: Beyond 10K Requests per Second
For a startup with limited resources, scaling beyond 10K requests per second presents some unique technical challenges. In this talk I review some of the issues that we have faced while scaling our platform to five countries, tens of servers, and several MM requests per month.
-
10:20 - 11:00: Massimiliano Mantione - @M_a_s_s_i
Metascript: going beyond Javascript limitations
We all know that Javascript is not a perfect programming language, and several projects (Cofeescript, Typescript and many others) are addressing this problem. Each of them tries to solve one particular issue, and the problem I have with them is that I want all of them, plus a real metaprogramming framework (that almost none of them offers). Metascript is a new programming language that compiles to Javascript and tries to solve exactly these problems. In the talk I will give an overview of the language and show how metaprogramming can be used to provide solutions to issues like the nesting of functions in CPS code, clean "class" constructor definitions, dependency injection and others.
-
11:00 - 11:30: Coffee Break
-
11:30 - 12:10: Mathieu Bruyen and Fabrice Matrat - @mathbruyen and @fabricematrat
World in conflict: my app is online!
You want your mobile JavaScript application to perfectly run as the user gets lost in the middle of the jungle. How to use HTML5 offline capabilities in order for the application to locally progress? And then what happens when the user gets back to civilization? Local modifications have to be sent to the backend and external changes must be visible. How to synchronize server and client stores? In this session we will cover offline applications, algorithmic approach to synchronization, conflict issues and merge solutions.
-
12:20 - 13:00: Arnout Kazemier - @3rdEden
Transforming real-time with Primus
Primus is here to transform the way we build our real-time applications. Ever had to rewrite your app because the framework you used died, failed in production or your boss wanted to add feature Y? Primus solves that, it can transparently switch between SockJS, Engine.IO, SockJS and even pure WebSockets. With 1 Line Of Code. I've been core contributor to Socket.IO for a couple of years, co-maintainer of the populair `ws` library and now the creative mind behind. I've been at the front-line when it comes to real-time adoption and development and know how horrible it is to rewrite your application because the Open Source framework you're using was only designed for small projects instead of large scale production. Let me take you on journey where you'll learn about the problems of building a real-time application and how Primus solves these for you.
-
13:00 - 14:10: Lunch
-
14:10 - 14:50: Matteo Collina - @matteocollina
How to cook a Graph database in a Night
Open Source is truly amazing. New packages are published every day, but I fell in love with LevelDB and LevelUp. LevelDB is an embeddable Key-Value store built by the Google’s engineers that built BigTable. LevelUp is the simplest API for reading such a database. Then, I decided to build a Graph database on top of them, LevelGraph.
-
15:00 - 15:40: Mike McNeil - @mikermcneil
Intro to Sails.js
In this talk, I give a brief introduction to Sails.js, a realtime, server-side MVC framework for Node.js. I’ll point out some of the problems that Node.js developers face when trying to build apps from scratch, and show how Sails helps solve them. I’ll also live-code examples of some tasks that are simplified by Sails.js. Sails is an open-source framework built on top of Express, Socket.io, and other industry-standard node modules. It is designed to resemble the MVC architecture from frameworks like Ruby on Rails, but with support for the more modern, data-oriented style of web app development. It’s aim is to make Node.js practical for production applications, by providing a familiar structure for an app’s back-end while remaining unopinionated about the front-end as well as database-agnostic. It’s especially good for creating realtime features, such as chat.
-
15:40 - 16:10: Coffee Break
-
16:10 - 16:50: Forbes Lindesay - @ForbesLindesay
Patterns of Promise Use
So you've looked at making the switch from callbacks to promises, Maybe you've dipped your toe in the water and tried promises in a few places but you keep finding places where you've built the callback solution before and you're not quite sure how to do it with promises. This talk will cover many different patterns for using promises to solve simple application problems. It will give you the why, not just the how, so you can extend these principles to develop patterns of your own.
-
17:00 - 17:40: Matteo Brunati
NodeJS Enterprise Apps - A Project Manager PoV
The talk would like to be an overview of the use of NodeJS framework in CyBrain, since we chose it as our main framework to build Enterprise oriented applications. We would like to share with the crowd these aspects of the everyday work with NodeJS based on our experience:
Why we chose NodeJS for our applications,
How to deal with the bad acceptance of (most of the time) unkown new technologies in the Enterprise - like NodeJS, MongoDB, ecc.
How to organize a NodeJS enterprise app: scalability, frameworks, DBs, testing,
How to organise apps, both server side only and web apps,
Concurrency and/vs Parallelism with NodeJS,
Pseudo real-time and/vs CPU intensive work: JS and C/C++, some real-world examples,
How to integrate in the NodeJS team people without NodeJS know how - i.e. JS programming skills, asynchronous programming skills, etc.
Developement tools: IDE, workflow tools, VCS, Continuous Integration, programming languages -
17:50 - 18:30: Alvaro Videla - @old_sound
Building a Distributed Data Ingestion System with RabbitMQ
Your company has servers distributed around the world and you need to process data in a centralised location. The data is produced by applications using different technology stacks and comes from various sources, from web servers to sensors. How could you solve this problem? Enter RabbitMQ. In this talk we are going to show how to build a system that can ingest data produced at separate geo located areas (think AWS and it's many regions) and replicate it to a central cluster where it can be further processed and analysed. We will present an example of how to build a system like this one by using RabbitMQ Federation to replicate data across AWS Regions and RabbitMQ support for many protocols to produce/consume data. To help with scalability we are going to show an interesting way to implement sharded queues with RabbitMQ by using the Consistent Hash Exchange. If you want to learn what else has RabbitMQ to offer beyond simple messaging and queueing, then this is the talk for you.
-
18:30 - 18:45: Thanks and Goodbye!
-
Hotel Cristallo ***
Viale della Stazione, 12A
25122 Brescia
ItalyConventions
The hotel will apply following prices for NodeJS Conf convention:
single room € 50,00
double room € 70,00
triple room € 90,00Contacts
you can book your room here
-
NH Hotel Brescia ****
Viale della Stazione, 15
25122 Brescia
ItalyConventions
Thanks to the NodeJS Confconvention, the hotel will apply a discount of 15% on room rates.
Contacts
you can book your room by calling +3903044221 asking to get the agreed special price


Centro Pastorale Paolo VI a Brescia The conference will be held at Centro Paolo VI in Brescia, a large and modern congress center located within a beautiful palace from the 1500, close to the city historical center.
We chose this venue because of its position, easy to reach both by train and by car, but primarily for the size of its meeting rooms, with the aim to accommodate as many attendees as possible.
The main room can seat up to 190 people, there are also other spaces which suits well for chatting, discussions and feedbacks. The beautiful cloister is going to host (weather permitting) lunch and coffee breaks.
The address is Via Calini 30 - Brescia.
Directions given by the venue Airports Aeroporto Valerio Catullo di Verona Aeroporto Il Caravaggio di Bergamo Trains Trenitalia Bus & Metro Brescia Mobilità Taxi Brescia Radio Taxi Tripadvisor Brescia on Tripadvisor
If you come by car take the exit "Brescia Centro", and then: Google Maps.
By train
If you come by train, right outside the Brescia Train Station you'll find the Bus Stop: take line 12 ("Sanpolino" direction) and get off at Corso Magenta. Following map shows directions from station (and our hotels) to the conference venue.
You can also take a taxi, it will cost you more or less 10€, or take a walk, it will take you 20 minutes.
If you come by plane, the nearest airports are Milano/Bergamo Orio al Serio and Verona airport