SlideShare a Scribd company logo
1 of 53
Experiential Analysis of
   the Ballmer Peak:
Node.js, Arduino, and Beer
keg.i
Likes beer
Likes beer
Definitely likes beer
Chris Castle
@crc
Product Manager
Yes, this is in Excel
What is keg.io?
+ +
Why build this?
NO F-ING IDEA
Dylan Carney

Garrett Patterson

Carl Krauss
How’s it work?
v1: node.js talks serial
The Cast
ardui                              node
      no                                  .js se
                                                rver
            serial cable



                    web
                        brow
                             ser
v2: node.js and the cloud
      (persistent, seattle-style)
The Cast
ardui                    node
      no                        .js se
                                      rver



               web
                   brow
                        ser
A typical day in the
  world of keg.io
Brrrr, 42° in here..



PUT /api/kegerator/1111/temp/42
Hey clients listening to
   1111, she’s 42°




(websocket)
Hey, card scan!


GET /api/kegerator/1111/scan/440055F873
Ok, let that guy drink
                     (HTTP 200 response)




GET /api/kegerator/1111/scan/440055F873
Hey clients listening to
1111, Chris just scanned




(websocket)
11oz poured!


PUT /api/kegerator/1111/flow/1100
ok, 11oz. Got it.
                  (HTTP 200 response)




PUT /api/kegerator/1111/flow/1100
Hey clients listening to
1111, Chris poured 11oz




(websocket)
G       A         B-
    T IC    E
           K I    DAT
                            W E      T
  A                     I        K E
ST LES      A P     A P        C
  FI                        SO
DEMO
What’s next?
More stats and data
  visualizations
         TA
       DA I
        A P
Post-pour hooks?!
Too many ideas!
Too many ideas!
Two Goals
Get to the point where anyone
 can contribute to the project

           T IC    AT
                      A
         A        D
       ST LES         P I
         FI         A
Get one setup in as many nerdy,
developer-filled offices as possible


             (your office?)
THANKS!
Chris Castle
@crc


chris@simplymeasured.com

More Related Content

Viewers also liked

Learn more about
Learn more aboutLearn more about
Learn more aboutAmina Ekpo
 
Effect of project cost and time monitoring on progress of construction projct
Effect of project cost and time monitoring on progress of construction projctEffect of project cost and time monitoring on progress of construction projct
Effect of project cost and time monitoring on progress of construction projcteSAT Journals
 
The New Advertising: a primer for brands
The New Advertising: a primer for brandsThe New Advertising: a primer for brands
The New Advertising: a primer for brandsLakshmipathy Bhat
 
Keynote slides: Creating the Future of Arab Media
Keynote slides: Creating the Future of Arab MediaKeynote slides: Creating the Future of Arab Media
Keynote slides: Creating the Future of Arab MediaRoss Dawson
 
사이버컴과 네트워크분석 6주차 2
사이버컴과 네트워크분석 6주차 2사이버컴과 네트워크분석 6주차 2
사이버컴과 네트워크분석 6주차 2Han Woo PARK
 
M2Mobi Airport Solution
M2Mobi Airport SolutionM2Mobi Airport Solution
M2Mobi Airport SolutionM2Mobi
 
Assessment of hygienic practices among pig slaughterhouses and markets in Chi...
Assessment of hygienic practices among pig slaughterhouses and markets in Chi...Assessment of hygienic practices among pig slaughterhouses and markets in Chi...
Assessment of hygienic practices among pig slaughterhouses and markets in Chi...ILRI
 
Post colonial perspectives
Post colonial perspectivesPost colonial perspectives
Post colonial perspectivesSimon Gummer
 
Microbrewery in india- raw materials
Microbrewery in india- raw materialsMicrobrewery in india- raw materials
Microbrewery in india- raw materialsRitwik Bhattacharya
 
Eye Tracking, Journal of Marketing Research
Eye Tracking, Journal of Marketing ResearchEye Tracking, Journal of Marketing Research
Eye Tracking, Journal of Marketing ResearchChristopher Bartone
 
Ventes en ligne cross-border en Europe : Pourquoi la logistique est-elle impo...
Ventes en ligne cross-border en Europe : Pourquoi la logistique est-elle impo...Ventes en ligne cross-border en Europe : Pourquoi la logistique est-elle impo...
Ventes en ligne cross-border en Europe : Pourquoi la logistique est-elle impo...Lengow
 

Viewers also liked (15)

07 arts-312-359-h.pen
07 arts-312-359-h.pen07 arts-312-359-h.pen
07 arts-312-359-h.pen
 
MBA_ELBA
MBA_ELBAMBA_ELBA
MBA_ELBA
 
