title: YYCjs - Back To The Future output: index.html theme: theme controls: false logo: theme/logo.png
--
--
-- presenter
-- presenter
-- presenter
-- sponsors
--
- JavaScript - The weird parts
- jQuery 202 and web components
- NodeJS like a boss
- Optimize your JS workflows
- Use a framework?
- JavaScript all the tests
- Intro to FRP & Scaling NodeJS
- Intro to Ember and Appcelerator
--
- YYCJS developer survey (2014, 2015)
- Similar general curriculum
- We are going to be putting together swag packages
- Job board
- Special events
- January 31st - The HTML500 is coming to Calgary
- February - Beyond HTML500
- April - Full day workshop (topic TBD)
- June - Development for non developers
- Ideas?
--
"the science and engineering of making intelligent machines"
--
--
--
--
JIBO - The world's first family robot
- Developed by Cynthia Lynn Breazeal, director of the "Personal Robot Group" at MIT
- Top 5 funded campaign on Indigogo
- Combines research in machine-human interaction with technologies like voice- and face recognition, spoken language and behaviour driven machine learning
--
--
--
<iframe style="width: 80%; height: 70%; margin: 0 auto; display: block;" src="//www.youtube.com/embed/YvUk4EBV2FI" frameborder="0" allowfullscreen></iframe>--
--
Watson is an artificially intelligent computer system capable of answering questions posed in natural language.
- Beat Jeopardy! champions in February 2010
- Now supports physicians in patient treatment
- January 9th 2014 announcement of Watson cloud-delivered services:
- Watson Discovery Advisor
- Watson Analytics
- Watson Explore
--
--
100 billion neurons X 200 firings per second X 1000 connections per firing = 20 million billion calculations per second = 20 petaFLOPS
--
In machine learning, artificial neural networks (ANNs) are a family of statistical learning algorithms inspired by biological neural networks (the central nervous systems of animals, in particular the brain).
ANNs are generally presented as systems of interconnected "neurons" which can compute values from inputs, and are capable of machine learning as well as pattern recognition thanks to their adaptive nature.
--
- Any machine learning systems accuracy depends on its input data.
- Input data (state vector) might need to be pre-processed to get the best results.
--
- BrainJS - Neural networks in JavaScript
- ConvNetJS - Deep learning in your browser
- SynapticJS - An architecture-free neural network library for node.js and the browser
--
Neural networks in JavaScript
// Color contrast training
var net = new brain.NeuralNetwork();
net.train([{
input: { r: 0, g: 0, b: 0 },
output: { white: 1 }
}, {
input: { r: 1, g: 1, b: 1 },
output: { black: 1 }
}]);
var output = net.run({
r: 0.2,
g: 0.2,
b: 0.2
});
// -> { white: 0.81, black: 0.18 }
--
Complex touch gestures are hard to implement imperatively.
Let's see if we can train BrainJS to recognize them.
--
- Retrieve network training data from server
- Normalize each
touchmove
ormousemove
event X/Y into a number between 0 and 1 (divide by canvas width and height) - Put all points into one big array
- If less than 100 data points, fill with 0s
- If more than 100 data points, cut off at 100
- Let network make a prediction
- Record the training data on the server
- Re-train the neural network
--
Online:
- Future Of Life Institue
- MIT Open Courseware - Artificial Intelligence
- Jeremy Howard - The wonderful and terrifying implications of computers that can learn (TED)
Books:
- Charles Stross - Accelerando
- Vernor Vinge - Zones of thought series
- Louis Del Monte - The Artificial Intelligence Revolution