SlideShare ist ein Scribd-Unternehmen logo
1 von 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
Keg.io
What is keg.io?
+ +
Keg.io
Keg.io
Keg.io
Why build this?
NO F-ING IDEA
Dylan Carney

Garrett Patterson

Carl Krauss
Keg.io
Keg.io
Keg.io
Keg.io
Keg.io
Keg.io
Keg.io
Keg.io
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)
Keg.io
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)
Keg.io
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

Weitere ähnliche Inhalte

Andere mochten auch

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
 

Andere mochten auch (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...
 

Ähnlich wie 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.....Michele Orselli
 
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)
 
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
 

Ähnlich wie 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 - Local Web Platform
CouchDB - Local Web PlatformCouchDB - Local Web Platform
CouchDB - Local Web Platform
 
CouchDB Google
CouchDB GoogleCouchDB Google
CouchDB Google
 

Kürzlich hochgeladen

9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?SANGHEE SHIN
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServiceRenan Moreira de Oliveira
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 

Kürzlich hochgeladen (20)

9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer ServicePicPay - GenAI Finance Assistant - ChatGPT for Customer Service
PicPay - GenAI Finance Assistant - ChatGPT for Customer Service
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 

Keg.io

Hinweis der Redaktion

  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