Learn more about
Learn more aboutLearn more about
Learn more about
 
Effect of project cost and time monitoring on progress of construction projct
Effect of project cost and time monitoring on progress of construction projctEffect of project cost and time monitoring on progress of construction projct
Effect of project cost and time monitoring on progress of construction projct
 
The New Advertising: a primer for brands
The New Advertising: a primer for brandsThe New Advertising: a primer for brands
The New Advertising: a primer for brands
 
Keynote slides: Creating the Future of Arab Media
Keynote slides: Creating the Future of Arab MediaKeynote slides: Creating the Future of Arab Media
Keynote slides: Creating the Future of Arab Media
 
사이버컴과 네트워크분석 6주차 2
사이버컴과 네트워크분석 6주차 2사이버컴과 네트워크분석 6주차 2
사이버컴과 네트워크분석 6주차 2
 
M2Mobi Airport Solution
M2Mobi Airport SolutionM2Mobi Airport Solution
M2Mobi Airport Solution
 
Assessment of hygienic practices among pig slaughterhouses and markets in Chi...
Assessment of hygienic practices among pig slaughterhouses and markets in Chi...Assessment of hygienic practices among pig slaughterhouses and markets in Chi...
Assessment of hygienic practices among pig slaughterhouses and markets in Chi...
 
Grupo conico
Grupo conicoGrupo conico
Grupo conico
 
Post colonial perspectives
Post colonial perspectivesPost colonial perspectives
Post colonial perspectives
 
Microbrewery in india- raw materials
Microbrewery in india- raw materialsMicrobrewery in india- raw materials
Microbrewery in india- raw materials
 
Eye Tracking, Journal of Marketing Research
Eye Tracking, Journal of Marketing ResearchEye Tracking, Journal of Marketing Research
Eye Tracking, Journal of Marketing Research
 
Beer
BeerBeer
Beer
 
Ventes en ligne cross-border en Europe : Pourquoi la logistique est-elle impo...
Ventes en ligne cross-border en Europe : Pourquoi la logistique est-elle impo...Ventes en ligne cross-border en Europe : Pourquoi la logistique est-elle impo...
Ventes en ligne cross-border en Europe : Pourquoi la logistique est-elle impo...
 

Similar to Keg.io

SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...Keiichiro Ono
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....Alessandro Cinelli (cirpo)
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....Michele Orselli
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichDevOpsDays Tel Aviv
 
Docker experience @inbotapp
Docker experience @inbotappDocker experience @inbotapp
Docker experience @inbotappJilles van Gurp
 
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...Amazon Web Services
 
Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every TeamSven Peters
 
Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS drupalcampest
 
Concurrecy in Ruby
Concurrecy in RubyConcurrecy in Ruby
Concurrecy in RubyVesna Doknic
 
Seaside Portability
Seaside PortabilitySeaside Portability
Seaside Portabilityjfitzell
 
Node.js - Advanced Basics
Node.js - Advanced BasicsNode.js - Advanced Basics
Node.js - Advanced BasicsDoug Jones
 
Apache cassandra en production - devoxx 2017
Apache cassandra en production  - devoxx 2017Apache cassandra en production  - devoxx 2017
Apache cassandra en production - devoxx 2017Alexander DEJANOVSKI
 
Website Performance: server- and clientside techniques
Website Performance: server- and clientside techniquesWebsite Performance: server- and clientside techniques
Website Performance: server- and clientside techniquesChris Ramakers
 
Notes on a High-Performance JSON Protocol
Notes on a High-Performance JSON ProtocolNotes on a High-Performance JSON Protocol
Notes on a High-Performance JSON ProtocolDaniel Austin
 
Serverless - introduction et perspectives concrètes
Serverless - introduction et perspectives concrètesServerless - introduction et perspectives concrètes
Serverless - introduction et perspectives concrètesBertrand Delacretaz
 
DevOps MeetUp NL - Docker (Oct 2014)
DevOps MeetUp NL - Docker (Oct 2014)DevOps MeetUp NL - Docker (Oct 2014)
DevOps MeetUp NL - Docker (Oct 2014)Laurent Guérin
 
Scaling Rails with Ruby-prof -- Ruby Conf Kenya 2017 by Ben Hughes
Scaling Rails with Ruby-prof -- Ruby Conf Kenya 2017 by Ben Hughes Scaling Rails with Ruby-prof -- Ruby Conf Kenya 2017 by Ben Hughes
Scaling Rails with Ruby-prof -- Ruby Conf Kenya 2017 by Ben Hughes Michael Kimathi
 
CouchDB - Local Web Platform
CouchDB - Local Web PlatformCouchDB - Local Web Platform
CouchDB - Local Web PlatformChris Anderson
 

