Instantly share code, notes, and snippets.


Message Bus App Architecture

This is some research focused around looking for node modules that support the development of an application that makes heavy use of a central message bus for cross component communication. The process for identifying potential components was simply to start by looking for packages that depend node the node-redis module, as at this this stage we see redis being the mechanism for powering the bus.

Potential Components

MQTT Centric

View default.conf
server {
listen 443;
server_name localhost;
root html;
index index.html index.htm;
ssl on;
ssl_certificate server.crt;
ssl_certificate_key server.key;
View index.js
var quickconnect = require('rtc-quickconnect');
var media = require('rtc-media');
var crel = require('crel');
// create containers for our local and remote video
var local = crel('div', { class: 'local' });
var remote = crel('div', { class: 'remote' });
var media
var peerMedia = {};
View index.js
// require the media capture helper from
var media = require('rtc-media');
// capture the local media, letting rtc-media know it can use
// the temasys plugin
var localMedia = media({
plugins: [
View offset-minkowski-surface-nets.js
var Polygon = require('polygon');
var fc = require('fc');
var Vec2 = require('vec2');
var ndarray = require('ndarray');
var sn = require('surface-nets');
var cwise = require('cwise');
var fill = require('ndarray-fill');
var poly = new Polygon([

I'm working from the Intel IOT Developer Kit as a starting point and created an SD image using the provided 200Mb zipped image:

This can be installed onto an SD card through decompressing the file and using the dd utility. If you are unfamiliar with the process, then search around for some info as there is plenty out there on how to do this.

Set the Time

The baseline image for the Intel IOT Developer Kit does not include an ntp client so you will need to set this manually for the time being. The format is a little strange ( so something like the following will work:

View index.js
var quickconnect = require('rtc-quickconnect');
var randomName = require('random-name');
var opts = {
room: 'quickconnect-demo-chat-room',
iceServers: require('freeice')()
quickconnect('', opts)
.on('channel:opened:chat', function(id, dc) {