diff --git a/app/views/events/schedules/_day.html.erb b/app/views/events/schedules/_day.html.erb
index 4f720330..d28c153e 100644
--- a/app/views/events/schedules/_day.html.erb
+++ b/app/views/events/schedules/_day.html.erb
@@ -39,9 +39,9 @@
<% if item.is_a?(String) %>
<%= item %>
<% else %>
- <%= item.fetch("title", "no title") %>
+ <%= item&.fetch("title").presence || "no title" %>
- <%= markdown_to_html(item.fetch("description", "-")) %>
+ <%= markdown_to_html(item&.fetch("description").presence || "-") %>
<% end %>
diff --git a/data/rubyconf/rubyconf-2024/schedule.yml b/data/rubyconf/rubyconf-2024/schedule.yml
new file mode 100644
index 00000000..0289a22b
--- /dev/null
+++ b/data/rubyconf/rubyconf-2024/schedule.yml
@@ -0,0 +1,206 @@
+# Schedule: https://rubyconf.org/schedule/
+# Embed: https://sessionize.com/api/v2/3nqsadrc/view/GridSmart?under=True
+
+days:
+ - name: "Day 1"
+ date: "2024-11-13"
+ grid:
+ - start_time: "08:30"
+ end_time: "10:00"
+ slots: 1
+ items:
+ - Registration & Breakfast
+
+ - start_time: "09:15"
+ end_time: "09:25"
+ slots: 1
+
+ - start_time: "09:25"
+ end_time: "09:27"
+ slots: 1
+
+ - start_time: "09:27"
+ end_time: "09:30"
+ slots: 1
+
+ - start_time: "09:30"
+ end_time: "10:30"
+ slots: 1
+
+ - start_time: "10:30"
+ end_time: "10:45"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "10:45"
+ end_time: "11:15"
+ slots: 4
+
+ - start_time: "11:15"
+ end_time: "11:20"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "11:30"
+ end_time: "12:00"
+ slots: 4
+
+ - start_time: "12:00"
+ end_time: "12:15"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "12:15"
+ end_time: "12:45"
+ slots: 4
+
+ - start_time: "12:45"
+ end_time: "14:15"
+ slots: 1
+ items:
+ - Lunch
+
+ - start_time: "14:30"
+ end_time: "15:00"
+ slots: 5
+
+ - start_time: "15:00"
+ end_time: "15:15"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "15:15"
+ end_time: "15:45"
+ slots: 5
+
+ - start_time: "15:45"
+ end_time: "16:00"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "16:00"
+ end_time: "16:30"
+ slots: 3
+
+ - start_time: "16:30"
+ end_time: "16:45"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "16:45"
+ end_time: "17:45"
+ slots: 1
+
+ - start_time: "17:45"
+ end_time: "17:45"
+ slots: 1
+ items:
+ - Closing
+
+ - name: "Day 2 (Hack Day)"
+ date: "2024-11-14"
+ grid:
+ - start_time: "10:00"
+ end_time: "11:00"
+ slots: 1
+
+ - start_time: "11:15"
+ end_time: "13:45"
+ slots: 3
+
+ - start_time: "13:30"
+ end_time: "15:30"
+ slots: 1
+ items:
+ - Working Lunch
+
+ - start_time: "15:45"
+ end_time: "17:45"
+ slots: 2
+
+ - start_time: "18:15"
+ end_time: "19:45"
+ slots: 1
+
+ - start_time: "12:20"
+ end_time: "14:20"
+ slots: 1
+ items:
+ - title: Happy Hour & Kick it with Sidekiq at Game Night!
+ description: |-
+ Game night is ON! This is a B.Y.O.G. (Bring Your Own Game) special event space where you can get together, drink, snack, and play with #RubyFriends for the night. **Please NO games that include throwing or kicking objects!** Located in the Expo Spaces in Salon A Sponsored by Mike Perham (Sidekiq)
+
+ - name: "Day 3"
+ date: "2024-11-15"
+ grid:
+ - start_time: "08:00"
+ end_time: "08:45"
+ slots: 1
+ items:
+ - Breakfast
+
+ - start_time: "08:45"
+ end_time: "09:45"
+ slots: 1
+
+ - start_time: "09:45"
+ end_time: "10:00"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "10:00"
+ end_time: "10:30"
+ slots: 3
+
+ - start_time: "10:30"
+ end_time: "10:45"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "10:45"
+ end_time: "11:15"
+ slots: 3
+
+ - start_time: "11:15"
+ end_time: "11:30"
+ slots: 1
+ items:
+ - Break
+
+ - start_time: "11:30"
+ end_time: "12:00"
+ slots: 2
+
+ - start_time: "12:00"
+ end_time: "14:00"
+ slots: 1
+ items:
+ - Lunch
+
+ - start_time: "14:00"
+ end_time: "15:00"
+ slots: 1
+
+ - start_time: "15:00"
+ end_time: "15:15"
+ slots: 1
+
+ - start_time: "15:30"
+ end_time: "17:30"
+ slots: 1
+ items:
+ - title: Closing Social
+ description: |-
+ End the evening with your Ruby Friends with a wonderful closing reception social. We would love to have you join us for a final send-off~
+
+tracks:
+ - name: "Supporter Talk"
+ color: "#E1CD00"
diff --git a/data/rubyconf/rubyconf-2024/videos.yml b/data/rubyconf/rubyconf-2024/videos.yml
index 177e5c81..867e4d76 100644
--- a/data/rubyconf/rubyconf-2024/videos.yml
+++ b/data/rubyconf/rubyconf-2024/videos.yml
@@ -1,4 +1,9 @@
---
+# Wesbite: https://rubyconf.org
+# Schedule: https://rubyconf.org/schedule
+
+## Day 1 - 2024-11-13
+
- title: "Welcome"
raw_title: RubyConf 2024 Welcome with Kinsey Durham Grace & Jim Remsik
speakers:
@@ -6,28 +11,53 @@
- Jim Remsik
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
Welcome & Intros
Program Chairs Kinsey & Jim
video_provider: youtube
video_id: pJsFj-0a9Bw
+- title: "Sponsor Moment Cisco Meraki: Ruby Love"
+ raw_title: "RubyConf 2024 Sponsor Moment Cisco Meraki: Ruby Love with Alan Ridlehoover"
+ speakers:
+ - Alan Ridlehoover
+ event_name: RubyConf 2024
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description: ""
+ video_provider: youtube
+ video_id: rbGe9oWcV0k
+
+- title: "Sponsor Moment Paypal: Ruby Love"
+ raw_title: "RubyConf 2024 Sponsor Moment Paypal: Ruby Love with Sharon DeCaro"
+ speakers:
+ - Sharon DeCaro
+ event_name: RubyConf 2024
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description: ""
+ video_provider: youtube
+ video_id: aE3Kg5VpsLE
+
- title: "Keynote: Infinity and Beyond"
raw_title: 'RubyConf 2024 Keynote: Yukihiro "Matz" Matsumoto'
speakers:
- Yukihiro "Matz" Matsumoto
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: ""
video_provider: youtube
video_id: a4BJ9VUPWI8
-- title: The state of Ruby dev tooling
+- title: The State of Ruby Dev Tooling
raw_title: RubyConf 2024 The state of Ruby dev tooling by Vinícius Stock
speakers:
- Vinícius Stock
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
During the last few years, the Ruby community invested significant effort into improving developer tooling. A lot of this effort has been divergent; trying out many solutions to find out what works best and fits Rubyists expectations.
@@ -35,12 +65,80 @@
video_provider: youtube
video_id: WvyZypFIRYw
+- title: How the Ruby Global VM Lock impacts app performance
+ raw_title:
+ RubyConf 2024 How the Ruby Global VM Lock impacts app performance by
+ Ivo Anjo
+ speakers:
+ - Ivo Anjo
+ event_name: RubyConf 2024
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description: |-
+ Have you ever heard of Ruby's Global VM Lock? Maybe you've heard of the GIL instead?
+
+ Spoiler: It's an implementation detail of Ruby that can have a big impact on latency and performance of applications.
+ At a high-level, it prevents Ruby code across multiple threads from running in parallel, while still safely allowing concurrency.
+
+ Join me as we explore what the GVL is; what it is not; and how we can use the `gvl-tracing` gem to show it in action. We’ll also look into how Ractors, M:N scheduling and fibers fit into this story. By the end of the talk you’ll have the tools to evaluate if your own applications are being impacted, as well as learn a number of do’s and don’ts of Ruby performance.
+ video_provider: youtube
+ video_id: reJyuCXODZY
+
+- title: Names from a hat
+ raw_title: RubyConf 2024 Names from a hat by Murray Steele
+ speakers:
+ - Murray Steele
+ event_name: RubyConf 2024
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description: |-
+ As an organiser of a local ruby meetup group I occasionally need to pluck names from a hat to announce winners of raffles or randomise the order of speakers for a particularly packed agenda. We can do that with actual bits of paper from a hat, but being a rubyist I'm much more interested in writing little ruby scripts to do it for me.
+
+ We'll start with the obvious technique of using `Array#sample` but as it's not very interesting or satisfying to write we'll go a bit further. We'll look at interactivity using `Fiber`, and several attempts at animation using _why's Shoes framework. Finally, we'll explore my magnum opus of a terminal-based dungeon crawler (like nethack and rogue) written in ruby that introduces a human element of randomisation alongside the computer element.
+ video_provider: youtube
+ video_id: LsqgWIB5dDU
+
+- title: "Supporter Talk by Cisco: Catching Waves with Time-Series Data"
+ raw_title:
+ "RubyConf 2024 Supporter Talk by Cisco: Catching Waves with Time-Series
+ Data by Liz Heym"
+ speakers:
+ - Liz Heym
+ event_name: RubyConf 2024
+ track: Supporter Talk
+ date: "2024-11-13"
+ published_at: "2024-12-10"
+ description: |-
+ Time-series data is remarkably common, with applications ranging from IoT to finance. Effectively storing, reading, and presenting this time-series data can be as finicky as catching the perfect wave.
+
+ In order to understand the best-practices of time-series data, we’ll follow a surfer’s journey as she attempts to record every wave she’s ever caught. We’ll discover how to structure the time-series data, query for performant access, aggregate data over timespans, and present the data via an API endpoint. Surf’s up!
+ video_provider: youtube
+ video_id: AlHSnxJS7O0
+
+- title: Compose Software Like Nature Would
+ raw_title: RubyConf 2024 Compose Software Like Nature Would by Ahmed Omran
+ speakers:
+ - Ahmed Omran
+ event_name: RubyConf 2024
+ date: "2024-11-13"
+ published_at: "2024-12-10"
+ description:
+ The only constant in software development is change. When our software
+ cannot adapt, it turns into a big ball of mud. It becomes hard to reason about
+ and hard to change. On the other hand, living organisms have the incredible ability
+ to adapt to their environment. Over eons, they evolved innumerable adaptations.
+ Let’s explore together how we can create adaptable, maintainable, and resilient
+ software with some inspiration from nature.
+ video_provider: youtube
+ video_id: bVBAvCm2mCs
+
- title: Ractor on Ruby 3.4
raw_title: RubyConf 2024 Ractor on Ruby 3.4 by Koichi Sasada
speakers:
- Koichi Sasada
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
Ractor enables parallel programming on Ruby and has been introduced since Ruby 3.0. However, Ractor has many issues regarding performance and compatibility with the existing code base. In order to solve the current situation, Ruby 3.4 will introduce a number of features and performance improvements.
@@ -49,12 +147,55 @@
video_provider: youtube
video_id: 8fdTpQdGU70
+- title: Sounds, Synths, and Sonic Pi! Oh My!
+ raw_title: RubyConf 2024 Sounds, Synths, and Sonic Pi! Oh My! by Herve Aniglo
+ speakers:
+ - Herve Aniglo
+ event_name: RubyConf 2024
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description: |-
+ Have you ever thought about making some really awesome beats by coding? You can do that with Sonic Pi! Sonic Pi is based off of Ruby and you can create all types of beats and melodies with this technology and I can show you how to do it through a demo.
+
+ In this talk attendees will learn about Sonic Pi, a live coding environment based on the Ruby programming language, and will learn how to create different genres of music by coding.
+
+ Attendees will leave this talk with an understanding of Sonic Pi and learn how to:
+
+ make music
+ make beats
+ make songs
+ music transcription and playback
+ audio looping, computer-aided music composition
+ development of computer-based musical instruments (including hybrid instruments)
+ live performance
+ Live demo where I will turn my computer into a myriad of musical instruments to play music and songs of different genres
+ video_provider: youtube
+ video_id: tTrMtMe56kE
+
+- title: "Supporter Talk by Paypal: Building Scalable & Resilient Background Jobs for FinTech"
+ raw_title:
+ "RubyConf 2025 Supporter Talk by Paypal: Building Scalable & Resilient
+ ... by Youssef Chaker"
+ speakers:
+ - Youssef Chaker
+ event_name: RubyConf 2024
+ track: Supporter Talk
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description: |-
+ Supporter Talk by Paypal: Building Scalable & Resilient Background Jobs for FinTech
+
+ Join the Funding team at Braintree/PayPal on a journey through the intricacies of constructing robust, resilient, and repeatable pipelines using Ruby. Our system, composed of a series of sophisticated background jobs with complex dependencies, is finely tuned to meet the demanding scale of the fintech industry. In this talk, I will share the strategies and techniques we employed to achieve our goals, providing valuable insights for anyone looking to build or optimize similar systems.
+ video_provider: youtube
+ video_id: ssqt6V3RICk
+
- title: Fifty Years of Ruby
raw_title: RubyConf 2024 Fifty Years of Ruby by Craig Buchek
speakers:
- Craig Buchek
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
Our modern-day concepts of GUIs, WYSIWYG, and IDEs were developed at Xerox PARC in the early 1970s. Alan Kay was one of the first employees, working on programming languages, among other things. He first released Smalltalk in 1972.
@@ -62,42 +203,28 @@
video_provider: youtube
video_id: I8hfKCXpqPc
-- title: "ACIDic Jobs: Scaling a resilient jobs layer"
+- title: Lessons Learned Running Sidekiq at Scale
raw_title:
- "RubyConf 2024 ACIDic Jobs: Scaling a resilient jobs layer by Stephen
- Margheim"
- speakers:
- - Stephen Margheim
- event_name: RubyConf 2024
- published_at: "2024-12-10"
- description:
- Background jobs have become an essential component of any Rails app.
- As your /jobs directory grows, however, how do you both ensure that your jobs
- are resilient and that complex operations are maintainable and cohesive? In this
- talk, we will explore how we can build maintainable, resilient, cohesive jobs,
- all by making our jobs ACIDic.
- video_provider: youtube
- video_id: JrLRFc5D6hI
-
-- title: Names from a hat
- raw_title: RubyConf 2024 Names from a hat by Murray Steele
+ RubyConf 2024 Lessons Learned Running Sidekiq at Scale by Keith "Ziggy
+ the Hamster" Gable
speakers:
- - Murray Steele
+ - Keith Gable
event_name: RubyConf 2024
published_at: "2024-12-10"
description: |-
- As an organiser of a local ruby meetup group I occasionally need to pluck names from a hat to announce winners of raffles or randomise the order of speakers for a particularly packed agenda. We can do that with actual bits of paper from a hat, but being a rubyist I'm much more interested in writing little ruby scripts to do it for me.
+ I've been using Sidekiq for more than a decade and have made a ton of mistakes along my journey from being the second engineer at a tiny startup to becoming acquired by a huge company over the past 10 years.
- We'll start with the obvious technique of using `Array#sample` but as it's not very interesting or satisfying to write we'll go a bit further. We'll look at interactivity using `Fiber`, and several attempts at animation using _why's Shoes framework. Finally, we'll explore my magnum opus of a terminal-based dungeon crawler (like nethack and rogue) written in ruby that introduces a human element of randomisation alongside the computer element.
+ I aim to share my operational experience, architectural advice, and how I got out of sticky situations when I made poor choices.
video_provider: youtube
- video_id: LsqgWIB5dDU
+ video_id: Wjppe-diJUU
- title: Let's write an esoteric language in Ruby!
raw_title: RubyConf 2024 Let's write an esoteric language in Ruby! by Thomas Enebo
speakers:
- - Thomas Enebo
+ - Thomas E Enebo
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
Ever wondered if some programming languages are weird by design? Welcome to the wild and wacky world of esoteric programming languages! The main focus of this talk will be to create a Ruby implementation of the image-based (gif/png/jpeg) language Piet. Can you imagine your source code as a picture of a cow?
@@ -105,6 +232,25 @@
video_provider: youtube
video_id: N607ypZnFNw
+- title: "Supporter Talk by Chime: Coordinate Ruby Teams With Chime"
+ raw_title:
+ "RubyConf 2024 Supporter Talk by Chime: Coordinate Ruby Teams With Chime
+ by Noel Rappin"
+ speakers:
+ - Noel Rappin
+ event_name: RubyConf 2024
+ track: Supporter Talk
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description:
+ Coordinating hundreds of Ruby developers on dozens of projects can
+ be challenging. Join members of Chimes "I Heart Ruby" team as we discuss some
+ of the ways that we help our teams coordinate their Ruby tooling.
+ video_provider: youtube
+ video_id: M_MgprNAiHw
+
+# Lunch
+
- title: "Breaking nil to fix bugs: experimental approach"
raw_title:
"RubyConf 2024 Breaking nil to fix bugs: experimental approach by Enrique
@@ -113,6 +259,7 @@
- Enrique Mogollan
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
In Ruby, encountering `nil` is inevitable and often leads to frustrating bugs and NoMethodError exceptions. While `nil` is a crucial part of Ruby's design, it can be the source of elusive and hard-to-diagnose issues in your codebase. This talk explores an unconventional and experimental approach to debugging by "breaking" the nil object.
How will we debug bugs?
@@ -130,9 +277,10 @@
Nutter & Thomas Enebo"
speakers:
- Charles Nutter
- - Thomas E. Enebo
+ - Thomas E Enebo
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description:
What does it take to build a language runtime on the JVM? This talk
will show how we implement JRuby, from Java versions of core classes and native
@@ -142,30 +290,83 @@
video_provider: youtube
video_id: RXOmW82rb3g
-- title: Lessons Learned Running Sidekiq at Scale
+- title: "Plan to Scale or Plan to Fail: An Evidence-Based Approach for Improving Systems Performance"
raw_title:
- RubyConf 2024 Lessons Learned Running Sidekiq at Scale by Keith "Ziggy
- the Hamster" Gable
+ "RubyConf 2024 Plan to scale or plan to fail: an evidence-based approach
+ for... by Jade Dickinson"
speakers:
- - Keith Gable
+ - Jade Dickinson
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
- I've been using Sidekiq for more than a decade and have made a ton of mistakes along my journey from being the second engineer at a tiny startup to becoming acquired by a huge company over the past 10 years.
+ Plan to scale or plan to fail: an evidence-based approach for improving systems performance by Jade Dickinson
- I aim to share my operational experience, architectural advice, and how I got out of sticky situations when I made poor choices.
+ In this talk, I will present a methodology for replicating most standard Rails systems, for the purpose of load testing.
+
+ You can use this to find out how your system performs with more traffic than you currently encounter. This will be useful if you are on a Rails team that is starting to see scaling challenges.
+
+ At Theta Lake we operate at scale and are applying this methodology to proactively find ways to bring down our server costs. You don’t want to leave it until either your server costs soar out of control, or your entire system is about to fail. By seeing into the future just a little bit, you can find bottlenecks in your system and so find where you can improve its scalability.
video_provider: youtube
- video_id: Wjppe-diJUU
+ video_id: cBiXF4S5ePU
-- title: "Sponsor Moment Cisco Meraki: Ruby Love"
- raw_title: "RubyConf 2024 Sponsor Moment Cisco Meraki: Ruby Love with Alan Ridlehoover"
+- title: "The State of RubyGems"
+ raw_title:
+ RubyConf 2024 The State of RubyGems with Samuel Giddins, Martin Emde
+ & Marty Haught
speakers:
- - Alan Ridlehoover
+ - Samuel Giddins
+ - Martin Emde
+ - Marty Haught
event_name: RubyConf 2024
published_at: "2024-12-10"
- description: ""
+ date: "2024-11-13"
+ description:
+ 2024 marked Ruby Central’s most productive year with work across RubyGems,
+ Bundler, and RubyGems.org. Join us as we explore our major projects over the past
+ year, with a special emphasis on what we’re doing to keep the Ruby ecosystem safe,
+ secure, and delightful to participate in. We’ll finish up by sharing our ambitious
+ plans for the next year, some details about how our open source team works, and
+ give you all the information you need to support us.
video_provider: youtube
- video_id: rbGe9oWcV0k
+ video_id: yNylJiBI_H0
+
+- title: "Supporter Talk by reinteractive: Future Proofing your Ruby Stack"
+ raw_title:
+ "RubyConf 2024 Supporter Talk by reinteractive: Future Proofing your
+ Ruby Stack by Errol Schmidt"
+ speakers:
+ - Errol Schmidt
+ event_name: RubyConf 2024
+ track: Supporter Talk
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description:
+ Discussing how current industry trends and product owner expectations
+ effect how we build and maintain our Ruby apps (without compromising).
+ video_provider: youtube
+ video_id: u7i_FRWiAf8
+
+- title: Flattening Recursion with Fibers
+ raw_title:
+ RubyConf 2024 Flattening Recursion with Fibers by Jamis Buck & Adviti
+ Mishra
+ speakers:
+ - Jamis Buck
+ - Adviti Mishra
+ event_name: RubyConf 2024
+ published_at: "2024-12-10"
+ date: "2024-11-13"
+ description: |-
+ We used Ruby's fibers at MongoDB to unwind a recursive algorithm and execute it horizontally, without the stack overhead of recursion.
+
+ "Hang on," you might be thinking. "I thought fibers were a concurrency primitive?"
+
+ You're not wrong!
+
+ In this presentation, we'll summarize the problem we encountered while working with recursive callbacks, and give an overview of fibers in Ruby. Then, we'll put the two together and show you exactly how we ended up using fibers to solve an issue that was completely unrelated to concurrency.
+ video_provider: youtube
+ video_id: mWEjGXLYcaE
- title: Chaos Engineering on the Death Star
raw_title: RubyConf 2024 Chaos Engineering on the Death Star by Sara Jackson
@@ -173,6 +374,7 @@
- Sara Jackson
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description:
An exhaust vent wasn't the only flaw on the Death Star! We'll follow
along with a flustered Death Star engineer, Maia, and learn how ideas from the
@@ -180,65 +382,57 @@
video_provider: youtube
video_id: __ndB5cGoCo
-- title: "Sponsor Moment Paypal: Ruby Love"
- raw_title: "RubyConf 2024 Sponsor Moment Paypal: Ruby Love with Sharon DeCaro"
- speakers:
- - Sharon DeCaro
- event_name: RubyConf 2024
- published_at: "2024-12-10"
- description: ""
- video_provider: youtube
- video_id: aE3Kg5VpsLE
-
-- title: Compose Software Like Nature Would
- raw_title: RubyConf 2024 Compose Software Like Nature Would by Ahmed Omran
+- title: "ACIDic Jobs: Scaling a resilient jobs layer"
+ raw_title:
+ "RubyConf 2024 ACIDic Jobs: Scaling a resilient jobs layer by Stephen
+ Margheim"
speakers:
- - Ahmed Omran
+ - Stephen Margheim
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description:
- The only constant in software development is change. When our software
- cannot adapt, it turns into a big ball of mud. It becomes hard to reason about
- and hard to change. On the other hand, living organisms have the incredible ability
- to adapt to their environment. Over eons, they evolved innumerable adaptations.
- Let’s explore together how we can create adaptable, maintainable, and resilient
- software with some inspiration from nature.
+ Background jobs have become an essential component of any Rails app.
+ As your /jobs directory grows, however, how do you both ensure that your jobs
+ are resilient and that complex operations are maintainable and cohesive? In this
+ talk, we will explore how we can build maintainable, resilient, cohesive jobs,
+ all by making our jobs ACIDic.
video_provider: youtube
- video_id: bVBAvCm2mCs
+ video_id: JrLRFc5D6hI
-- title: " Plan to Scale or Plan to Fail: An Evidence-Based Approach for Improving Systems Performance"
+- title: Building the Future of Ruby Through Community
raw_title:
- "RubyConf 2024 Plan to scale or plan to fail: an evidence-based approach
- for... by Jade Dickinson"
+ RubyConf 2024 Building the future of Ruby through community by Mariusz
+ Kozieł
speakers:
- - Jade Dickinson
+ - Mariusz Kozieł
event_name: RubyConf 2024
published_at: "2024-12-10"
- description: |-
- Plan to scale or plan to fail: an evidence-based approach for improving systems performance by Jade Dickinson
-
- In this talk, I will present a methodology for replicating most standard Rails systems, for the purpose of load testing.
-
- You can use this to find out how your system performs with more traffic than you currently encounter. This will be useful if you are on a Rails team that is starting to see scaling challenges.
-
- At Theta Lake we operate at scale and are applying this methodology to proactively find ways to bring down our server costs. You don’t want to leave it until either your server costs soar out of control, or your entire system is about to fail. By seeing into the future just a little bit, you can find bottlenecks in your system and so find where you can improve its scalability.
+ date: "2024-11-13"
+ description:
+ Discover how Ruby Europe is creating a stronger Ruby ecosystem by prioritizing
+ community development. Explore real-life examples of how community initiatives
+ have transformed careers, inspired projects, and sparked innovations. See how
+ each of us can play a vital role in shaping the future of Ruby.
video_provider: youtube
- video_id: cBiXF4S5ePU
+ video_id: EQLl9kV95-M
-- title: "The Mutation Game: Cracking the Enigma of Mutation Testing"
+- title: "Supporter Talk by Ubicloud: Build a Cloud in Thirteen Years"
raw_title:
- "RubyConf 2024 The Mutation Game: Cracking the Enigma of Mutation Testing
- by Tyler Lemburg"
+ "RubyConf 2024 Supporter Talk by Ubicloud: Build a Cloud in Thirteen
+ Years by Daniel Farina"
speakers:
- - Tyler Lemburg
+ - Daniel Farina
event_name: RubyConf 2024
+ track: Supporter Talk
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
- Can your application’s code achieve complete perfection? If you join Professor X’s School for Gifted Mutation Testers, it can get pretty dang close. Discover the Mystique of transforming your code in silly (and not-so-silly) ways, and seeing if this makes your tests fail. If your tests do fail, they are solid as a Colossus! If your tests passed, then you have discovered a Rogue mutant! But do not worry: I will teach you the ins and outs of squashing that mutant like a Blob and making your code stronger than Wolverine.
+ In 2011, I joined a tiny team at Heroku, managing servers with a custom Ruby program. By 2023, I co-founded Ubicloud, developing the fourth generation of such a program...again, in Ruby. Unlike 2011, the choice of Ruby in 2024 raises questions, even from Ruby programmers.
- Storm into this session and learn what mutation testing is all about, see if it may be right for your Ruby codebase, and explore the tools that make it possible. We will use the `mutant` gem and delve into an example Ruby app, bringing it to full mutation testing coverage through simplifying code and improving tests. Even if this technique is not right for your project, you will come away from this session with a deeper understanding of Ruby, code parsing, test-driven development, and writing clean, beautiful code.
+ The Ubicloud team's engineering approach is unusual: most of the team has used Ruby for infrastructure cloud programs, none of them depending upon Rails. I'll share our unconventional practices and assessment of Ruby's strengths, aiming to broaden perspectives on Ruby's capabilities and applications.
video_provider: youtube
- video_id: ifrmqWoaee0
+ video_id: 5QqltsU4tEs
- title: "Fast Forward: Speeding up Delegate Methods"
raw_title: "Ruby Conf 2024 Fast Forward: Speeding up Delegate Methods by Aaron Patterson"
@@ -246,6 +440,7 @@
- Aaron Patterson
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description:
Delegate methods are methods that take any parameters, and pass those
parameters on to other methods. It may not seem like it, but this is an extremely
@@ -255,53 +450,21 @@
video_provider: youtube
video_id: jexSQUfKnlI
-- title: Flattening Recursion with Fibers
- raw_title:
- RubyConf 2024 Flattening Recursion with Fibers by Jamis Buck & Adviti
- Mishra
- speakers:
- - Jamis Buck
- - Adviti Mishra
- event_name: RubyConf 2024
- published_at: "2024-12-10"
- description: |-
- We used Ruby's fibers at MongoDB to unwind a recursive algorithm and execute it horizontally, without the stack overhead of recursion.
-
- "Hang on," you might be thinking. "I thought fibers were a concurrency primitive?"
-
- You're not wrong!
-
- In this presentation, we'll summarize the problem we encountered while working with recursive callbacks, and give an overview of fibers in Ruby. Then, we'll put the two together and show you exactly how we ended up using fibers to solve an issue that was completely unrelated to concurrency.
- video_provider: youtube
- video_id: mWEjGXLYcaE
-
-- title: "Keynote: Ice, Confusion, and the 38,000ft Crash"
- raw_title: "Keynote: Ice, Confusion, and the 38,000ft Crash by Nickolas Means"
- speakers:
- - Nickolas Means
- event_name: RubyConf 2024
- published_at: "2024-12-10"
- description: ""
- video_provider: youtube
- video_id: m_Eanh1Okk0
-
-- title: How the Ruby Global VM Lock impacts app performance
+- title: "The Mutation Game: Cracking the Enigma of Mutation Testing"
raw_title:
- RubyConf 2024 How the Ruby Global VM Lock impacts app performance by
- Ivo Anjo
+ "RubyConf 2024 The Mutation Game: Cracking the Enigma of Mutation Testing
+ by Tyler Lemburg"
speakers:
- - Ivo Anjo
+ - Tyler Lemburg
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
- Have you ever heard of Ruby's Global VM Lock? Maybe you've heard of the GIL instead?
+ Can your application's code achieve complete perfection? If you join Professor X's School for Gifted Mutation Testers, it can get pretty dang close. Discover the Mystique of transforming your code in silly (and not-so-silly) ways, and seeing if this makes your tests fail. If your tests do fail, they are solid as a Colossus! If your tests passed, then you have discovered a Rogue mutant! But do not worry: I will teach you the ins and outs of squashing that mutant like a Blob and making your code stronger than Wolverine.
- Spoiler: It's an implementation detail of Ruby that can have a big impact on latency and performance of applications.
- At a high-level, it prevents Ruby code across multiple threads from running in parallel, while still safely allowing concurrency.
-
- Join me as we explore what the GVL is; what it is not; and how we can use the `gvl-tracing` gem to show it in action. We’ll also look into how Ractors, M:N scheduling and fibers fit into this story. By the end of the talk you’ll have the tools to evaluate if your own applications are being impacted, as well as learn a number of do’s and don’ts of Ruby performance.
+ Storm into this session and learn what mutation testing is all about, see if it may be right for your Ruby codebase, and explore the tools that make it possible. We will use the `mutant` gem and delve into an example Ruby app, bringing it to full mutation testing coverage through simplifying code and improving tests. Even if this technique is not right for your project, you will come away from this session with a deeper understanding of Ruby, code parsing, test-driven development, and writing clean, beautiful code.
video_provider: youtube
- video_id: reJyuCXODZY
+ video_id: ifrmqWoaee0
- title: "In-Depth Ruby Concurrency: Navigating the Ruby Concurrency Landscape"
raw_title:
@@ -311,6 +474,7 @@
- JP Camara
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-13"
description: |-
When do I use a Process, or a Thread, or a Fiber? And Why? Can I use Ractors yet? What is the FiberScheduler? The M:N Thread scheduler? What's a Reactor? Do I fork, prefork, or refork? Should I care?
@@ -320,159 +484,142 @@
video_provider: youtube
video_id: rewiLd2w0kE
-- title: Sounds, Synths, and Sonic Pi! Oh My!
- raw_title: RubyConf 2024 Sounds, Synths, and Sonic Pi! Oh My! by Herve Aniglo
- speakers:
- - Herve Aniglo
- event_name: RubyConf 2024
- published_at: "2024-12-10"
- description: |-
- Have you ever thought about making some really awesome beats by coding? You can do that with Sonic Pi! Sonic Pi is based off of Ruby and you can create all types of beats and melodies with this technology and I can show you how to do it through a demo.
-
- In this talk attendees will learn about Sonic Pi, a live coding environment based on the Ruby programming language, and will learn how to create different genres of music by coding.
+# TBA
- Attendees will leave this talk with an understanding of Sonic Pi and learn how to:
-
- make music
- make beats
- make songs
- music transcription and playback
- audio looping, computer-aided music composition
- development of computer-based musical instruments (including hybrid instruments)
- live performance
- Live demo where I will turn my computer into a myriad of musical instruments to play music and songs of different genres
- video_provider: youtube
- video_id: tTrMtMe56kE
-
-- title: "The State of RubyGems"
- raw_title:
- RubyConf 2024 The State of RubyGems with Samuel Giddins, Martin Emde
- & Marty Haught
+- title: "Keynote: Ice, Confusion, and the 38,000ft Crash"
+ raw_title: "Keynote: Ice, Confusion, and the 38,000ft Crash by Nickolas Means"
speakers:
- - Samuel Giddins
- - Martin Emde
- - Marty Haught
+ - Nickolas Means
event_name: RubyConf 2024
published_at: "2024-12-10"
- description:
- 2024 marked Ruby Central’s most productive year with work across RubyGems,
- Bundler, and RubyGems.org. Join us as we explore our major projects over the past
- year, with a special emphasis on what we’re doing to keep the Ruby ecosystem safe,
- secure, and delightful to participate in. We’ll finish up by sharing our ambitious
- plans for the next year, some details about how our open source team works, and
- give you all the information you need to support us.
+ date: "2024-11-13"
+ description: ""
video_provider: youtube
- video_id: yNylJiBI_H0
+ video_id: m_Eanh1Okk0
-- title: Building the Future of Ruby Through Community
- raw_title:
- RubyConf 2024 Building the future of Ruby through community by Mariusz
- Kozieł
+## Day 2 - 2024-11-14
+
+- title: "Keynote: Who Wants to be a Ruby Engineer?"
+ raw_title: RubyConf 2024 Who Wants to be a Ruby Engineer? by Drew Bragg
speakers:
- - Mariusz Kozieł
+ - Drew Bragg
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-14"
description:
- Discover how Ruby Europe is creating a stronger Ruby ecosystem by prioritizing
- community development. Explore real-life examples of how community initiatives
- have transformed careers, inspired projects, and sparked innovations. See how
- each of us can play a vital role in shaping the future of Ruby.
+ 'Welcome to the Ruby game show where contestants try to guess the output
+ of a small bit of Ruby code. Sound easy? Here''s the challenge: the snippets come
+ from some of the weirdest parts of the Ruby language. The questions aren''t easy,
+ but et enough right to be crowned a "Strange" Ruby Engineer and win a fabulous
+ prize.'
video_provider: youtube
- video_id: EQLl9kV95-M
+ video_id: iMCqYjWKv5w
-- title: "Supporter Talk by Cisco: Catching Waves with Time-Series Data"
+- title: "Workshop: Building the Unbreakable Code Whose Breaking Won WWII"
raw_title:
- "RubyConf 2024 Supporter Talk by Cisco: Catching Waves with Time-Series
- Data by Liz Heym"
+ "RubyConf 2024 Workshop: Building the Unbreakable Code Whose Breaking
+ Won WWII by Aji Slater"
speakers:
- - Liz Heym
+ - Aji Slater
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-14"
description: |-
- Time-series data is remarkably common, with applications ranging from IoT to finance. Effectively storing, reading, and presenting this time-series data can be as finicky as catching the perfect wave.
+ After the last carrier pigeon but before digital encryption algorithms, there was the Enigma machine. An ingenious piece of pre-atomic age technology encoded German military secrets during World War II, baffling code-breakers with mere physical rotors, and switches, without elliptic curves or private keys.
- In order to understand the best-practices of time-series data, we’ll follow a surfer’s journey as she attempts to record every wave she’s ever caught. We’ll discover how to structure the time-series data, query for performant access, aggregate data over timespans, and present the data via an API endpoint. Surf’s up!
+ Delve into object-oriented programming and bring the Enigma machine back to life with an emulator built in Ruby. Use Test Driven Development to unravel the secrets of this nigh-unbreakable cipher device, witness OO principles unlock its mysteries, discover the power and versatility of the patterns we use as developers and how they mirror the Enigma's inner workings.
video_provider: youtube
- video_id: AlHSnxJS7O0
+ video_id: u8xbVk8aWjA
-- title: "Supporter Talk by Paypal: Building Scalable & Resilient Background Jobs for FinTech"
+- title: "Workshop: How To Build Basic Desktop Applications in Ruby"
raw_title:
- "RubyConf 2025 Supporter Talk by Paypal: Building Scalable & Resilient
- ... by Youssef Chaker"
+ "RubyConf 2024 Workshop: How To Build Basic Desktop Applications in Ruby
+ by Andy Maleh"
speakers:
- - Youssef Chaker
+ - Andy Maleh
event_name: RubyConf 2024
- published_at: "2024-12-10"
+ published_at: "2024-12-11"
+ date: "2024-11-14"
description: |-
- Supporter Talk by Paypal: Building Scalable & Resilient Background Jobs for FinTech
+ Learn how to build basic desktop applications in Ruby with hands-on code exercises!
- Join the Funding team at Braintree/PayPal on a journey through the intricacies of constructing robust, resilient, and repeatable pipelines using Ruby. Our system, composed of a series of sophisticated background jobs with complex dependencies, is finely tuned to meet the demanding scale of the fintech industry. In this talk, I will share the strategies and techniques we employed to achieve our goals, providing valuable insights for anyone looking to build or optimize similar systems.
- video_provider: youtube
- video_id: ssqt6V3RICk
+ Workshop outline (every step will involve a hands-on exercise or more):
+ 1. GUI Basics (Controls, Properties, and Listeners):
+ 2. Observer Pattern and MVC (Model-View-Controller) Software Architecture
+ 3. Data-Binding and MVP (Model-View-Presenter) Software Architecture
+ 4. Advanced Data-Binding
-- title: "Supporter Talk by Chime: Coordinate Ruby Teams With Chime"
- raw_title:
- "RubyConf 2024 Supporter Talk by Chime: Coordinate Ruby Teams With Chime
- by Noel Rappin"
- speakers:
- - Noel Rappin
- event_name: RubyConf 2024
- published_at: "2024-12-10"
- description:
- Coordinating hundreds of Ruby developers on dozens of projects can
- be challenging. Join members of Chimes "I Heart Ruby" team as we discuss some
- of the ways that we help our teams coordinate their Ruby tooling.
+ This workshop will be conducted using Glimmer DSL for LibUI, the prerequisite-free ruby desktop development cross-platform native GUI gem that won a Fukuoka Ruby 2022 Special Award after getting judged by Matz, the creator of Ruby.
+
+ Please install the latest version of the Ruby gem (run `gem install glimmer-dsl-libui`) and confirm it is working (run `glimmer examples`) in advance to hit the ground running when the workshop begins.
video_provider: youtube
- video_id: M_MgprNAiHw
+ video_id: TTSqRdTVtDY
-- title: "Supporter Talk by reinteractive: Future Proofing your Ruby Stack"
- raw_title:
- "RubyConf 2024 Supporter Talk by reinteractive: Future Proofing your
- Ruby Stack by Errol Schmidt"
+- title: Ruby Hack Challenge
+ raw_title: RubyConf 2024 Ruby Hack Challenge by Koichi Sasada and Core team
speakers:
- - Errol Schmidt
+ - Koichi Sasada
+ - Ruby Core Team
event_name: RubyConf 2024
- published_at: "2024-12-10"
- description:
- Discussing how current industry trends and product owner expectations
- effect how we build and maintain our Ruby apps (without compromising).
+ published_at: "2024-12-11"
+ date: "2024-11-14"
+ description: |-
+ Come try your own internal hacking on the Ruby MRI!
+
+ This workshop introduces how to hack the Ruby interpreter with the text
+ https://github.com/ko1/rubyhackchallenge/tree/master and Ruby core committers.
+
+ We welcome you If you have
+ * interest how to work the Ruby interpreter
+ * questions about Ruby interpreter
+ * ideas to improve Ruby interpreter
+ * tickets you issued on our Redmine
+
+ Also we held "Ask Ruby core developers" session (12:00-13:30) so you can ask anything you want to ask.
video_provider: youtube
- video_id: u7i_FRWiAf8
+ video_id: jB3S03xoljc
-- title: "Supporter Talk by Ubicloud: Build a Cloud in Thirteen Years"
- raw_title:
- "RubyConf 2024 Supporter Talk by Ubicloud: Build a Cloud in Thirteen
- Years by Daniel Farina"
+- title: "Workshop: Hands on Hanami"
+ raw_title: "Workshop: Hands on Hanami by Sean Collins"
speakers:
- - Daniel Farina
+ - Sean Collins
event_name: RubyConf 2024
- published_at: "2024-12-10"
+ published_at: "2024-12-11"
+ date: "2024-11-14"
description: |-
- In 2011, I joined a tiny team at Heroku, managing servers with a custom Ruby program. By 2023, I co-founded Ubicloud, developing the fourth generation of such a program...again, in Ruby. Unlike 2011, the choice of Ruby in 2024 raises questions, even from Ruby programmers.
+ Have you had a chance to walk through every layer of a Hanami 2 web application? Here’s your chance. With the release of 2.2 this summer, all the basic building blocks are in place: with a zero-config database layer (built on ROM), and an optional but first-class operations layer that provides a flexible and consistent API for your domain operations.
- The Ubicloud team's engineering approach is unusual: most of the team has used Ruby for infrastructure cloud programs, none of them depending upon Rails. I'll share our unconventional practices and assessment of Ruby's strengths, aiming to broaden perspectives on Ruby's capabilities and applications.
- video_provider: youtube
- video_id: 5QqltsU4tEs
+ We’ll write a simple blog application across the entire suite of Hanami libraries. You’ll route a request to an action, which is responsible for parameters and delegating to the rest of your app. They are the gateway from the web into your app. From there we’ll create a record in the database and surface it back up to the action. The action’s final job is to render a view. That view is a ruby class that is responsible for preparing data to render in its simple logicless ERB template.
-- title: "Keynote: Who Wants to be a Ruby Engineer?"
- raw_title: RubyConf 2024 Who Wants to be a Ruby Engineer? by Drew Bragg
+ We’ll end the workshop by dividing into small groups based on interest: extracting core business operations into their own classes, refactoring the view into different parts, or diving into the database by building more complicated queries.
+ video_provider: not_recorded
+ video_id: sean-collins-workshop-rubyconf-2024
+
+- title: "Workshop: No Static Types? No Problem!"
+ raw_title: "RubyConf 2024 Workshop: No Static Types? No Problem! by Noel Rappin"
speakers:
- - Drew Bragg
+ - Noel Rappin
event_name: RubyConf 2024
- published_at: "2024-12-10"
+ published_at: "2024-12-11"
+ date: "2024-11-14"
description:
- 'Welcome to the Ruby game show where contestants try to guess the output
- of a small bit of Ruby code. Sound easy? Here''s the challenge: the snippets come
- from some of the weirdest parts of the Ruby language. The questions aren''t easy,
- but et enough right to be crowned a "Strange" Ruby Engineer and win a fabulous
- prize.'
+ New Ruby developers often wonder how to write safe code in Ruby without
+ static typing. In this workshop, we’re going to refactor working code to get the
+ data validation and safety of static typing, but using Ruby’s existing features.
+ We’ll show how to use coercions, data objects, the null object pattern, among
+ others, and we’ll use Ruby’s debugger and console to show the power of Ruby’s
+ flexibility. We’ll even see how improve your editor tooling. Then, we’ll discuss
+ how static typing can work together with dynamic typing to make the most maintainable
+ code. You’ll leave with a great set of tools for improving the code you work on
+ daily.
video_provider: youtube
- video_id: iMCqYjWKv5w
+ video_id: l0vMpP-5QBY
- title: Lightning Talks
raw_title: RubyConf 2024 Lightning Talks
event_name: RubyConf 2024
published_at: "2024-12-10"
+ date: "2024-11-14"
description: ""
video_provider: youtube
video_id: 4WC3d3SGIUk
@@ -480,6 +627,7 @@
- title: "Lightning Talks Intro"
start_cue: "00:13"
end_cue: "01:10"
+ date: "2024-11-14"
video_id: sara-mei-lightning-talks-intro-rubyconf-2024
video_provider: parent
speakers:
@@ -488,6 +636,7 @@
- title: "Lightning Talk: An intro to Langchain.rb"
start_cue: "01:10"
end_cue: "06:23"
+ date: "2024-11-14"
video_id: noah-durbin-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -496,14 +645,18 @@
- title: "Lightning Talk: Advance - How to propel the next generation of technologists"
start_cue: "06:23"
end_cue: "11:30"
+ date: "2024-11-14"
video_id: sunjay-armstead-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
- Sunjay Armstead
+ description: |-
+ Website: https://advancemanifesto.com
- title: "Lightning Talk: Software Engineering Gaphic Design"
start_cue: "11:30"
end_cue: "15:51"
+ date: "2024-11-14"
video_id: manu-vanconcelos-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -512,6 +665,7 @@
- title: "Lightning Talk: How to be a Ruby scholar, do a prject, and (accidentally) break your laptop"
start_cue: "15:51"
end_cue: "18:53"
+ date: "2024-11-14"
video_id: alexander-mitchell-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -520,6 +674,7 @@
- title: "Lightning Talk: Interactive Data Visualization with JavaScript and the HTMLS5 Canvas"
start_cue: "18:53"
end_cue: "24:00"
+ date: "2024-11-14"
video_id: neil-hendren-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -528,6 +683,7 @@
- title: "Lightning Talk: We do not need a static site generator"
start_cue: "24:00"
end_cue: "28:52"
+ date: "2024-11-14"
video_id: adam-mccrea-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -536,6 +692,7 @@
- title: "Lightning Talk: Interpretable and Explainable AI"
start_cue: "28:52"
end_cue: "33:55"
+ date: "2024-11-14"
video_id: elshadai-tegegn-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -544,6 +701,7 @@
- title: "Lightning Talk: Sombrero Code - From blog post to jargon"
start_cue: "33:55"
end_cue: "38:53"
+ date: "2024-11-14"
video_id: benjamin-fleischer-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -552,6 +710,7 @@
- title: "Lightning Talk: Ruby for Good"
start_cue: "38:53"
end_cue: "43:56"
+ date: "2024-11-14"
video_id: ken-maeshima-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -560,6 +719,7 @@
- title: "Lightning Talk: My Top 5 Favorite Ruby Gems"
start_cue: "43:56"
end_cue: "48:40"
+ date: "2024-11-14"
video_id: gary-tou-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -568,6 +728,7 @@
- title: "Lightning Talk: Tooling Over Documentation"
start_cue: "48:40"
end_cue: "53:51"
+ date: "2024-11-14"
video_id: ronan-potage-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -576,6 +737,7 @@
- title: "Lightning Talk: Ruby Community"
start_cue: "53:51"
end_cue: "59:35"
+ date: "2024-11-14"
video_id: jeff-casimir-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -584,6 +746,7 @@
- title: "Lightning Talk: Owning Telemetry Data in Ruby"
start_cue: "59:35"
end_cue: "01:04:59"
+ date: "2024-11-14"
video_id: michal-kazmierczak-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -592,14 +755,18 @@
- title: "Lightning Talk: Active Agents"
start_cue: "01:04:59"
end_cue: "01:09:35"
+ date: "2024-11-14"
video_id: justin-bowen-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
- Justin Bowen
+ description: |-
+ Website: https://www.activeagents.ai
- title: "Lightning Talk: Why It's important to attend and organize Ruby Meetups"
start_cue: "01:09:35"
end_cue: "01:15:09"
+ date: "2024-11-14"
video_id: mariusz-koziel-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -608,6 +775,7 @@
- title: "Lightning Talk: Ode to RailsConf Podcast"
start_cue: "01:15:09"
end_cue: "01:16:22"
+ date: "2024-11-14"
video_id: david-hill-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -616,14 +784,18 @@
- title: "Lightning Talk: How to Open Source (Book)"
start_cue: "01:16:22"
end_cue: "01:17:30"
+ date: "2024-11-14"
video_id: richard-schneeman-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
- Richard Schneeman
+ description: |-
+ Website: https://howtoopensource.dev
- title: "Lightning Talk: Introduction - Marketing for Ruby Central"
start_cue: "01:17:30"
end_cue: "01:18:43"
+ date: "2024-11-14"
video_id: rhiannon-payne-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
@@ -632,67 +804,13 @@
- title: "Lightning Talk: Confreaks"
start_cue: "01:18:43"
end_cue: "01:20:11"
+ date: "2024-11-14"
video_id: cindy-backman-lightning-talk-rubyconf-2024
video_provider: parent
speakers:
- Cindy Backman
-- title: "Workshop: Building the Unbreakable Code Whose Breaking Won WWII"
- raw_title:
- "RubyConf 2024 Workshop: Building the Unbreakable Code Whose Breaking
- Won WWII by Aji Slater"
- speakers:
- - Aji Slater
- event_name: RubyConf 2024
- published_at: "2024-12-10"
- description: |-
- After the last carrier pigeon but before digital encryption algorithms, there was the Enigma machine. An ingenious piece of pre-atomic age technology encoded German military secrets during World War II, baffling code-breakers with mere physical rotors, and switches, without elliptic curves or private keys.
-
- Delve into object-oriented programming and bring the Enigma machine back to life with an emulator built in Ruby. Use Test Driven Development to unravel the secrets of this nigh-unbreakable cipher device, witness OO principles unlock its mysteries, discover the power and versatility of the patterns we use as developers and how they mirror the Enigma's inner workings.
- video_provider: youtube
- video_id: u8xbVk8aWjA
-
-- title: "Workshop: No Static Types? No Problem!"
- raw_title: "RubyConf 2024 Workshop: No Static Types? No Problem! by Noel Rappin"
- speakers:
- - Noel Rappin
- event_name: RubyConf 2024
- published_at: "2024-12-11"
- description:
- New Ruby developers often wonder how to write safe code in Ruby without
- static typing. In this workshop, we’re going to refactor working code to get the
- data validation and safety of static typing, but using Ruby’s existing features.
- We’ll show how to use coercions, data objects, the null object pattern, among
- others, and we’ll use Ruby’s debugger and console to show the power of Ruby’s
- flexibility. We’ll even see how improve your editor tooling. Then, we’ll discuss
- how static typing can work together with dynamic typing to make the most maintainable
- code. You’ll leave with a great set of tools for improving the code you work on
- daily.
- video_provider: youtube
- video_id: l0vMpP-5QBY
-
-- title: Ruby Hack Challenge
- raw_title: RubyConf 2024 Ruby Hack Challenge by Koichi Sasada and Core team
- speakers:
- - Koichi Sasada
- - Ruby Core Team
- event_name: RubyConf 2024
- published_at: "2024-12-11"
- description: |-
- Come try your own internal hacking on the Ruby MRI!
-
- This workshop introduces how to hack the Ruby interpreter with the text
- https://github.com/ko1/rubyhackchallenge/tree/master and Ruby core committers.
-
- We welcome you If you have
- * interest how to work the Ruby interpreter
- * questions about Ruby interpreter
- * ideas to improve Ruby interpreter
- * tickets you issued on our Redmine
-
- Also we held "Ask Ruby core developers" session (12:00-13:30) so you can ask anything you want to ask.
- video_provider: youtube
- video_id: jB3S03xoljc
+## Day 3 - 2024-11-15
- title: "Keynote: Red Fantasy Land"
raw_title: RubyConf 2024 Keynote by Brandon Weaver
@@ -700,6 +818,7 @@
- Brandon Weaver
event_name: RubyConf 2024
published_at: "2024-12-11"
+ date: "2024-11-15"
description: ""
video_provider: youtube
video_id: OOkuLLkF1Wk
@@ -712,6 +831,7 @@
- Mari Imaizumi
event_name: RubyConf 2024
published_at: "2024-12-11"
+ date: "2024-11-15"
description:
Reline is a pure Ruby implementation of GNU Readline and IRB uses it.
GNU Readline allows you to write configuration in .inputrc, and Reline reads this
@@ -721,36 +841,13 @@
video_provider: youtube
video_id: _6S1K3G4jgo
-- title: "An Invitation to TRICK: How to write weird Ruby programs"
- raw_title:
- "RubyConf 2024 An Invitation to TRICK: How to write weird Ruby programs
- by Yusuke Endoh"
- speakers:
- - Yusuke Endoh
- event_name: RubyConf 2024
- published_at: "2024-12-11"
- description: |-
- You don't know truly weird Ruby yet, do you?
-
- TRICK is an irregularly held Ruby programming contest that celebrates the most creative and weird Ruby programs. Among the many submissions, about a dozen particularly exceptional entries are awarded.
-
- Curious about what kind of programs win? It is a code like this, this whole text itself.
-
- ';BEGIN{eval$q=%q(def don(e)=e;def You(g)=at_exit{puts"You don'#{g}';BEGIN{eval$q=%q(#$q)};$s=%!#$s!"})};$s=%!
- puts %(Nb, lbh unir gb pbcl gur jubyr grkg, sebz "Ybh qba'g xabj" gb gur raq").tr("a-z","n-za-m")
-
- In this talk, we will showcase the winning entries from past TRICK contest and our own weird Ruby code.
- We will explore various techniques for writing such programs.
- By the end of this talk, you'll be ready to submit your original Ruby creations to TRICK 2025!
- video_provider: youtube
- video_id: Xdvalg_q_Jc
-
- title: Do LLMs dream of Type Inference?
raw_title: RubyConf 2024 Do LLMs dream of Type Inference? by Shunsuke "Kokuyou" Mori
speakers:
- Shunsuke "Kokuyou" Mori
event_name: RubyConf 2024
published_at: "2024-12-11"
+ date: "2024-11-15"
description: |-
Large Language Models (LLMs) have been rapidly evolving in recent years. They offer a completely different approach to challenges that were difficult to solve with classical algorithms.
@@ -759,38 +856,6 @@
video_provider: youtube
video_id: GO_DSchtTJo
-- title: Going Postel
- raw_title: RubyConf 2024 Going Postel by Scott Werner
- speakers:
- - Scott Werner
- event_name: RubyConf 2024
- published_at: "2024-12-11"
- description:
- Postel’s Law states that we should be liberal in what we accept and
- conservative in what we send. When working with code generated from LLMs, embracing
- this principle is even more important. This talk explores and demonstrates live
- the ways that Ruby’s flexibility makes this possible, why I think Ruby is a sleeping
- giant in the future of LLM-generated code, and the key to unlocking generative
- AI’s true power for software development.
- video_provider: youtube
- video_id: pCTse_sZwn0
-
-- title: Detecting and classifying object images using ruby
- raw_title:
- RubyConf 2024 Detecting and classifying object images using ruby by Fabio
- Leandro Janiszevski
- speakers:
- - Fabio Leandro Janiszevski
- event_name: RubyConf 2024
- published_at: "2024-12-11"
- description:
- When we discuss Digital Image Processing, we always encounter other
- programming languages but Ruby. Today, Ruby will rise in this topic! I'll discuss
- the Ruby implementations that helped me write code to detect objects in a tiled
- image and then classify them using deep learning techniques. AI is right there!
- video_provider: youtube
- video_id: 03wMU_yWZ7Y
-
- title: MVC Ruby in Less Than 5K. The Wonder of Camping
raw_title:
RubyConf 2024 MVC Ruby in less than 5k. The wonder of Camping by Karl
@@ -799,6 +864,7 @@
- Karl Weber
event_name: RubyConf 2024
published_at: "2024-12-11"
+ date: "2024-11-15"
description: |-
Learn about the journey to resurrect an almost 20 year old ruby library, And all the amazing Ruby tricks it uses to be a fully featured MVC Web Framework.
@@ -839,12 +905,55 @@
video_provider: youtube
video_id: SPThZyrCMs0
+- title: "An Invitation to TRICK: How to write weird Ruby programs"
+ raw_title:
+ "RubyConf 2024 An Invitation to TRICK: How to write weird Ruby programs
+ by Yusuke Endoh"
+ speakers:
+ - Yusuke Endoh
+ event_name: RubyConf 2024
+ published_at: "2024-12-11"
+ date: "2024-11-15"
+ description: |-
+ You don't know truly weird Ruby yet, do you?
+
+ TRICK is an irregularly held Ruby programming contest that celebrates the most creative and weird Ruby programs. Among the many submissions, about a dozen particularly exceptional entries are awarded.
+
+ Curious about what kind of programs win? It is a code like this, this whole text itself.
+
+ ';BEGIN{eval$q=%q(def don(e)=e;def You(g)=at_exit{puts"You don'#{g}';BEGIN{eval$q=%q(#$q)};$s=%!#$s!"})};$s=%!
+ puts %(Nb, lbh unir gb pbcl gur jubyr grkg, sebz "Ybh qba'g xabj" gb gur raq").tr("a-z","n-za-m")
+
+ In this talk, we will showcase the winning entries from past TRICK contest and our own weird Ruby code.
+ We will explore various techniques for writing such programs.
+ By the end of this talk, you'll be ready to submit your original Ruby creations to TRICK 2025!
+ video_provider: youtube
+ video_id: Xdvalg_q_Jc
+
+- title: Going Postel
+ raw_title: RubyConf 2024 Going Postel by Scott Werner
+ speakers:
+ - Scott Werner
+ event_name: RubyConf 2024
+ published_at: "2024-12-11"
+ date: "2024-11-15"
+ description:
+ Postel’s Law states that we should be liberal in what we accept and
+ conservative in what we send. When working with code generated from LLMs, embracing
+ this principle is even more important. This talk explores and demonstrates live
+ the ways that Ruby’s flexibility makes this possible, why I think Ruby is a sleeping
+ giant in the future of LLM-generated code, and the key to unlocking generative
+ AI’s true power for software development.
+ video_provider: youtube
+ video_id: pCTse_sZwn0
+
- title: 10 Years of Roda
raw_title: RubyConf 2024 10 Years of Roda by Jeremy Evans
speakers:
- Jeremy Evans
event_name: RubyConf 2024
published_at: "2024-12-11"
+ date: "2024-11-15"
description: |-
Roda is a Ruby web toolkit that uses a routing tree. It integrates routing with request handling, which significantly simplifies the development of web applications. Roda has a small core and an extensive plugin system, which has allowed it to add many features while significantly increasing performance.
@@ -852,12 +961,30 @@
video_provider: youtube
video_id: GrYlZjbXeP8
+- title: Detecting and classifying object images using ruby
+ raw_title:
+ RubyConf 2024 Detecting and classifying object images using ruby by Fabio
+ Leandro Janiszevski
+ speakers:
+ - Fabio Leandro Janiszevski
+ event_name: RubyConf 2024
+ published_at: "2024-12-11"
+ date: "2024-11-15"
+ description:
+ When we discuss Digital Image Processing, we always encounter other
+ programming languages but Ruby. Today, Ruby will rise in this topic! I'll discuss
+ the Ruby implementations that helped me write code to detect objects in a tiled
+ image and then classify them using deep learning techniques. AI is right there!
+ video_provider: youtube
+ video_id: 03wMU_yWZ7Y
+
- title: Streaming over the web with modern Ruby
raw_title: RubyConf 2024 Streaming over the web with modern Ruby by Shannon Skipper
speakers:
- Shannon Skipper
event_name: RubyConf 2024
published_at: "2024-12-11"
+ date: "2024-11-15"
description: |-
This session will explore streaming data over the web with modern Ruby. We’ll take a look at the new Rack 3 streaming interface and the state of Ruby HTTP client support for Server-Sent Events (SSE) and WebSockets over HTTP/2, and soon, HTTP/3. Then we’ll dive into practical code examples and demonstrate how to use Rack 3 streaming directly and how to leverage WebSockets and SSE with Roda to stream hypertext to the browser with HTMX representing the application state.
@@ -871,33 +998,11 @@
- Nadia Odunayo
event_name: RubyConf 2024
published_at: "2024-12-11"
+ date: "2024-11-15"
description: ""
video_provider: youtube
video_id: pOW4vepSX8g
-- title: "Workshop: How To Build Basic Desktop Applications in Ruby"
- raw_title:
- "RubyConf 2024 Workshop: How To Build Basic Desktop Applications in Ruby
- by Andy Maleh"
- speakers:
- - Andy Maleh
- event_name: RubyConf 2024
- published_at: "2024-12-11"
- description: |-
- Learn how to build basic desktop applications in Ruby with hands-on code exercises!
-
- Workshop outline (every step will involve a hands-on exercise or more):
- 1. GUI Basics (Controls, Properties, and Listeners):
- 2. Observer Pattern and MVC (Model-View-Controller) Software Architecture
- 3. Data-Binding and MVP (Model-View-Presenter) Software Architecture
- 4. Advanced Data-Binding
-
- This workshop will be conducted using Glimmer DSL for LibUI, the prerequisite-free ruby desktop development cross-platform native GUI gem that won a Fukuoka Ruby 2022 Special Award after getting judged by Matz, the creator of Ruby.
-
- Please install the latest version of the Ruby gem (run `gem install glimmer-dsl-libui`) and confirm it is working (run `glimmer examples`) in advance to hit the ground running when the workshop begins.
- video_provider: youtube
- video_id: TTSqRdTVtDY
-
- title: "Closing Remarks"
raw_title: RubyConf 2024 Closing Remarks with Kinsey Durham Grace & Jim Remsik
speakers:
@@ -905,6 +1010,7 @@
- Jim Remsik
event_name: RubyConf 2024
published_at: "2024-12-11"
+ date: "2024-11-15"
description: ""
video_provider: youtube
video_id: D6ZVUze-VUk