Skip to content

Commit eab14e1

Browse files
authored
add ruby conf 2022 and 2023 (#89)
* add ruby conf 2022 and 2023 * update comment
1 parent e90fed2 commit eab14e1

File tree

5 files changed

+497
-2
lines changed

5 files changed

+497
-2
lines changed

app/models/youtube/null_parser.rb

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# This class is used to keep the raw metadata when you want to feed them to chat GPT
2+
# for post processing
3+
module Youtube
4+
class NullParser
5+
def initialize(metadata:, event_name:, options: {})
6+
@metadata = metadata
7+
@event_name = event_name
8+
end
9+
10+
def cleaned
11+
OpenStruct.new(
12+
{
13+
title: @metadata.title,
14+
event_name: @event_name,
15+
published_at: @metadata.published_at,
16+
description: @metadata.description,
17+
video_id: @metadata.video_id
18+
}
19+
)
20+
end
21+
end
22+
end

data/rubyconf/playlists.yml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
---
1+
# ---
22
- id: PLE7tQUdRKcyYVnWhDQk4RCPVlMW40I6s5
33
title: RubyConf 2021
44
description:
@@ -12,3 +12,22 @@
1212
videos_count: 102
1313
metadata_parser: Youtube::VideoMetadata
1414
slug: rubyconf-2021
15+
- id: PLE7tQUdRKcyZYz0O3d9ZDdo0-BkOWhrSk
16+
title: "RubyConf 2022: Mini and Houston"
17+
description: RubyConf Mini held in Providence, RI and RubyConf Houston 2022
18+
published_at: "2023-02-28"
19+
channel_id: UCWnPjmqvljcafA0z2U1fwKQ
20+
year: "2022"
21+
videos_count: 79
22+
slug: rubyconf-2022-mini-and-houston
23+
- id: PLE7tQUdRKcyZ13yKsi3ID6a4MWDxSw-LE
24+
title: RubyConf 2023 (San Diego)
25+
description:
26+
RubyConf is the annual fall conference for Ruby enthusiasts to gather
27+
and enjoy talks about new projects, meet and network with other Ruby developers,
28+
and hear from the community's leading minds.
29+
published_at: "2023-12-19"
30+
channel_id: UCWnPjmqvljcafA0z2U1fwKQ
31+
year: "2023"
32+
videos_count: 23
33+
slug: rubyconf-2023-san-diego
Lines changed: 250 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,250 @@
1+
- title: Weaving and seaming mocks
2+
raw_title: "RubyConf Mini 2022: Weaving and seaming mocks by Vladimir Dementyev"
3+
speakers:
4+
- Vladimir Dementyev
5+
event_name: "RubyConf 2022: Mini and Houston"
6+
published_at: "2023-02-28"
7+
description: |-
8+
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.
9+
10+
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.
11+
12+
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.
13+
video_id: -ExPO-FCKQA
14+
15+
- title: "Here Be Dragons: The Hidden Gems of Tech Debt"
16+
raw_title: "RubyConf Mini 2022: Here Be Dragons: The Hidden Gems of Tech Debt by Ernesto Tagwerker"
17+
speakers:
18+
- Ernesto Tagwerker
19+
event_name: "RubyConf 2022: Mini and Houston"
20+
published_at: "2023-02-28"
21+
description: |-
22+
How do you find the most unmaintainable code in your codebase? What will you prioritize in your next technical debt spike, and why?
23+
24+
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.
25+
video_id: fl-gbog_wtc
26+
27+
- title: Looking Into Peephole Optimizations
28+
raw_title: "RubyConf Mini 2022: Looking Into Peephole Optimizations by Maple Ong"
29+
speakers:
30+
- Maple Ong
31+
event_name: "RubyConf 2022: Mini and Houston"
32+
published_at: "2023-02-28"
33+
description: |-
34+
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!
35+
video_id: l0YeRKkUU6c
36+
37+
- title: How We Implemented Salary Transparency (And Why It Matters)
38+
raw_title: "RubyConf Mini: How We Implemented Salary Transparency (And Why It Matters) by Hilary Stohs Krause"
39+
speakers:
40+
- Hilary Stohs Krause
41+
event_name: "RubyConf 2022: Mini and Houston"
42+
published_at: "2023-02-28"
43+
description: |-
44+
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.
45+
46+
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.
47+
video_id: lTiVlylJxSY
48+
49+
- title: Start a Ruby Internship
50+
raw_title: "RubyConf Mini 2022: Start a Ruby Internship by Chelsea Kaufman and Adam Cuppy"
51+
speakers:
52+
- Chelsea Kaufman
53+
- Adam Cuppy
54+
event_name: "RubyConf 2022: Mini and Houston"
55+
published_at: "2023-02-28"
56+
description: |-
57+
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!
58+
59+
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.
60+
video_id: m0VLrlcmyks
61+
62+
- title: Knowing When To Walk Away
63+
raw_title: "RubyConf Mini 2022: Knowing When To Walk Away by Lindsay Kelly"
64+
speakers:
65+
- Lindsay Kelly
66+
event_name: "RubyConf 2022: Mini and Houston"
67+
published_at: "2023-02-28"
68+
description: |-
69+
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?
70+
video_id: qk30MqtCIMc
71+
72+
- title: Functional programming for fun and profit!!
73+
raw_title: "RubyConf Mini 2022: Functional programming for fun and profit!! by Jenny Shih"
74+
speakers:
75+
- Jenny Shih
76+
event_name: "RubyConf 2022: Mini and Houston"
77+
published_at: "2023-02-28"
78+
description: |-
79+
Functional programming brings you not just fun, but also profit!
80+
81+
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!
82+
83+
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.
84+
video_id: tQPmFQSI0lo
85+
86+
- title: Teaching Ruby to Count
87+
raw_title: "RubyConf Mini 2022: Teaching Ruby to Count by Joël Quenneville"
88+
speakers:
89+
- Joël Quenneville
90+
event_name: "RubyConf 2022: Mini and Houston"
91+
published_at: "2023-02-28"
92+
description: |-
93+
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.
94+
95+
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.
96+
video_id: yCiGMYzhlew
97+
98+
- title: A Brewer’s Guide to Filtering out Complexity and Churn
99+
raw_title: "RubyConf Mini 2022: A Brewer’s Guide to Filtering out Complexity and Churn by Fito von Zastrow"
100+
speakers:
101+
- Alan Ridlehoover
102+
- Fito von Zastrow
103+
event_name: "RubyConf 2022: Mini and Houston"
104+
published_at: "2023-02-28"
105+
description: |-
106+
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!
107+
108+
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.
109+
video_id: zHK1lYh4n-s
110+
111+
- title: We Need Someone Technical on the Call
112+
raw_title: "RubyConf Mini 2022: We Need Someone Technical on the Call by Brittany Martin"
113+
speakers:
114+
- Brittany Martin
115+
event_name: "RubyConf 2022: Mini and Houston"
116+
published_at: "2023-02-28"
117+
description: |-
118+
A DM. The dreaded message. “They want someone technical on the call.”
119+
120+
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.
121+
video_id: zONREhN9wQg
122+
123+
- title: Making .is_a? Fast
124+
raw_title: "RubyConf Mini 2022: Making .is_a? Fast by John Hawthorn"
125+
speakers:
126+
- John Hawthorn
127+
event_name: "RubyConf 2022: Mini and Houston"
128+
published_at: "2023-02-28"
129+
description: |-
130+
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.
131+
video_id: zcKbWXzopCU
132+
133+
- title: From Start to Published, Create a game with Ruby!
134+
raw_title: "RubyConf Mini 2022: From Start to Published, Create a game with Ruby! by Cameron Gose"
135+
speakers:
136+
- Cameron Gose
137+
event_name: "RubyConf 2022: Mini and Houston"
138+
published_at: "2023-02-28"
139+
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.
140+
video_id: -dz9KGYMT24
141+
142+
- title: Anyone Can Play Guitar (With Ruby)
143+
raw_title: "RubyConf Mini 2022: Anyone Can Play Guitar (With Ruby) by Kevin Murphy"
144+
speakers:
145+
- Kevin Murphy
146+
event_name: "RubyConf 2022: Mini and Houston"
147+
published_at: "2023-02-28"
148+
description: |-
149+
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.
150+
151+
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.
152+
video_id: 1fIPv-vOSj0
153+
154+
- title: Ruby Office Hours with Shopify Engineering
155+
raw_title: "RubyConf Mini 2022: Ruby Office Hours with Shopify Engineering by Rose Wiegley, Ufuk Kayserilioglu"
156+
speakers:
157+
- Rose Wiegley
158+
- Ufuk Kayserilioglu
159+
event_name: "RubyConf 2022: Mini and Houston"
160+
published_at: "2023-02-28"
161+
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!
162+
video_id: 37DkMimLG4A
163+
164+
- title: "Keynote: Learning DNS"
165+
raw_title: "RubyConf Mini 2022: Keynote: Learning DNS by Julia Evans"
166+
speakers:
167+
- Julia Evans
168+
event_name: "RubyConf 2022: Mini and Houston"
169+
published_at: "2023-02-28"
170+
description: ""
171+
video_id: HoG2T0aJvfY
172+
173+
- title: Zen and the Art of Incremental Automation
174+
raw_title: "RubyConf Mini 2022: Zen and the Art of Incremental Automation by Aji Slater"
175+
speakers:
176+
- Aji Slater
177+
event_name: "RubyConf 2022: Mini and Houston"
178+
published_at: "2023-02-28"
179+
description: |-
180+
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.
181+
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.
182+
video_id: I2b1h1gVOfQ
183+
184+
- title: Syntax Tree
185+
raw_title: "RubyConf Mini 2022: Syntax Tree by Kevin Newton"
186+
speakers:
187+
- Kevin Newton
188+
event_name: "RubyConf 2022: Mini and Houston"
189+
published_at: "2023-02-28"
190+
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.
191+
video_id: Ieq6SKtYJD4
192+
193+
- title: Lightning Talks
194+
raw_title: "RubyConf Mini 2022: Lightning Talks"
195+
speakers: []
196+
event_name: "RubyConf 2022: Mini and Houston"
197+
published_at: "2023-02-28"
198+
description: ""
199+
video_id: IfzO_yyiYmw
200+
201+
- title: Who Wants to be a Ruby Engineer?
202+
raw_title: "RubyConf Mini 2022: Who Wants to be a Ruby Engineer? by Drew Bragg"
203+
speakers:
204+
- Drew Bragg
205+
event_name: "RubyConf 2022: Mini and Houston"
206+
published_at: "2023-02-28"
207+
description: |-
208+
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.
209+
video_id: JoZo9uGuXQw
210+
211+
- title: Keynote by Barbara Tannenbaum
212+
raw_title: "RubyConf Mini 2022: Keynote by Barbara Tannenbaum"
213+
speakers:
214+
- Barbara Tannenbaum
215+
event_name: "RubyConf 2022: Mini and Houston"
216+
published_at: "2023-02-28"
217+
description: ""
218+
video_id: JpimJspmess
219+
220+
- title: "Solo: Building Successful Web Apps By Your Lonesome"
221+
raw_title: "RubyConf Mini 2022: Solo: Building Successful Web Apps By Your Lonesome by Jeremy Smith"
222+
speakers:
223+
- Jeremy Smith
224+
event_name: "RubyConf 2022: Mini and Houston"
225+
published_at: "2023-02-28"
226+
description: |-
227+
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.
228+
video_id: Rr871vmV4YM
229+
230+
- title: Empathetic Pair Programming with Nonviolent Communication
231+
raw_title: "RubyConf Mini 2022: Empathetic Pair Programming with Nonviolent Communication by Stephanie Minn"
232+
speakers:
233+
- Stephanie Minn
234+
event_name: "RubyConf 2022: Mini and Houston"
235+
published_at: "2023-02-28"
236+
description: |-
237+
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.
238+
239+
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.
240+
video_id: Tzlyrra00Z0
241+
242+
- title: TDD on the Shoulders of Giants
243+
raw_title: "RubyConf Mini 2022: TDD on the Shoulders of Giants by Jared Norman"
244+
speakers:
245+
- Jared Norman
246+
event_name: "RubyConf 2022: Mini and Houston"
247+
published_at: "2023-02-28"
248+
description: |-
249+
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.
250+
video_id: V8Sx8h7KZZ

0 commit comments

Comments
 (0)