Similar to Keg.io (20)

SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
SDCSB Advanced Tutorial: Reproducible Data Visualization Workflow with Cytosc...
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
 
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
BDD - Buzzword Driven Development - Build the next cool app for fun and for.....
 
Ruby - The Hard Bits
Ruby - The Hard BitsRuby - The Hard Bits
Ruby - The Hard Bits
 
How Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar LeibovichHow Linux Processes Your Network Packet - Elazar Leibovich
How Linux Processes Your Network Packet - Elazar Leibovich
 
Docker experience @inbotapp
Docker experience @inbotappDocker experience @inbotapp
Docker experience @inbotapp
 
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...
A story of Netflix and AB Testing in the User Interface using DynamoDB - DAT3...
 
Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every Team
 
Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS Developing realtime apps with Drupal and NodeJS
Developing realtime apps with Drupal and NodeJS
 
Concurrecy in Ruby
Concurrecy in RubyConcurrecy in Ruby
Concurrecy in Ruby
 
Seaside Portability
Seaside PortabilitySeaside Portability
Seaside Portability
 
Node.js - Advanced Basics
Node.js - Advanced BasicsNode.js - Advanced Basics
Node.js - Advanced Basics
 
Apache cassandra en production - devoxx 2017
Apache cassandra en production  - devoxx 2017Apache cassandra en production  - devoxx 2017
Apache cassandra en production - devoxx 2017
 
Website Performance: server- and clientside techniques
Website Performance: server- and clientside techniquesWebsite Performance: server- and clientside techniques
Website Performance: server- and clientside techniques
 
Notes on a High-Performance JSON Protocol
Notes on a High-Performance JSON ProtocolNotes on a High-Performance JSON Protocol
Notes on a High-Performance JSON Protocol
 
Serverless - introduction et perspectives concrètes
Serverless - introduction et perspectives concrètesServerless - introduction et perspectives concrètes
Serverless - introduction et perspectives concrètes
 
DevOps MeetUp NL - Docker (Oct 2014)
DevOps MeetUp NL - Docker (Oct 2014)DevOps MeetUp NL - Docker (Oct 2014)
DevOps MeetUp NL - Docker (Oct 2014)
 
Scaling Rails with Ruby-prof -- Ruby Conf Kenya 2017 by Ben Hughes
Scaling Rails with Ruby-prof -- Ruby Conf Kenya 2017 by Ben Hughes Scaling Rails with Ruby-prof -- Ruby Conf Kenya 2017 by Ben Hughes
Scaling Rails with Ruby-prof -- Ruby Conf Kenya 2017 by Ben Hughes
 
CouchDB Google
CouchDB GoogleCouchDB Google
CouchDB Google
 
CouchDB - Local Web Platform
CouchDB - Local Web PlatformCouchDB - Local Web Platform
CouchDB - Local Web Platform
 

Recently uploaded

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Keg.io

