diff --git a/rubyconf/playlists.yml b/rubyconf/playlists.yml index 427e73b63..7f5c7bfe6 100644 --- a/rubyconf/playlists.yml +++ b/rubyconf/playlists.yml @@ -1,4 +1,4 @@ ---- +# --- - id: PLE7tQUdRKcyYVnWhDQk4RCPVlMW40I6s5 title: RubyConf 2021 description: @@ -12,3 +12,22 @@ videos_count: 102 metadata_parser: Youtube::VideoMetadata slug: rubyconf-2021 +- id: PLE7tQUdRKcyZYz0O3d9ZDdo0-BkOWhrSk + title: "RubyConf 2022: Mini and Houston" + description: RubyConf Mini held in Providence, RI and RubyConf Houston 2022 + published_at: "2023-02-28" + channel_id: UCWnPjmqvljcafA0z2U1fwKQ + year: "2022" + videos_count: 79 + slug: rubyconf-2022-mini-and-houston +- id: PLE7tQUdRKcyZ13yKsi3ID6a4MWDxSw-LE + title: RubyConf 2023 (San Diego) + description: + RubyConf is the annual fall conference for Ruby enthusiasts to gather + and enjoy talks about new projects, meet and network with other Ruby developers, + and hear from the community's leading minds. + published_at: "2023-12-19" + channel_id: UCWnPjmqvljcafA0z2U1fwKQ + year: "2023" + videos_count: 23 + slug: rubyconf-2023-san-diego diff --git a/rubyconf/rubyconf-2022-mini-and-houston/videos.yml b/rubyconf/rubyconf-2022-mini-and-houston/videos.yml new file mode 100644 index 000000000..e41564551 --- /dev/null +++ b/rubyconf/rubyconf-2022-mini-and-houston/videos.yml @@ -0,0 +1,250 @@ +- title: Weaving and seaming mocks + raw_title: "RubyConf Mini 2022: Weaving and seaming mocks by Vladimir Dementyev" + speakers: + - Vladimir Dementyev + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + To mock or not mock is an important question, but let's leave it apart and admit that we, Rubyists, use mocks in our tests. + + Mocking is a powerful technique, but even when used responsibly, it could lead to false positives in our tests (thus, bugs leaking to production): fake objects could diverge from their real counterparts. + + In this talk, I'd like to discuss various approaches to keeping mocks in line with the actual implementation and present a brand new idea based on mock fixtures and contracts. + video_id: -ExPO-FCKQA + +- title: "Here Be Dragons: The Hidden Gems of Tech Debt" + raw_title: "RubyConf Mini 2022: Here Be Dragons: The Hidden Gems of Tech Debt by Ernesto Tagwerker" + speakers: + - Ernesto Tagwerker + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + How do you find the most unmaintainable code in your codebase? What will you prioritize in your next technical debt spike, and why? + + In this talk you will learn how you can use RubyCritic, SimpleCov, Flog, Reek, and Skunk to slay dragons in your next refactoring adventure! Find out how the relationship between churn, complexity, and code coverage can give you a common language to talk about code quality and increase trust in your code. + video_id: fl-gbog_wtc + +- title: Looking Into Peephole Optimizations + raw_title: "RubyConf Mini 2022: Looking Into Peephole Optimizations by Maple Ong" + speakers: + - Maple Ong + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Did you know Ruby optimizes your code before executing it? If so, ever wonder how that works? The Ruby VM performs various optimizations on bytecode before executing them, one of them called peephole optimizations. Let’s learn about how some peephole optimizations work and how these small changes impact the execution of Ruby’s bytecode. Do these small changes make any impact on the final runtime? Let's find out - experience reading bytecode is not needed! + video_id: l0YeRKkUU6c + +- title: How We Implemented Salary Transparency (And Why It Matters) + raw_title: "RubyConf Mini: How We Implemented Salary Transparency (And Why It Matters) by Hilary Stohs Krause" + speakers: + - Hilary Stohs Krause + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Depending on where you live, money can be a prickly topic in the workplace; however, survey after survey shows it’s also a conversation many employees actively want started. Data also shows that transparency around wages increases trust and job satisfaction and improves gender and racial salary equity. + + However, just because folks want something doesn’t mean getting there will be smooth sailing (as we discovered when we instituted wage transparency three years ago). In this talk, we’ll discuss why salary transparency matters, ways it can manifest, and how to pitch it to the rest of your company. + video_id: lTiVlylJxSY + +- title: Start a Ruby Internship + raw_title: "RubyConf Mini 2022: Start a Ruby Internship by Chelsea Kaufman and Adam Cuppy" + speakers: + - Chelsea Kaufman + - Adam Cuppy + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Starting an internship doesn’t have to reduce your team's progress. On the contrary, a quality internship can benefit interns and senior folks. And, it doesn't take much to set up and start. We've done over 100! + + You’ll use our established blueprint to draft a successful internship program throughout this workshop. We'll walk through all the planning phases and help you set up the templates so you're ready to make it a win for all involved and "sell it" to management. By the end, your internship program will be prepared to hit the ground running, so your interns will be productive on day one. + video_id: m0VLrlcmyks + +- title: Knowing When To Walk Away + raw_title: "RubyConf Mini 2022: Knowing When To Walk Away by Lindsay Kelly" + speakers: + - Lindsay Kelly + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Picture this: the job you've always wanted. Doing exactly the kind of work you want. Having great coworkers and management. But then something shifts, and the dream becomes closer to a nightmare. How do you identify these things happening? How do you raise concerns in an appropriate way? And as a last resort, how do you know when it's the right choice to walk away? + video_id: qk30MqtCIMc + +- title: Functional programming for fun and profit!! + raw_title: "RubyConf Mini 2022: Functional programming for fun and profit!! by Jenny Shih" + speakers: + - Jenny Shih + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Functional programming brings you not just fun, but also profit! + + Have you ever felt curious towards functional programming (FP)? Were you, soon afterwards, intimidated by the mystic terms like monads and functors? Do you think FP is not related to your Ruby work and thus, useless? Guess what–you can actually apply FP to your Ruby projects and reap benefits from it before fully understanding what a monad is! + + This talk will walk you through the powerful mental models and tools that FP gives us, and how we can readily use them to improve our apps in a language that we all love and understand. + video_id: tQPmFQSI0lo + +- title: Teaching Ruby to Count + raw_title: "RubyConf Mini 2022: Teaching Ruby to Count by Joël Quenneville" + speakers: + - Joël Quenneville + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Ruby has some of the best tooling in the business for working with iteration and data series. By leveraging its full power, you can build delightful interfaces for your objects. + + In this case-study based presentation, we’ll explore a variety of problems such as composing Enumerable methods, generating a series of custom objects, and how to provide a clean interface for a collection with multiple valid traversal orders. Beyond just the beloved Enumerable module, this talk will take you into the world of Enumerators and Ranges and equip you to write objects that bring joy to your teammates. + video_id: yCiGMYzhlew + +- title: A Brewer’s Guide to Filtering out Complexity and Churn + raw_title: "RubyConf Mini 2022: A Brewer’s Guide to Filtering out Complexity and Churn by Fito von Zastrow" + speakers: + - Alan Ridlehoover + - Fito von Zastrow + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Mechanical coffee machines are amazing! You drop in a coin, listen for the clink, make a selection, and the machine springs to life, hissing, clicking, and whirring. Then the complex mechanical ballet ends, splashing that glorious, aromatic liquid into the cup. Ah! C’est magnifique! + + There’s just one problem. Our customers also want soup! And, our machine is not extensible. So, we have a choice: we can add to the complexity of our machine by jamming in a new dispenser with each new request; or, we can pause to make our machine more extensible before development slows to a halt. + video_id: zHK1lYh4n-s + +- title: We Need Someone Technical on the Call + raw_title: "RubyConf Mini 2022: We Need Someone Technical on the Call by Brittany Martin" + speakers: + - Brittany Martin + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + A DM. The dreaded message. “They want someone technical on the call.” + + If that statement is terrifying, never fear. Being effective at these interactions can be a big opportunity for your career. Learn tactics on when to commit to calls and how to execute them while empowering your team, conserving your time and acing the follow through. + video_id: zONREhN9wQg + +- title: Making .is_a? Fast + raw_title: "RubyConf Mini 2022: Making .is_a? Fast by John Hawthorn" + speakers: + - John Hawthorn + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Until Ruby 3.2 the `is_a?` method can be a surprising performance bottleneck. It be called directly or through its various synonyms like case statements, rescue statements, protected methods, `Module#===` and more! Recently `is_a?` and its various flavours have been optimized and it's now faster and runs in constant time. Join me in the journey of identifying it as a bottleneck in production, implementing the optimization, squashing bugs, and finally turning it into assembly language in YJIT. + video_id: zcKbWXzopCU + +- title: From Start to Published, Create a game with Ruby! + raw_title: "RubyConf Mini 2022: From Start to Published, Create a game with Ruby! by Cameron Gose" + speakers: + - Cameron Gose + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: We'll be building a game in Ruby from start to finish using the DragonRuby GameToolkit. Finally we'll publish it so that your new creation can be shared. + video_id: -dz9KGYMT24 + +- title: Anyone Can Play Guitar (With Ruby) + raw_title: "RubyConf Mini 2022: Anyone Can Play Guitar (With Ruby) by Kevin Murphy" + speakers: + - Kevin Murphy + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + I've got the blues. I've been looking for the perfect guitar tone, but haven't found it. To amp up my mood, let's teach a computer to play the guitar through an amplifier. + + Let's string together object-oriented principles to orchestrate a blues shuffle. We'll model our domain with the help of inheritance, composition, and dependency injection. This talk will strike a chord with you, whether you've strummed a guitar before or not. + video_id: 1fIPv-vOSj0 + +- title: Ruby Office Hours with Shopify Engineering + raw_title: "RubyConf Mini 2022: Ruby Office Hours with Shopify Engineering by Rose Wiegley, Ufuk Kayserilioglu" + speakers: + - Rose Wiegley + - Ufuk Kayserilioglu + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: Curious about Shopify’s relationship with Ruby? Got questions on projects Shopify Ruby on Rails Engineers are currently working on? Join Rose Wiegley (Sr Staff Developer), Ufuk Kayserilioglu (Production Engineering Manager), and other Shopify Engineers for a 30-minute office hours session dedicated to answering your questions on Ruby, Shopify’s relationship with Ruby, and life at Shopify! + video_id: 37DkMimLG4A + +- title: "Keynote: Learning DNS" + raw_title: "RubyConf Mini 2022: Keynote: Learning DNS by Julia Evans" + speakers: + - Julia Evans + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: "" + video_id: HoG2T0aJvfY + +- title: Zen and the Art of Incremental Automation + raw_title: "RubyConf Mini 2022: Zen and the Art of Incremental Automation by Aji Slater" + speakers: + - Aji Slater + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Automation doesn’t have to be all or nothing. Automating manual processes is a practice that one can employ via simple principles. Broad enough to be applied to a range of workflows, flexible enough to be tailored to an individual’s personal development routines; these principles are not in themselves complex, and can be performed regularly in the day to day of working in a codebase. + Learn how to cultivate habits and a culture of incremental automation so even if the goal is not a full self-service suite of automated tools, your team can begin a journey away from friction and manual tasks. + video_id: I2b1h1gVOfQ + +- title: Syntax Tree + raw_title: "RubyConf Mini 2022: Syntax Tree by Kevin Newton" + speakers: + - Kevin Newton + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: Syntax Tree is a new toolkit for interacting with the Ruby parse tree. It can be used to analyze, inspect, debug, and format your Ruby code. In this talk we'll walk through how it works, how to use it in your own applications, and the exciting future possibilities enabled by Syntax Tree. + video_id: Ieq6SKtYJD4 + +- title: Lightning Talks + raw_title: "RubyConf Mini 2022: Lightning Talks" + speakers: [] + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: "" + video_id: IfzO_yyiYmw + +- title: Who Wants to be a Ruby Engineer? + raw_title: "RubyConf Mini 2022: Who Wants to be a Ruby Engineer? by Drew Bragg" + speakers: + - Drew Bragg + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Welcome to the Ruby game show where one lucky contestant tries 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. Get enough right to be crowned a (some sort of something) Ruby Engineer and win a fabulous, mysterious prize. + video_id: JoZo9uGuXQw + +- title: Keynote by Barbara Tannenbaum + raw_title: "RubyConf Mini 2022: Keynote by Barbara Tannenbaum" + speakers: + - Barbara Tannenbaum + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: "" + video_id: JpimJspmess + +- title: "Solo: Building Successful Web Apps By Your Lonesome" + raw_title: "RubyConf Mini 2022: Solo: Building Successful Web Apps By Your Lonesome by Jeremy Smith" + speakers: + - Jeremy Smith + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Whether by choice or by circumstance, you may find yourself developing a web application alone. Congratulations! You've got the house to yourself and no one telling you what to do. But at the same time, there's no one to share the burden or make up for your shortcomings. How do you build well and ensure project success? We'll look at the pros and cons of working alone, what kinds of projects are well-suited to solo development, strategies for professional growth, and development and operational processes that will save you time and help you sleep better at night. + video_id: Rr871vmV4YM + +- title: Empathetic Pair Programming with Nonviolent Communication + raw_title: "RubyConf Mini 2022: Empathetic Pair Programming with Nonviolent Communication by Stephanie Minn" + speakers: + - Stephanie Minn + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Pair programming is intimate. It’s the closest collaboration we do as software developers. When it goes well, it feels great! But when it doesn’t, you might be left feeling frustrated, discouraged, or withdrawn. + + To navigate the vulnerability of sharing our keyboard and code, let’s learn about nonviolent communication (NVC), an established practice of deep listening to ourselves and others. We’ll cover real-life examples and how to apply the four tenets of NVC– observations, feelings, needs, and requests– to bring more joy and fulfillment the next time you pair. + video_id: Tzlyrra00Z0 + +- title: TDD on the Shoulders of Giants + raw_title: "RubyConf Mini 2022: TDD on the Shoulders of Giants by Jared Norman" + speakers: + - Jared Norman + event_name: "RubyConf 2022: Mini and Houston" + published_at: "2023-02-28" + description: |- + Getting started with TDD is hard enough without having to also navigate a programming language barrier. Many of the best books on testing focus on very different languages like Java, making it tricky to apply their advice in Ruby, especially if you're new to testing. I'll go through the most important practices and techniques that we can pull from the testing literature and show how they can be applied in your day-to-day Ruby development. You'll learn how to make the most of testing in Ruby using the patterns, practices, and techniques that popularized TDD in the first place. + video_id: V8Sx8h7KZZ diff --git a/rubyconf/rubyconf-2023-san-diego/videos.yml b/rubyconf/rubyconf-2023-san-diego/videos.yml new file mode 100644 index 000000000..e2fa49b1a --- /dev/null +++ b/rubyconf/rubyconf-2023-san-diego/videos.yml @@ -0,0 +1,204 @@ +- title: Keynote - Matz shares insights into Ruby and answers questions submitted by the Ruby community + raw_title: 'RubyConf 2023 - Keynote by Yukihiro "Matz" Matsumoto' + speakers: + - Yukihiro "Matz" Matsumoto + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: In this pre-recorded presentation, Matz shares insights into Ruby and answers questions submitted by the Ruby community. + video_id: Dxy9UBoZjTQ + +- title: Which Time Is It? + raw_title: "RubyConf 2023 - Which Time Is It? by Joël Quenneville" + speakers: + - Joël Quenneville + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: |- + Can you add two time values together? Yes. No. Not so fast! + + Reset your clocks and join me on a graphical tour of time itself. You'll discover how "time" is more than a single thing, build intuition around what different operations mean, and get a sense of when some operations are nonsensical. You'll leave with a better mental model for thinking about time and avoiding subtle time-related bugs in your own code. + video_id: 54Hs2E7zsQg + +- title: Finding a needle in the haystack - Debugging performance issues + raw_title: "RubyConf 2023 - Finding a needle in the haystack - Debugging performance issues by Puneet Khushwani" + speakers: + - Puneet Khushwani + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: |- + What should a developer do if suddenly one day they get assigned to debug a Sev1 performance issue? + + From our experience, sometimes finding the problem itself is very difficult and thus takes a lot of time. In this talk we will talk about some profilers which one can use to get visibility into what’s happening while executing code. These profilers may not always give us the exact root-cause but will always be able to give us directions to debug further. + + To also make things more relatable, as a case-study, we would be using a real problem which our team dealt with recently while upgrading the Ruby version of one of the largest monolith Rails application. + video_id: EMiuLfBWx1I + +- title: Popping Into CRuby + raw_title: "RubyConf 2023 - Popping Into CRuby by Jemma Issroff" + speakers: + - Jemma Issroff + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: Ever wondered why a line of Ruby code with no side effects has no performance impact? This talk will explain the concept of "popped" instruction sequences, demystifying how CRuby works behind the scenes to avoid running unnecessary code. We'll delve into parsing, compiling, abstract syntax trees, and instruction sequence. You’ll leave this talk with a deeper understanding of Ruby's inner workings and why they matter. + video_id: 8R78YHyQ9ko + +- title: Get your Data prod ready, Fast, with Ruby Polars! + raw_title: "RubyConf 2023 - Get your Data prod ready, Fast, with Ruby Polars! by Paul Reece" + speakers: + - Paul Reece + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: Imagine you receive a CSV of data that has over 500,000 rows and 100 columns. Data is randomly missing in some places, some of the column names are wrong, and you have mixed Data types in some of the columns. Correcting and cleaning that data by hand could take hours. Fear not! There is a better and faster way. We will look into using Ruby Polars, a gem written in Rust with a Ruby API, to wrangle and clean tabular data to get it prod ready. By learning some basic operations used in Polars you can greatly expedite the import process of CSV files and API Data. Whether your goal is to use the Data in an existing application or use it in a Ruby AI/Machine learning project(since cleaning Data is a vital first step in this process), this talk will get you well on your way! + video_id: QjTLx7po1jY + +- title: State of the RubyGems + raw_title: "RubyConf 2023 - State of the RubyGems by Samuel Giddins" + speakers: + - Samuel Giddins + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: Part history, part state of the union, and part roadmap for community feedback, this talk will cover how Ruby Central came to have an open source team, what we have been doing for the last 8.5 years, highlights from our work in 2023, and a deep dive into the ideas that we would like to get onto our road map. If you want to know more about Ruby Central, RubyGems, or project planning in long-running open source projects, this is the talk for you. + video_id: wV9JpikPM9g + +- title: Rooftop Ruby podcast + raw_title: "RubyConf 2023 - Rooftop Ruby podcast by Collin Donnell" + speakers: + - Collin Donnell + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: Live - Rooftop Ruby podcast + video_id: _RSLyjYeNTU + +- title: Re-interpreting Data + raw_title: "RubyConf 2023 - Re-interpreting Data by Murray Steele" + speakers: + - Murray Steele + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: |- + A talk about turning data into other data. Not particularly useful data, but imagine if you could listen to a jpeg, or see what an executable file looked like, or turn a zip file into an orchestral score? + + Some time ago I stumbled across the header description for WAV files and wondered: what if I took a file and calculated the appropriate WAV file header for it, could I hear my data? Turns out, yes, you can. You probably don’t want to, but you can! In this talk we’ll explore how it works for WAV files, BMP files and MIDI files. Along the way we’ll learn a lot about using ruby to manipulate raw bytes and bits of data, but also we’ll hear a README file, view an executable, and listen to the ruby interpreter itself! + video_id: 0MrgQ7TzRUc + +- title: The Future of Understanding Ruby Code + raw_title: "RubyConf 2023 - The Future of Understanding Ruby Code by Kevin Newton" + speakers: + - Kevin Newton + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: For decades, the Ruby community has been fractured in the way that it parses and understands Ruby code. After countless tools have been developed and person-hours have been invested, we still don't have a common language for understanding Ruby code. No longer! Starting in Ruby 3.3, we will have a single API for parsing and understanding Ruby code. This talk will cover the history of how we got here, what is getting built today, and what you can expect from this exciting future. + video_id: F9X5uJO9PV8 + +- title: Demystifying the Ruby package ecosystem + raw_title: "RubyConf 2023 - Demystifying the Ruby package ecosystem by Jenny Shen" + speakers: + - Jenny Shen + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + description: "A Ruby application is built on a foundation of its gems. But how does a gem get from the package repository to running in your project? RubyGems and Bundler does an excellent job in removing the complexities of gem resolution and installation so developers can focus on building great software. Let’s do a deep dive on how these tools seamlessly manage the dependencies you need to get your project off the ground!\n\nIn this talk, we’ll be taking a look at the inner workings of the Ruby package ecosystem. This includes:\n- The processes involved in installing gems from a Gemfile \n- Insights into debugging gems within a Rails application\n- Ensuring you're selecting the right gems to avoid security risks" + video_id: fkfCXFxJW08 + +- title: The Unbreakable Code Whose Breaking Won WWII + raw_title: "RubyConf 2023 - The Unbreakable Code Whose Breaking Won WWII by Aji Slater" + speakers: + - Aji Slater + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-19" + 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. 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_id: soB5h2t2HO4 + +- title: Livin’ La Vida Hanami + raw_title: "RubyConf 2023 - Livin’ La Vida Hanami by Tim Riley" + speakers: + - Tim Riley + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: |- + Upside, inside out, Hanami 2.0 is out! + + This release brings new levels of polish and power to a framework that you can use for Ruby apps of all shapes and sizes. + + Together we’ll take a first look at Hanami, then build our very own app, and discover how Hanami apps can remain a joy to develop even as they grow. + + Once you’ve had a taste of it you’ll never be the same! + video_id: L35MPfmtJZM + +- title: Keynote by Sharon Steed + raw_title: "RubyConf 2023 - Keynote by Sharon Steed" + speakers: + - Sharon Steed + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: Sharon Steed is the founder of Communilogue, an empathy consultancy that teaches audiences how to make empathy actionable so individuals can better connect with their coworkers; companies can better understand their consumers; and everyone can bring more humanity into the office. + video_id: wkOh5yCLX60 + +- title: Keynote by Saron Yitbarek + raw_title: "RubyConf 2023 - Keynote by Saron Yitbarek" + speakers: + - Saron Yitbarek + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: Saron Yitbarek shares stories and lessons she's learned from years of helping new developers transition into tech careers and building developer communities. + video_id: 07gTTE4NPZk + +- title: "Ruby on Rack: The Magic Between Request and Response" + raw_title: "RubyConf 2023 - Ruby on Rack: The Magic Between Request and Response by Meagan Waller" + speakers: + - Meagan Waller + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: Are you ready to embark on an expedition into the core of Ruby web applications? Well, get ready, because it's time to delve into web development with Rack—the powerhouse that fuels popular Ruby web frameworks like Rails and Sinatra. In this captivating talk, we'll plunge deep into the inner workings of Rack, the unsung hero of web development. We'll uncover its secrets, bask in its versatility, and summon the magic of custom Rack middleware—where session management, authentication, and caching reside. For developers at all levels, this talk offers practical insights and fresh perspectives. Equip yourself with the prowess to wield Rack's middleware magic, making your development journey more efficient and enjoyable. + video_id: cJ7V9Mg1vzc + +- title: The Second Oldest Bug + raw_title: "RubyConf 2023 - The Second Oldest Bug by Jeremy Evans" + speakers: + - Jeremy Evans + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: Historically, calling a method with a very large number of arguments resulted in a core dump. In Ruby 1.9, this was improved to instead raise SystemStackError. In Ruby 2.2, the issue was fixed for methods defined in Ruby. However, in Ruby 3.2, this is still an issue for methods defined in C. This issue was reported as a bug over 12 years ago, and was the second oldest open bug in Ruby's bug tracker. Come learn about stacks, heaps, argument handling during method dispatch, and how we fixed this bug in Ruby 3.3. + video_id: cIKYxSLCyX0 + +- title: Wrapping Rust in Ruby + raw_title: "RubyConf 2023 - Wrapping Rust in Ruby by Garen Torikian" + speakers: + - Garen Torikian + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: "Ruby is slow. Despite improvements over the years, the language will never be as fast as a compiled language. To compensate for this, whenever Ruby developers need to run performance critical code, it's not uncommon for them to interoperate with a library written in C. Dozens of well known gems, such as Nokogiri and Bcrypt, already do this. But with C comes other problems: how can we ensure that our low-level code is safe from memory leaks and other security vulnerabilities? In this talk, I'll introduce the oxidize-rb project, which is a suite of open source tools which makes it possible to call Rust libraries from within Ruby. I'll also demonstrate how simple it is to incorporate Rust code (including Cargo dependencies) into a Ruby gem." + video_id: l7TPj7dRHso + +- title: "The Secret Ingredient: How To Understand and Resolve Just About Any Flaky Test" + raw_title: "RubyConf 2023 - The Secret Ingredient: How To Understand and Resolve Just... by Alan Ridlehoover" + speakers: + - Alan Ridlehoover + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: |- + The Secret Ingredient: How To Understand and Resolve Just About Any Flaky Test by Alan Ridlehoover + + Flaky tests are an inscrutable bane. Hard to understand. Annoying. And, so frustrating! My personal nemesis is Daylight Saving Time. I can’t tell you how many times I’ve tripped over it. Let’s just say I was well into the “shame on me” part of that relationship, until I discovered the secret ingredient that nearly all flaky tests have in common. Turns out they only seem inscrutable. It really is possible to understand and resolve just about any flaky test. + video_id: De3-v54jrQo +- title: "How Programs Learn, and What Happens After They're Built" + raw_title: "RubyConf 2023 - How Programs Learn, and What Happens After They're Built by Phil Crissman" + speakers: + - Phil Crissman + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: |- + In 1994, Stewart Brand published a book called "How Buildings Learn, and What Happens After They're Built". As well as a fascinating account of architecture and the history of various buildings and building styles, some ideas from this book were inspirational to the famous "Big Ball of Mud" paper, by Brian Foote and Joseph Yoder. + + Can we learn anything about building software systems from the observations in Brand's book and the Big Ball of Mud paper? Spoiler alert: yes, I think so! Let's talk about them. + video_id: F_RvmYZAMJw + +- title: Lightning Talks + raw_title: "RubyConf 2023 - Lightning Talks" + speakers: + event_name: RubyConf 2023 (San Diego) + published_at: "2023-12-20" + description: Lightning talks are short presentation (up to 5 mins) delivered by different people in a single session. Conference attendees are welcome to sign up near Check In during the conference. + video_id: JreuXFz8MpE