Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
Help us caption & translate this video! http://amara.org/v/FGdt/
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
In this keynote presentation, Jim Weirich discusses the versatile use of Ruby in programming, focusing on its application in developing a drone management system. He starts with a light-hearted introduction showcasing a fun office activity involving drones, before transitioning into a technical exploration of Ruby's capabilities. The main theme of the presentation is the effectiveness of Ruby in handling complex backend tasks beyond traditional web development. Key points discussed throughout the presentation include: - Introduction of a concept called narrative charting, drawing parallels between storytelling in movies and programming narratives. - Emphasis on Ruby as a general-purpose programming language with applications outside web development, exemplified through a project involving a drone manager program. - The project executed for a client involved managing communication between numerous robotic devices, including Roombas and drones. - Explanation of the technical architecture of the drone manager, consisting of a message queue, workers, and a Rails web portal, highlighting the efficient design that supports thousands of concurrent connections. - The creation of a protocol dubbed the Flying Robot Objects with Navigation Protocol (FROWN) which facilitates communication commands between drones and the monitor. - Insights into the use of EventMachine, a Ruby library that enables asynchronous event handling, exemplifying Ruby's capability in managing simultaneous connections with less code complexity compared to the original Java solution. - Discussion about the limitations of Ruby’s evented IO with regards to multi-core processor utilization and the consequent challenges like callback spaghetti encountered during development. - Suggested alternatives for overcoming Ruby's limitations, such as Erlang's message-passing model and Celluloid's actor-based approach to simplify multi-threading. - The conclusion highlights that despite Ruby’s constraints, a robust drone management system can still be implemented, demonstrating the language's effectiveness through performance tests. In conclusion, Jim Weirich’s presentation not only showcases the possibilities of Ruby in non-web settings but also encourages developers to explore Ruby’s vast capabilities in backend operations and real-time systems, underlining its relevance in diverse programming tasks.
Suggest modifications
Cancel