Editor's Notes

  1. Hi. So, we’re going to talk about keg.io now and this is probably going to be the best talk you’ve seen all day.\nWhat’s keg.io? First, it’s about beer.\n
  2. Hi. So, we’re going to talk about keg.io now and this is probably going to be the best talk you’ve seen all day.\nWhat’s keg.io? First, it’s about beer.\n
  3. And who doesn’t like beer, right?\n
  4. This guy likes beer\n
  5. You know what’s funny? One of my coworkers asked me how many hours I’ve been putting in to this project. When I told her, she said I needed to find a girlfriend.\n
  6. I’m Chris Castle\n@crc\nAnd I work at...\n
  7. Simply Measured.\nI’m a Product Manager\nBut on the inside I’m a big nerd.\n
  8. We make software that pumps out beautiful reports\n
  9. \n
  10. So what is keg.io?\n
  11. keg.io is node.js + arduino + beer\n
  12. We’ve got this kegerator with a whole bunch of sensors attached to it\n
  13. We’ve got an Arduino microcontroller, which talks to all the sensors and valves\nIt’s 8-bit and kind of dumb and i have a love/hate relationship with it\n
  14. And then we’ve got a node.js server that chats with the Arduino\n
  15. So why did we build this thing?\nWell? My never-ending desire to start new projects that I never finish?\n
  16. No freaking idea.\nSeriously\nI think about it now, and there are so many reasons NOT to work on it\nThere are so many OTHER things I could be doing with my time:\njob\nfriends\nfamily\nhouse chores\nexercise\n\nBut I love this shit.\n
  17. I get to hang out with these three guys.\nCarl had worked with Arduino before.\nGarrett actually had some design sense and knew how to make GUIs.\nDylan is just a better developer than all of us.\nAnd we all like beer.\n
  18. So the genesis of keg.io is mustaches.\nWe hatched the idea while growing mustaches for a company party.\nSome of us were more successful than others.\nWe thought it would be great to build this for the “Stache Bash” at the end of the month.\n
  19. So we figured we’d get a kegerator from Amazon, an Arduino, some valves, some chips, write some code, and wire it all up.\nHow hard could that be?\n
  20. So we figured we’d get a kegerator from Amazon, an Arduino, some valves, some chips, write some code, and wire it all up.\nHow hard could that be?\n
  21. So we figured we’d get a kegerator from Amazon, an Arduino, some valves, some chips, write some code, and wire it all up.\nHow hard could that be?\n
  22. So we figured we’d get a kegerator from Amazon, an Arduino, some valves, some chips, write some code, and wire it all up.\nHow hard could that be?\n
  23. So we figured we’d get a kegerator from Amazon, an Arduino, some valves, some chips, write some code, and wire it all up.\nHow hard could that be?\n
  24. A lot harder than we thought.\nMany late nights leading up to the Stache Bash, but we got it done.\n
  25. \n
  26. \n
  27. So in v1 we had the arduino talking to the node.js server over serial.\nThere’s the arduino connected to all the sensors in the kegerator,\nThe node.js server sitting beside it,\nand a web browser that had to be able to hit the server.\nIt was kinda flakey.\nIt was good at crashing and not letting anyone have beer, and you’d be amazed at how angry people get when their access to beer is cut off.\nIt was very good incentive to make sure our code was either bug-free or failed gracefully.\n
  28. \n
  29. Our cast, again. Pretty similar.\nThis time we had the arduino and node.js server talk to each other over the internet.\nThe node.js server sits in AWS.\nThe arduino can be anywhere it can get wifi.\nThe browser just needs to be able to access the node.js server, so that’s pretty much anywhere (assuming we set up our security groups correctly)\n
  30. \n
  31. This put request tells the node.js server that it’s 42 degrees inside kegerator 1111\n
  32. The node.js server then sends a websocket message out to all clients (i.e. web browsers) listening for updates for kegerator 1111\n
  33. Here’s one of those web browsers\nAnd it updates the temperature\n
  34. This get request tells the node.js server that an RFID card with this ID was scanned at kegerator 1111\n
  35. The node.js server does a lookup in its database, sees that this is a valid RFID card ID, and responds with a 200 to tell that kegerator that it’s ok to let that person drink.\n
  36. The node.js server also sends a websocket message out to clients listening to updates for kegerator 1111.\n
  37. Then the kegerator pipes up again saying that 11oz was dispensed\n
  38. Node.js stores this...\n
  39. ...and then reports it to the clients\n
  40. And the GUI updates\n
  41. So here are all the pieces.\nThis is the money shot here. This is why I’m excited about node.\nThe node server has 4 roles\nstatic file server: the HTML, CSS, JS for the GUI\nkeg api: the HTTP interface that kegerators talk to\ndata api: the HTTP interface the GUI talks to to show graphs and data about beer consumption\nand websocket server: the way the GUI gets notified that something new happened\nAll of these were so easy with node, and they demonstrate node’s strength in an event-driven context.\n
  42. So let’s try it out and hope the demo gods look kindly upon us\nFirst I’m going to show the node.js server running locally and a test client running locally. Think of the test client as a kegerator mock. We couldn’t always be near a kegerator while working on this so we made a little node.js script that acts like a kegerator.\n\nNow are you ready for the real thing? Here, the server is running at AWS, and the client is this kegerator with its arduino, right here.\n
  43. So what’s next for keg.io?\n
  44. More stats and data visualizations.\nRemember the Data API part?\n
  45. You know how git or github can do something after a successful git commit? That’s called a post-commit hook.\nWell, I’m coining the term “post-pour hook”.\nThis is going to allow a user to provide a URL to which node.js will make a POST request upon a successful beer pour.\nYou could make it tweet about your pours, do you foursquare check-in, keep a personal diary of your drinking patterns, really anything...\n
  46. And I could keep coming up with new ideas until my head exploded.\n
  47. So I’ve kind of settled on two goals for now\n
  48. Get to the point where anyone can contribute to the project.\nRemember the static files? Well, those make up the GUI. We could use an admin interface, not to mention a better “currently drinking” dashboard.\nAnd we could use some charts too. So that’s the Data API.\n
  49. Get one setup in every nerdy, developer-filled office.\nSo hit me on Twitter or email or come talk to me if you’re interested.\n
  50. So that’s all I’ve got.\nThanks very much.\n
  51. Again, my name is Chris Castle.\nAnd, shameless plug, Simply Measured is hiring.\nWe’re looking for a Javascript, SVG/canvas, data visualization person.\n