Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2017: Outside the (Web) Box: Using Ruby for Other Protocols by Danielle Adams Ruby on Rails is a widely used web framework, using HTTP to serve users web pages and store data to databases. But what about serving different types of clients? Is it possible to integrate Rails with other protocol types to talk to other machines? Is it efficient? How would it work? I'm going to share my team's approach integrating a Ruby on Rails application with automation and warehouse hardware, such as barcode scanners and Zebra printers.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "Outside the (Web) Box: Using Ruby for Other Protocols" features Danielle Adams discussing innovative ways to integrate Ruby on Rails with various automation hardware outside the typical web development scope. This presentation, delivered at RailsConf 2017, explores the adaptation of Rails to interact with devices such as barcode scanners and Zebra printers, aiming to improve warehouse operations at Blue Apron. **Key Points Discussed:** - **Introduction to Speaker:** Danielle Adams, a software engineer at Blue Apron, shares her first experience speaking at RailsConf and mentions her work on the warehouse management system team. - **Challenges in Automation:** Blue Apron sought to introduce automation in their operations and needed to connect their Rails applications with TCP-based hardware devices, which were traditionally not part of their web-focused approach. - **Protocols Overview:** The talk distinguishes between HTTP, typically used in web applications, and TCP, utilized for communication with hardware. Danielle highlights how the two protocols fit within the internet protocol suite and explains their differences. - **Utilizing Ruby for TCP Integration:** The integration was made possible using Ruby's built-in socket library. Danielle provides examples of creating TCP sockets in Ruby and handling micro-level connections with devices. She demonstrates how TCP sockets can be established, how data flows between clients and servers, and shares snippets of Ruby code for clarity. - **Handling Efficient Communication:** The presentation discusses strategies such as non-blocking I/O to manage connections effectively without causing latency issues in the Rails application. It emphasizes using background workers (specifically Sidekiq) to handle printing and scanning without blocking the main application processes. - **Case Study of a Sorting Machine:** Danielle describes deploying a sophisticated sorting machine within the warehouse that required efficient communication with other hardware. She illustrates the software architecture enabling parallel processing to ensure responsiveness and efficiency in label creation and scanning. - **Middleware for Protocol Variance:** Acknowledging that different devices have various communication standards, the presentation highlights the need for shared code acting as middleware to parse incoming and outgoing messages properly. - **Importance of Testing in Automation:** Danielle notes the unique challenges presented by hardware integration and stresses the importance of manual testing amidst automated frameworks for ensuring robustness in production environments. **Conclusions and Takeaways:** Danielle's session concludes with a reminder for web developers to think beyond traditional web frameworks, advocating for the exploration of Ruby and Rails capabilities in interfacing with hardware. She shares the successful implementation of their system across Blue Apron warehouses, marking a significant technological advancement in their operational workflows.
Suggest modifications
Cancel