Your current filters are…
by Troy Howard
by Emily Rose
by Jon Oropeza
Business logic is all the tricky calculations, rules and transformations that never seem to be in the hot new framework’s example ToDo app. Lately I’ve been finding it’s also the key to convincing clients and bosses that they NEED to run a node layer, no matter what other backend techs they happen to be rocking. In this talk I’ll dive into why and how, including:
Challenges that arise from wanting a performant client and server-side verification
How this gets exacerbated if you happen to be using a microservices-based backend
Business logic – that pesky stuff that isn’t in the ToDo App
Story time: A real world example of an app trying to apply the same logic in 2 different languages
Isomorphic business logic to the rescue!
The close… How all of this translates to ‘you need to run a node server’:)
by Adam Ulvi
Node applications exist at the end of a long, somewhat magical series of tubes. What spells are being cast to make this all work? Let's find out!
In this talk we will explore the steps required to host a Node application on a small, affordable linux virtual private server (like a DigitalOcean droplet). This is not a tutorial, but rather, a walk-through of the configuration steps, background information the role each step plays, and the "why" behind the choices we are making.
The reference implementation is taken from the current production gruntjs.com server.
By following the request lifecyle, we will touch on basic tcp/ip networking, DNS configuration and history, node application development, nginx proxy configuration, and basic linux system configuration.
At the end of the presentation developers should have a better understanding of the simple application's infrastructure requirements, external dependencies, and targets of opportunity for future improvement.
by Troy Howard
We'll have lunch served from two local food carts in the parking lot outside. Vegan, vegetarian, gluten free options are available.
by Adron Hall
A series of short five minute talks, scheduled first-come, first-served.
by Artur Paikin
Artur has built an open source home automation system called [Koti Home](https://github.com/arturi/kotihome) (Koti means home in Finnish language). It’s powered by an Arduino connected to Raspberry Pi, MQTT protocol for messaging, Node.js on the client and server, web sockets. You can interact with Koti robot via a React (like the cool kids do) control panel, Telegram Chat Bot and even your own voice.
Arthur will talk about how he's turned this project into reality — the tech he used and the challenges he faced. From a blinking LED to a voice controlled home automation robot.
Web Applications are rapidly becoming sophisticated distributed systems. When you look at a Facebook page or a Netflix catalog,
the number of components interacting with each other requires complex synchronization and state management capabilities, reaching
the limits of the MVC pattern.
In the last couple of years, several reactive architectures have started to get some interest (React, Cycle.js, ELM) without
generating significant traction (compared to established frameworks like Angular), while struggling to position effects in their
programming model. A new reactive, functional pattern, the State-Action-Model pattern (SAM) was introduced in early 2016 on the
foundation of TLA+ semantics.
The pattern, which is unapologetically driven by simplicity, promotes a clear delineation between the business logic and the view
and challenges the complexity of frameworks like Google's Angular or Facebook's React/Redux.
SAM's unidirectional flow is also challenging interactive patterns like BFF (Back-End for Front-End) or the Vertical Slice Pattern
which suggest creating view-specific APIs, per platform, app, versions of an app...
We'll start by reviewing some of the key challenges of modern UX and Front-End Architectures. We will then present the
key concepts of SAM and walk the audience through some node.js code samples (including server-side TimeTravel).
Open source is burning people out.
Most of us are well intentioned but adversarial communication styles and poor communication mediums can derail, divide, and detach communities from one another.
Using promises in Node Core as the backdrop, I would like to discuss the rocky journey forward to a sustainable, and inclusive world of open source.
There will never be a “one size fits all” approach to web development. If you want your application to be minimally interactive, then server side rendered HTML would be the way to go, else, if it were a more interactive application, then client side framework would benefit you.
Here is where client side frameworks come to the rescue. I have worked on several client side frameworks like Backbone.js, Ember.js. Few of the many features I love about Ember.js are the two-way data binding, Computed Properties, the run loop, convention over configuration nature, ease of handling routing and many more.
In this talk I would be covering the following:
- Introduction to Emberjs and why Ember
- How Ember js makes a difference
- Ember convention over configuration nature
- Introduction to Ember routes, components and templates
- Introduction to Ember CLI
- Computed Properties
- Live Demo on how it’s really intuitive in a couple of non-trivial scenarios.
Josh will be talking about building a multiplayer casual game for fun. Well, it’s fun until you have to write a server component to run it. Now you have to implement game matching, keeping clients in sync, in game chat, score tracking and more. In this Josh will show you how to use a Data Stream Network (DSN) write a game without any server at all. The network itself can connect users, load clients, and keep everything in sync without having to learn distributed computing programming. Josh will build and play a MMOWAM (Massively Multiplayer Online Whack-A-Mole) game to show how easy it can be.
Come join us for some snack and ping pong at Portland's very own Pips n' Bounce.
This is a great time to chat about all the great things you learned during the day and get to know the other attendees.
19th–21st June 2016