<%= link_to "https://github.com/adrienpoly/rubyvideo", target: "_blank", alt: "github repository for the Ruby video project" do %>
<%= icon "github", size: :lg %>
<% end %>
-
diff --git a/bin/lint b/bin/lint
new file mode 100755
index 00000000..779f7e0a
--- /dev/null
+++ b/bin/lint
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+# Exit when any command fails
+set -e
+
+# Check Ruby code formatting
+echo "Checking Ruby code formatting..."
+bundle exec standardrb --fix
+
+# Check Ruby code formatting
+echo "Checking JS code formatting..."
+yarn standard --fix
+
+# Check erb file formatting
+echo "Checking erb file formatting..."
+bundle exec erblint --lint-all --autocorrect
diff --git a/channel.yaml b/channel.yaml
deleted file mode 100644
index cce3eb59..00000000
--- a/channel.yaml
+++ /dev/null
@@ -1,258 +0,0 @@
----
-kind: youtube#playlistListResponse
-etag: CtacY4ocyOm58xxNEtV1N-AoXXk
-pageInfo:
- totalResults: 7
- resultsPerPage: 25
-items:
-- kind: youtube#playlist
- etag: _R_8vKTF7Ejsc3T_ENs8eYvxu0Y
- id: PLbHJudTY1K0dERpqJUEFOFSsMGvR6st9U
- snippet:
- publishedAt: '2023-01-10T00:59:25Z'
- channelId: UCpFXaEz3vKJ45XjW5m5pbow
- title: 'RubyConf 2022: Mini and Houston'
- description: Recordings of the RubyConf 2022 Houston and Mini conferences.
- thumbnails:
- default:
- url: https://i.ytimg.com/vi/1GorXHiB7nw/default.jpg
- width: 120
- height: 90
- medium:
- url: https://i.ytimg.com/vi/1GorXHiB7nw/mqdefault.jpg
- width: 320
- height: 180
- high:
- url: https://i.ytimg.com/vi/1GorXHiB7nw/hqdefault.jpg
- width: 480
- height: 360
- standard:
- url: https://i.ytimg.com/vi/1GorXHiB7nw/sddefault.jpg
- width: 640
- height: 480
- maxres:
- url: https://i.ytimg.com/vi/1GorXHiB7nw/maxresdefault.jpg
- width: 1280
- height: 720
- channelTitle: Ruby Central
- localized:
- title: 'RubyConf 2022: Mini and Houston'
- description: Recordings of the RubyConf 2022 Houston and Mini conferences.
- contentDetails:
- itemCount: 80
-- kind: youtube#playlist
- etag: nfiPIAnH9rS_t4qWyt7jHtf1QOo
- id: PLbHJudTY1K0f1WgIbKCc0_M-XMraWwCmk
- snippet:
- publishedAt: '2022-06-01T22:18:58Z'
- channelId: UCpFXaEz3vKJ45XjW5m5pbow
- title: RailsConf 2022
- description: The largest official gathering of the year, RailsConf brings together
- top talent, companies, and project representatives from around the world. Learn
- and build with the best in sessions, workshops, keynotes and parties.
- thumbnails:
- default:
- url: https://i.ytimg.com/vi/DzyGdOd_6-Y/default.jpg
- width: 120
- height: 90
- medium:
- url: https://i.ytimg.com/vi/DzyGdOd_6-Y/mqdefault.jpg
- width: 320
- height: 180
- high:
- url: https://i.ytimg.com/vi/DzyGdOd_6-Y/hqdefault.jpg
- width: 480
- height: 360
- standard:
- url: https://i.ytimg.com/vi/DzyGdOd_6-Y/sddefault.jpg
- width: 640
- height: 480
- maxres:
- url: https://i.ytimg.com/vi/DzyGdOd_6-Y/maxresdefault.jpg
- width: 1280
- height: 720
- channelTitle: Ruby Central
- localized:
- title: RailsConf 2022
- description: The largest official gathering of the year, RailsConf brings together
- top talent, companies, and project representatives from around the world.
- Learn and build with the best in sessions, workshops, keynotes and parties.
- contentDetails:
- itemCount: 67
-- kind: youtube#playlist
- etag: cX1dmirCExGW43Pnn54ul1KbQOU
- id: PLbHJudTY1K0f0oMhWtY-UyzOb7tUlaHps
- snippet:
- publishedAt: '2021-12-16T16:29:05Z'
- channelId: UCpFXaEz3vKJ45XjW5m5pbow
- title: RubyConf 2021
- description: Focused on fostering the Ruby programming language and the robust
- community that has sprung up around it, RubyConf brings together Rubyists both
- established and new to discuss emerging ideas, collaborate, and socialize in
- some of the best locations in the US.
- thumbnails:
- default:
- url: https://i.ytimg.com/vi/paZ5_3F22V8/default.jpg
- width: 120
- height: 90
- medium:
- url: https://i.ytimg.com/vi/paZ5_3F22V8/mqdefault.jpg
- width: 320
- height: 180
- high:
- url: https://i.ytimg.com/vi/paZ5_3F22V8/hqdefault.jpg
- width: 480
- height: 360
- standard:
- url: https://i.ytimg.com/vi/paZ5_3F22V8/sddefault.jpg
- width: 640
- height: 480
- maxres:
- url: https://i.ytimg.com/vi/paZ5_3F22V8/maxresdefault.jpg
- width: 1280
- height: 720
- channelTitle: Ruby Central
- localized:
- title: RubyConf 2021
- description: Focused on fostering the Ruby programming language and the robust
- community that has sprung up around it, RubyConf brings together Rubyists
- both established and new to discuss emerging ideas, collaborate, and socialize
- in some of the best locations in the US.
- contentDetails:
- itemCount: 103
-- kind: youtube#playlist
- etag: tHRqysl3DTHbqvF1X0ZsoKKk_I0
- id: PLbHJudTY1K0c9QhfXrzXgq9G4YYHuq-3o
- snippet:
- publishedAt: '2021-11-08T19:23:35Z'
- channelId: UCpFXaEz3vKJ45XjW5m5pbow
- title: RubyConf 2021 Viewing Playlist - Room 607
- description: ''
- thumbnails:
- default:
- url: https://i.ytimg.com/vi/DYc5X-in_oM/default.jpg
- width: 120
- height: 90
- medium:
- url: https://i.ytimg.com/vi/DYc5X-in_oM/mqdefault.jpg
- width: 320
- height: 180
- high:
- url: https://i.ytimg.com/vi/DYc5X-in_oM/hqdefault.jpg
- width: 480
- height: 360
- standard:
- url: https://i.ytimg.com/vi/DYc5X-in_oM/sddefault.jpg
- width: 640
- height: 480
- maxres:
- url: https://i.ytimg.com/vi/DYc5X-in_oM/maxresdefault.jpg
- width: 1280
- height: 720
- channelTitle: Ruby Central
- localized:
- title: RubyConf 2021 Viewing Playlist - Room 607
- description: ''
- contentDetails:
- itemCount: 4
-- kind: youtube#playlist
- etag: mA4dnbnVwmlKdpqcrkFCXeukhCY
- id: PLbHJudTY1K0cawo3AfY5Bp6oUPH65MnKz
- snippet:
- publishedAt: '2021-05-28T17:45:03Z'
- channelId: UCpFXaEz3vKJ45XjW5m5pbow
- title: RailsConf 2021 Workshops
- description: ''
- thumbnails:
- default:
- url: https://i.ytimg.com/vi/Sid39aN_SKk/default.jpg
- width: 120
- height: 90
- medium:
- url: https://i.ytimg.com/vi/Sid39aN_SKk/mqdefault.jpg
- width: 320
- height: 180
- high:
- url: https://i.ytimg.com/vi/Sid39aN_SKk/hqdefault.jpg
- width: 480
- height: 360
- standard:
- url: https://i.ytimg.com/vi/Sid39aN_SKk/sddefault.jpg
- width: 640
- height: 480
- channelTitle: Ruby Central
- localized:
- title: RailsConf 2021 Workshops
- description: ''
- contentDetails:
- itemCount: 11
-- kind: youtube#playlist
- etag: OqLeaChyKZuUYRBp7t8yFqdHxd8
- id: PLbHJudTY1K0c8N1-PPyiQxlHNzJIzyJv6
- snippet:
- publishedAt: '2021-04-09T18:48:00Z'
- channelId: UCpFXaEz3vKJ45XjW5m5pbow
- title: RailsConf 2021
- description: Talks Presented at RailsConf 2021
- thumbnails:
- default:
- url: https://i.ytimg.com/vi/N5g7oruepIg/default.jpg
- width: 120
- height: 90
- medium:
- url: https://i.ytimg.com/vi/N5g7oruepIg/mqdefault.jpg
- width: 320
- height: 180
- high:
- url: https://i.ytimg.com/vi/N5g7oruepIg/hqdefault.jpg
- width: 480
- height: 360
- standard:
- url: https://i.ytimg.com/vi/N5g7oruepIg/sddefault.jpg
- width: 640
- height: 480
- maxres:
- url: https://i.ytimg.com/vi/N5g7oruepIg/maxresdefault.jpg
- width: 1280
- height: 720
- channelTitle: Ruby Central
- localized:
- title: RailsConf 2021
- description: Talks Presented at RailsConf 2021
- contentDetails:
- itemCount: 75
-- kind: youtube#playlist
- etag: Znon31dHuRVaKH17_E3Xvv5DOUk
- id: PLbHJudTY1K0cyDs1ZwFLzlfQqvkDKt17N
- snippet:
- publishedAt: '2020-12-18T18:44:44Z'
- channelId: UCpFXaEz3vKJ45XjW5m5pbow
- title: RubyConf 2020
- description: The RubyConf 2020 Conference, presented by Ruby Central.
- thumbnails:
- default:
- url: https://i.ytimg.com/vi/FTWKackp1Js/default.jpg
- width: 120
- height: 90
- medium:
- url: https://i.ytimg.com/vi/FTWKackp1Js/mqdefault.jpg
- width: 320
- height: 180
- high:
- url: https://i.ytimg.com/vi/FTWKackp1Js/hqdefault.jpg
- width: 480
- height: 360
- standard:
- url: https://i.ytimg.com/vi/FTWKackp1Js/sddefault.jpg
- width: 640
- height: 480
- maxres:
- url: https://i.ytimg.com/vi/FTWKackp1Js/maxresdefault.jpg
- width: 1280
- height: 720
- channelTitle: Ruby Central
- localized:
- title: RubyConf 2020
- description: The RubyConf 2020 Conference, presented by Ruby Central.
- contentDetails:
- itemCount: 25
diff --git a/config/cable.yml b/config/cable.yml
index b4b09b6e..042fe987 100644
--- a/config/cable.yml
+++ b/config/cable.yml
@@ -1,11 +1,8 @@
development:
- adapter: redis
- url: redis://localhost:6379/1
+ adapter: litecable
test:
adapter: test
production:
- adapter: redis
- url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
- channel_prefix: rubyvideo_production
+ adapter: litecable
diff --git a/config/deploy.yml b/config/deploy.yml
index 8fbfa205..8d0396e2 100644
--- a/config/deploy.yml
+++ b/config/deploy.yml
@@ -20,11 +20,13 @@ registry:
# Inject ENV variables into containers (secrets come from .env).
env:
+ clear:
+ RUBY_YJIT_ENABLE: 1
secret:
- RAILS_MASTER_KEY
- APPSIGNAL_PUSH_API_KEY
- MEILI_MASTER_KEY
- - GITHUB_TOKEN
+ - RUBYVIDEO_GITHUB_TOKEN
# Use a different ssh user than root
ssh:
user: root
diff --git a/config/environments/development.rb b/config/environments/development.rb
index 3f0cf3f8..7dd91ac0 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -24,7 +24,7 @@
config.action_controller.perform_caching = true
config.action_controller.enable_fragment_cache_logging = true
- config.cache_store = :litecache, {path: "./storage/cache.db"}
+ config.cache_store = :litecache, {path: "./storage/cache.development.db"}
config.public_file_server.headers = {
"Cache-Control" => "public, max-age=#{2.days.to_i}"
}
diff --git a/config/environments/test.rb b/config/environments/test.rb
index 64aaa69c..1f45fbb8 100644
--- a/config/environments/test.rb
+++ b/config/environments/test.rb
@@ -27,7 +27,8 @@
# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
- config.cache_store = :null_store
+ config.cache_store = :memory_store
+ # config.cache_store = :litecache, {path: "./storage/cache.test.db"} when new version of litestack is released
# Raise exceptions instead of rendering exception templates.
config.action_dispatch.show_exceptions = false
diff --git a/config/initializers/pagy.rb b/config/initializers/pagy.rb
index 6c797ce1..42e1da5c 100644
--- a/config/initializers/pagy.rb
+++ b/config/initializers/pagy.rb
@@ -1 +1,4 @@
require "pagy/extras/meilisearch"
+require "pagy/extras/overflow"
+
+Pagy::DEFAULT[:overflow] = :last_page
diff --git a/config/litecable.yml b/config/litecable.yml
new file mode 100644
index 00000000..7ad2fc9b
--- /dev/null
+++ b/config/litecable.yml
@@ -0,0 +1 @@
+path: "./storage/cable.db"
diff --git a/config/litlecable.yml b/config/litlecable.yml
deleted file mode 100644
index cb19addf..00000000
--- a/config/litlecable.yml
+++ /dev/null
@@ -1 +0,0 @@
-path: ./storage/cable.db
diff --git a/config/routes.rb b/config/routes.rb
index 1fde9d9c..4826f22b 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -2,7 +2,10 @@
#
Rails.application.routes.draw do
- get "page/home"
+ # static pages
+ get "uses", to: "page#uses"
+
+ # authentication
get "/auth/failure", to: "sessions/omniauth#failure"
get "/auth/:provider/callback", to: "sessions/omniauth#create"
post "/auth/:provider/callback", to: "sessions/omniauth#create"
@@ -21,6 +24,13 @@
resource :password_reset, only: [:new, :edit, :create, :update]
end
+ # resources
+ namespace :analytics do
+ resource :dashboards, only: [:show] do
+ get :daily_page_views
+ get :daily_visits
+ end
+ end
resources :talks, param: :slug, only: [:index, :show, :update, :edit]
resources :speakers, param: :slug, only: [:index, :show, :update, :edit]
resources :events, param: :slug, only: [:index, :show, :update, :edit]
@@ -28,6 +38,7 @@
resources :enhance, only: [:update], param: :slug
end
+ # admin
namespace :admin, if: -> { Current.user & admin? } do
resources :suggestions, only: %i[index update destroy]
end
diff --git a/data/railsconf/birmingham-on-rails-2020/videos.yml b/data/railsconf/birmingham-on-rails-2020/videos.yml
index 2be2cab6..add9e54d 100644
--- a/data/railsconf/birmingham-on-rails-2020/videos.yml
+++ b/data/railsconf/birmingham-on-rails-2020/videos.yml
@@ -1,8 +1,8 @@
---
-- title: 'Birmingham on Rails 2020 - Closing Keynote: Lucky You by Sandi Mets'
- raw_title: 'Birmingham on Rails 2020 - Closing Keynote: Lucky You by Sandi Mets'
+- title: 'Birmingham on Rails 2020 - Closing Keynote: Lucky You by Sandi Metz'
+ raw_title: 'Birmingham on Rails 2020 - Closing Keynote: Lucky You by Sandi Metz'
speakers:
- - Sandi Mets
+ - Sandi Metz
event_name: Birmingham on Rails 2020
thumbnail_xs: https://i.ytimg.com/vi/3EUnauHNikw/default.jpg
thumbnail_sm: https://i.ytimg.com/vi/3EUnauHNikw/mqdefault.jpg
@@ -10,7 +10,7 @@
thumbnail_lg: https://i.ytimg.com/vi/3EUnauHNikw/sddefault.jpg
thumbnail_xl: https://i.ytimg.com/vi/3EUnauHNikw/maxresdefault.jpg
published_at: '2020-02-19'
- description: 'Birmingham on Rails 2020 - Closing Keynote: Lucky You by Sandi Mets'
+ description: 'Birmingham on Rails 2020 - Closing Keynote: Lucky You by Sandi Metz'
video_id: 3EUnauHNikw
- title: The Story of Rails!
raw_title: Birmingham on Rails 2020 - The Story of Rails! by Ratnadeep Deshmane
diff --git a/data/railsconf/playlists.yml b/data/railsconf/playlists.yml
index c8200742..62f2cf70 100644
--- a/data/railsconf/playlists.yml
+++ b/data/railsconf/playlists.yml
@@ -109,3 +109,12 @@
year: "2022"
videos_count: 67
slug: railsconf-2022
+- id: PLbHJudTY1K0cOM1jfOsQLYPTLxQf1Ui1C
+ title: RailsConf 2023
+ description:
+ RailsConf, hosted by Ruby Central, is the world’s largest and longest-running
+ gathering of Ruby on Rails enthusiasts, practitioners, and companies.
+ published_at: "2023-07-14"
+ year: "2023"
+ videos_count: 58
+ slug: railsconf-2023
diff --git a/data/railsconf/railsconf-2023/videos.yml b/data/railsconf/railsconf-2023/videos.yml
new file mode 100644
index 00000000..11639ac8
--- /dev/null
+++ b/data/railsconf/railsconf-2023/videos.yml
@@ -0,0 +1,1111 @@
+---
+- title: Functional Patterns in Ruby
+ raw_title: RailsConf 2023 - Functional Patterns in Ruby by John Crepezzi
+ speakers:
+ - John Crepezzi
+ description:
+ I recently started working primarily in a statically-typed functional
+ programming language (OCaml). While learning, I spent a lot of time trying to
+ fit OCaml into a Ruby-shaped box. While there are plenty of things that I miss
+ about Ruby day-to-day, there are also a lot of good lessons to take away! No,
+ I’m not talking about static typing, or some rant on how nil is an anti-pattern.
+ This talk instead will dig into concepts from around the functional world and
+ how they can be modeled in Ruby for cleaner, more future-proof code.
+ thumbnail_xs: https://i.ytimg.com/vi/3ndcqh9fTGA/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/3ndcqh9fTGA/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/3ndcqh9fTGA/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/3ndcqh9fTGA/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/3ndcqh9fTGA/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 3ndcqh9fTGA
+- title: Who Wants to be a Ruby Engineer?
+ raw_title: RailsConf 2023 - Who Wants to be a Ruby Engineer? by Drew Bragg
+ speakers:
+ - Drew Bragg
+ 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.'
+ thumbnail_xs: https://i.ytimg.com/vi/4VT0aDEDd28/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/4VT0aDEDd28/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/4VT0aDEDd28/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/4VT0aDEDd28/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/4VT0aDEDd28/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 4VT0aDEDd28
+- title: Building an offline experience with a Rails-powered PWA
+ raw_title:
+ RailsConf 2023 - Building an offline experience with a Rails-powered
+ PWA by Alicia Rojas
+ speakers:
+ - Alicia Rojas
+ description:
+ Progressive web applications (PWAs) allow us to provide rich offline
+ experiences as native apps would, while still being easy to use and share, as
+ web apps are. Come to learn how to turn your regular Rails application into a
+ PWA, taking advantage of the new front-end tools that come with Rails by default
+ since version 7. Entry-level developers are welcome!
+ thumbnail_xs: https://i.ytimg.com/vi/4cQuxQdWkPE/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/4cQuxQdWkPE/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/4cQuxQdWkPE/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/4cQuxQdWkPE/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/4cQuxQdWkPE/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 4cQuxQdWkPE
+- title: Accessible by default
+ raw_title: RailsConf 2023 - Accessible by default by Joel Hawksley
+ speakers:
+ - Joel Hawksley
+ description:
+ It's one thing to build a new application that meets the latest accessibility
+ standards, but it's another thing to update an existing application to meet them.
+ In this talk, we'll share how we're using automated accessibility scanning, preview-driven
+ development, and an accessibility-first form builder to make GitHub's 15-year-old,
+ 1,400-controller Ruby on Rails monolith accessible.
+ thumbnail_xs: https://i.ytimg.com/vi/4j2zlvE_Yj8/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/4j2zlvE_Yj8/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/4j2zlvE_Yj8/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/4j2zlvE_Yj8/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/4j2zlvE_Yj8/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 4j2zlvE_Yj8
+- title: ActiveRecord::Encryption; Stop Hackers from Reading your Data
+ raw_title:
+ RailsConf 2023 - ActiveRecord::Encryption; Stop Hackers from... by Matthew
+ Langlois, Kylie Stradley
+ speakers:
+ - Matthew Langlois
+ - Kylie Stradley
+ description: |-
+ ActiveRecord::Encryption; Stop Hackers from Reading your Data by Matthew Langlois, Kylie Stradley
+
+ Have you ever wondered how to encrypt data in your Rails application but weren’t sure where to get started? We’ll briefly talk about why you would want to encrypt data, and then discuss how you can get started with encrypting columns in your Rails application including pitfalls and successes we encountered while implementing ActiveRecord::Encryption at GitHub. Attendees will be confident in making a decision to implement ActiveRecord::Encryption in their application.
+ thumbnail_xs: https://i.ytimg.com/vi/4mZNP_Dgi2w/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/4mZNP_Dgi2w/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/4mZNP_Dgi2w/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/4mZNP_Dgi2w/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/4mZNP_Dgi2w/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 4mZNP_Dgi2w
+- title: Applying microservices patterns to a modular monolith
+ raw_title:
+ RailsConf 2023 - Applying microservices patterns to a modular monolith
+ by Guillermo Aguirre
+ speakers:
+ - Guillermo Aguirre
+ description: |-
+ Dealing with legacy monoliths can be challenging due to accumulated technical debt. When faced with this situation, we usually start looking at different strategies to solve this, like microservices, engines, and modularization, just to name a few.
+
+ When choosing to follow a modular approach, I explored applying microservices patterns to our modular monolith. In this talk, I’ll share my experience in adopting this approach, focusing on ensuring data consistency and distributed transactions, as well as the pitfalls and insights I discovered along the way.
+ thumbnail_xs: https://i.ytimg.com/vi/4zrQAJ0RlI4/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/4zrQAJ0RlI4/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/4zrQAJ0RlI4/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/4zrQAJ0RlI4/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/4zrQAJ0RlI4/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 4zrQAJ0RlI4
+- title: "Bridging the Gap: Creating Trust Between Non-Technical Stakeholders and Engineering Teams"
+ raw_title:
+ "RailsConf 2023 - Bridging the Gap: Creating Trust Between Non-Technical...
+ by Kevin Gorham"
+ speakers:
+ - Kevin Gorham
+ description: |-
+ Bridging the Gap: Creating Trust Between Non-Technical Stakeholders and Engineering Teams by Kevin Gorham
+
+ In this talk, we'll explore how to build trust between non-technical stakeholders and engineering teams, using data and analysis to effectively communicate progress. We'll discuss practical tactics for leveraging the Pivotal Tracker API and Google Apps Scripts to extract relevant metrics, analyze data, and provide insightful analysis, as well as how to communicate that information. Join us to learn how to build trust, and how it can improve project success and create better outcomes for all parties involved.
+ thumbnail_xs: https://i.ytimg.com/vi/5gSRKyuO7qY/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/5gSRKyuO7qY/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/5gSRKyuO7qY/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/5gSRKyuO7qY/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/5gSRKyuO7qY/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 5gSRKyuO7qY
+- title: "Forecasting the Future: An Introduction to Machine Learning for Weather Prediction"
+ raw_title:
+ "RailsConf 2023 - Forecasting the Future: An Introduction to Machine
+ Learning for... by Landon Gray"
+ speakers:
+ - Landon Gray
+ description: |-
+ Forecasting the Future: An Introduction to Machine Learning for Weather Prediction in Native Ruby by Landon Gray
+
+ Have you ever considered building a machine learning model in Ruby? It may surprise you to learn that you can train, build, and deploy ML models in Ruby. But what are the benefits of using Ruby over other languages?
+
+ One of the biggest advantages of using Ruby for machine learning is accessibility. You're no longer limited to specific languages or tools when exploring AI and ML concepts. It's time for Rubyists to dive into the world of machine learning! -
+
+ In this talk, we'll build a model that predicts the weather and explore the tools and libraries available for your own native Ruby Machine Learning projects.
+
+ Whether you're a seasoned Rubyist or just starting out, don't miss this opportunity to discover the possibilities of machine learning in Ruby.
+ thumbnail_xs: https://i.ytimg.com/vi/656z7Hu0HtY/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/656z7Hu0HtY/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/656z7Hu0HtY/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/656z7Hu0HtY/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/656z7Hu0HtY/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 656z7Hu0HtY
+- title: The End of Legacy Code
+ raw_title: RailsConf 2023 - The End of Legacy Code by Daniel Huss
+ speakers:
+ - Daniel Huss
+ description:
+ "Legacy code. Did you just shiver with dread? \n\nWe know it when we
+ see it, but we don't know how it got there, or why it looks like... this. \n\nWhat
+ if we could change our relationship with legacy code, and shed the weight the
+ name brings with it? What if legacy code disappeared? \n\nThrow away everything
+ you've ever learned, embrace the mindset of Eternal Onboarding, and watch as our
+ problems with \"Legacy Code\" melt away."
+ thumbnail_xs: https://i.ytimg.com/vi/6msn5oGT7Q8/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/6msn5oGT7Q8/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/6msn5oGT7Q8/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/6msn5oGT7Q8/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/6msn5oGT7Q8/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 6msn5oGT7Q8
+- title: Demystifying the Unionizing Process
+ raw_title: RailsConf 2023 - Demystifying the Unionizing Process by Colin Fleming
+ speakers:
+ - Colin Fleming
+ description:
+ Unionization has come up among workers at both the largest and smallest
+ companies in the USA, especially post-pandemic. In this talk, we'll talk about
+ why workplaces decide to unionize or not, learn more about the actual process,
+ and think about what this means for software developers in particular.
+ thumbnail_xs: https://i.ytimg.com/vi/8qSmTXFG2Pc/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/8qSmTXFG2Pc/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/8qSmTXFG2Pc/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/8qSmTXFG2Pc/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/8qSmTXFG2Pc/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 8qSmTXFG2Pc
+- title: How to Upstream Your Code to Rails
+ raw_title: RailsConf 2023 - How to Upstream Your Code to Rails by Hartley McGuire
+ speakers:
+ - Hartley McGuire
+ description:
+ Contributing to Rails for the first time can be intimidating! What
+ makes a good contribution? What does the review process look like? Why should
+ I even bother in the first place? In this talk, we will answer all of these questions
+ and more as we learn about contributing to the Rails framework. We will follow
+ along with a real story of upstreaming a new feature, and learning about the hurdles
+ encountered along the way, both expected and unexpected.
+ thumbnail_xs: https://i.ytimg.com/vi/Ai64DuHt4CU/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/Ai64DuHt4CU/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/Ai64DuHt4CU/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/Ai64DuHt4CU/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/Ai64DuHt4CU/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: Ai64DuHt4CU
+- title: A custom design pattern for building dynamic ActiveRecord queries
+ raw_title:
+ RailsConf 2023 - A custom design pattern for building dynamic ActiveRecord
+ queries by Justin Daniel
+ speakers:
+ - Justin Daniel
+ description:
+ "The pain is familiar to long-time developers of enterprise Rails applications.
+ Database queries through ActiveRecord are an essential part of our application.
+ And making these queries performant, dynamic, and readable is hard. \n\nWe can
+ solve the above problems. With the right abstractions we can write code that composes
+ queries that are performant, dynamic, and readable. Our approach uses a domain
+ specific language built on top of ActiveRecord that you can adapt to your own
+ application. We do not need a whole new library or framework. We just need query
+ objects and builders."
+ thumbnail_xs: https://i.ytimg.com/vi/CWqISNM1RfY/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/CWqISNM1RfY/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/CWqISNM1RfY/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/CWqISNM1RfY/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/CWqISNM1RfY/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: CWqISNM1RfY
+- title: A Picture Is Worth a 1000 Lines of Code
+ raw_title: RailsConf 2023 - A Picture Is Worth a 1000 Lines of Code by Rich Steinmetz
+ speakers:
+ - Rich Steinmetz
+ description: |-
+ Let me show you how I turned my "two left hands" into eight superpower tentacles, going from "I can't draw" to visualizing more and less abstract concepts all over the internet.
+
+ A simple visual framework can let you do the same rather quickly because this is what your brain is wired to do: process and generate images.
+
+ The coding education industry and workplace communication mainly consist of simplified code examples, boring text walls, and sometimes never-ending speeches from the loudest people in meetings.
+
+ All it takes to make abstract concepts visible is identifying your visual thinking type and empowering yourself with a reproducible process to make your communication more understandable, memorable, unique, collaborative, and fun.
+ thumbnail_xs: https://i.ytimg.com/vi/ChsqAlhnjsI/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/ChsqAlhnjsI/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/ChsqAlhnjsI/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/ChsqAlhnjsI/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/ChsqAlhnjsI/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: ChsqAlhnjsI
+- title: "Rails on Ruby: How Ruby Makes Rails Great"
+ raw_title: "RailsConf 2023 - Rails on Ruby: How Ruby Makes Rails Great by Noel Rappin"
+ speakers:
+ - Noel Rappin
+ description:
+ Ruby puts the Ruby in “Ruby on Rails”! It’s the Ruby language that
+ makes Rails flexible, powerful, and with a developer-friendly API. How does Rails
+ take advantage of Ruby’s flexibility and metaprogramming to make it so useful?
+ And how can you take advantage of those features in your Rails app? We’ll go over
+ a few specific Ruby features, like how Rails uses Modules, or `define_method`
+ or `instance_eval`. You’ll be able to use these features to make your app as powerful
+ as Rails itself.
+ thumbnail_xs: https://i.ytimg.com/vi/EBFWAGkIFZM/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/EBFWAGkIFZM/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/EBFWAGkIFZM/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/EBFWAGkIFZM/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/EBFWAGkIFZM/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: EBFWAGkIFZM
+- title: "Keynote: Aaron Patterson"
+ raw_title: "RailsConf 2023 - Keynote: Aaron Patterson"
+ speakers:
+ - "Aaron Patterson"
+ description: "Keynote: Aaron Patterson"
+ thumbnail_xs: https://i.ytimg.com/vi/LcDNedD-8mU/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/LcDNedD-8mU/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/LcDNedD-8mU/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/LcDNedD-8mU/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/LcDNedD-8mU/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: LcDNedD-8mU
+- title: How Rails fosters a diverse and competitive tech ecosystem in the era of big tech
+ raw_title:
+ RailsConf 2023 - How Rails fosters a diverse and competitive tech ecosystem
+ in... by Jordan Trevino
+ speakers:
+ - Jordan Trevino
+ description: |-
+ How Rails fosters a diverse and competitive tech ecosystem in the era of big tech by Jordan Trevino
+
+ Join us for a discussion on how Rails technology patterns and practices help foster a more diverse and competitive tech ecosystem amidst the proliferation of patterns popularized by big tech. We develop an economic and organizational critique of such approaches as microservices and single-page apps.
+ thumbnail_xs: https://i.ytimg.com/vi/Lo1rn0XCSDw/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/Lo1rn0XCSDw/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/Lo1rn0XCSDw/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/Lo1rn0XCSDw/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/Lo1rn0XCSDw/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: Lo1rn0XCSDw
+- title: An imposter's guide to growth in engineering
+ raw_title:
+ RailsConf 2023 - An imposter's guide to growth in engineering by Ebun
+ Segun
+ speakers:
+ - Ebun Segun
+ description:
+ This session will explore the imposter syndrome that hits mid to upper
+ level engineers when thrust into a new project, show how this can be useful for
+ moving to the growth zone, and walk through practical steps to apply when facing
+ imposter syndrome.
+ thumbnail_xs: https://i.ytimg.com/vi/MH8j1_uthhk/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/MH8j1_uthhk/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/MH8j1_uthhk/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/MH8j1_uthhk/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/MH8j1_uthhk/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: MH8j1_uthhk
+- title: "Rails Performance Monitoring 101: A Primer for Junior Developers"
+ raw_title:
+ "RailsConf 2023 - Rails Performance Monitoring 101: A Primer for Junior
+ Developers by Rishi Jain"
+ speakers:
+ - Rishi Jain
+ description: |-
+ Congratulations! You are fresh off your Rails boot camp and you just got hired by a startup that just went viral. Your first task is to figure out why their Rails application is slow. Now what?
+
+ This talk will give you the tools you need to quickly find what's wrong in your application. You will learn a top-down approach for triaging performance issues and scaling your hot Rails app.
+ thumbnail_xs: https://i.ytimg.com/vi/OF5YhG-91ao/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/OF5YhG-91ao/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/OF5YhG-91ao/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/OF5YhG-91ao/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/OF5YhG-91ao/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: OF5YhG-91ao
+- title:
+ "Beyond CRUD: the PostgreSQL techniques your Rails app is missing. Shayon
+ Mukherjee"
+ raw_title:
+ "RailsConf 2023 - Beyond CRUD: the PostgreSQL techniques your Rails app
+ is missing. Shayon Mukherjee"
+ speakers:
+ - Shayon Mukherjee
+ description:
+ "Being part of gnarly production outages isn’t uncommon. In this talk,
+ I will share short entertaining stories about a few head scratching production
+ outages we faced and how we used efficient and simple PostgreSQL features in Rails
+ to build scalable solutions. \n\nI will also discuss how and when to use certain
+ PostgreSQL concepts in Rails, such as optimistic and pessimistic locking, using
+ real-life examples that power core customer features.\n\nFinally, I will discuss
+ uses of Postgres mutex to manage concurrent access to shared resources and wrap
+ up by sharing our own experiences and lessons from other production outages. This
+ will help you avoid common operational pitfalls and improve your application's
+ reliability and query patterns."
+ thumbnail_xs: https://i.ytimg.com/vi/OQUTBLhP2QI/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/OQUTBLhP2QI/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/OQUTBLhP2QI/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/OQUTBLhP2QI/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/OQUTBLhP2QI/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: OQUTBLhP2QI
+- title: "Faster websites: integrating next-gen images in your Rails apps"
+ raw_title:
+ "RailsConf 2023 - Faster websites: integrating next-gen images in your...
+ by JP Balarini"
+ speakers:
+ - JP Balarini
+ description:
+ "Faster and cheaper websites: integrating next-gen images in your Rails
+ apps by JP Balarini \n\nDid you know loading images accounts for nearly 50% of
+ your website’s total load time? Also, every additional second of load time results
+ in a 5% decrease in conversion rates, which directly impacts your business. What
+ if I told you there’s a simple way to decrease loading time?\n\nThis talk will
+ explore the latest and most effective options for web images that significantly
+ reduce website size without compromising quality. We’ll discuss how using next-gen
+ images can significantly impact website loading times, user conversion, and SEO.
+ \n\nWe’ll also go through the different challenges that I faced while integrating
+ next-gen images into a Rails project and how I solved them. A new gem will be
+ presented that streamlines the process of using WebP images with Ruby on Rails."
+ thumbnail_xs: https://i.ytimg.com/vi/Pdnpen6jPDM/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/Pdnpen6jPDM/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/Pdnpen6jPDM/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/Pdnpen6jPDM/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/Pdnpen6jPDM/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: Pdnpen6jPDM
+- title: Hotwiring My React Brain
+ raw_title: RailsConf 2023 - Hotwiring My React Brain by Aji Slater
+ speakers:
+ - Aji Slater
+ description:
+ "Hi. Have you been writing Rails API-mode json backends for React front
+ ends for the last few years? Me too. \n\nHave you been daydreaming about the days
+ when you could just write a view template and render some html server-side? Me
+ too. \n\nHave you been wondering if it's possible to have rich, snappy UIs with
+ only Rails, and very little js? Me too. \n\nAre you now working on a fully Hotwire
+ and Turbo app, having to re-learn everything you've grown comfortable with in
+ front-end development? Me.. huh? no? \n\nWell come along and I'll show you how
+ I re-implemented my conception of the client side with Rails' Hotwire view layer."
+ thumbnail_xs: https://i.ytimg.com/vi/PvAf3vZp1b8/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/PvAf3vZp1b8/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/PvAf3vZp1b8/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/PvAf3vZp1b8/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/PvAf3vZp1b8/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: PvAf3vZp1b8
+- title: Let's Standardize Rails, Once and For All!
+ raw_title:
+ RailsConf 2023 - Let's Standardize Rails, Once and For All! by Justin
+ Searls, Meagan Waller
+ speakers:
+ - Justin Searls
+ - Meagan Waller
+ description: |-
+ Four years ago, I arbitrarily configured every RuboCop rule and published it as a gem called "standard". 135 releases later, feedback from the community has gradually transformed Standard into a linter & formatter ruleset that most Rubyists can get behind. Today, Standard is delivering on its promise: helping teams stay focused on their work instead of arguing over syntax.
+
+ The time has come to once again configure the unconfigurable by creating a standard-rails based on rubocop-rails. But this time, we'll skip the years of debating rules on GitHub. Instead, we're holding a community straw poll at RailsConf!
+
+ Join us for a town hall-style event where we'll review what each rubocop-rails rule does, hear its pros and cons, and put it to a vote. We'll enshrine the consensus picks in the first public release of standard-rails. By showing up, you'll not only be establishing conventions to promote safe and consistent code, you'll be sharpening the focus of Rails developers around the world!
+ thumbnail_xs: https://i.ytimg.com/vi/QVilOzkLdlI/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/QVilOzkLdlI/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/QVilOzkLdlI/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/QVilOzkLdlI/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/QVilOzkLdlI/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: QVilOzkLdlI
+- title: Building a world class engineering organization — learning from cave
+ paintings and horsey land art
+ raw_title:
+ RailsConf 2023 - Building a world class engineering organization — learning
+ from... by Shane Becker
+ speakers:
+ - Shane Becker
+ description:
+ "Building a world class engineering organization — learning from cave
+ paintings and horsey land art by Shane Becker\n\nHuman built things survive for
+ a Very Long Time™ by one of two ways: materials or maintenance. \n\nWhat we can
+ learn from Stonehenge, Lascaux cave paintings, Brewarrina Aboriginal Fish Traps,
+ the White Horse of Uffington, Iranian windmills, and Japanese Shinto shrines?\n\nIf
+ we knew for certain that our Rails apps would be in use in ten years (or a hundred!),
+ what would future us wish that we would've done now to build a better future?"
+ thumbnail_xs: https://i.ytimg.com/vi/R7JqiVPuKD8/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/R7JqiVPuKD8/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/R7JqiVPuKD8/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/R7JqiVPuKD8/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/R7JqiVPuKD8/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: R7JqiVPuKD8
+- title: "Terms of Deployment: The Process of Evaluating Hatchbox, Fly and Render for Developers"
+ raw_title:
+ "RailsConf 2023 - Terms of Deployment: The Process of Evaluating Hatchbox,
+ Fly and... by Jordan Burke"
+ speakers:
+ - Jordan Burke
+ description: |-
+ Terms of Deployment: The Process of Evaluating Hatchbox, Fly, and Render for Developers by Jordan Burke
+
+ Heroku has long been the mainstay deployment platform for Rails developers and agencies, but with several new options for hosting out there, is it still the best solution? We take a quick look at how we evaluated switching some of our clients’ applications to Hatchbox.io, Render, and fly.io. how we made those decisions, and how we will make those determinations in the future.
+ thumbnail_xs: https://i.ytimg.com/vi/RHv7hJGOUr0/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/RHv7hJGOUr0/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/RHv7hJGOUr0/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/RHv7hJGOUr0/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/RHv7hJGOUr0/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: RHv7hJGOUr0
+- title: "Deep End Diving: Getting Up to Speed on New Codebases"
+ raw_title:
+ "RailsConf 2023 - Deep End Diving: Getting Up to Speed on New Codebases
+ by Allison Hill"
+ speakers:
+ - Allison Hill
+ description:
+ One of the beautiful things about software engineering is that we’re
+ always learning. At all career stages, there are always new gems, open source
+ tools, and company-specific tech stacks to get up to speed on. It can be overwhelming
+ sometimes! The good news is that there are concrete strategies you can use to
+ make plunging into a new project an exciting rush (rather than a panic-inducing
+ nightmare). With a little bit of focus put into the right areas, you can help
+ every new team member- from the most junior dev to top dog seniors- jump in and
+ contribute faster.
+ thumbnail_xs: https://i.ytimg.com/vi/RxgHgzByNPs/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/RxgHgzByNPs/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/RxgHgzByNPs/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/RxgHgzByNPs/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/RxgHgzByNPs/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: RxgHgzByNPs
+- title: Exploring the Power of Turbo Streams and ActionCable
+ raw_title:
+ RailsConf 2023 - Exploring the Power of Turbo Streams and ActionCable
+ by Kevin Liebholz
+ speakers:
+ - Kevin Liebholz
+ description:
+ Dive into the world of Turbo Streams and ActionCable with the Dragon
+ Rider Eragon and his majestic dragon, Saphira, as we build a real-time tic-tac-toe
+ game. We will utilize Turbo Stream broadcasting and ActionCable customization
+ to create the game for our heroes, adding constraints of rising difficulty one
+ after the other. Are you an advanced coder? Or are you a beginner? As long as
+ you are looking to explore new applications of Hotwire’s Turbo or simply learn
+ about it, we’re a match!
+ thumbnail_xs: https://i.ytimg.com/vi/S--B3BGIk3M/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/S--B3BGIk3M/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/S--B3BGIk3M/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/S--B3BGIk3M/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/S--B3BGIk3M/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: S--B3BGIk3M
+- title: Hacking Your Emotional API
+ raw_title: RailsConf 2023 - Hacking Your Emotional API by John Sawers
+ speakers:
+ - John Sawers
+ description: |-
+ Feelings are messy and uncomfortable, so why can't we just ignore them? Because emotional skills are critical for working well on a team, and for the quality of our work.
+
+ In this talk you’ll learn how emotions are affecting you by modeling them as an API and looking at the code.
+
+ I cover how poor handling of emotions impacts cognition, memory, and communication.
+
+ Then I dive into my toolkit for handling emotions, full of practical advice and new ways of thinking.
+ thumbnail_xs: https://i.ytimg.com/vi/UftGecVyvSk/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/UftGecVyvSk/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/UftGecVyvSk/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/UftGecVyvSk/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/UftGecVyvSk/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: UftGecVyvSk
+- title: Building a more effective, bidirectional mentor-mentee relationship
+ raw_title:
+ RailsConf 2023 - Building a more effective, bidirectional mentor-...
+ by Andy Andrea, William Frey
+ speakers:
+ - Andy Andrea
+ - William Frey
+ description: |-
+ Building a more effective, bidirectional mentor-mentee relationship by Andy Andrea, William Frey
+
+ Mentorship is such a key part of our industry that most of us will act as both mentor and mentee many times over the course of our careers. However, unlike our other important skills that get honed through processes like code review or retrospectives, there are often few mechanisms to help us grow as mentors and mentees.
+
+ We’ll cover common problems that occur as both a mentee and mentor and cover strategies, skills and concepts for how to deal with them that originate not only from our own experiences but from research in the fields of education, psychology and business. We’ll cover concepts that won’t only build your skills but improve the value you get from being a mentor or mentee and show you how to make an evidence-backed business case for expanding mentorship at your place of work.
+ thumbnail_xs: https://i.ytimg.com/vi/Uv2I3ECnzuY/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/Uv2I3ECnzuY/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/Uv2I3ECnzuY/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/Uv2I3ECnzuY/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/Uv2I3ECnzuY/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: Uv2I3ECnzuY
+- title: 10x your teamwork through pair programming
+ raw_title:
+ RailsConf 2023 - 10x your teamwork through pair programming by Michael
+ Milewski, Selena Small
+ speakers:
+ - Michael Milewski
+ - Selena Small
+ description:
+ A roller coaster journey of how to get the most out of pair programming.
+ Live on stage acting out highs, lows, do’s and don’ts of pair programming. Laughs
+ and tears are guaranteed as the audience connect on the difficulties and ultimately
+ the rewards that can be reaped through effective pairing.
+ thumbnail_xs: https://i.ytimg.com/vi/W8y0odUwks8/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/W8y0odUwks8/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/W8y0odUwks8/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/W8y0odUwks8/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/W8y0odUwks8/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: W8y0odUwks8
+- title: "Keynote: Investing in the Ruby community"
+ raw_title:
+ "RailsConf 2023 - Keynote: Investing in the Ruby community by Rafael
+ Mendonça França"
+ speakers:
+ - Rafael Mendonça França
+ description:
+ This is a tale of how a developer's passion for Ruby lead them to assist
+ companies make investments in the Ruby community. Come and watch a captivating
+ love story featuring gems, train tracks and ice cream.
+ thumbnail_xs: https://i.ytimg.com/vi/XohX3nlVIdc/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/XohX3nlVIdc/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/XohX3nlVIdc/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/XohX3nlVIdc/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/XohX3nlVIdc/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: XohX3nlVIdc
+- title: Using Rails Engines to Supercharge Your Team
+ raw_title:
+ RailsConf 2023 - Using Rails Engines to Supercharge Your Team by Austin
+ Story
+ speakers:
+ - Austin Story
+ description: |-
+ Rails engines are self-contained modules that can be used inside of a larger Ruby on Rails application to encapsulate complex functionality and expose it with a tight, well defined API.
+
+ When implemented properly on the right domains, they can give your team a major speed boost.
+
+ In this talk we will break down how Doximity used a Rails engine as a key ingredient to successfully rollout GraphQL Federation to our organizations.
+ thumbnail_xs: https://i.ytimg.com/vi/ZE9dKoBIr48/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/ZE9dKoBIr48/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/ZE9dKoBIr48/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/ZE9dKoBIr48/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/ZE9dKoBIr48/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: ZE9dKoBIr48
+- title: Go Passwordless with WebAuthn in Ruby
+ raw_title: RailsConf 2023 - Go Passwordless with WebAuthn in Ruby by Braulio Martinez
+ speakers:
+ - Braulio Martinez
+ description:
+ "Nowadays, passwords are still our most common authentication method.
+ However, they are not secure enough and have terrible UX. \n\nTherefore, big industry
+ players in the FIDO Alliance like Google, Mozilla, Apple, Amazon (among others)
+ collaborated together to find a solution. WebAuthn was born and eventually became
+ a W3C standard enabling users to authenticate on the web using public-key cryptography
+ together with biometrics.\n\nThis talk will allow you to learn what WebAuthn is
+ and how it works. You’ll also see how any Ruby app can easily get the level of
+ authentication security and UX users deserve."
+ thumbnail_xs: https://i.ytimg.com/vi/ZsGphXQ9kfw/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/ZsGphXQ9kfw/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/ZsGphXQ9kfw/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/ZsGphXQ9kfw/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/ZsGphXQ9kfw/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: ZsGphXQ9kfw
+- title: Strategies for saying no
+ raw_title: RailsConf 2023 - Strategies for saying no by Elle Meredith
+ speakers:
+ - Elle Meredith
+ description:
+ You have been working hard to meet a deadline and then you receive
+ an email from your boss, asking you to take on a new project. You're at capacity
+ with your time, resources, and focus, but you still feel obliged to say "yes".
+ This scenario is common for most of us. We don't want to say "no" because we don't
+ want to disappoint people or let them down. This is even a bigger problem when
+ you start leading people. Saying no enables you to focus on what's important and
+ prevent burnout. In this talk, you will take away tools and strategies to become
+ more confident around saying no.
+ thumbnail_xs: https://i.ytimg.com/vi/_2zWwwjnuUA/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/_2zWwwjnuUA/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/_2zWwwjnuUA/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/_2zWwwjnuUA/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/_2zWwwjnuUA/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: _2zWwwjnuUA
+- title: Building Ruby Head for your Rails App
+ raw_title: RailsConf 2023 - Building Ruby Head for your Rails App by Maple Ong
+ speakers:
+ - Maple Ong
+ description:
+ "Tired of upgrading to the latest Ruby version every new year? Just
+ have the latest Ruby version already running! Ruby head is the latest commit to
+ the main branch of Ruby on Github. It’s dangerous to run our Rails app on Ruby
+ head, but we can run Ruby head on application tests. \n\nWe'll build Ruby head
+ on a Docker image and run it with tests on Buildkite. Along the way, we'll learn
+ about using Docker, jemalloc (an an alternate malloc implementation) and why it's
+ important to your team and the Ruby community to do this work."
+ thumbnail_xs: https://i.ytimg.com/vi/bLTqSh3Jon0/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/bLTqSh3Jon0/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/bLTqSh3Jon0/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/bLTqSh3Jon0/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/bLTqSh3Jon0/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: bLTqSh3Jon0
+- title: "Breaking the Grind: Crafting Your Ideal Software Engineering Career Build"
+ raw_title:
+ "RailsConf 2023 - Breaking the Grind: Crafting Your Ideal Software Engineering...
+ by Ole Michaelis"
+ speakers:
+ - Ole Michaelis
+ description: |-
+ Breaking the Grind: Crafting Your Ideal Software Engineering Career Build by Ole Michaelis
+
+ Explore the world of software engineering skills through the lens of role-playing games to find the most effective builds for advancing your career. This talk metaphorically approaches (MMO)RPG skill trees by looking at different career paths in software engineering, unlocking new skills, and leveling up existing ones to branch out into new areas of expertise. We'll examine a variety of paths — including programming paradigms, software delivery, organizational development, and team management. LFG for adventure, and uncover the vast possibilities of building a career as a software engineer!
+ thumbnail_xs: https://i.ytimg.com/vi/bhagIbz3T0A/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/bhagIbz3T0A/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/bhagIbz3T0A/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/bhagIbz3T0A/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/bhagIbz3T0A/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: bhagIbz3T0A
+- title: A pragmatic and simple approach to fixing a memory leak
+ raw_title:
+ RailsConf 2023 - A pragmatic and simple approach to fixing a memory leak
+ by Vincent Rolea
+ speakers:
+ - Vincent Rolea
+ description:
+ "Memory leaks do not come by often in modern Rails applications. But
+ when they do, the road to a fix can be tortuous: it often requires extensive knowledge
+ of memory management in Ruby, experience on profiling tools as well as properly
+ setup application monitoring. \n\nAs a developer working on Product, one does
+ not always have the bandwidth to learn about the subject, and setup custom tools:
+ project deadlines could be nearing, or your expertise needed on a shiny new project
+ that just came in. In this talk, I’ll walk you through a real memory leak issue
+ we encountered on one of our background worker, and how we fixed it with no custom
+ tooling using simple technics."
+ thumbnail_xs: https://i.ytimg.com/vi/bvdWPGQ8cEA/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/bvdWPGQ8cEA/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/bvdWPGQ8cEA/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/bvdWPGQ8cEA/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/bvdWPGQ8cEA/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: bvdWPGQ8cEA
+- title: Don’t be afraid of the scary red error messages; they’re actually our friends
+ raw_title:
+ RailsConf 2023 - Don’t be afraid of the scary red error messages;...
+ by Shana Moore, Kait Sewell
+ speakers:
+ - Shana Moore
+ - Kait Sewell
+ description: |-
+ Don’t be afraid of the scary red error messages; they’re actually our friends. by Shana Moore, Kait Sewell
+
+ How to use failures, errors and tests to enhance understanding and deliver quality code to clients. By not restricting ourselves to always perform perfectly we give ourselves the ability to discover new solutions. In this beginner-friendly talk we’ll walk through our missteps with light hearted reflection and share how to make a habit of growing from failure. Additionally, we hope to help the audience walk away with an actionable framework for handling the errors they'll encounter along the way.
+ thumbnail_xs: https://i.ytimg.com/vi/eS7OMjZaGoQ/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/eS7OMjZaGoQ/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/eS7OMjZaGoQ/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/eS7OMjZaGoQ/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/eS7OMjZaGoQ/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: eS7OMjZaGoQ
+- title: Rails as a piece of birthday cake
+ raw_title: RailsConf 2023 - Rails as a piece of birthday cake by Vladimir Dementyev
+ speakers:
+ - Vladimir Dementyev
+ description:
+ "Ruby on Rails as a framework follows the Model-View-Controller design
+ pattern. Three core elements, like the number of layers in a traditional birthday
+ cake, are enough to “cook” web applications. However, on the long haul, the Rails
+ cake often resembles a crumble cake with the layers smeared and crumb-bugs all
+ around the kitchen-codebase.\n \nSimilarly to birthday cakes, adding new layers
+ is easier to do and maintain as the application grows than increasing the existing
+ layers in size.\n \nHow to extract from or add new layers to a Rails application?
+ What considerations should be taken into account? Why is rainbow cake the king
+ of layered cakes? Join my talk to learn about the layering Rails approach to keep
+ applications healthy and maintainable."
+ thumbnail_xs: https://i.ytimg.com/vi/fANjY7Hn_ig/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/fANjY7Hn_ig/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/fANjY7Hn_ig/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/fANjY7Hn_ig/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/fANjY7Hn_ig/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: fANjY7Hn_ig
+- title: "Keynote: Leading through Change - When two cultures combine"
+ raw_title:
+ "RailsConf 2023 - Keynote: Leading through Change - When two cultures
+ combine by Shani Boston"
+ speakers:
+ - Shani Boston
+ description:
+ "Keynote: Leading through Change - When two cultures combine by Shani
+ Boston"
+ thumbnail_xs: https://i.ytimg.com/vi/hYFdPM3dUbk/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/hYFdPM3dUbk/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/hYFdPM3dUbk/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/hYFdPM3dUbk/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/hYFdPM3dUbk/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: hYFdPM3dUbk
+- title: Off to the races
+ raw_title: RailsConf 2023 - Off to the races by Kyle d'Oliveira
+ speakers:
+ - Kyle d'Oliveira
+ description:
+ Race conditions are a natural hazard whenever working with shared resources.
+ If you have multiple processes such as using a database, or a microservice architecture,
+ there are likely some race conditions that are hiding in your code. As usage scales
+ up, they will become more and more common. They are difficult to detect, challenging
+ to reproduce and test, and sometimes downright hard to prove that it is fixed.
+ In this talk, we will dive into what a race condition is, how it can show up in
+ Rails applications, and some strategies on how to test them to give confidence
+ that they are fixed.
+ thumbnail_xs: https://i.ytimg.com/vi/jEDX3yswrcM/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/jEDX3yswrcM/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/jEDX3yswrcM/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/jEDX3yswrcM/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/jEDX3yswrcM/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: jEDX3yswrcM
+- title: Lightning Talks
+ raw_title: RailsConf 2023 - Lightning Talks
+ speakers:
+ description:
+ A lightning talk is a short presentation (up to 5 mins) on your chosen
+ topic.
+ thumbnail_xs: https://i.ytimg.com/vi/k55B4ydueGE/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/k55B4ydueGE/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/k55B4ydueGE/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/k55B4ydueGE/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/k55B4ydueGE/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: k55B4ydueGE
+- title: Offsite planning for Everyone
+ raw_title: RailsConf 2023 - Offsite planning for Everyone by Allison McMillan
+ speakers:
+ - Allison McMillan
+ description:
+ Over the past couple of years, we’ve all needed to sharpen the tools
+ in our virtual toolbelt. More companies than ever are providing employees with
+ the opportunity to work remotely… but how can we keep those individuals connected
+ - to each other and to the mission of the company and their team? Effective in-person
+ offsites are challenging and now we’re working to achieve the same alignment,
+ engagements, and happiness for our employees virtually as well. It may seem impossible,
+ but it’s not! In this session, you’ll learn about how to plan an effective offsite
+ (in-person or remote) and what specific planning considerations can be made to
+ make your virtual offsite just as good, if not better, than an in-person one.
+ Skeptics welcome!!
+ thumbnail_xs: https://i.ytimg.com/vi/ofqnAOiRwOw/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/ofqnAOiRwOw/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/ofqnAOiRwOw/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/ofqnAOiRwOw/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/ofqnAOiRwOw/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: ofqnAOiRwOw
+- title: Migrating Shopify’s Core Rails Monolith to Trilogy
+ raw_title:
+ RailsConf 2023 - Migrating Shopify’s Core Rails Monolith to Trilogy by
+ Adrianna Chang
+ speakers:
+ - Adrianna Chang
+ description: |-
+ Trilogy is a client library for MySQL-compatible databases. It was open sourced along with an Active Record adapter by GitHub this past year. With promises of improved performance, better portability and compatibility, and fewer dependencies, Shopify’s Rails Infrastructure team decided to migrate our core Rails monolith from Mysql2 to Trilogy.
+
+ In this talk, we’ll embark on a journey with database clients, Active Record adapters, and open source contributions. We’ll learn about MySQL protocols, dig into how the Active Record adapter manages the Trilogy client under the hood, and look at some of the missing features we implemented as we moved from Mysql2 to Trilogy. Finally, we’ll discuss the end result of migrating to Trilogy, and the impact it had on Shopify’s monolith in production.
+ thumbnail_xs: https://i.ytimg.com/vi/tHiIhZPKClI/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/tHiIhZPKClI/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/tHiIhZPKClI/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/tHiIhZPKClI/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/tHiIhZPKClI/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: tHiIhZPKClI
+- title: A Ruby Community Podcast Live!
+ raw_title:
+ RailsConf 2023 - A Ruby Community Podcast Live! by Brittany Martin, Jason
+ Charnes & Paul Bahr
+ speakers:
+ - Brittany Martin
+ - Jason Charnes
+ - Paul Bahr
+ description: |-
+ Join Brittany Martin (The Ruby on Rails Podcast), Jason Charnes (Remote Ruby) and Paul Bahr (Peachtree Sound) as they interview guests from the community on a live podcast.
+
+ Guest #1: Aaron Patterson, Senior Staff Engineer at Shopify
+ Guest #2: Irina Nazarova, CEO of Evil Martians
+ Guest #3: Voted on by the community in an online poll
+ Guest #4: Voted on by the community live at this session
+
+ Audience questions and voting are welcome and encouraged!
+ thumbnail_xs: https://i.ytimg.com/vi/tNiqYktR8xo/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/tNiqYktR8xo/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/tNiqYktR8xo/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/tNiqYktR8xo/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/tNiqYktR8xo/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: tNiqYktR8xo
+- title: RailsConr 2023 - Forging Your Path to Senior Developer
+ raw_title: RailsConr 2023 - Forging Your Path to Senior Developer by Ifat Ribon
+ speakers:
+ - Ifat Ribon
+ description:
+ You've mastered syntax and conventions, your team trusts your code,
+ and you're working on more complicated features. On more challenging tasks, you
+ often pair with your team lead, a senior developer who seems to know everything.
+ You think to yourself, that's who I want to be, how do I get there? Fear not,
+ mid-developer, that senior developer you admire was once in your shoes! This talk
+ will illuminate the path you're on, providing you guidance on following those
+ footsteps, or trailblazing your own, to achieve your objective of becoming a senior
+ developer.
+ thumbnail_xs: https://i.ytimg.com/vi/v0OLIzH3UAc/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/v0OLIzH3UAc/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/v0OLIzH3UAc/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/v0OLIzH3UAc/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/v0OLIzH3UAc/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: v0OLIzH3UAc
+- title:
+ "Building Workplaces for Caregivers: Supporting Parents in Tech, Kinsey Durham
+ Grace"
+ raw_title:
+ "RailsConf 2023 - Building Workplaces for Caregivers: Supporting Parents
+ in Tech, Kinsey Durham Grace"
+ speakers:
+ - Kinsey Durham Grace
+ description:
+ We need to support parents in our organizations and ensure we keep
+ working parents happy and in the workplace. When parents are supported at work,
+ it’s better for them, their families and for our businesses. This talk walks through
+ the environment we are currently in and what tangible steps that we can all take
+ on our teams and for ourselves as parents in order to ensure that we are supported
+ in the workplace. The Rails community is always a leader in this space, so let’s
+ ensure our workplaces are the best that they can be.
+ thumbnail_xs: https://i.ytimg.com/vi/vMn4LGLNc4M/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/vMn4LGLNc4M/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/vMn4LGLNc4M/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/vMn4LGLNc4M/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/vMn4LGLNc4M/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: vMn4LGLNc4M
+- title: "Merged PRs: An Untapped Resource for Practice and Exploration"
+ raw_title:
+ "RailsConf 2023 - Merged PRs: An Untapped Resource for Practice and Exploration
+ by Thomas Countz"
+ speakers:
+ - Thomas Countz
+ description:
+ "Debugging is one of the most powerful and necessary tools in a developer's
+ toolkit, and what better way to hone our Rails debugging skills than by using
+ real-world examples from the Rails codebase itself? \n\nIn this talk, we'll explore
+ how using merged PRs from the Rails codebase can help improve your debugging skills,
+ increase your familiarity with the framework, and build your confidence in navigating
+ complex issues. By leveraging the wealth of knowledge and experience within the
+ Rails community, you'll come away from this talk with a newfound appreciation
+ for the power of collaboration and the importance of community-driven development."
+ thumbnail_xs: https://i.ytimg.com/vi/vdZbQHz4pfk/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/vdZbQHz4pfk/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/vdZbQHz4pfk/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/vdZbQHz4pfk/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/vdZbQHz4pfk/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: vdZbQHz4pfk
+- title: Teaching Capybara Testing - An Illustrated Adventure
+ raw_title:
+ RailsConf 2023 - Teaching Capybara Testing - An Illustrated Adventure
+ by Brandon Weaver
+ speakers:
+ - Brandon Weaver
+ description: |-
+ 100%! Red the lemur was so excited to have 100% test coverage, finally, after unit testing all of his Ruby code. With that, he was done, the code was tested, and he could call it a day.
+
+ That was until a magical Capybara entered through his window and asked a question that changed his perceptions forever more:
+
+ "But what about your end to end tests?"
+
+ ...and when he did, everything broke, and he was enlightened.
+
+ Join us on an illustrated adventure through the basics of end to end testing with Capybara.
+ thumbnail_xs: https://i.ytimg.com/vi/wWPxLJJlnmU/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/wWPxLJJlnmU/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/wWPxLJJlnmU/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/wWPxLJJlnmU/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/wWPxLJJlnmU/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: wWPxLJJlnmU
+- title: The Math Every Programmer Needs
+ raw_title: RailsConf 2023 - The Math Every Programmer Needs by Joël Quenneville
+ speakers:
+ - Joël Quenneville
+ description: |-
+ Leave your fear of math behind along with the equations and symbols, we're headed to Ruby-land! On this whirlwind tour, we’ll explore how to write better conditionals with Boolean algebra, figure out how many test cases we need with combinatorics, a mental model for breaking down large tasks with graph theory, and more.
+
+ You’ll leave this talk equipped to better do your job with some ideas, techniques, and mental models from the wonderfully practical world of discrete math.
+ thumbnail_xs: https://i.ytimg.com/vi/wzYYT40T8G8/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/wzYYT40T8G8/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/wzYYT40T8G8/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/wzYYT40T8G8/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/wzYYT40T8G8/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: wzYYT40T8G8
+- title: Zero downtime Rails upgrades
+ raw_title: RailsConf 2023 - Zero downtime Rails upgrades by Ali Ibrahim
+ speakers:
+ - Ali Ibrahim
+ description: |-
+ No one likes working on Rails upgrades, and who can blame them? They can be thankless, time-consuming, and—worst of all—unpredictable. How long will they take? When can we get back to feature work? What’ll break when they’re deployed? It’s tempting to say, “Let’s do it later,” but later is usually never. Instead of living in fear of the big, scary Rails upgrade, your team can set up systems for incremental change that let you:
+
+ * continue feature work
+ * deliver predictable results
+ * seamlessly jump into the next upgrade (because there’s always a next upgrade)
+
+ And I’m gonna show you how.
+
+ In the years since I’ve worked on upgrading Rails at GitHub, I’ve refined this approach to Rails upgrades and successfully implemented it at several organizations. In this talk, you’ll learn everything you need to burn down uncertainty and boldly go into your next Rails upgrade.
+ thumbnail_xs: https://i.ytimg.com/vi/zHK-quUz-5M/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/zHK-quUz-5M/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/zHK-quUz-5M/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/zHK-quUz-5M/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/zHK-quUz-5M/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: zHK-quUz-5M
+- title: Upgrading the Ruby Community
+ raw_title: RailsConf 2023 - Upgrading the Ruby Community by Pat Allan
+ speakers:
+ - Pat Allan
+ description:
+ From MINASWAN to Rails Camps, conference guides to Ruby Together, there’s
+ a long history of the Ruby community being wonderfully welcoming, thoughtful,
+ fun and supportive. Let’s make it even better, and discuss ways to have a persistent,
+ positive impact in the wider tech industry and beyond.
+ thumbnail_xs: https://i.ytimg.com/vi/10evYV5qT7c/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/10evYV5qT7c/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/10evYV5qT7c/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/10evYV5qT7c/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/10evYV5qT7c/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: 10evYV5qT7c
+- title: Managing the Burnout Burndown
+ raw_title: RailsConf 2023 - Managing the Burnout Burndown by Anjuan Simmons
+ speakers:
+ - Anjuan Simmons
+ description: |-
+ In addition to managing backlogs and burndown charts, technology leaders have to follow an ever-changing software landscape, manage team dynamics, and navigate office politics. It’s no surprise that this leads to burnout. This talk will provide tools to help manage stress and reduce burnout.
+
+ Developers are, almost by definition, highly capable and strongly driven individuals. These traits are indispensable to success in creating working code, but they are also the very traits that makes developers susceptible to burn out. People who can get things done often find themselves overwhelmed by their to-do lists.
+
+ This talk will combine the understanding from the trenches of Anjuan Simmons (who has been a developer and engineering manager for more than 20 years) with the academic understanding of his wife, Dr. Aneika Simmons. Together, they will provide a framework for reducing burnout and consistently keeping stress levels in a managed state.
+ thumbnail_xs: https://i.ytimg.com/vi/BDnWcZobdrA/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/BDnWcZobdrA/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/BDnWcZobdrA/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/BDnWcZobdrA/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/BDnWcZobdrA/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: BDnWcZobdrA
+- title: Taylor’s Guide to Big Rewrites
+ raw_title: RailsConf 2023 - Taylor’s Guide to Big Rewrites by Andy Croll
+ speakers:
+ - Andy Croll
+ description: |-
+ Taylorism, is a system of management advocated by Fred W. Taylor. The task of management, as he saw it, is to find the best way for the worker to do the job, with proper tools and training, and to provide incentives for good performance.
+
+ There are certain things you’re meant to do in software projects and business. And certain things you’re not. A big rewrite of your app is one of the things you aren’t meant to do.
+
+ Except that’s what we did with a team of 4 engineers, over an 18 month period, successfully migrating 2,500 customer’s data.
+
+ How can we apply the learnings of Taylor, to a massive application rewrite? What did we do and what can you learn when you’re faced with a wild and woolly project? What about our business practises as well as our code helped us make a success of one of software’s shibboleths?
+ thumbnail_xs: https://i.ytimg.com/vi/G1QbH2QZX08/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/G1QbH2QZX08/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/G1QbH2QZX08/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/G1QbH2QZX08/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/G1QbH2QZX08/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: G1QbH2QZX08
+- title: How We Implemented Internal Salary Transparency (And Why It Matters)
+ raw_title:
+ RailsConf 2023 - How We Implemented Internal Salary Transparency ...
+ by Hilary Stohs Krause
+ speakers:
+ - Hilary Stohs Krause
+ description:
+ "How We Implemented Internal Salary Transparency (And Why It Matters)
+ by \nHilary Stohs-Krause\n\nMoney can be a prickly topic in the workplace, but
+ data shows it’s a conversation that many employees actively want started. Salary
+ transparency increases trust and job satisfaction, but getting there is easier
+ said than done. Here’s how we took the plunge, and what we learned along the way."
+ thumbnail_xs: https://i.ytimg.com/vi/MfGRm8Dm68g/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/MfGRm8Dm68g/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/MfGRm8Dm68g/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/MfGRm8Dm68g/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/MfGRm8Dm68g/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: MfGRm8Dm68g
+- title: Keynote
+ raw_title: RailsConf 2023 - Keynote by Eileen Uchitelle
+ speakers:
+ - Eileen Uchitelle
+ description: Keynote by Eileen Uchitelle
+ thumbnail_xs: https://i.ytimg.com/vi/TKulocPqV38/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/TKulocPqV38/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/TKulocPqV38/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/TKulocPqV38/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/TKulocPqV38/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: TKulocPqV38
+- title: "Keynote: The Power of Improv: Unlocking Your Creative Potential as a.."
+ raw_title:
+ "RailsConf 2023 - Keynote: The Power of Improv: Unlocking Your Creative
+ Potential as a.. by Gary Ware"
+ speakers:
+ - Gary Ware
+ description: |-
+ Keynote: The Power of Improv: Unlocking Your Creative Potential as a Developer by Gary Ware
+
+ This interactive keynote will explore how improvisation can help you maximize your strengths as a developer. We'll discuss the key elements of improvisation and how they can be used in your day to day life. We will also do a few quick activities to allow you to practice in real time in a low-stakes environment. By the end of this session, you will have gained valuable insight into how embracing an improvisational mindset can supercharge your ability to be more creative, collaborate with others, and get more enjoyment from your career.
+ thumbnail_xs: https://i.ytimg.com/vi/g6wrSpFFgmQ/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/g6wrSpFFgmQ/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/g6wrSpFFgmQ/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/g6wrSpFFgmQ/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/g6wrSpFFgmQ/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: g6wrSpFFgmQ
+- title:
+ Mentorship Panel - Shana Moore, John Sawers, Ebun Segun, Erik Guzman & Adam
+ Cuppy
+ raw_title:
+ RailsConf 2023 - Mentorship Panel - Shana Moore, John Sawers, Ebun Segun,
+ Erik Guzman & Adam Cuppy
+ speakers:
+ - Shana Moore
+ - John Sawers
+ - Ebun Segun
+ - Erik Guzman
+ - Adam Cuppy
+ description:
+ Join us for a mentorship panel featuring four seasoned software developers
+ sharing their personal experiences as mentors and mentees. Attendees can expect
+ to gain insights on building mentor-mentee relationships and practical tips for
+ maximizing them while discovering the benefits of mentorship, how to approach
+ potential mentors, and effective communication strategies.
+ thumbnail_xs: https://i.ytimg.com/vi/lXhTh3BUuJE/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/lXhTh3BUuJE/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/lXhTh3BUuJE/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/lXhTh3BUuJE/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/lXhTh3BUuJE/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: lXhTh3BUuJE
+- title: Mentorship in Three Acts
+ raw_title: RailsConf 2023 - Mentorship in Three Acts by Adam Cuppy
+ speakers:
+ - Adam Cuppy
+ description:
+ "\"Mentorship (ˈmɛntɔːˌʃɪp) Noun. a period during which a person receives
+ guidance from a mentor.\" Yeah, it seems clear enough.\n\nMore and more, teams
+ rely on mentorship to raise the skills of their under-experienced people. But
+ mentorship is not a catch-all solution and has its risks. Without training, poorly
+ structured mentorship can hurt the culture and stifle growth more than help. \n\nSo,
+ we need a model—a system. A process to lean into that makes it a helpful tool
+ and not a blunt hammer. This talk will cover the three stages of integrating a
+ mentorship program and how to help a hesitant team."
+ thumbnail_xs: https://i.ytimg.com/vi/nOhGMcjL0jk/default.jpg
+ thumbnail_sm: https://i.ytimg.com/vi/nOhGMcjL0jk/mqdefault.jpg
+ thumbnail_md: https://i.ytimg.com/vi/nOhGMcjL0jk/hqdefault.jpg
+ thumbnail_lg: https://i.ytimg.com/vi/nOhGMcjL0jk/sddefault.jpg
+ thumbnail_xl: https://i.ytimg.com/vi/nOhGMcjL0jk/maxresdefault.jpg
+ published_at: "2023-07-10"
+ video_id: nOhGMcjL0jk
diff --git a/data/speakers.yml b/data/speakers.yml
index 9dbcc471..ae4c37b7 100644
--- a/data/speakers.yml
+++ b/data/speakers.yml
@@ -1,4 +1,386 @@
---
+- name: Xavier Noria
+ twitter: ''
+ github: fxn
+ bio: ''
+ website: ''
+ slug: xavier-noria
+- name: Joel Hawksley
+ twitter: joelhawksley
+ github: joelhawksley
+ bio: Staff Software Engineer at @github, creator of ViewComponent.
+ website: https://hawksley.org
+ slug: joel-hawksley
+- name: David Hill
+ twitter: ''
+ github: dajohi
+ bio: ''
+ website: ''
+ slug: david-hill
+- name: Chris Salzberg
+ twitter: ''
+ github: shioyama
+ bio: ''
+ website: ''
+ slug: chris-salzberg
+- name: Brad Urani
+ twitter: ''
+ github: bradurani
+ bio: ''
+ website: ''
+ slug: brad-urani
+- name: Cameron Dutro
+ twitter: ''
+ github: camertron
+ bio: ''
+ website: https://twitter.com/camertron
+ slug: cameron-dutro
+- name: Aaron Patterson
+ twitter: tenderlove
+ github: tenderlove
+ bio: "\U0001F498\U0001F499\U0001F49C\U0001F497\U0001F49A❤\U0001F493\U0001F49B\U0001F49A\U0001F497"
+ website: https://tenderlovemaking.com/
+ slug: aaron-patterson
+- name: Thomas Countz
+ twitter: ''
+ github: Thomascountz
+ bio: ''
+ website: ''
+ slug: thomas-countz
+- name: Casey Watts
+ twitter: ''
+ github: caseywatts
+ bio: ''
+ website: ''
+ slug: casey-watts
+- name: John DeWyze
+ twitter: ''
+ github: dewyze
+ bio: ''
+ website: ''
+ slug: john-dewyze
+- name: Mina Slater
+ twitter: ''
+ github: minaslater
+ bio: ''
+ website: ''
+ slug: mina-slater
+- name: Charles Oliver Nutter
+ twitter: ''
+ github: headius
+ bio: ''
+ website: ''
+ slug: charles-oliver-nutter
+- name: Annie Lydens
+ twitter: ''
+ github: aelydens
+ bio: ''
+ website: ''
+ slug: annie-lydens
+- name: Jenny Allar
+ twitter: ''
+ github: JennyAllar
+ bio: ''
+ website: ''
+ slug: jenny-allar
+- name: Andy Glass
+ twitter: ''
+ github: Andrewglass1
+ bio: ''
+ website: andyglass.net
+ slug: andy-glass
+- name: Chuck Lauer Vose
+ twitter: ''
+ github: vosechu
+ bio: ''
+ website: ''
+ slug: chuck-lauer-vose
+- name: Nathan Griffith
+ twitter: smudgethefirst
+ github: smudge
+ bio: professional code deleter
+ website: http://ngriffith.com
+ slug: nathan-griffith
+- name: Jamie Gaskins
+ twitter: ''
+ github: jgaskins
+ bio: ''
+ website: ''
+ slug: jamie-gaskins
+- name: Colin Loretz
+ twitter: ''
+ github: colinloretz
+ bio: ''
+ website: ''
+ slug: colin-loretz
+- name: Eileen Uchitelle
+ twitter: ''
+ github: eileencodes
+ bio: ''
+ website: ''
+ slug: eileen-uchitelle
+- name: Cristian Planas
+ twitter: ''
+ github: Gawyn
+ bio: ''
+ website: ''
+ slug: cristian-planas
+- name: Gui Vieira
+ twitter: ''
+ github: guialbuk
+ bio: Senior Software Developer
+ website: ''
+ slug: gui-vieira
+- name: Ian Norris
+ twitter: icStatic
+ github: IanNorris
+ bio: Hi, I work for Rare Ltd as a Senior Software Engineer. Here are some of my
+ personal projects.
+ website: www.inorris.com
+ slug: ian-norris
+- name: Melissa Hunt Glickman
+ twitter: ''
+ github: mhuntglickman
+ bio: ''
+ website: ''
+ slug: melissa-hunt-glickman
+- name: Kevin Murphy
+ twitter: kevin_j_m
+ github: kevin-j-m
+ bio: ''
+ website: https://kevinjmurphy.com/
+ slug: kevin-murphy
+- name: Andy Andrea
+ twitter: ''
+ github: andycandrea
+ bio: ''
+ website: ''
+ slug: andy-andrea
+- name: Ashley Ellis Pierce
+ twitter: ''
+ github: aellispierce
+ bio: ''
+ website: ''
+ slug: ashley-ellis-pierce
+- name: Betty Li
+ twitter: ''
+ github: bettymakes
+ bio: Developer at @Shopify
+ website: ''
+ slug: betty-li
+- name: Justin Bowen
+ twitter: ''
+ github: TonsOfFun
+ bio: ''
+ website: ''
+ slug: justin-bowen
+- name: Nick Schwaderer
+ twitter: ''
+ github: Schwad
+ bio: ''
+ website: ''
+ slug: nick-schwaderer
+- name: Andrea Fomera
+ twitter: ''
+ github: afomera
+ bio: ''
+ website: ''
+ slug: andrea-fomera
+- name: Amy Newell
+ twitter: ''
+ github: amynewell
+ bio: ''
+ website: ''
+ slug: amy-newell
+- name: Kevin Lesht
+ twitter: ''
+ github: klesht
+ bio: ''
+ website: ''
+ slug: kevin-lesht
+- name: Wrapbook
+ twitter: ''
+ github: wrapbook
+ bio: ''
+ website: ''
+ slug: wrapbook
+- name: Zaid Zawaideh
+ twitter: ''
+ github: zawaideh
+ bio: ''
+ website: ''
+ slug: zaid-zawaideh
+- name: Jessica Lawrence
+ twitter: ''
+ github: jmlawrence1971
+ bio: ''
+ website: ''
+ slug: jessica-lawrence
+- name: Ontra
+ twitter: ''
+ github: Ontra-ai
+ bio: ''
+ website: https://ontra.ai
+ slug: ontra
+- name: Carrick Rogers
+ twitter: ''
+ github: carrickr
+ bio: ''
+ website: ''
+ slug: carrick-rogers
+- name: Weedmaps
+ twitter: ''
+ github: GhostGroup
+ bio: ''
+ website: weedmaps.com
+ slug: weedmaps
+- name: Jake Anderson
+ twitter: ''
+ github: JediJakeIsCOOL
+ bio: "Software Developer -\r\nWannabe Jedi - Tries to be funny and sometimes succeeds "
+ website: jakeandersonwebdevelopment.com
+ slug: jake-anderson
+- name: Andrew Atkinson
+ twitter: andatki
+ github: andyatkinson
+ bio: ''
+ website: andyatkinson.com
+ slug: andrew-atkinson
+- name: Thijs Cadier
+ twitter: ''
+ github: thijsc
+ bio: ''
+ website: ''
+ slug: thijs-cadier
+- name: Kevin Menard
+ twitter: ''
+ github: nirvdrum
+ bio: ''
+ website: ''
+ slug: kevin-menard
+- name: Stephen Prater
+ twitter: ''
+ github: stephenprater
+ bio: ''
+ website: ''
+ slug: stephen-prater
+- name: Daniel Magliola
+ twitter: dmagliola
+ github: dmagliola
+ bio: "Life-long coder, expert procrastinator, obsessed with code performance and
+ weird Lego machinery.\r\n\r\nOccasionally seen speaking at conferences."
+ website: http://danielmagliola.com
+ slug: daniel-magliola
+- name: Daniel Colson
+ twitter: ''
+ github: composerinteralia
+ bio: ''
+ website: danieljamescolson.com
+ slug: daniel-colson
+- name: John Crepezzi
+ twitter: ''
+ github: seejohnrun
+ bio: ''
+ website: ''
+ slug: john-crepezzi
+- name: Vaidehi Joshi
+ twitter: vaidehijoshi
+ github: vaidehijoshi
+ bio: programmer, writer, teacher.
+ website: http://www.vaidehi.com
+ slug: vaidehi-joshi
+- name: Andy Croll
+ twitter: ''
+ github: andycroll
+ bio: ''
+ website: ''
+ slug: andy-croll
+- name: Adam Cuppy
+ twitter: ''
+ github: acuppy
+ bio: ''
+ website: ''
+ slug: adam-cuppy
+- name: Joël Quenneville
+ twitter: ''
+ github: JoelQ
+ bio: ''
+ website: ''
+ slug: joel-quenneville
+- name: Maeve Revels
+ twitter: ''
+ github: maeve
+ bio: ''
+ website: ''
+ slug: maeve-revels
+- name: Alex Evanczuk
+ twitter: ''
+ github: alexevanczuk
+ bio: ''
+ website: ''
+ slug: alex-evanczuk
+- name: David Copeland
+ twitter: ''
+ github: davetron5000
+ bio: CTO @ Mood Health. Former Chief Software Architect at Stitch Fix. Author of
+ "Agile Web Development with Rails", and “The Senior Software Engineer"
+ website: http://www.naildrivin5.com
+ slug: david-copeland
+- name: Sean Marcia
+ twitter: ''
+ github: seanmarcia
+ bio: ''
+ website: ''
+ slug: sean-marcia
+- name: Maple Ong
+ twitter: ''
+ github: wildmaples
+ bio: ''
+ website: ''
+ slug: maple-ong
+- name: Atob
+ twitter: ''
+ github: Atober
+ bio: ''
+ website: ''
+ slug: atob
+- name: Justin Powers
+ twitter: ''
+ github: dangerp
+ bio: ''
+ website: ''
+ slug: justin-powers
+- name: Eric Weinstein
+ twitter: ''
+ github: ericqweinstein
+ bio: Director, Engineering at HashiCorp. I enjoy writing Clojure, Elixir, Elm, Haskell,
+ Idris, and Ruby.
+ website: http://ericweinste.in/
+ slug: eric-weinstein
+- name: Vladimir Dementyev
+ twitter: palkan_tula
+ github: palkan
+ bio: "Code & Cats & Rock'n'Roll!\r\n"
+ website: https://twitter.com/palkan_tula
+ slug: vladimir-dementyev
+- name: Jason Charnes
+ twitter: ''
+ github: jasoncharnes
+ bio: ''
+ website: ''
+ slug: jason-charnes
+- name: Brandon Weaver
+ twitter: ''
+ github: baweaver
+ bio: Ruby and Javascript at Gusto
+ website: https://ruby.social/@baweaver
+ slug: brandon-weaver
+- name: Chelsea Kaufman
+ twitter: ''
+ github: c-kaufman
+ bio: ''
+ website: ''
+ slug: chelsea-kaufman
- name: David Heinemeier Hansson
twitter: ''
github: dhh
@@ -20,13 +402,15 @@
- name: Nick Quaranto
twitter: qrush
github: qrush
- bio: A short, sturdy creature fond of drink and industry. Started rubygems.org a while back. Still writing Ruby 13 years later.
+ bio: A short, sturdy creature fond of drink and industry. Started rubygems.org a
+ while back. Still writing Ruby 13 years later.
website: http://quaran.to
slug: nick-quaranto
- name: Obie Fernandez
twitter: obie
github: obie
- bio: Consultant, 25+ year veteran of professional software development, serial entrepreneur, and best-selling author. Currently serving as Founder & CEO of RCRDSHP
+ bio: Consultant, 25+ year veteran of professional software development, serial entrepreneur,
+ and best-selling author. Currently serving as Founder & CEO of RCRDSHP
website: http://obiefernandez.com
slug: obie-fernandez
- name: Ezra Zygmuntowicz
@@ -86,19 +470,22 @@
- name: Olivier Lacan
twitter: ''
github: olivierlacan
- bio: 'Shields.io creator, @rails & @ruby contributor, built Code School, maintaining @keepachangelog. '
+ bio: 'Shields.io creator, @rails & @ruby contributor, built Code School, maintaining
+ @keepachangelog. '
website: http://olivierlacan.com
slug: olivier-lacan
- name: Michael Hartl
twitter: mhartl
github: mhartl
- bio: Author of the @railstutorial, founder of @learnenough, @softcover, and Tau Day.
+ bio: Author of the @railstutorial, founder of @learnenough, @softcover, and Tau
+ Day.
website: https://www.michaelhartl.com/
slug: michael-hartl
- name: Andy Maleh
twitter: AndyObtiva
github: AndyObtiva
- bio: Lexoper. Fukuoka Ruby Winner. RailsConf / RubyConf / Agile / EclipseCon / EclipseWorld Speaker. MS in SE from DePaul / BS in CS from McGill. Drummer/Snowboarder
+ bio: Lexoper. Fukuoka Ruby Winner. RailsConf / RubyConf / Agile / EclipseCon / EclipseWorld
+ Speaker. MS in SE from DePaul / BS in CS from McGill. Drummer/Snowboarder
website: https://andymaleh.blogspot.com
slug: andy-maleh
- name: Thomas Pomfret
@@ -164,13 +551,14 @@
- name: Will Leinweber
twitter: ''
github: will
- bio: ' ه҈ͣفͤ҈ͥ҉ͦ҈ͧ҉ͨ҈ͩ҉ͪ҈ͫ҉ͬ҈ͭ҉ͮ҈ͯ҉ͨ҈ͬ҉ͧ҈ͣ҉ͨ҈ͧ҉ͯ҈ͮ҉ͭ҈ͤ҉ͦ҈ͥ҉ͧ҈ͩ҉ͭ҈ͨ҉ͣ҈ͪ҉ͧ҈ͭ҉ͩ҈ͤ҉ͮ҈ͯ҉ͬ҈ͭ҉ͦ҈ͨ҉ͥ҈ͯ҉ͧ҈ͫ҉ͭ҈ͯ҉ͦ҈ͥ҉ͧ҈ͩ҉ͭ҈ͨ҉ͣ҈ͪ҉ͧ҈ͭ҉ͩ҈ͤ҉ͮ҈ͯ҉ͧ҈ͣ҉ͨ҈ͧ҉ͯ҈ͮ҉ͭ҈ͤ҉'
+ bio: " ه҈ͣفͤ҈ͥ҉ͦ҈ͧ҉ͨ҈ͩ҉ͪ҈ͫ҉ͬ҈ͭ҉ͮ҈ͯ҉ͨ҈ͬ҉ͧ҈ͣ҉ͨ҈ͧ҉ͯ҈ͮ҉ͭ҈ͤ҉ͦ҈ͥ҉ͧ҈ͩ҉ͭ҈ͨ҉ͣ҈ͪ҉ͧ҈ͭ҉ͩ҈ͤ҉ͮ҈ͯ҉ͬ҈ͭ҉ͦ҈ͨ҉ͥ҈ͯ҉ͧ҈ͫ҉ͭ҈ͯ҉ͦ҈ͥ҉ͧ҈ͩ҉ͭ҈ͨ҉ͣ҈ͪ҉ͧ҈ͭ҉ͩ҈ͤ҉ͮ҈ͯ҉ͧ҈ͣ҉ͨ҈ͧ҉ͯ҈ͮ҉ͭ҈ͤ҉"
website: http://bitfission.com
slug: will-leinweber
- name: Richard Huang
twitter: flyerhzm
github: flyerhzm
- bio: "Founder at synvert.net and awesomecode.io\r\n\r\nSpeaker of RailsConf and RubyConf"
+ bio: "Founder at synvert.net and awesomecode.io\r\n\r\nSpeaker of RailsConf and
+ RubyConf"
website: https://synvert.net
slug: richard-huang
- name: Mike Moore
@@ -182,7 +570,8 @@
- name: Mark Bates
twitter: ''
github: markbates
- bio: Mark Bates is a full stack web developer with over 18 years of experience building high quality scalable applications for companies.
+ bio: Mark Bates is a full stack web developer with over 18 years of experience building
+ high quality scalable applications for companies.
website: http://www.metabates.com
slug: mark-bates
- name: Sarah Mei
@@ -194,13 +583,15 @@
- name: Josh Kalderimis
twitter: ''
github: joshk
- bio: "Previously VP of Product at @travis-ci and VP of Product at @replicatedcom / \r\nContinuously Shaking It Off"
+ bio: "Previously VP of Product at @travis-ci and VP of Product at @replicatedcom
+ / \r\nContinuously Shaking It Off"
website: ''
slug: josh-kalderimis
- name: Lance Ball
twitter: lanceball
github: lance
- bio: "I write software, cook food, exercise, take pictures, grow things.\r\n\r\nRed Hat\r\nHe/him/his\r\n"
+ bio: "I write software, cook food, exercise, take pictures, grow things.\r\n\r\nRed
+ Hat\r\nHe/him/his\r\n"
website: https://lanceball.dev
slug: lance-ball
- name: Kenta Murata
@@ -218,7 +609,8 @@
- name: David Czarnecki
twitter: CzarneckiD
github: czarneckid
- bio: Engineering @wbgamesny • Gamer • Foodie • Author • Marathoner • Snowboarder • Beekeeper
+ bio: Engineering @wbgamesny • Gamer • Foodie • Author • Marathoner • Snowboarder
+ • Beekeeper
website: https://davidczarnecki.com
slug: david-czarnecki
- name: Matt Sanders
@@ -257,12 +649,6 @@
bio: Ruby and Elixir enthusiast living in the Seattle area.
website: http://www.daniel-azuma.com/
slug: daniel-azuma
-- name: Aaron Patterson
- twitter: tenderlove
- github: tenderlove
- bio: "\U0001F498\U0001F499\U0001F49C\U0001F497\U0001F49A❤\U0001F493\U0001F49B\U0001F49A\U0001F497"
- website: https://tenderlovemaking.com/
- slug: aaron-patterson
- name: Rich Hickey
twitter: ''
github: richhickey
@@ -290,7 +676,9 @@
- name: Zach Briggs
twitter: ''
github: theotherzach
- bio: Zach Briggs has farmed, sorted mail 2nd shift, fixed industrial equipment, and created predictive models. Now he's slinging JavaScript, CSS, and Ruby for Bravo.
+ bio: Zach Briggs has farmed, sorted mail 2nd shift, fixed industrial equipment,
+ and created predictive models. Now he's slinging JavaScript, CSS, and Ruby for
+ Bravo.
website: theotherzach.com
slug: zach-briggs
- name: John Duff
@@ -302,7 +690,8 @@
- name: Allan Grant
twitter: allangrant
github: allangrant
- bio: Hacker/Entrepreneur. Coding since 1990. Started a few companies, like Hired.com and Talkable.com. More than a little crazy.
+ bio: Hacker/Entrepreneur. Coding since 1990. Started a few companies, like Hired.com
+ and Talkable.com. More than a little crazy.
website: http://www.talkable.com
slug: allan-grant
- name: Carl Lerche
@@ -404,7 +793,8 @@
- name: Brandon Black
twitter: brndnblck
github: brndnblck
- bio: "Software Engineering Leader, Founder, Coffee and K9 Enthusiast \U0001F43E ☕️"
+ bio: "Software Engineering Leader, Founder, Coffee and K9 Enthusiast \U0001F43E
+ ☕️"
website: http://brblck.com
slug: brandon-black
- name: Shai Rosenfeld
@@ -422,7 +812,8 @@
- name: Pat Allen
twitter: layer8packet
github: pallen182
- bio: Network guy trying to learn some coding to help build new/better skills. Host of Breaking Down the Bytes Podcast. Here to learn.
+ bio: Network guy trying to learn some coding to help build new/better skills. Host
+ of Breaking Down the Bytes Podcast. Here to learn.
website: https://breakingbytespod.io
slug: pat-allen
- name: Yoko Harada
@@ -434,7 +825,8 @@
- name: Richard Schneeman
twitter: schneems
github: schneems
- bio: "Ruby core contributor. Learn how to contribute to open source with my app CodeTriage (free) and my book How to Open Source (paid), links below \U0001F447\U0001F3FB"
+ bio: "Ruby core contributor. Learn how to contribute to open source with my app
+ CodeTriage (free) and my book How to Open Source (paid), links below \U0001F447\U0001F3FB"
website: https://www.schneems.com
slug: richard-schneeman
- name: Ben Orenstein
@@ -452,7 +844,8 @@
- name: Prem Sichanugrist
twitter: ''
github: sikachu
- bio: "I contribute to open source projects, mostly in Ruby.\r\nPGP: 889C 472F 2DA2 8377"
+ bio: "I contribute to open source projects, mostly in Ruby.\r\nPGP: 889C 472F 2DA2
+ 8377"
website: https://sikac.hu
slug: prem-sichanugrist
- name: Ryan Twomey
@@ -488,7 +881,8 @@
- name: Michael Murphy
twitter: mmstick
github: mmstick
- bio: System76 product engineer, Pop!_OS maintainer, Linux software developer, Rust programmer
+ bio: System76 product engineer, Pop!_OS maintainer, Linux software developer, Rust
+ programmer
website: ''
slug: michael-murphy
- name: Terence Lee
@@ -524,7 +918,8 @@
- name: Nicholas Henry
twitter: nicholasjhenry
github: nicholasjhenry
- bio: Independent Contractor, developing tailored business applications with Elixir and PostgreSQL.
+ bio: Independent Contractor, developing tailored business applications with Elixir
+ and PostgreSQL.
website: https://www.linkedin.com/in/nicholasjhenry/
slug: nicholas-henry
- name: Liana Leahy
@@ -548,7 +943,8 @@
- name: Akira Matsuda
twitter: a_matsuda
github: amatsuda
- bio: "@ruby / @rails committer,\r\nAuthor of @kaminari,\r\nFounder of @asakusarb,\r\nChief Organizer of @rubykaigi "
+ bio: "@ruby / @rails committer,\r\nAuthor of @kaminari,\r\nFounder of @asakusarb,\r\nChief
+ Organizer of @rubykaigi "
website: https://twitter.com/a_matsuda
slug: akira-matsuda
- name: Bradly Feeley
@@ -560,7 +956,8 @@
- name: Coraline Ada Ehmke
twitter: CoralineAda
github: CoralineAda
- bio: Internationally acclaimed speaker, developer, writer, and podcaster. Creator of Contributor Covenant and Hippocratic License. Ruby Hero. Big time troublemaker.
+ bio: Internationally acclaimed speaker, developer, writer, and podcaster. Creator
+ of Contributor Covenant and Hippocratic License. Ruby Hero. Big time troublemaker.
website: http://where.coraline.codes/
slug: coraline-ada-ehmke
- name: Starr Horne
@@ -578,7 +975,8 @@
- name: Pete Hodgson
twitter: ph1
github: moredip
- bio: Independent consultant helping engineering teams tackle thorny problems. Formerly Earnest, ThoughtWorks
+ bio: Independent consultant helping engineering teams tackle thorny problems. Formerly
+ Earnest, ThoughtWorks
website: thepete.net
slug: pete-hodgson
- name: Jeremy Green
@@ -602,7 +1000,8 @@
- name: Rosie Hoyem
twitter: ''
github: rosiehoyem
- bio: Urban planner turned energy policy wonk turned Rails developer turned data scientist. Proud graduate of the FlatironSchool and Metis.
+ bio: Urban planner turned energy policy wonk turned Rails developer turned data
+ scientist. Proud graduate of the FlatironSchool and Metis.
website: https://rosiehoyem.herokuapp.com
slug: rosie-hoyem
- name: Sonja Hall
@@ -638,7 +1037,8 @@
- name: Jessica Eldredge
twitter: ''
github: jessabean
- bio: 'Front-end engineer, little free library enthusiast, extroverted introvert. I still like CSS. '
+ bio: 'Front-end engineer, little free library enthusiast, extroverted introvert.
+ I still like CSS. '
website: https://jessabean.dev
slug: jessica-eldredge
- name: Cameron Daigle
@@ -668,7 +1068,8 @@
- name: Justin Searls
twitter: searls
github: searls
- bio: I catch bugs and make bugs and strive to catch more bugs than I make. I co-founded @testdouble, which is a really good software consultancy I think.
+ bio: I catch bugs and make bugs and strive to catch more bugs than I make. I co-founded
+ @testdouble, which is a really good software consultancy I think.
website: justin.searls.co
slug: justin-searls
- name: Eric Saxby
@@ -692,15 +1093,10 @@
- name: Leah Silber
twitter: wifelette
github: wifelette
- bio: 'Co-founder and CEO at @tildeio, EmberConf and RustConf Organizer, @emberjs Core Team, @jQuery Core Team alum, RailsConf alum, and all around technophile. '
+ bio: 'Co-founder and CEO at @tildeio, EmberConf and RustConf Organizer, @emberjs
+ Core Team, @jQuery Core Team alum, RailsConf alum, and all around technophile. '
website: ''
slug: leah-silber
-- name: Sean Marcia
- twitter: ''
- github: seanmarcia
- bio: ''
- website: https://rubyforgood.org
- slug: sean-marcia
- name: Nickolas Means
twitter: nmeans
github: nmeans
@@ -710,7 +1106,8 @@
- name: Jason Clark
twitter: jaclark
github: jasonclark
- bio: librarian, professor, hacker/developer, Semantic Web + metadata + archives geek, author, husband, dad - doing it all under the Big Sky. he/him
+ bio: librarian, professor, hacker/developer, Semantic Web + metadata + archives
+ geek, author, husband, dad - doing it all under the Big Sky. he/him
website: www.jasonclark.info
slug: jason-clark
- name: Luke Francl
@@ -728,7 +1125,7 @@
- name: Carlos Souza
twitter: caike
github: caike
- bio: '@idopterlabs @wowica '
+ bio: "@idopterlabs @wowica "
website: https://csouza.me
slug: carlos-souza
- name: David Rogers
@@ -782,7 +1179,7 @@
- name: Chris Hunt
twitter: chrishunt
github: chrishunt
- bio: '@anrok, @stripe, @coinbase, @github, @square, @omgnetwork '
+ bio: "@anrok, @stripe, @coinbase, @github, @square, @omgnetwork "
website: http://www.chrishunt.co
slug: chris-hunt
- name: Greg Baugues
@@ -794,15 +1191,10 @@
- name: Michael Norton
twitter: ''
github: Norton-Design
- bio: "Software Engineer | \r\nReact, JavaScript, Python, Ruby, Node, Flask, Rails, Postgres, Sass"
+ bio: "Software Engineer | \r\nReact, JavaScript, Python, Ruby, Node, Flask, Rails,
+ Postgres, Sass"
website: https://norton-design.github.io/
slug: michael-norton
-- name: Xavier Noria
- twitter: fxn
- github: fxn
- bio: Everlasting student · Rails Core · Fukuoka Ruby Award · Ruby Hero Award · Freelance · Life lover
- website: https://hashref.com
- slug: xavier-noria
- name: Aaron Bedra
twitter: abedra
github: abedra
@@ -845,12 +1237,6 @@
bio: ''
website: chrismccord.com
slug: chris-mccord
-- name: Adam Cuppy
- twitter: adamcuppy
- github: acuppy
- bio: Master of Smile Generation. Husband. Speaker. Software Engineer.
- website: https://adamcuppy.com
- slug: adam-cuppy
- name: Bree Thomas
twitter: ''
github: breethomas
@@ -878,13 +1264,15 @@
- name: Ryan Bigg
twitter: ryanbigg
github: radar
- bio: Award-winning super-hero published author with a Ruby addiction, a love for TypeScript and React, and extreme fondness for Elixir.
+ bio: Award-winning super-hero published author with a Ruby addiction, a love for
+ TypeScript and React, and extreme fondness for Elixir.
website: http://ryanbigg.com
slug: ryan-bigg
- name: Shibata Hiroshi
twitter: hsbt
github: hsbt
- bio: "Full-time OSS developer. I'm a member of Ruby core team, RubyGems team and rbenv and ruby-build maintainer.\r\n"
+ bio: "Full-time OSS developer. I'm a member of Ruby core team, RubyGems team and
+ rbenv and ruby-build maintainer.\r\n"
website: https://www.hsbt.org/
slug: shibata-hiroshi
- name: Nate Berkopec
@@ -923,16 +1311,11 @@
bio: "Managing partner at Dragonfly.\r\nPreviously @airbnb, @earndotcom, Metastable."
website: http://haseebq.com
slug: haseeb-qureshi
-- name: Eileen Uchitelle
- twitter: eileencodes
- github: eileencodes
- bio: "@Rails Core Team | \r\nRuby & Rails Infrastructure Team @shopify"
- website: http://eileencodes.com
- slug: eileen-uchitelle
- name: Alex Kitchens
twitter: ''
github: alexcameron89
- bio: 'Lead Engineer at @stitchfix. I currently favor the RRTCC stack: Ruby, Rust, Tex-Mex, Coffee, Chocolate'
+ bio: 'Lead Engineer at @stitchfix. I currently favor the RRTCC stack: Ruby, Rust,
+ Tex-Mex, Coffee, Chocolate'
website: http://alexkitchens.net
slug: alex-kitchens
- name: Krista Nelson
@@ -950,7 +1333,8 @@
- name: Andrew Hao
twitter: andrewhao
github: andrewhao
- bio: "Engineering at YouTube. Formerly @lyft, @carbonfive. Co-founder @Wejoinin. \r\n"
+ bio: "Engineering at YouTube. Formerly @lyft, @carbonfive. Co-founder @Wejoinin.
+ \r\n"
website: http://www.g9labs.com
slug: andrew-hao
- name: Taylor Jones
@@ -968,13 +1352,15 @@
- name: Michael Cain
twitter: MCain310
github: Cain310
- bio: "Director of Blockchain @staratlasmeta \r\n Software Engineer | Bitcoin | RealEstate \U0001F596 \r\n\r\nBackend JS | Rust | Solana."
+ bio: "Director of Blockchain @staratlasmeta \r\n Software Engineer | Bitcoin | RealEstate
+ \U0001F596 \r\n\r\nBackend JS | Rust | Solana."
website: www.linkedin.com/in/michael-cain-9902ba2
slug: michael-cain
- name: Jess Rudder
twitter: ''
github: JessRudder
- bio: I write code @github and talk code at http://youtube.com/compchomp. In my spare time I snap photos of random mammals while running really, really far.
+ bio: I write code @github and talk code at http://youtube.com/compchomp. In my spare
+ time I snap photos of random mammals while running really, really far.
website: http://jessrudder.github.io
slug: jess-rudder
- name: Don Werve
@@ -1004,7 +1390,8 @@
- name: Jesse James
twitter: marginalchaos
github: jrjamespdx
- bio: 'He/Him, #blacklivesmatter, Software Architect and Team Lead Software Engineer, veteran, lover of gatos and doggos, and lifter of heavy things.'
+ bio: 'He/Him, #blacklivesmatter, Software Architect and Team Lead Software Engineer,
+ veteran, lover of gatos and doggos, and lifter of heavy things.'
website: ''
slug: jesse-james
- name: Jonan Scheffler
@@ -1037,16 +1424,11 @@
bio: 'Software is a team sport. '
website: ''
slug: katie-walsh
-- name: Vaidehi Joshi
- twitter: vaidehijoshi
- github: vaidehijoshi
- bio: programmer, writer, teacher.
- website: http://www.vaidehi.com
- slug: vaidehi-joshi
- name: Ju Liu
twitter: arkh4m
github: Arkham
- bio: "Italian. I try to write code that doesn't suck. I rarely succeed. I like to climb \U0001F9D7"
+ bio: "Italian. I try to write code that doesn't suck. I rarely succeed. I like to
+ climb \U0001F9D7"
website: https://juliu.is
slug: ju-liu
- name: Kevin Yank
@@ -1064,15 +1446,10 @@
- name: Craig Buchek
twitter: CraigBuchek
github: booch
- bio: Independent contractor, focusing on Ruby, Rails (especially rescue projects), Agile, and DevOps. More repos at @boochtek.
+ bio: Independent contractor, focusing on Ruby, Rails (especially rescue projects),
+ Agile, and DevOps. More repos at @boochtek.
website: http://craigbuchek.com
slug: craig-buchek
-- name: Andy Glass
- twitter: ''
- github: Andrewglass1
- bio: ''
- website: andyglass.net
- slug: andy-glass
- name: James Adam
twitter: lazyatom
github: lazyatom
@@ -1133,12 +1510,6 @@
bio: ''
website: http://paulzaich.com
slug: paul-zaich
-- name: Jamie Gaskins
- twitter: jamie_gaskins
- github: jgaskins
- bio: '*not actually an axolotl'
- website: https://zomglol.wtf/@jamie
- slug: jamie-gaskins
- name: Christian Bruckmayer
twitter: bruckmayer
github: ChrisBr
@@ -1151,69 +1522,1511 @@
bio: Ruby Enthusiast
website: ''
slug: eric-hayes
-- name: John Crepezzi
- twitter: ''
- github: seejohnrun
- bio: I'm a developer @github where I develop software that helps developers develop software.
- website: http://johncrepezzi.com
- slug: john-crepezzi
-- name: Andy Croll
+- name: Ryan Biggs
twitter: ''
- github: andycroll
- bio: CTO at CoverageBook, Rubyist, Conference Organizer, Author, Speaker, Bootstrapper & Parent of Twins.
- website: http://andycroll.com/
- slug: andy-croll
-- name: Melissa Hunt Glickman
+ github: RyanBiggs
+ bio: "Soon to be Computer Science graduate @ LJMU\r\n"
+ website: ryanbiggs.co.uk
+ slug: ryan-biggs
+- name: Ryan Brunner
twitter: ''
- github: mhuntglickman
- bio: 'Senior Full Stack Engineer and accomplished professional with a passion for delivering robust and reliable web applications. '
+ github: ryanbrunner
+ bio: ''
website: ''
- slug: melissa-hunt-glickman
-- name: Andy Andrea
+ slug: ryan-brunner
+- name: Felix Dominguez
twitter: ''
- github: andycandrea
- bio: https://gitlab.com/andy.andrea
- website: https://www.linkedin.com/in/andycandrea
- slug: andy-andrea
-- name: Ashley Ellis Pierce
+ github: dacat
+ bio: ''
+ website: ''
+ slug: felix-dominguez
+- name: Reid Morrison
+ twitter: reidmorrison
+ github: reidmorrison
+ bio: Pragmatic Ruby expert with over 15 years of experience designing and developing
+ scalable, performant, reliable, high quality software.
+ website: https://www.linkedin.com/in/reidmorrison/
+ slug: reid-morrison
+- name: Evan Dorn
+ twitter: ''
+ github: IdahoEv
+ bio: Scientist, engineer, developer and all around weirdo.
+ website: http://idahoev.com
+ slug: evan-dorn
+- name: Jay Moorthi
+ twitter: ''
+ github: semipermeable
+ bio: ''
+ website: https://www.solanolabs.com
+ slug: jay-moorthi
+- name: Rod Paddock
+ twitter: ''
+ github: rodpaddock
+ bio: ''
+ website: ''
+ slug: rod-paddock
+- name: Sam Woodard
twitter: ''
- github: aellispierce
+ github: shwoodard
+ bio: ''
+ website: google.com
+ slug: sam-woodard
+- name: Matt Rogish
+ twitter: ''
+ github: MattRogish
+ bio: ''
+ website: mattrogish.com
+ slug: matt-rogish
+- name: Brad Wilkening
+ twitter: ''
+ github: bwilken
bio: ''
website: ''
- slug: ashley-ellis-pierce
-- name: Betty Li
+ slug: brad-wilkening
+- name: Matt Conway
twitter: ''
- github: bettymakes
- bio: Developer at @Shopify
+ github: wr0ngway
+ bio: ''
+ website: http://cloudtruth.com
+ slug: matt-conway
+- name: Evan Phoenix
+ twitter: ''
+ github: evanphx
+ bio: ''
+ website: http://blog.fallingsnow.net
+ slug: evan-phoenix
+- name: Joseph Ruscio
+ twitter: ''
+ github: josephruscio
+ bio: ''
+ website: https://www.heavybit.com/
+ slug: joseph-ruscio
+- name: Hampton Catlin
+ twitter: ''
+ github: HamptonMakes
+ bio: "CTO of @thriveworks. Co-creator of Sass CSS and Haml.\r\n"
+ website: https://tech.lgbt/@hampton
+ slug: hampton-catlin
+- name: James Edward Gray
+ twitter: ''
+ github: JEG2
+ bio: ''
+ website: http://graysoftinc.com/
+ slug: james-edward-gray
+- name: Josh Susser
+ twitter: ''
+ github: joshsusser
+ bio: ''
+ website: http://blog.hasmanythrough.com
+ slug: josh-susser
+- name: David Brady
+ twitter: dbrady
+ github: dbrady
+ bio: I once wrote a perl script in Reno, just to watch it die();
+ website: http://www.whydavewhy.com/
+ slug: david-brady
+- name: Justin Gordon
+ twitter: railsonmaui
+ github: justin808
+ bio: Aloha! Older blog at RailsOnMaui.com. Created shakacode/react_on_rails! and
+ reactrails.com. CEO and founder of @shakacode! and HiChee.com
+ website: http://www.shakacode.com
+ slug: justin-gordon
+- name: Nitin Dhaware
+ twitter: ''
+ github: nitinzd
+ bio: Founder and directer Neuro dynamic infotronics PVT,LTD
+ website: http://www.ndinfotronics.com
+ slug: nitin-dhaware
+- name: Jess Szmajda
+ twitter: jszmajda
+ github: jszmajda
+ bio: ''
website: ''
- slug: betty-li
-- name: Justin Bowen
+ slug: jess-szmajda
+- name: Keith Pitt
+ twitter: keithpitt
+ github: keithpitt
+ bio: I'm very serious. I work at @buildkite.
+ website: http://keithpitt.com
+ slug: keith-pitt
+- name: Mario Visic
+ twitter: ''
+ github: mariovisic
+ bio: "Hi \U0001F44B\r\n\r\nI'm passionate about software engineering and teaching.
+ I make video tutorials to teach programming through building simple 2d games :)"
+ website: www.mariovisic.com
+ slug: mario-visic
+- name: Andrew Warner
+ twitter: ''
+ github: a-warner
+ bio: ''
+ website: https://www.strongopinionsweaklytyped.com/
+ slug: andrew-warner
+- name: Eric Roberts
+ twitter: ''
+ github: ericroberts
+ bio: ''
+ website: http://ericroberts.ca
+ slug: eric-roberts
+- name: Declan Whelan
+ twitter: ''
+ github: dwhelan
+ bio: Technical coach
+ website: http://dpwhelan.com/blog
+ slug: declan-whelan
+- name: Luke Melia
+ twitter: lukemelia
+ github: lukemelia
+ bio: ''
+ website: http://www.lukemelia.com/devblog
+ slug: luke-melia
+- name: Javier Ramirez
+ twitter: ''
+ github: frjaraur
+ bio: "DevSecOps - System Architecture and Intregrations\r\nDocker Captain, always
+ learning :)"
+ website: https://codegazers.github.io/
+ slug: javier-ramirez
+- name: Stephan Hagemann
+ twitter: shageman
+ github: shageman
+ bio: ''
+ website: https://stephanhagemann.com
+ slug: stephan-hagemann
+- name: John Athayde
+ twitter: johnathayde
+ github: jathayde
+ bio: ''
+ website: www.sfumatofarm.com
+ slug: john-athayde
+- name: Alexander Dymo
+ twitter: ''
+ github: adymo
+ bio: ''
+ website: http://www.alexdymo.com
+ slug: alexander-dymo
+- name: Chad Pytel
+ twitter: ''
+ github: cpytel
+ bio: Developer and CEO at thoughtbot
+ website: http://thoughtbot.com
+ slug: chad-pytel
+- name: Corey Haines
+ twitter: coreyhaines
+ github: coreyhaines
+ bio: Magical!
+ website: www.coreyhaines.com
+ slug: corey-haines
+- name: Ryan Resella
+ twitter: ryanresella
+ github: ryanatwork
+ bio: Staff Software Engineer at Change.org
+ website: ryanresella.com
+ slug: ryan-resella
+- name: Tyler Montgomery
+ twitter: ''
+ github: ubermajestix
+ bio: ''
+ website: ubermajestix.com
+ slug: tyler-montgomery
+- name: Nick Sieger
+ twitter: nicksieger
+ github: nicksieger
+ bio: ''
+ website: ''
+ slug: nick-sieger
+- name: Rodrigo Franco
+ twitter: ''
+ github: caffo
+ bio: Software Engineer. Bookworm, Coffee Connoisseur and Dungeon Crawler Aficionado.
+ お宅.
+ website: http://rodrigofranco.com/
+ slug: rodrigo-franco
+- name: Adam Hawkins
+ twitter: ahawkins
+ github: ahawkins
+ bio: 'I build velocity; hopefully one day with @esselius. Podcast: https://smallbatches.fm'
+ website: https://hawkins.io
+ slug: adam-hawkins
+- name: Todd Kaufman
+ twitter: ''
+ github: tkaufman
+ bio: ''
+ website: www.testdouble.com
+ slug: todd-kaufman
+- name: Wen Tien Chang
+ twitter: ''
+ github: ihower
+ bio: 'web developer & founder of https://aihao.tw '
+ website: https://ihower.tw
+ slug: wen-tien-chang
+- name: Sebastian Sogamoso
+ twitter: sebsogamoso
+ github: sogamoso
+ bio: ''
+ website: https://sogamo.so
+ slug: sebastian-sogamoso
+- name: Richard Lee
+ twitter: dlackty
+ github: dlackty
+ bio: "Google Developer Expert for @firebase & \r\n@line API Expert"
+ website: https://dlackty.com/
+ slug: richard-lee
+- name: Luis Ferreira
+ twitter: ''
+ github: lgpinguim
+ bio: Luis Ferreira - Computer engineer \ game developer
+ website: ''
+ slug: luis-ferreira
+- name: Max Hawkins
+ twitter: ''
+ github: maxhawkins
+ bio: ''
+ website: http://www.maxhawkins.me
+ slug: max-hawkins
+- name: Vipul A M
+ twitter: vipulnsward
+ github: vipulnsward
+ bio: "Founder @saeloun.\r\n@rails Issues Team.\r\nAuthor: @reactjs by Example."
+ website: https://www.saeloun.com/team/vipul
+ slug: vipul-a-m
+- name: Hiroshi Shibata
+ twitter: hsbt
+ github: hsbt
+ bio: "Full-time OSS developer. I'm a member of Ruby core team, RubyGems team and
+ rbenv and ruby-build maintainer.\r\n"
+ website: https://www.hsbt.org/
+ slug: hiroshi-shibata
+- name: Ryan MacInnes
twitter: ''
- github: TonsOfFun
+ github: goddamnyouryan
+ bio: ''
+ website: http://www.goddamnyouryan.com
+ slug: ryan-macinnes
+- name: Godfrey Chan
+ twitter: ''
+ github: chancancode
+ bio: ''
+ website: http://about.me/godfreychan
+ slug: godfrey-chan
+- name: Rafael França
+ twitter: rafaelfranca
+ github: rafaelfranca
bio: ''
website: ''
- slug: justin-bowen
-- name: Nick Schwaderer
- twitter: schwad_rb
- github: Schwad
- bio: Rubyist
- website: https://schwad.github.io
- slug: nick-schwaderer
-- name: Andrea Fomera
- twitter: afomera
- github: afomera
- bio: "Software Engineer \r\nLikes: Hiking, Mountain Biking, Painting"
- website: https://afomera.dev
- slug: andrea-fomera
-- name: Kevin Lesht
+ slug: rafael-franca
+- name: Dave Tapley
+ twitter: davetapley
+ github: davetapley
+ bio: ''
+ website: davetapley.com
+ slug: dave-tapley
+- name: Simon Eskildsen
+ twitter: Sirupsen
+ github: sirupsen
+ bio: Scaling infrastructure for you. https://webscale.ca — Previously Principal
+ Infrastructure Engineer @Shopify
+ website: http://sirupsen.com
+ slug: simon-eskildsen
+- name: John Backus
+ twitter: ''
+ github: backus
+ bio: ''
+ website: http://johnback.us/
+ slug: john-backus
+- name: Glenn Vanderburg
+ twitter: glv
+ github: glv
+ bio: ''
+ website: http://vanderburg.org/
+ slug: glenn-vanderburg
+- name: Maria Gutierrez
+ twitter: ''
+ github: mariagutierrez
+ bio: ''
+ website: ''
+ slug: maria-gutierrez
+- name: Ben Klang
+ twitter: ''
+ github: bklang
+ bio: VP of Business Technology @powerhome. Real-Time Comms Revolutionary. Open Source
+ Hacker. Aspiring People-Person.
+ website: http://powerhrg.com
+ slug: ben-klang
+- name: Caleb Thompson
+ twitter: ''
+ github: cdantetho
+ bio: "Technocentric entrepreneur in love with new technologies. \r\n\r\nCOO @brix-property
+ | CTO @Kontingence "
+ website: http://brix.property
+ slug: caleb-thompson
+- name: Derek Prior
+ twitter: ''
+ github: derekprior
+ bio: ''
+ website: http://prioritized.net
+ slug: derek-prior
+- name: Amy Unger
+ twitter: cdwort
+ github: cdwort
+ bio: Mistakes as a Service Provider
+ website: amyunger.com
+ slug: amy-unger
+- name: Bryana Knight
+ twitter: ''
+ github: bryanaknight
+ bio: ''
+ website: ''
+ slug: bryana-knight
+- name: Tony Drake
+ twitter: t27duck
+ github: t27duck
+ bio: Rails Developer. StimulusJS is ok too.
+ website: http://www.t27duck.com
+ slug: tony-drake
+- name: Lance Ivy
+ twitter: ''
+ github: cainlevy
+ bio: Formerly @energyrm, @empaticoorg, @kickstarter, @uservoice
+ website: http://cainlevy.net/
+ slug: lance-ivy
+- name: Jake Worth
+ twitter: jwworth
+ github: jwworth
+ bio: Software engineer learning in public. @DrTreat, ex @framebridge and @hashrocket,
+ mentoring @CodePlatoon.
+ website: https://www.jakeworth.com
+ slug: jake-worth
+- name: Ariel Caplan
+ twitter: ''
+ github: amcaplan
+ bio: ''
+ website: https://amcaplan.ninja
+ slug: ariel-caplan
+- name: Christian Koch
+ twitter: ''
+ github: chriskoch
+ bio: CEO and co-founder of @scandio, Atlassian Enterprise Expert, Lecturer at hm.edu
+ website: http://www.scandio.de
+ slug: christian-koch
+- name: Alex Boster
+ twitter: ''
+ github: tilthouse
+ bio: ''
+ website: ''
+ slug: alex-boster
+- name: Cameron Jacoby
twitter: ''
- github: klesht
+ github: cameronjacoby
bio: ''
- website: http://kevinlesht.com
- slug: kevin-lesht
-- name: Andrew Atkinson
- twitter: andatki
- github: andyatkinson
+ website: ''
+ slug: cameron-jacoby
+- name: Nathan Walls
+ twitter: base10
+ github: base10
+ bio: "Lead Software Engineer\r\n"
+ website: http://wallscorp.us/
+ slug: nathan-walls
+- name: Andrew Markle
+ twitter: ''
+ github: andrewmarkle
bio: ''
- website: andyatkinson.com
- slug: andrew-atkinson
+ website: ''
+ slug: andrew-markle
+- name: Jonathan Wallace
+ twitter: ''
+ github: wallace
+ bio: ''
+ website: http://blog.jonathanrwallace.com
+ slug: jonathan-wallace
+- name: Andreas Fast
+ twitter: ''
+ github: afast
+ bio: ''
+ website: blog.moove-it.com
+ slug: andreas-fast
+- name: Gianfranco Zas
+ twitter: ''
+ github: snmgian
+ bio: ''
+ website: ''
+ slug: gianfranco-zas
+- name: Danielle Adams
+ twitter: adamzdanielle
+ github: danielleadams
+ bio: "(◕‿◕ ✿)"
+ website: danielle.lol
+ slug: danielle-adams
+- name: Betsy Haibel
+ twitter: ''
+ github: bhaibel
+ bio: ''
+ website: ''
+ slug: betsy-haibel
+- name: Derek Carter
+ twitter: ''
+ github: goozbach
+ bio: ''
+ website: http://blog.friocorte.com/
+ slug: derek-carter
+- name: Andrew Evans
+ twitter: AndrewEvans0102
+ github: andrewevans0102
+ bio: Husband, Father, Engineer, and Front End Developer at AWS. Follow me on http://rhythmandbinary.com
+ and http://andrewevans.dev.
+ website: https://rhythmandbinary.com
+ slug: andrew-evans
+- name: Dave Ott
+ twitter: daveott
+ github: daveott
+ bio: ''
+ website: http://daveott.net
+ slug: dave-ott
+- name: Dennis Eusebio
+ twitter: ''
+ github: thoughtandtheory
+ bio: ''
+ website: http://www.thoughtandtheory.com/
+ slug: dennis-eusebio
+- name: Gabi Stefanini
+ twitter: lastgabs
+ github: lastgabs
+ bio: ''
+ website: http://www.lastgabs.com
+ slug: gabi-stefanini
+- name: Liz Certa
+ twitter: ''
+ github: ecerta
+ bio: ''
+ website: ''
+ slug: liz-certa
+- name: David McDonald
+ twitter: ''
+ github: david-pm
+ bio: friendly neighborhood pinko programmer
+ website: davidpm.io
+ slug: david-mcdonald
+- name: Mike Calhoun
+ twitter: ''
+ github: comike011
+ bio: Where I lounge is my stomping grounds.
+ website: http://www.michaelcalhoun.com
+ slug: mike-calhoun
+- name: Ryan Laughlin
+ twitter: rofreg
+ github: rofreg
+ bio: Developer, designer, and nonogram enthusiast. I'm co-founder and CTO at @splitwise.
+ website: https://rofreg.com
+ slug: ryan-laughlin
+- name: Eric Hodel
+ twitter: ''
+ github: drbrain
+ bio: ''
+ website: http://blog.segment7.net
+ slug: eric-hodel
+- name: Ezekiel Templin
+ twitter: ''
+ github: ezkl
+ bio: ''
+ website: https://ezkl.dev
+ slug: ezekiel-templin
+- name: Kir Shatrov
+ twitter: ''
+ github: kirs
+ bio: ''
+ website: http://kirshatrov.com
+ slug: kir-shatrov
+- name: Sean Griffin
+ twitter: ''
+ github: seanhaydongriffin
+ bio: ''
+ website: ''
+ slug: sean-griffin
+- name: Loren Crawford
+ twitter: ''
+ github: loren-m-crawford
+ bio: ''
+ website: http://lorencrawford.herokuapp.com/
+ slug: loren-crawford
+- name: Mark Imbriaco
+ twitter: ''
+ github: imbriaco
+ bio: ''
+ website: ''
+ slug: mark-imbriaco
+- name: Harisankar P S
+ twitter: ''
+ github: coderhs
+ bio: ''
+ website: hsps.in
+ slug: harisankar-p-s
+- name: Emily Freeman
+ twitter: ''
+ github: emilyfreeman
+ bio: 'Author, DevOps for Dummies • AWS '
+ website: http://www.emilyfreeman.io
+ slug: emily-freeman
+- name: Alistair McKinnell
+ twitter: ''
+ github: amckinnell
+ bio: ''
+ website: www.valuablecode.com
+ slug: alistair-mckinnell
+- name: Ben Halpern
+ twitter: bendhalpern
+ github: benhalpern
+ bio: "\r\n Founder of dev.to \U0001F469\U0001F4BB\U0001F468\U0001F4BB-> Now
+ open source! Come checkout our main repo at forem/forem \U0001F331"
+ website: https://dev.to/ben
+ slug: ben-halpern
+- name: Tess Griffin
+ twitter: ''
+ github: tessgriffin
+ bio: Senior Software Engineer on GitHub Education
+ website: ''
+ slug: tess-griffin
+- name: Gretchen Ziegler
+ twitter: ''
+ github: gretchenziegler
+ bio: ''
+ website: ''
+ slug: gretchen-ziegler
+- name: Max Tiu
+ twitter: ''
+ github: maximumtiu
+ bio: Engineer, former Director @rubycentral
+ website: ''
+ slug: max-tiu
+- name: Chris Hoffman
+ twitter: ''
+ github: chrishoffman
+ bio: ''
+ website: ''
+ slug: chris-hoffman
+- name: Alex Wood
+ twitter: alexwwood
+ github: awood45
+ bio: Developing open source tools for @aws Serverless Apps, and other related open
+ source work.
+ website: https://alexwood.codes
+ slug: alex-wood
+- name: Leonardo Tegon
+ twitter: ''
+ github: tegon
+ bio: "Backend dev | Tech should serve people and not the other way around.\r\n\r\nPassionate
+ about music, dance, food, books, and sports."
+ website: ''
+ slug: leonardo-tegon
+- name: Pete Holiday
+ twitter: ''
+ github: toomuchpete
+ bio: ''
+ website: http://www.peteholiday.com
+ slug: pete-holiday
+- name: Laura Mosher
+ twitter: ''
+ github: lauramosher
+ bio: Software Engineer
+ website: https://lauramosher.com
+ slug: laura-mosher
+- name: Brittany Martin
+ twitter: ''
+ github: regularlady
+ bio: Engineering Manager
+ website: https://brittanymartin.dev/
+ slug: brittany-martin
+- name: Ben Shippee
+ twitter: ''
+ github: benshippee
+ bio: ''
+ website: ''
+ slug: ben-shippee
+- name: Michael Herold
+ twitter: mherold
+ github: michaelherold
+ bio: ''
+ website: https://michaeljherold.com
+ slug: michael-herold
+- name: Cecy Correa
+ twitter: cecyc
+ github: cecyc
+ bio: "Software Engineer.\r\n\U0001F40D Python | \U0001F48E Ruby | #MICS at UC Berkeley"
+ website: https://www.cecy.dev/
+ slug: cecy-correa
+- name: Aly Fulton
+ twitter: ''
+ github: sinthetix
+ bio: ''
+ website: ''
+ slug: aly-fulton
+- name: Graham Conzett
+ twitter: ''
+ github: conzett
+ bio: ''
+ website: grahamconzett.com
+ slug: graham-conzett
+- name: Michael Crismali
+ twitter: ''
+ github: crismali
+ bio: ''
+ website: ''
+ slug: michael-crismali
+- name: Ross Kaffenberger
+ twitter: rossta
+ github: rossta
+ bio: Principal Engineer at @stitchfix ∙ Previously @LearnZillion @challengepost
+ @weplay ∙ Teaching Ruby, Rails, JavaScript at rossta.net
+ website: https://rossta.net
+ slug: ross-kaffenberger
+- name: Emil Ong
+ twitter: ''
+ github: emilong
+ bio: ''
+ website: ''
+ slug: emil-ong
+- name: Jordan Raine
+ twitter: ''
+ github: jnraine
+ bio: ''
+ website: https://jordanraine.com
+ slug: jordan-raine
+- name: Mike Schutte
+ twitter: ''
+ github: tmikeschu
+ bio: "learner, runner, make everything funner.\r\n\r\nblack lives matter. he/him."
+ website: https://tmikeschu.com
+ slug: mike-schutte
+- name: Khash Sajadi
+ twitter: ''
+ github: khash
+ bio: Founder @cloud66. Eclectic but not exclusively.
+ website: http://www.cloud66.com
+ slug: khash-sajadi
+- name: Vietor Davis
+ twitter: ''
+ github: vietord
+ bio: ''
+ website: ''
+ slug: vietor-davis
+- name: Ryan Davis
+ twitter: the_zenspider
+ github: zenspider
+ bio: Founder of @seattlerb. Author of minitest & many other gems. NO Recruiters!
+ website: https://www.zenspider.com/
+ slug: ryan-davis
+- name: Chris Arcand
+ twitter: chrisarcand
+ github: chrisarcand
+ bio: Engineering Lead, Terraform Cloud @ HashiCorp
+ website: https://www.chrisarcand.com
+ slug: chris-arcand
+- name: Jake Varghese
+ twitter: ''
+ github: jake3030
+ bio: ''
+ website: blog.flvorful.com
+ slug: jake-varghese
+- name: Sam Aarons
+ twitter: samaarons
+ github: saarons
+ bio: CTO/Co-Founder @Modern-Treasury. Krispy Kreme Enthusiast.
+ website: ''
+ slug: sam-aarons
+- name: Edouard Chin
+ twitter: ''
+ github: Edouard-chin
+ bio: ''
+ website: https://catana.dev
+ slug: edouard-chin
+- name: Chris LoPresto
+ twitter: chrislopresto
+ github: chrislopresto
+ bio: ''
+ website: https://chrislopresto.com
+ slug: chris-lopresto
+- name: Sumeet Jain
+ twitter: sumeetjain
+ github: sumeetjain
+ bio: ''
+ website: http://sumeetjain.com
+ slug: sumeet-jain
+- name: Dinah Shi
+ twitter: ''
+ github: dinahshi
+ bio: ''
+ website: ''
+ slug: dinah-shi
+- name: Geoffrey Litt
+ twitter: ''
+ github: geoffreylitt
+ bio: ''
+ website: http://geoffreylitt.com
+ slug: geoffrey-litt
+- name: Craig Kerstiens
+ twitter: ''
+ github: craigkerstiens
+ bio: ''
+ website: http://www.craigkerstiens.com
+ slug: craig-kerstiens
+- name: Yehuda
+ twitter: wycats
+ github: wycats
+ bio: ''
+ website: http://yehudakatz.com
+ slug: yehuda
+- name: Godfrey
+ twitter: ''
+ github: chancancode
+ bio: ''
+ website: http://about.me/godfreychan
+ slug: godfrey
+- name: Krystan
+ twitter: krystanhonour
+ github: krystan
+ bio: 'A Software developer who plays with many languages '
+ website: http://www.krystanhonour.com
+ slug: krystan
+- name: Eleanor Kiefel Haggerty
+ twitter: ''
+ github: eleanorakh
+ bio: Engineering Manager at @buildkite
+ website: eleanorkh.com
+ slug: eleanor-kiefel-haggerty
+- name: Molly Struve
+ twitter: molly_struve
+ github: mstruve
+ bio: Sr. Site Reliability Engineer at Netflix
+ website: https://twitter.com/molly_struve
+ slug: molly-struve
+- name: Takashi Kokubun
+ twitter: k0kubun
+ github: k0kubun
+ bio: Optimizing Ruby's JIT compilers.
+ website: ''
+ slug: takashi-kokubun
+- name: James Thompson
+ twitter: plainprogrammer
+ github: plainprogrammer
+ bio: Hands-on Software Architect
+ website: https://james.thomps.onl
+ slug: james-thompson
+- name: Michael Toppa
+ twitter: mtoppa
+ github: toppa
+ bio: ''
+ website: http://www.toppaware.com
+ slug: michael-toppa
+- name: John Beatty
+ twitter: john_d_beatty
+ github: beatty
+ bio: Engineer, Entrepreneur, Investor. Former co-founder/CEO of Clover.
+ website: https://www.johndbeatty.com
+ slug: john-beatty
+- name: Thomas E Enebo
+ twitter: ''
+ github: enebo
+ bio: ''
+ website: http://blog.enebo.com/
+ slug: thomas-e-enebo
+- name: Kyle d'Oliveira
+ twitter: ''
+ github: doliveirakn
+ bio: "Pronouns: He/Him\r\n\r\nThis is my Bio\r\nI think it is a good one\r\nBut
+ I may be wrong"
+ website: ''
+ slug: kyle-d-oliveira
+- name: Karl Entwistle
+ twitter: ''
+ github: karlentwistle
+ bio: Burrito enthusiast also enjoys pizza
+ website: http://twitter.com/karlentwistle
+ slug: karl-entwistle
+- name: Genadi Samokovarov
+ twitter: ''
+ github: gsamokovarov
+ bio: ''
+ website: http://gsamokovarov.com
+ slug: genadi-samokovarov
+- name: John Feminella
+ twitter: ''
+ github: fj
+ bio: ''
+ website: http://www.linkedin.com/in/johnxf
+ slug: john-feminella
+- name: Philippe Creux
+ twitter: pcreux
+ github: pcreux
+ bio: ''
+ website: https://pcreux.com
+ slug: philippe-creux
+- name: Chris Waters
+ twitter: ''
+ github: Waters000
+ bio: Full stack web developer and IOS swift developer.
+ website: www.Hizzil.com
+ slug: chris-waters
+- name: Alexandra Millatmal
+ twitter: ''
+ github: halfghaninne
+ bio: Senior Software Engineer @nytimes. Previously built a bespoke CMS at @newsela.
+ In love with the world outside of (impacted by, apart from, in spite of) tech.
+ website: https://alexandramillatmal.com
+ slug: alexandra-millatmal
+- name: Steven Hicks
+ twitter: ''
+ github: pepopowitz
+ bio: ''
+ website: ''
+ slug: steven-hicks
+- name: Rufo Sanchez
+ twitter: ''
+ github: rufo
+ bio: ''
+ website: ''
+ slug: rufo-sanchez
+- name: Jennifer Tu
+ twitter: ''
+ github: jennifertarroja-tuht
+ bio: ''
+ website: ''
+ slug: jennifer-tu
+- name: Ylan Segal
+ twitter: ''
+ github: ylansegal
+ bio: ''
+ website: http://ylan.segal-family.com
+ slug: ylan-segal
+- name: Alex Reiff
+ twitter: ''
+ github: AlexReiff
+ bio: "-"
+ website: ''
+ slug: alex-reiff
+- name: Ben Jacobson
+ twitter: bjacobso
+ github: bjacobso
+ bio: ''
+ website: http://benjacobson.com
+ slug: ben-jacobson
+- name: Ben Bleything
+ twitter: bleything
+ github: bleything
+ bio: The Puget Sound Convergence Zone's leading expert on Clown Computering
+ website: http://bleything.net
+ slug: ben-bleything
+- name: Eric Allen
+ twitter: InterwebAlchemy
+ github: ericrallen
+ bio: Interweb Alchemist | Developer Advocate @DataDog | Full Stack TypeScript |
+ DX | UX | AI
+ website: https://ericrallen.dev/
+ slug: eric-allen
+- name: Christopher Sexton
+ twitter: ''
+ github: csexton
+ bio: ''
+ website: http://www.codeography.com/
+ slug: christopher-sexton
+- name: Jeffrey Cohen
+ twitter: ''
+ github: jeffreycohenit
+ bio: ''
+ website: ''
+ slug: jeffrey-cohen
+- name: Ryan Alexander
+ twitter: ''
+ github: notlion
+ bio: ''
+ website: http://onecm.com
+ slug: ryan-alexander
+- name: Eric Tillberg
+ twitter: ''
+ github: Thrillberg
+ bio: ''
+ website: ''
+ slug: eric-tillberg
+- name: Jesse Belanger
+ twitter: ''
+ github: jbelang
+ bio: ''
+ website: ''
+ slug: jesse-belanger
+- name: Julien Fitzpatrick
+ twitter: _jbfitz
+ github: julienfitz
+ bio: they/them
+ website: https://dev.to/julienfitz
+ slug: julien-fitzpatrick
+- name: Yoshinori Kawasaki
+ twitter: kawasy
+ github: luvtechno
+ bio: 'Full-time Father / Climber / Software Engineer / Former CTO @wantedly '
+ website: https://www.wantedly.com/id/kawasy
+ slug: yoshinori-kawasaki
+- name: Sonja Peterson
+ twitter: ''
+ github: sonjapeterson
+ bio: ''
+ website: ''
+ slug: sonja-peterson
+- name: Matt Duszynski
+ twitter: bsdzunk
+ github: dzunk
+ bio: "The tower stands proudly, \r\nthe statue gazes out to sea. \r\nWhat great
+ work was not created, \r\nbut that the builder might see his reflection in the
+ world?"
+ website: matt.dus.zyn.ski
+ slug: matt-duszynski
+- name: Jason Swett
+ twitter: jasonswett
+ github: jasonswett
+ bio: Software engineer, speaker, podcast host and writer specializing in Ruby on
+ Rails.
+ website: http://www.codewithjason.com/
+ slug: jason-swett
+- name: Ratnadeep Deshmane
+ twitter: rtdp
+ github: rtdp
+ bio: ''
+ website: http://rtdp.me
+ slug: ratnadeep-deshmane
+- name: Anthony Crumley
+ twitter: ''
+ github: anthonycrumley
+ bio: ''
+ website: http://craftyco.de
+ slug: anthony-crumley
+- name: Ben Greenberg
+ twitter: hummusonrails
+ github: hummusonrails
+ bio: "\U0001F44B Ben Greenberg: Software Engineer & Developer Advocate | Rust, Ruby
+ | Making tech accessible \U0001F310 bengreenberg.dev"
+ website: https://www.bengreenberg.dev
+ slug: ben-greenberg
+- name: Alec Clarke
+ twitter: ''
+ github: alecclarke
+ bio: ''
+ website: ''
+ slug: alec-clarke
+- name: Anna Rankin
+ twitter: ''
+ github: annarankin
+ bio: web developer and eternal doodler
+ website: http://annarank.in
+ slug: anna-rankin
+- name: Chelsea Troy
+ twitter: HeyChelseaTroy
+ github: chelseatroy
+ bio: 'I write about code and folks seem to like it: chelseatroy.com'
+ website: http://www.chelseatroy.com
+ slug: chelsea-troy
+- name: Brynn Gitt
+ twitter: ''
+ github: bgitt
+ bio: ''
+ website: ''
+ slug: brynn-gitt
+- name: Oliver Sanford
+ twitter: ''
+ github: oliverjesse
+ bio: ''
+ website: ''
+ slug: oliver-sanford
+- name: Ufuk Kayserilioglu
+ twitter: paracycle
+ github: paracycle
+ bio: ''
+ website: https://ufuk.dev
+ slug: ufuk-kayserilioglu
+- name: Elayne Juten
+ twitter: ''
+ github: ejuten
+ bio: ''
+ website: ''
+ slug: elayne-juten
+- name: Jason Meller
+ twitter: jmeller
+ github: terracatta
+ bio: "Founder, CEO of @kolide.\r\nAuthor of https://honest.security"
+ website: https://kolide.com
+ slug: jason-meller
+- name: Jesse Spevack
+ twitter: ''
+ github: jesse-spevack
+ bio: Software Developer
+ website: http://www.verynormal.info
+ slug: jesse-spevack
+- name: Kent Beck
+ twitter: KentBeck
+ github: KentBeck
+ bio: ''
+ website: www.kentbeck.com
+ slug: kent-beck
+- name: Krystan HuffMenne
+ twitter: ''
+ github: gitKrystan
+ bio: "Senior Engineer at Auditboard\r\n\r\n(formerly @tildeio)"
+ website: ''
+ slug: krystan-huffmenne
+- name: Mark Hutter
+ twitter: ''
+ github: mrkhutter
+ bio: ''
+ website: ''
+ slug: mark-hutter
+- name: Chris Oliver
+ twitter: excid3
+ github: excid3
+ bio: ''
+ website: http://gorails.com
+ slug: chris-oliver
+- name: Andrew Ek
+ twitter: ''
+ github: andrewek
+ bio: Principal Engineer, Launch Scout
+ website: ''
+ slug: andrew-ek
+- name: Austin Story
+ twitter: ''
+ github: Austio
+ bio: 'I work a lot on Ruby, Elasticsearch, Javascript, Vue.js, Rails and some in
+ Golang. Past Lives: ada95, java, jquery, react and angular 1.x'
+ website: https://austio.com
+ slug: austin-story
+- name: Damir Svrtan
+ twitter: ''
+ github: DamirSvrtan
+ bio: Senior Software Engineer @netflix. Former organizer of @rubyzg meetups.
+ website: http://damir.svrtan.me/
+ slug: damir-svrtan
+- name: Bryan Cantrill
+ twitter: ''
+ github: bcantrill
+ bio: ''
+ website: dtrace.org/blogs/bmc
+ slug: bryan-cantrill
+- name: Gannon McGibbon
+ twitter: ''
+ github: gmcgibbon
+ bio: 'Developer @Shopify '
+ website: http://gannon.io/
+ slug: gannon-mcgibbon
+- name: Henning Koch
+ twitter: ''
+ github: triskweline
+ bio: Rubyist by day, romantic at night. Creator of http://unpoly.com. CTO at https://makandra.com
+ (we make Rails LTS).
+ website: https://makandra.com
+ slug: henning-koch
+- name: Jeannie Evans
+ twitter: ''
+ github: jmevans0211
+ bio: ''
+ website: ''
+ slug: jeannie-evans
+- name: Jemma Issroff
+ twitter: jemmaissroff
+ github: jemmaissroff
+ bio: ''
+ website: https://jemma.dev
+ slug: jemma-issroff
+- name: Jessica Hilt
+ twitter: ''
+ github: jessicahilt
+ bio: ''
+ website: ''
+ slug: jessica-hilt
+- name: Jonas Jabari
+ twitter: jonasjabari
+ github: jonasjabari
+ bio: ''
+ website: jonasjabari.dev
+ slug: jonas-jabari
+- name: Josh Thompson
+ twitter: josh_works
+ github: josh-works
+ bio: 'Builder of many things. Communities, friendships, explanatory guides, software,
+ chairs. '
+ website: https://josh.works
+ slug: josh-thompson
+- name: Kerri Miller
+ twitter: ''
+ github: kerrizor
+ bio: "Developer and lackwit gadabout \U0001F496"
+ website: http://kerrizor.com
+ slug: kerri-miller
+- name: Kevin Gilpin
+ twitter: ''
+ github: kgilpin
+ bio: ''
+ website: appland.com
+ slug: kevin-gilpin
+- name: Kerstin Puschke
+ twitter: ''
+ github: titanoboa
+ bio: ''
+ website: ''
+ slug: kerstin-puschke
+- name: Martin Jaime
+ twitter: ''
+ github: martinjaimem
+ bio: Computer Engineer
+ website: ''
+ slug: martin-jaime
+- name: Nicole Carpenter
+ twitter: ''
+ github: NicoleCarpenter
+ bio: ''
+ website: ''
+ slug: nicole-carpenter
+- name: Riaz Virani
+ twitter: ''
+ github: rvirani1
+ bio: ''
+ website: riazv.me
+ slug: riaz-virani
+- name: Ryan Boone
+ twitter: ''
+ github: falldowngoboone
+ bio: I'm a designer/developer based in the Dallas-Fort Worth area, and I love JavaScript,
+ warts and all.
+ website: ''
+ slug: ryan-boone
+- name: Ryan Brushett
+ twitter: ''
+ github: RyanBrushett
+ bio: "I really like animals and music.\r\n\r\nI work at @Fullscript "
+ website: https://ryanbrushett.com
+ slug: ryan-brushett
+- name: Santiago Bartesaghi
+ twitter: santib6_
+ github: santib
+ bio: ''
+ website: santib.com
+ slug: santiago-bartesaghi
+- name: Sumana Harihareswara
+ twitter: brainwane
+ github: brainwane
+ bio: Python programmer, manager, tech writer, mentor, release manager for hire.
+ @pypa member, @recursecenter alumna, @OpenTechStrategies colleague.
+ website: http://www.changeset.nyc
+ slug: sumana-harihareswara
+- name: Takumasa Ochi
+ twitter: ''
+ github: aeroastro
+ bio: Satellite Engineer (both hardware and software) / Web Engineer / Game Developer
+ website: https://twitter.com/NekomimiMaster
+ slug: takumasa-ochi
+- name: Tim Tyrrell
+ twitter: timtyrrell
+ github: timtyrrell
+ bio: ''
+ website: https://blog.tyrrell.io/
+ slug: tim-tyrrell
+- name: Will Jordan
+ twitter: ''
+ github: wjordan
+ bio: ''
+ website: https://willjordan.us
+ slug: will-jordan
+- name: Yechiel Kalmenson
+ twitter: ''
+ github: achasveachas
+ bio: Software Engineer
+ website: https://yechiel.me
+ slug: yechiel-kalmenson
+- name: Ramón Huidobro
+ twitter: ''
+ github: hola-soy-milk
+ bio: ''
+ website: https://ramonh.dev
+ slug: ramon-huidobro
+- name: Emily Harber
+ twitter: thecodepixi
+ github: thecodepixi
+ bio: Ruby | Rails | React | GraphQL
+ website: thecodepixi.dev
+ slug: emily-harber
+- name: Dorian Marie
+ twitter: ''
+ github: dgaboria
+ bio: ''
+ website: http://www.cef-cfr.ca/index.php?n=Membres.DorianGaboriau
+ slug: dorian-marie
+- name: Brandon Shar
+ twitter: ''
+ github: BrandonShar
+ bio: ''
+ website: ''
+ slug: brandon-shar
+- name: Sarah Sausan
+ twitter: ''
+ github: sarahsau
+ bio: " Rubyist, Cats enthusiast"
+ website: ''
+ slug: sarah-sausan
+- name: Lauren Billington
+ twitter: ''
+ github: BLaurenB
+ bio: 'I like to turn powder into fancy cakes, strings into wearable clothing, ideas
+ into music, and turn code into meaningful software! '
+ website: ''
+ slug: lauren-billington
+- name: Denise Yu
+ twitter: deniseyu21
+ github: deniseyu
+ bio: Professional dogeScript developer
+ website: https://deniseyu.io
+ slug: denise-yu
+- name: Espartaco Palma
+ twitter: ''
+ github: esparta
+ bio: ''
+ website: https://esparta.co
+ slug: espartaco-palma
+- name: Frederick Cheung
+ twitter: ''
+ github: fcheung
+ bio: ''
+ website: http://www.spacevatican.org
+ slug: frederick-cheung
+- name: Corey Martin
+ twitter: ''
+ github: CoreyM21
+ bio: New to coding but excited to learn!
+ website: ''
+ slug: corey-martin
+- name: Anthony Eden
+ twitter: aeden
+ github: aeden
+ bio: 'Founder of DNSimple, vendor of duct tape, purveyor of UDP packets. Mastodon:
+ @aeden@ruby.social'
+ website: http://anthonyeden.com/
+ slug: anthony-eden
+- name: Rachel Mathew
+ twitter: ''
+ github: ronarachel
+ bio: ''
+ website: ''
+ slug: rachel-mathew
+- name: Drew Bragg
+ twitter: DRBragg
+ github: DRBragg
+ bio: "Senior Developer @ Podia,\r\nPodcast Host @ podcast.drbragg.dev"
+ website: www.drbragg.dev
+ slug: drew-bragg
+- name: Kylie Stradley
+ twitter: ''
+ github: KyFaSt
+ bio: "\U0001F408⬛\U0001F4AB"
+ website: https://kyfast.net
+ slug: kylie-stradley
+- name: Guillermo Aguirre
+ twitter: guillermoap_
+ github: guillermoap
+ bio: "Senior Full Stack Developer - Software Engineer \U0001F4BB "
+ website: ''
+ slug: guillermo-aguirre
+- name: Kevin Gorham
+ twitter: ''
+ github: gmale
+ bio: ''
+ website: http://developerbits.blogspot.com
+ slug: kevin-gorham
+- name: Landon Gray
+ twitter: ''
+ github: thedayisntgray
+ bio: ''
+ website: ''
+ slug: landon-gray
+- name: Daniel Huss
+ twitter: ''
+ github: Daniel-N-Huss
+ bio: "Aspiring Technomancer, Refactoring Enjoyer.\r\n\r\nTDD, Ruby / Rails, React
+ / JavaScript"
+ website: ''
+ slug: daniel-huss
+- name: Hartley McGuire
+ twitter: ''
+ github: skipkayhil
+ bio: ''
+ website: ''
+ slug: hartley-mcguire
+- name: Justin Daniel
+ twitter: ''
+ github: justinddaniel
+ bio: 'My background is in science and education...I fell in love with programming
+ and that is my new career. '
+ website: ''
+ slug: justin-daniel
+- name: Rich Steinmetz
+ twitter: RichStoneIO
+ github: RichStone
+ bio: "Software Engineer @ Webinargeek \U0001F6E0 AHA-moments @ richstone.io \U0001F52E"
+ website: https://richstone.io
+ slug: rich-steinmetz
+- name: Rishi Jain
+ twitter: rishi_raj_jain_
+ github: rishi-raj-jain
+ bio: Previously, Technical Customer Success Manager @edgio. @storyblok Ambassador.
+ website: rishi.app
+ slug: rishi-jain
+- name: Meagan Waller
+ twitter: meaganewaller
+ github: meaganewaller
+ bio: ''
+ website: https://meaganwaller.com
+ slug: meagan-waller
+- name: Jordan Burke
+ twitter: ''
+ github: PendragonDevelopment
+ bio: "Senior Developer @headwayio\r\nGeneral Antilles @ wraithsquadrongaming.com"
+ website: http://headway.io
+ slug: jordan-burke
+- name: Allison Hill
+ twitter: ''
+ github: AllisonSHill
+ bio: ''
+ website: AllisonSHill.github.io
+ slug: allison-hill
+- name: Kevin Liebholz
+ twitter: ''
+ github: kevkev300
+ bio: Creator, Strategist and Full-Stack Developer - Proudly coding @portagon - Alumni
+ of Le Wagon Barcelona
+ website: kevin-liebholz.me
+ slug: kevin-liebholz
+- name: John Sawers
+ twitter: ''
+ github: johnksawers
+ bio: ''
+ website: johnksawers.com
+ slug: john-sawers
+- name: William Frey
+ twitter: ''
+ github: Will-Frey
+ bio: ''
+ website: ''
+ slug: william-frey
+- name: Michael Milewski
+ twitter: saramic
+ github: saramic
+ bio: ''
+ website: https://failure-driven.com/
+ slug: michael-milewski
+- name: Selena Small
+ twitter: ''
+ github: SelenaSmall
+ bio: I spend the majority of my free time researching and studying technologies
+ and concepts related to web and software development.
+ website: http://www.selenasmall.com
+ slug: selena-small
+- name: Rafael Mendonça França
+ twitter: rafaelfranca
+ github: rafaelfranca
+ bio: ''
+ website: ''
+ slug: rafael-mendonca-franca
+- name: Braulio Martinez
+ twitter: ''
+ github: brauliomartinezlm
+ bio: Senior Software Engineer.
+ website: https://cedarcode.com
+ slug: braulio-martinez
+- name: Elle Meredith
+ twitter: aemeredith
+ github: elle
+ bio: ''
+ website: http://aemeredith.com
+ slug: elle-meredith
+- name: Ole Michaelis
+ twitter: OleMchls
+ github: OleMchls
+ bio: Working @dnsimple, curator of @socoded and slidr.io – Passionate Software Engineer.
+ I ❤️ elixir, ruby, node, metrics, NoSQL and all bleeding edge stuff!
+ website: https://ole.mchls.works
+ slug: ole-michaelis
+- name: Vincent Rolea
+ twitter: vincentrolea
+ github: virolea
+ bio: Senior Software Engineer
+ website: ''
+ slug: vincent-rolea
+- name: Shana Moore
+ twitter: ''
+ github: ShanaLMoore
+ bio: ''
+ website: ''
+ slug: shana-moore
+- name: Kait Sewell
+ twitter: ''
+ github: K8Sewell
+ bio: Artist and pyrotechnician venturing into the depths of code.
+ website: ''
+ slug: kait-sewell
+- name: Allison McMillan
+ twitter: ''
+ github: asheren
+ bio: ''
+ website: http://www.daydreamsinruby.com
+ slug: allison-mcmillan
+- name: Adrianna Chang
+ twitter: adriannakchang
+ github: adrianna-chang-shopify
+ bio: "Senior Production Engineer at @Shopify in Ottawa, ON.\r\nCarleton CS 2020
+ grad | Dev Degree Alumna.\r\nShe / Her"
+ website: adriannachang.me
+ slug: adrianna-chang
+- name: Paul Bahr
+ twitter: ''
+ github: paulbahr
+ bio: ''
+ website: ''
+ slug: paul-bahr
+- name: Kinsey Durham Grace
+ twitter: KinseyAnnDurham
+ github: kinseydurhamgrace
+ bio: 'Enterprise Infrastructure Engineer at GitHub! I love writing code, fly fishing,
+ adventuring in the CO mountains and traveling. '
+ website: ''
+ slug: kinsey-durham-grace
+- name: Ali Ibrahim
+ twitter: ibrahim_0814
+ github: ibrahim0814
+ bio: Building things
+ website: ''
+ slug: ali-ibrahim
+- name: Pat Allan
+ twitter: pat
+ github: pat
+ bio: Gelato connoisseur, pancake master, recovering events organiser, and web developer.
+ He/him.
+ website: https://freelancing-gods.com
+ slug: pat-allan
+- name: Anjuan Simmons
+ twitter: anjuan
+ github: anjuan
+ bio: Technology Translator
+ website: http://www.AnjuanSimmons.com
+ slug: anjuan-simmons
+- name: Gary Ware
+ twitter: ''
+ github: gware
+ bio: ''
+ website: http://www.bpcc.edu
+ slug: gary-ware
+- name: Erik Guzman
+ twitter: talk2megooseman
+ github: talk2MeGooseman
+ bio: Experienced full-stack developers using Ruby on Rails and ReactJS. Open Source
+ Developer, Twitch development streamer https://twitch.tv/talk2megooseman
+ website: https://twitch.tv/talk2megooseman
+ slug: erik-guzman
+- name: Shayon Mukherjee
+ twitter: shayonj
+ github: shayonj
+ bio: ''
+ website: ''
+ slug: shayon-mukherjee
diff --git a/db/migrate/20230622202051_add_upvotes_and_views_to_talks.rb b/db/migrate/20230622202051_add_upvotes_and_views_to_talks.rb
new file mode 100644
index 00000000..4513b9d0
--- /dev/null
+++ b/db/migrate/20230622202051_add_upvotes_and_views_to_talks.rb
@@ -0,0 +1,6 @@
+class AddUpvotesAndViewsToTalks < ActiveRecord::Migration[7.1]
+ def change
+ add_column :talks, :like_count, :integer
+ add_column :talks, :view_count, :integer
+ end
+end
diff --git a/db/migrate/20230720104208_add_uniq_index_speaker_talk.rb b/db/migrate/20230720104208_add_uniq_index_speaker_talk.rb
new file mode 100644
index 00000000..dcb363da
--- /dev/null
+++ b/db/migrate/20230720104208_add_uniq_index_speaker_talk.rb
@@ -0,0 +1,6 @@
+class AddUniqIndexSpeakerTalk < ActiveRecord::Migration[7.1]
+ def change
+ remove_index :speaker_talks, [:speaker_id, :talk_id], if_exists: true
+ add_index :speaker_talks, [:speaker_id, :talk_id], unique: true
+ end
+end
diff --git a/db/migrate/20230720151537_add_primary_key_to_speaker_talks.rb b/db/migrate/20230720151537_add_primary_key_to_speaker_talks.rb
new file mode 100644
index 00000000..d8fccca7
--- /dev/null
+++ b/db/migrate/20230720151537_add_primary_key_to_speaker_talks.rb
@@ -0,0 +1,5 @@
+class AddPrimaryKeyToSpeakerTalks < ActiveRecord::Migration[7.1]
+ def change
+ add_column :speaker_talks, :id, :primary_key
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 487e302e..57157f5e 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema[7.1].define(version: 2023_06_15_124332) do
+ActiveRecord::Schema[7.1].define(version: 2023_07_20_151537) do
create_table "ahoy_events", force: :cascade do |t|
t.integer "visit_id"
t.integer "user_id"
@@ -102,12 +102,12 @@
t.index ["user_id"], name: "index_sessions_on_user_id"
end
- create_table "speaker_talks", id: false, force: :cascade do |t|
+ create_table "speaker_talks", force: :cascade do |t|
t.integer "speaker_id", null: false
t.integer "talk_id", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
- t.index ["speaker_id", "talk_id"], name: "index_speaker_talks_on_speaker_id_and_talk_id"
+ t.index ["speaker_id", "talk_id"], name: "index_speaker_talks_on_speaker_id_and_talk_id", unique: true
end
create_table "speakers", force: :cascade do |t|
@@ -151,6 +151,8 @@
t.string "thumbnail_xs", default: "", null: false
t.string "thumbnail_xl", default: "", null: false
t.date "date"
+ t.integer "like_count"
+ t.integer "view_count"
t.index ["date"], name: "index_talks_on_date"
t.index ["event_id"], name: "index_talks_on_event_id"
t.index ["slug"], name: "index_talks_on_slug"
diff --git a/db/seeds.rb b/db/seeds.rb
index d0c103bb..50afd5b7 100644
--- a/db/seeds.rb
+++ b/db/seeds.rb
@@ -10,13 +10,15 @@
# open the yaml file in ../data/rails_conf_2021.yml
-if Rails.env.development?
- SpeakerTalk.delete_all
- Speaker.delete_all
- Talk.delete_all
- Event.delete_all
- Organisation.delete_all
-end
+# scp root@91.107.208.207:/var/lib/docker/volumes/storage/_data/production_rubyvideo.sqlite3 /storage/backup/production_rubyvideo.sqlite3
+
+# if Rails.env.development?
+# SpeakerTalk.delete_all
+# Speaker.delete_all
+# Talk.delete_all
+# Event.delete_all
+# Organisation.delete_all
+# end
speakers = YAML.load_file("#{Rails.root}/data/speakers.yml")
organisations = YAML.load_file("#{Rails.root}/data/organisations.yml")
@@ -32,51 +34,58 @@
end
end
-organisations.each do |organisation|
- organisation = Organisation.find_or_create_by!(name: organisation["name"]) do |org|
- org.website = organisation["website"]
- # org.twitter = organisation["twitter"]
- org.youtube_channel_name = organisation["youtube_channel_name"]
- org.kind = organisation["kind"]
- org.frequency = organisation["frequency"]
- org.youtube_channel_id = organisation["youtube_channel_id"]
- # org.language = organisation["language"]
- end
+MeiliSearch::Rails.deactivate! do
+ organisations.each do |organisation|
+ organisation = Organisation.find_or_create_by!(name: organisation["name"]) do |org|
+ org.website = organisation["website"]
+ # org.twitter = organisation["twitter"]
+ org.youtube_channel_name = organisation["youtube_channel_name"]
+ org.kind = organisation["kind"]
+ org.frequency = organisation["frequency"]
+ org.youtube_channel_id = organisation["youtube_channel_id"]
+ # org.language = organisation["language"]
+ end
- events = YAML.load_file("#{Rails.root}/data/#{organisation.slug}/playlists.yml")
+ events = YAML.load_file("#{Rails.root}/data/#{organisation.slug}/playlists.yml")
- events.each do |event|
- event = Event.find_or_create_by!(name: event["title"]) do |evt|
- evt.date = event["published_at"]
- evt.organisation = organisation
- end
+ events.each do |event|
+ event = Event.find_or_create_by!(name: event["title"]) do |evt|
+ evt.date = event["published_at"]
+ evt.organisation = organisation
+ end
- puts event.slug
- talks = YAML.load_file("#{Rails.root}/data/#{organisation.slug}/#{event.slug}/videos.yml")
+ puts event.slug
+ talks = YAML.load_file("#{Rails.root}/data/#{organisation.slug}/#{event.slug}/videos.yml")
- talks.each do |talk_data|
- next if talk_data["title"].blank? || videos_to_ignore.include?(talk_data["video_id"])
+ talks.each do |talk_data|
+ next if talk_data["title"].blank? || videos_to_ignore.include?(talk_data["video_id"])
- talk = Talk.find_or_create_by!(title: talk_data["title"], event: event) do |tlk|
- tlk.description = talk_data["description"]
- tlk.year = talk_data["year"]
- tlk.video_id = talk_data["video_id"]
- tlk.video_provider = :youtube
- tlk.date = talk_data["published_at"]
- tlk.thumbnail_xs = talk_data["thumbnail_xs"] || ""
- tlk.thumbnail_sm = talk_data["thumbnail_sm"] || ""
- tlk.thumbnail_md = talk_data["thumbnail_md"] || ""
- tlk.thumbnail_lg = talk_data["thumbnail_lg"] || ""
- tlk.thumbnail_xl = talk_data["thumbnail_xl"] || ""
- tlk.slug = talk_data["raw_title"].parameterize
- end
+ talk = Talk.find_or_create_by!(title: talk_data["title"], event: event) do |tlk|
+ tlk.description = talk_data["description"]
+ tlk.year = talk_data["year"]
+ tlk.video_id = talk_data["video_id"]
+ tlk.video_provider = :youtube
+ tlk.date = talk_data["published_at"]
+ tlk.thumbnail_xs = talk_data["thumbnail_xs"] || ""
+ tlk.thumbnail_sm = talk_data["thumbnail_sm"] || ""
+ tlk.thumbnail_md = talk_data["thumbnail_md"] || ""
+ tlk.thumbnail_lg = talk_data["thumbnail_lg"] || ""
+ tlk.thumbnail_xl = talk_data["thumbnail_xl"] || ""
+ tlk.slug = talk_data["raw_title"].parameterize
+ end
- talk_data["speakers"]&.each do |speaker|
- speaker = Speaker.find_or_create_by!(name: speaker.strip)
- SpeakerTalk.create!(speaker: speaker, talk: talk)
+ talk_data["speakers"]&.each do |speaker_name|
+ next if speaker_name.blank?
+
+ speaker = Speaker.find_by(slug: speaker_name.parameterize) || Speaker.find_or_create_by(name: speaker_name.strip)
+ SpeakerTalk.create(speaker: speaker, talk: talk) if speaker
+ end
+ rescue ActiveRecord::RecordInvalid => e
+ puts "#{talk.title} is duplicated #{e.message}"
end
- rescue ActiveRecord::RecordInvalid => e
- puts "#{talk.title} is duplicated"
end
end
end
+
+# reindex all talk in MeiliSearch
+Talk.reindex!
diff --git a/file.yaml b/file.yaml
deleted file mode 100644
index 7b69c23b..00000000
--- a/file.yaml
+++ /dev/null
@@ -1,983 +0,0 @@
----
-- title: 'Opening Keynote: The Journey to Zeitwerk'
- raw_title: 'RailsConf 2022 - Opening Keynote: The Journey to Zeitwerk by Xavier
- Noria'
- description: 'RailsConf 2022 - Opening Keynote: The Journey to Zeitwerk by Xavier
- Noria'
- speakers:
- - Xavier Noria
- event_name: RailsConf 2022
- video_id: DzyGdOd_6-Y
- thumbnail_sm: https://i.ytimg.com/vi/DzyGdOd_6-Y/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/DzyGdOd_6-Y/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/DzyGdOd_6-Y/sddefault.jpg
-- title: Breaking up with the bundle
- raw_title: RailsConf 2022 - Breaking up with the bundle by Joel Hawksley
- description: |-
- Breaking up with the bundle by Joel Hawksley
-
- Over the course of 14 years, the GitHub.com CSS bundle grew to over 40,000 lines of custom CSS. It became almost impossible to refactor. Visual regressions were common. In this talk, we'll share an honest picture of our successes and failures as we've worked to break up with our CSS bundle by moving towards a component-driven UI architecture.
- speakers:
- - Joel Hawksley
- event_name: RailsConf 2022
- video_id: 21QG19Zy_g0
- thumbnail_sm: https://i.ytimg.com/vi/21QG19Zy_g0/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/21QG19Zy_g0/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/21QG19Zy_g0/sddefault.jpg
-- title: React-ing to Hotwire
- raw_title: RailsConf 2022 - React-ing to Hotwire by David Hill
- description: I was fully onboard with React as my front-end Javascript framework
- of choice for years. That all changed when I suddenly had to support a stand-alone
- React app that I had no hand in building. Thankfully Hotwire had just been released,
- and my manager was aware of how painful maintaining this application was going
- to be. So I started the process of migrating the React app into the Rails app,
- using Hotwire as the new front-end framework. How did it go, what lessons were
- learned, and would I do it again?
- speakers:
- - David Hill
- event_name: RailsConf 2022
- video_id: 6uj5o7U-3Y4
- thumbnail_sm: https://i.ytimg.com/vi/6uj5o7U-3Y4/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/6uj5o7U-3Y4/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/6uj5o7U-3Y4/sddefault.jpg
-- title: Caching Without Marshal
- raw_title: RailsConf 2022 - Caching Without Marshal by Chris Salzberg
- description: |-
- Marshal is Ruby's ultimate sharp knife, able to transform any object into a binary blob and back. This makes it a natural match for the diverse needs of a cache.
-
- But Marshal's magic comes with risks. Code changes can break deploys; user input can trigger an RCE.
-
- We recently decided these risks were not worth it. Breaking with convention, we migrated the cache on our core monolith to MessagePack, a more compact binary serialization format with stricter typing and less magic.
-
- In this talk, I'll pry Marshal open to show how it works, how we replaced it, and why you might want to do the same.
- speakers:
- - Chris Salzberg
- event_name: RailsConf 2022
- video_id: T096iKLMBwQ
- thumbnail_sm: https://i.ytimg.com/vi/T096iKLMBwQ/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/T096iKLMBwQ/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/T096iKLMBwQ/sddefault.jpg
-- title: Event Streaming on Rails
- raw_title: RailsConf 2022 - Event Streaming on Rails by Brad Urani
- description: 'Pop quiz: How do you best make one Rails app communicate with another?
- How do you split one big Rails app into two smaller ones? How do you switch from
- a Rails app to a constellation of Rails services? Event streaming provides the
- most robust answer. Simple but powerful Kafka streams unlock a world of capabilities
- with their durability and consistency, but integrating with Rails poses challenges.
- Join us and learn simple reading and writing to Kafka with Rails, broader distributed
- systems design, and the magical transactional outbox. You''ll leave with the knowledge
- you need to make the switch.'
- speakers:
- - Brad Urani
- event_name: RailsConf 2022
- video_id: 0eLVAScw7XE
- thumbnail_sm: https://i.ytimg.com/vi/0eLVAScw7XE/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/0eLVAScw7XE/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/0eLVAScw7XE/sddefault.jpg
-- title: 'Kuby: Active Deployment for Rails Apps'
- raw_title: 'RailsConf 2022 - Kuby: Active Deployment for Rails Apps by Cameron Dutro'
- description: One of the Rails mantras is "convention over configuration," sane defaults
- that limit the cognitive overhead of application development. It's easy to learn
- and easy to build with... right up until you want to deploy your app to production.
- At that point, the hand-holding ends. Like the Roadrunner, Rails stops right before
- the cliff and lets you, Wile E. Coyote, sail over the edge. We have active record
- for interacting with databases, active storage for storing files, etc, but where's
- active deployment? Come learn how Kuby, a new deployment tool, is trying to bridge
- the gap.
- speakers:
- - Cameron Dutro
- event_name: RailsConf 2022
- video_id: zbAslvHa7MI
- thumbnail_sm: https://i.ytimg.com/vi/zbAslvHa7MI/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/zbAslvHa7MI/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/zbAslvHa7MI/sddefault.jpg
-- title: 'Keynote: RailsConf 2022'
- raw_title: 'RailsConf 2022 - Keynote: RailsConf 2022 - It''s been a minute! by Aaron
- Patterson'
- description: 'Keynote: RailsConf 2022 - It''s been a minute! by Aaron Patterson'
- speakers:
- - It's been a minute!
- - Aaron Patterson
- event_name: RailsConf 2022
- video_id: 5QgQicKHmeU
- thumbnail_sm: https://i.ytimg.com/vi/5QgQicKHmeU/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/5QgQicKHmeU/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/5QgQicKHmeU/sddefault.jpg
-- title: Leveling Up from Planning to Production
- raw_title: RailsConf 2022 - Leveling Up from Planning to Production by Thomas Countz
- description: |-
- The biggest difference between a mid-level engineer and a senior engineer is the scale and scope of the work they're responsible for. How do you dive into complex tasks, report progress to project leadership, and stay focused with so many unknowns?
-
- These are the questions I've continued to ask myself as I grow in my career. In this session, we'll explore the tools myself and other senior-level individual contributors use to shape our work from project inception to delivery.
- speakers:
- - Thomas Countz
- event_name: RailsConf 2022
- video_id: 4XkPMWiTRMA
- thumbnail_sm: https://i.ytimg.com/vi/4XkPMWiTRMA/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/4XkPMWiTRMA/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/4XkPMWiTRMA/sddefault.jpg
-- title: 'Evaluating Cultural Fit + Culturesmithing: Everyone Influences...'
- raw_title: 'RailsConf 2022 - Evaluating Cultural Fit + Culturesmithing: Everyone
- Influences... by Casey Watts'
- description: "Evaluating Cultural Fit + Culturesmithing: Everyone Influences Culture\nCasey
- Watts \n\n“Toxic culture” is, by far, the number one reason that people are quitting
- their jobs. People are no longer willing to work at organizations where they don’t
- feel valued, respected, and included. Economists have dubbed this “The Great Resignation.”
- In this talk you will learn how this situation applies to you and what you can
- do to make things better. You will learn a framework for evaluating whether an
- organization’s culture meets your personal needs, and you will learn 20 immediately
- implementable techniques to improve this culture."
- speakers:
- - Casey Watts
- event_name: RailsConf 2022
- video_id: yVUxqQmyUQ8
- thumbnail_sm: https://i.ytimg.com/vi/yVUxqQmyUQ8/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/yVUxqQmyUQ8/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/yVUxqQmyUQ8/sddefault.jpg
-- title: Do You Trust Me? A look at Trust, Time, and Teams
- raw_title: RailsConf 2022 - Do You Trust Me? A look at Trust, Time, and Teams by
- John DeWyze
- description: |-
- I've got a deal for you. You give me some trust, I'll give you some time back. No strings attached.
-
- Trust is core to working on a team. We give a little trust, so we can save time. We use systems to create/protect/and outsource trust: PRs, pairing, code cov, type systems, etc. Join me for an exploration of trust in engineering, the psychology of trust, its relationship to time, and how we can have better trust rituals when we reframe the goal. So give me a little of your time and I'll teach you a little about trust. Do we have a deal?
- speakers:
- - John DeWyze
- event_name: RailsConf 2022
- video_id: DoOpM3_xUQY
- thumbnail_sm: https://i.ytimg.com/vi/DoOpM3_xUQY/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/DoOpM3_xUQY/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/DoOpM3_xUQY/sddefault.jpg
-- title: The Little Engines That Could
- raw_title: RailsConf 2022 - The Little Engines That Could by Mina Slater
- description: |-
- Rails Engines. It’s more than just a cute name made up of two words both related to trains.
-
- Are they plug-ins? Are they microservices? When do we use them? How do we implement them? Why aren’t they used more often?
-
- Those are the questions I wish were answered for me when I first learned about Rails Engines. Inspired by Wired’s Explain In 5 Levels series, we will explore Rails Engines and address these quandaries using a variety of techniques, breaking down what engines are and how and when to use them.
- speakers:
- - Mina Slater
- event_name: RailsConf 2022
- video_id: I7ytUvv4d7Y
- thumbnail_sm: https://i.ytimg.com/vi/I7ytUvv4d7Y/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/I7ytUvv4d7Y/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/I7ytUvv4d7Y/sddefault.jpg
-- title: Scaling Rails with JRuby in 2022
- raw_title: RailsConf 2022 - Scaling Rails with JRuby in 2022 by Charles Oliver Nutter
- description: JRuby is back in 2022 with Ruby 3.1 support and new work on performance
- and scaling. For over a decade, Ruby users have turned to JRuby to get access
- to world-class garbage collection, native JIT compilation for increased performance,
- and true parallel threading. Today, you can take your Rails app and reduce both
- latency and resource costs by hosting a single JRuby process for all your concurrent
- users. JRuby is the only alternative Ruby deployed at scale, powering companies
- all over the world in mission critical areas. Come see how JRuby can help you
- scale today!
- speakers:
- - Charles Oliver Nutter
- event_name: RailsConf 2022
- video_id: 3mH4OxFJa1c
- thumbnail_sm: https://i.ytimg.com/vi/3mH4OxFJa1c/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/3mH4OxFJa1c/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/3mH4OxFJa1c/sddefault.jpg
-- title: Spacecraft! The care and keeping of a legacy ...
- raw_title: RailsConf 2022 - Spacecraft! The care and keeping of a legacy ... by
- Annie Lydens & Jenny Allar
- description: |-
- Spacecraft! The care and keeping of a legacy application
- Annie Lydens & Jenny Allar
-
- Join us for an allegorical journey aboard the spacecraft Legacy, where the astronauts desperately need to update their aging infrastructure. Their leader, a brave spaceperson named Yuki, knows these repairs must be completed before the team gets hit by a series of feature request asteroids. This talk is an ELI5 journey through the various strategies around assessing, improving, and bullet-proofing Rails apps in need of some cosmic maintenance.
- speakers:
- - Annie Lydens
- - Jenny Allar
- event_name: RailsConf 2022
- video_id: 1jPZHjmQwCM
- thumbnail_sm: https://i.ytimg.com/vi/1jPZHjmQwCM/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/1jPZHjmQwCM/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/1jPZHjmQwCM/sddefault.jpg
-- title: "`rails c` with meturbocharge your use of the interactive console"
- raw_title: RailsConf 2022 - `rails c` with meturbocharge your use of the interactive
- console by Sweta Sanghavi
- description: Spinning up the rails console can be a quick way to answer a question
- with a back of the envelope calculation. But, what else can we use it for, and
- how does it work? Allow me to show you new ways to leverage the console's features
- and become an even more expert debugger. You'll leave with some simple tactics
- to save you time and write more performant code. While you're here, we'll look
- under the hood to see how the features of the console are encoded and we'll trace
- back the history of these libraries to see how they arrived in our Rails application.
- speakers:
- - Sweta Sanghavi
- event_name: RailsConf 2022
- video_id: owj6e69lIws
- thumbnail_sm: https://i.ytimg.com/vi/owj6e69lIws/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/owj6e69lIws/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/owj6e69lIws/sddefault.jpg
-- title: 'ELI5: A Game Show on Rails'
- raw_title: 'RailsConf 2022 - ELI5: A Game Show on Rails by Andy Glass'
- description: |-
- ‘Those who know, do. Those that understand, teach.’
-
- We might know our way around the classic conventions of our beloved Ruby on Rails, but do we understand them enough to explain those concepts to our peers? In this interactive (participation optional!) game show session, let’s find out!
-
- After we quickly discuss some of the philosophies of teaching, we’ll divide up into teams and play a Jeopardy! meets Catchphrase hybrid game… with a few surprises along the way! Beginner, intermediate and advanced Rails-devs are welcome, and Portland-themed prizes will be awarded to the winners.
- speakers:
- - Andy Glass
- event_name: RailsConf 2022
- video_id: n7JqHXlUQHo
- thumbnail_sm: https://i.ytimg.com/vi/n7JqHXlUQHo/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/n7JqHXlUQHo/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/n7JqHXlUQHo/sddefault.jpg
-- title: Don't page me! How we limit pager noise at New Relic
- raw_title: RailsConf 2022 - Don't page me! How we limit pager noise at New Relic
- by Chuck Lauer Vose
- description: |-
- New Relic's largest monolith handles 200k req/min and communicates with more than 40 external services and 11 mysql databases; this should result in constant downtime. Being mindful and alerting on the right things has been critical for us.
-
- This talk will cover a successful process for identifying trustworthy data, refining alert conditions, and what kinds of checks to page on.
- speakers:
- - Chuck Lauer Vose
- event_name: RailsConf 2022
- video_id: uNMQpkb7uvE
- thumbnail_sm: https://i.ytimg.com/vi/uNMQpkb7uvE/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/uNMQpkb7uvE/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/uNMQpkb7uvE/sddefault.jpg
-- title: RAILS_ENV=demo
- raw_title: RailsConf 2022 - RAILS_ENV=demo by Nathan Griffith
- description: "Today’s the day. You’ve prepared your pitch, deployed a special copy
- of your app, and confirmed—in a trial run—that your walkthrough is ready for a
- live audience. But, now, when you attempt to log in, something breaks. Flustered,
- you debug, apologize, and debug some more, before finally calling it quits. Next
- time, you’ll bring a prerecorded screencast... \U0001F62E\U0001F4A8\n\nWhat could’ve
- been done to make the app more reliably \"demoable\"? Join us, as we use \"stateful
- fakes\" and \"personas\" to produce a testable, maintainable, and failure-resistant
- \"demo\" deployment, with production-like uptime guarantees!"
- speakers:
- - Nathan Griffith
- event_name: RailsConf 2022
- video_id: VibJu9IMohc
- thumbnail_sm: https://i.ytimg.com/vi/VibJu9IMohc/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/VibJu9IMohc/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/VibJu9IMohc/sddefault.jpg
-- title: If You Know Heroku, You Can Use Kubernetes
- raw_title: RailsConf 2022 - If You Know Heroku, You Can Use Kubernetes by Jamie
- Gaskins
- description: You've probably heard "Kubernetes is overcomplicated! Just use Heroku!"
- But it turns out that, while Kubernetes can be complicated, it doesn't have to
- be. In this talk, you'll learn how to deploy with Kubernetes in a way that is
- nearly as friendly as with Heroku.
- speakers:
- - Jamie Gaskins
- event_name: RailsConf 2022
- video_id: zYHqnp4zK_4
- thumbnail_sm: https://i.ytimg.com/vi/zYHqnp4zK_4/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/zYHqnp4zK_4/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/zYHqnp4zK_4/sddefault.jpg
-- title: '"Build vs Buy" on Rails'
- raw_title: RailsConf 2022 - "Build vs Buy" on Rails by Colin Loretz
- description: |-
- Your SaaS app is adding new engaged users every day and your roadmap is growing with features to delight them! Users are requesting new 3rd party integrations, more powerful search, reporting capabilities, and live chat, oh my!
-
- Should you try and build all of these features? Should you work with partner services to add these features? The answer: it depends!
-
- In 2022, the classic "Build vs Buy" question is more nuanced than ever and we'll dig into the pros and cons when building (or buying) on Rails.
- speakers:
- - Colin Loretz
- event_name: RailsConf 2022
- video_id: A-GDhlBTHoo
- thumbnail_sm: https://i.ytimg.com/vi/A-GDhlBTHoo/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/A-GDhlBTHoo/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/A-GDhlBTHoo/sddefault.jpg
-- title: Shopify
- raw_title: RailsConf 2022 - Shopify
- description: Shopify
- speakers: []
- event_name: RailsConf 2022
- video_id: p_C6BcKX0qs
- thumbnail_sm: https://i.ytimg.com/vi/p_C6BcKX0qs/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/p_C6BcKX0qs/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/p_C6BcKX0qs/sddefault.jpg
-- title: 'Keynote: The Success of Ruby on Rails'
- raw_title: 'RailsConf 2022 - Keynote: The Success of Ruby on Rails by Eileen Uchitelle'
- description: 'Keynote: The Success of Ruby on Rails by Eileen Uchitelle'
- speakers:
- - Eileen Uchitelle
- event_name: RailsConf 2022
- video_id: MbqJzACF-54
- thumbnail_sm: https://i.ytimg.com/vi/MbqJzACF-54/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/MbqJzACF-54/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/MbqJzACF-54/sddefault.jpg
-- title: 'A Rails Performance Guidebook: from 0 to 1B requests/day'
- raw_title: 'RailsConf 2022 - A Rails Performance Guidebook: from 0 to 1B requests/day
- by Cristian Planas'
- description: |-
- Building a feature is not good enough anymore: all your work won't be of use if it's not performant enough. So how to improve performance? After all, performance is not an easy discipline to master: all slow applications are slow in their own way, meaning that there is no silver bullet for these kinds of problems.
-
- In this presentation, we will guide you across patterns, strategies, and little tricks to improve performance. We will do that by sharing real stories of our daily experience facing and solving real performance issues in an application that daily serves billions of requests per day.
- speakers:
- - Cristian Planas
- event_name: RailsConf 2022
- video_id: mJw3al4Ms2o
- thumbnail_sm: https://i.ytimg.com/vi/mJw3al4Ms2o/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/mJw3al4Ms2o/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/mJw3al4Ms2o/sddefault.jpg
-- title: Unboxing Rails 7What's new in the latest major version
- raw_title: RailsConf 2022 - Unboxing Rails 7What's new in the latest major version
- by Claudio Baccigalupo
- description: |-
- Rails 7.0 removes webpacker and spring from the default stack, adds encrypted attributes, allows for asynchronous query loading, changes autoloading defaults, attaches comments to Active Record queries, and introduces new tools for front-end development.
-
- Learn about these and many other Pull Requests that were merged in rails/rails in 2021. Understand the motivation behind some architectural decisions. Review the process to upgrade from Rails 6.1 to Rails 7.
- speakers:
- - Claudio Baccigalupo
- event_name: RailsConf 2022
- video_id: Xu12Vua5QJE
- thumbnail_sm: https://i.ytimg.com/vi/Xu12Vua5QJE/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/Xu12Vua5QJE/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/Xu12Vua5QJE/sddefault.jpg
-- title: GraphQL and Rails beyond HTTP APIs
- raw_title: RailsConf 2022 - GraphQL and Rails beyond HTTP APIs by Gui Vieira
- description: |-
- Are you considering building a GraphQL API for your Rails project or already have one? Do you know GraphQL can be leveraged beyond HTTP APIs?
-
- We will explore how GraphQL does not depend on HTTP and can be used as a secure and structured data layer for Rails projects. You will learn to deliver real-time GGraphQL through Websockets, Webhooks containing all the data you need, provide data for WebAssembly code and parallelize queries exporting large amounts of data. Every Rails project needs consistent access to data and GraphQL brings solutions beyond the typical HTTP API.
- speakers:
- - Gui Vieira
- event_name: RailsConf 2022
- video_id: glIahiGtLvo
- thumbnail_sm: https://i.ytimg.com/vi/glIahiGtLvo/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/glIahiGtLvo/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/glIahiGtLvo/sddefault.jpg
-- title: Ooops! You named it wrong. What now?
- raw_title: RailsConf 2022 - Ooops! You named it wrong. What now? by Ian Norris &
- Melissa Hunt Glickman
- description: |-
- You hear everybody talk about the newest feature to Widgets but you can’t find a single model reference to that in the code. What happened? Sometimes the business changes aren’t reflected in the code. Sometimes, you're missing information or the code grows into something different. What do you do? ‘Cuz you still gotta ship.
-
- Buckle up for a fast paced ride through the opportunities and pitfalls faced when you find yourself in this position. Through success and failure stories, learn how to leave space for names to breathe, make changes safely, and walking that fine line of changing just in time.
- speakers:
- - Ian Norris
- - Melissa Hunt Glickman
- event_name: RailsConf 2022
- video_id: zUiVFGKN2Xk
- thumbnail_sm: https://i.ytimg.com/vi/zUiVFGKN2Xk/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/zUiVFGKN2Xk/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/zUiVFGKN2Xk/sddefault.jpg
-- title: 'Browser History Confessional: Searching My Recent Searches'
- raw_title: 'RailsConf 2022 - Browser History Confessional: Searching My Recent Searches
- by Kevin Murphy'
- description: |-
- We all only have so much working memory available in our brains. Developers may joke about spending their day composing search engine queries. The reason it's a joke is because of the truth behind it. Search-driven development is a reality.
-
- Join me, and my actual search history, on a journey to solve recent challenges I faced. I'll categorize the different types of information I often search for. You'll leave with tips on retrieving the knowledge you need for your next bug, feature, or pull request.
- speakers:
- - Kevin Murphy
- event_name: RailsConf 2022
- video_id: R7LkHjJdH9o
- thumbnail_sm: https://i.ytimg.com/vi/R7LkHjJdH9o/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/R7LkHjJdH9o/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/R7LkHjJdH9o/sddefault.jpg
-- title: Computer science you might (not) want to know
- raw_title: RailsConf 2022 - Computer science you might (not) want to know by Andy
- Andrea
- description: |-
- One common recommendation for aspiring software developers is to pursue a degree in Computer Science (CS). While CS curricula do often cover practical software development skills, many departments heavily prioritize more academic and theoretical topics. This begs the question: how relevant is a CS degree to the day-to-day work of a professional developer?
-
- We’ll look at a few topics that are often included in the first half of an undergraduate CS curriculum. We’ll examine this information through two lenses: why it can be helpful and why it might not be all that relevant for a typical Rails dev.
- speakers:
- - Andy Andrea
- event_name: RailsConf 2022
- video_id: bK7n5EsZzlM
- thumbnail_sm: https://i.ytimg.com/vi/bK7n5EsZzlM/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/bK7n5EsZzlM/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/bK7n5EsZzlM/sddefault.jpg
-- title: 'Gem install: What could go wrong?'
- raw_title: 'RailsConf 2022 - Gem install: What could go wrong? by Ashley Ellis Pierce
- & Betty Li'
- description: |-
- The open source gem ecosystem is a major strength of Ruby and it’s not uncommon for a production Rails application to depend upon hundreds of gems. But what are the risks of installing a gem and having it in your Gemfile?
-
- In this talk, we’ll cover what “bad things” can actually happen when you install a gem. We’ll also talk about the ways of preventing these attacks from occurring in your application dependencies (so you can sleep well at night).
- speakers:
- - Ashley Ellis Pierce
- - Betty Li
- event_name: RailsConf 2022
- video_id: Gc-ajZ3Ed5A
- thumbnail_sm: https://i.ytimg.com/vi/Gc-ajZ3Ed5A/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/Gc-ajZ3Ed5A/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/Gc-ajZ3Ed5A/sddefault.jpg
-- title: 'The Queue Continuum: Applied Queuing Theory'
- raw_title: 'RailsConf 2022 - The Queue Continuum: Applied Queuing Theory by Justin
- Bowen'
- description: A Star Trek themed exploration of queuing theory and scaling applications
- with parallelism and concurrency. A general overview of the differences between
- parallelism and concurrency as well as when to apply more threads or more processes.
- We’ll go over examples of sidekiq and puma with different concurrency settings
- in various IO scenarios.
- speakers:
- - Justin Bowen
- event_name: RailsConf 2022
- video_id: GY4AT2z7mcI
- thumbnail_sm: https://i.ytimg.com/vi/GY4AT2z7mcI/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/GY4AT2z7mcI/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/GY4AT2z7mcI/sddefault.jpg
-- title: Ruby Archaeology
- raw_title: RailsConf 2022 - Ruby Archaeology by Nick Schwaderer
- description: |-
- In 2009 _why tweeted: "programming is rather thankless. you see your works become replaced by superior works in a year. unable to run at all in a few more."
- I take this as a call to action to run old code. In this talk we dig, together, through historical Ruby. We will have fun excavating interesting gems from the past.
-
- Further, I will answer the following questions:
-
- What code greater than 12 years old still runs in Ruby 3.1?
- What idioms have changed?
- And for the brave: how can you set up an environment to run Ruby 1.8 code from ~2008 on a modern machine?
- speakers:
- - Nick Schwaderer
- event_name: RailsConf 2022
- video_id: VPXHclib7X4
- thumbnail_sm: https://i.ytimg.com/vi/VPXHclib7X4/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/VPXHclib7X4/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/VPXHclib7X4/sddefault.jpg
-- title: 'Upgrading Rails: Everyone can do it and here’s how'
- raw_title: 'RailsConf 2022 - Upgrading Rails: Everyone can do it and here’s how
- by Andrea Fomera'
- description: Ever felt overwhelmed when figuring out how to upgrade a Rails app?
- Unsure where you should begin? We’ll talk about how upgrading should be treated
- as a feature, and how you can get buy-in from management for upgrading Rails.
- Have you heard about how GitHub or Shopify uses dual-booting to run two versions
- of Rails at once and wondered how that works? We’ll talk about three approaches
- you can use to upgrade your app. You’ll leave this talk with takeaways you can
- put into practice for your next Rails upgrade.
- speakers:
- - Andrea Fomera
- event_name: RailsConf 2022
- video_id: E4nYO_MEbAA
- thumbnail_sm: https://i.ytimg.com/vi/E4nYO_MEbAA/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/E4nYO_MEbAA/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/E4nYO_MEbAA/sddefault.jpg
-- title: 'Let Your Body Lead: Career Planning With Somatics'
- raw_title: 'RailsConf 2022 - Let Your Body Lead: Career Planning With Somatics by
- Amy Newell'
- description: |-
- How do you build a career you love? As engineers we try to make choices based on data, metrics, research. We make spreadsheets and “Compare Features.” And yet...so often we end up unhappy. All that careful research somehow doesn’t help.
-
- But what if you made decisions a different way? What if you had a sophisticated decision-making apparatus to guide you, built precisely to your needs -- an always-available guide?
-
- You do! It’s called your somatic intelligence. With practice you can learn to tune into it and let your body lead the way to satisfaction and fulfillment -- in every area of your life.
- speakers:
- - Amy Newell
- event_name: RailsConf 2022
- video_id: XLAOzi-SNMs
- thumbnail_sm: https://i.ytimg.com/vi/XLAOzi-SNMs/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/XLAOzi-SNMs/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/XLAOzi-SNMs/sddefault.jpg
-- title: Geolocation EXPLAINed
- raw_title: RailsConf 2022 - Geolocation EXPLAINed by Kevin Lesht
- description: |-
- How do you find the location of someone visiting your site? And, how do you do it fast? If you've ever been curious about how analytics services can place your site visitors on a map, or about how to analyze and improve a slow running query, then this talk is for you!
-
- In this session, you'll learn about IP address networking, fundamental database operations, and query performance tuning. We'll develop a geolocation system from the ground up, and make sure it's running lightning fast along the way.
- speakers:
- - Kevin Lesht
- event_name: RailsConf 2022
- video_id: C8yjDz91Oy0
- thumbnail_sm: https://i.ytimg.com/vi/C8yjDz91Oy0/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/C8yjDz91Oy0/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/C8yjDz91Oy0/sddefault.jpg
-- title: Building a diverse engineering team
- raw_title: RailsConf 2022 - Building a diverse engineering team - Wrapbook - Zaid
- Zawaideh & Jessica Lawrence
- description: Building a diverse engineering team - Wrapbook - Zaid Zawaideh & Jessica
- Lawrence
- speakers:
- - Wrapbook
- - " Zaid Zawaideh"
- - Jessica Lawrence
- event_name: RailsConf 2022
- video_id: nhTo-cZMy3M
- thumbnail_sm: https://i.ytimg.com/vi/nhTo-cZMy3M/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/nhTo-cZMy3M/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/nhTo-cZMy3M/sddefault.jpg
-- title: Diversity in Engineering; a community perspective
- raw_title: RailsConf 2022 - Diversity in Engineering; a community perspective
- description: "Diversity in Engineering; a community perspective\n- Shopify - \nMaya
- Toussaint, Caterina Paun & Stephanie Minn"
- speakers: []
- event_name: RailsConf 2022
- video_id: UIBmJqUL36Q
- thumbnail_sm: https://i.ytimg.com/vi/UIBmJqUL36Q/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/UIBmJqUL36Q/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/UIBmJqUL36Q/sddefault.jpg
-- title: Bringing Your Rails Monolith Along As The Business Grows
- raw_title: RailsConf 2022 - Bringing Your Rails Monolith Along As The Business Grows
- - Ontra - Carrick Rogers
- description: Bringing Your Rails Monolith Along As The Business Grows - Ontra -
- Carrick Rogers
- speakers:
- - Ontra
- - Carrick Rogers
- event_name: RailsConf 2022
- video_id: WVuw0sT8vqw
- thumbnail_sm: https://i.ytimg.com/vi/WVuw0sT8vqw/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/WVuw0sT8vqw/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/WVuw0sT8vqw/sddefault.jpg
-- title: Growing Your Background Job Knowledge
- raw_title: RailsConf 2022 - Growing Your Background Job Knowledge - Weedmaps - Jake
- Anderson
- description: "Growing Your Background Job Knowledge \n- Weedmaps - Jake Anderson"
- speakers:
- - Weedmaps
- - Jake Anderson
- event_name: RailsConf 2022
- video_id: CL7oUv5AibY
- thumbnail_sm: https://i.ytimg.com/vi/CL7oUv5AibY/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/CL7oUv5AibY/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/CL7oUv5AibY/sddefault.jpg
-- title: Puny to Powerful PostgreSQL Rails Apps
- raw_title: RailsConf 2022 - Puny to Powerful PostgreSQL Rails Apps by Andrew Atkinson
- description: This talk covers 5 challenging areas when scaling Rails applications
- on PostgreSQL databases. From identifying symptoms to applying solutions and understanding
- trade-offs, this talk will equip you with practical working knowledge you can
- apply immediately. This talk covers topics like safe migrations, understanding
- database connections, query optimization, database maintenance, and database replication
- and partitioning.
- speakers:
- - Andrew Atkinson
- event_name: RailsConf 2022
- video_id: CIYbpYKrX8Y
- thumbnail_sm: https://i.ytimg.com/vi/CIYbpYKrX8Y/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/CIYbpYKrX8Y/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/CIYbpYKrX8Y/sddefault.jpg
-- title: How music works, using Ruby
- raw_title: RailsConf 2022 - How music works, using Ruby by Thijs Cadier
- description: |-
- That strange phenomenon where air molecules bounce against each other in a way that somehow comforts you, makes you cry, or makes you dance all night: music. Since the advent of recorded audio, a musician doesn't even need to be present anymore for this to happen (which makes putting "I will always love you" on repeat a little less awkward).
-
- Sound engineers have found many ways of making music sound good when played from a record. Some of their methods have become industry staples used on every recording released today.
-
- Let's look at what they do and reproduce some of their methods in Ruby!
- speakers:
- - Thijs Cadier
- event_name: RailsConf 2022
- video_id: "-kM7o9zEX2A"
- thumbnail_sm: https://i.ytimg.com/vi/-kM7o9zEX2A/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/-kM7o9zEX2A/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/-kM7o9zEX2A/sddefault.jpg
-- title: Service Denied! Understanding How Regex DoS Attacks Work
- raw_title: RailsConf 2022 - Service Denied! Understanding How Regex DoS Attacks
- Work by Kevin Menard
- description: Did you know that people can knock your Rails application offline just
- by submitting specially formatted strings in a form or API request? In this talk,
- we’ll take a look at what’s really going on with a regex denial of service (DoS)
- attack. We’ll take a peek into the CRuby regex engine to see what it’s really
- doing when we ask it to match against a string. With a basic understanding of
- how regular expressions work, we can better understand what these attacks do,
- why they tie up so much CPU, and what we can do to guard against them.
- speakers:
- - Kevin Menard
- event_name: RailsConf 2022
- video_id: BmTuDIj3Eok
- thumbnail_sm: https://i.ytimg.com/vi/BmTuDIj3Eok/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/BmTuDIj3Eok/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/BmTuDIj3Eok/sddefault.jpg
-- title: Call me back, Postgres
- raw_title: RailsConf 2022 - Call me back, Postgres by Ifat Ribon
- description: 'Rails'' Active Record callbacks provide a simple interface for executing
- a process when something happens to a database record. However, sometimes Active
- Record callbacks aren’t the best solution available. For those cases, this talk
- introduces a great alternative: Postgres'' trigger functionality, a way of implementing
- callbacks at the database level. Coupled with Postgres'' listen and notify features,
- you can develop creative solutions for making your Rails app the center of an
- otherwise complex system, managing data syncing and other processes seamlessly,
- regardless of consumers of the app.'
- speakers:
- - Ifat Ribon
- event_name: RailsConf 2022
- video_id: nWe8JtZx3HM
- thumbnail_sm: https://i.ytimg.com/vi/nWe8JtZx3HM/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/nWe8JtZx3HM/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/nWe8JtZx3HM/sddefault.jpg
-- title: Wrapbook
- raw_title: RailsConf 2022 - Wrapbook
- description: Wrapbook
- speakers: []
- event_name: RailsConf 2022
- video_id: dw2IAX4idrc
- thumbnail_sm: https://i.ytimg.com/vi/dw2IAX4idrc/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/dw2IAX4idrc/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/dw2IAX4idrc/sddefault.jpg
-- title: 'Keynote: A tech görl origin story'
- raw_title: 'RailsConf 2022 - Keynote: A tech görl origin story by Crystal Tia Martin'
- description: 'Keynote: A tech görl origin story by Crystal Tia Martin'
- speakers:
- - Crystal Tia Martin
- event_name: RailsConf 2022
- video_id: qWJ63Qy8QII
- thumbnail_sm: https://i.ytimg.com/vi/qWJ63Qy8QII/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/qWJ63Qy8QII/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/qWJ63Qy8QII/sddefault.jpg
-- title: O(1), O(n) and O(#$*&!)
- raw_title: RailsConf 2022 - O(1), O(n) and O(#$*&!) by Stephen Prater
- description: Reasoning about the performance of your code doesn't need to require
- a PhD in computer science or specialized tooling - We'll learn how to quickly
- recognize and diagnose common performance issues like excessive algorithmic complexity
- and IO waiting using OpenTelemetry compatible tools. Then we'll fix those issues,
- and ensure that they stay fixed using automated performance testing, even as your
- application grows.
- speakers:
- - Stephen Prater
- event_name: RailsConf 2022
- video_id: fAwaezTP3d4
- thumbnail_sm: https://i.ytimg.com/vi/fAwaezTP3d4/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/fAwaezTP3d4/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/fAwaezTP3d4/sddefault.jpg
-- title: Git your PR accepted. Rebase your changes like a pro
- raw_title: RailsConf 2022 - Git your PR accepted. Rebase your changes like a pro
- by Daniel Magliola
- description: |-
- You want to contribute to an Open Source project, and you have a complex PR to submit. You've tried to keep it small, but sadly getting there took a lot of effort and your branch has more than 30 commits with fixes and reverting of dead ends.
-
- You know reviewing this will be a nightmare for the project maintainers, and more importantly, it will be almost impossible for anyone in the future to understand what you did by looking at the history.
-
- In this talk we will look at how Git branches work, and how to manicure them using Rebase to build a commit history your colleagues will love you for.
- speakers:
- - Daniel Magliola
- event_name: RailsConf 2022
- video_id: Q01m5pRNry0
- thumbnail_sm: https://i.ytimg.com/vi/Q01m5pRNry0/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/Q01m5pRNry0/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/Q01m5pRNry0/sddefault.jpg
-- title: 'Open the gate a little: strategies to protect and share data'
- raw_title: 'RailsConf 2022 - Open the gate a little: strategies to protect and share
- data by Fernando Petrales'
- description: |-
- Open the gate a little: strategies to protect and share data
- Can you name a more terrifying set of three words in software development than "HIPAA violation fines"? I bet you can't.
-
- We know we know we must protect access to our information at all costs, sometimes we need to provide access for legitimate reasons to our production data and this brings a dilemma to us: how to do it while minimizing the risks of data leakage.
-
- In this talk I'll share some strategies that can give you some guidance on when to close the door, when to open the door and when to open the door to your information a little
- speakers:
- - Fernando Petrales
- event_name: RailsConf 2022
- video_id: 9no7cvBGtLk
- thumbnail_sm: https://i.ytimg.com/vi/9no7cvBGtLk/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/9no7cvBGtLk/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/9no7cvBGtLk/sddefault.jpg
-- title: Reflecting on Active Record Associations
- raw_title: RailsConf 2022 - Reflecting on Active Record Associations by Daniel Colson
- description: Active Record associations seem magical—add a has_many here, a belongs_to
- there, and suddenly your models are loaded with behavior. Could it be magic, or
- is it plain old Ruby with some thoughtful design and a bit of metaprogramming?
- In this talk we'll study Active Record associations by writing our own belongs_to
- and has_many macros. We'll dynamically define methods, cache query results, replace
- a a Relation with a CollectionProxy, and automatically prevent N+1 queries with
- inverses. You'll leave with a deeper understanding of associations, and a new
- appreciation for their magic.
- speakers:
- - Daniel Colson
- event_name: RailsConf 2022
- video_id: 6qHKtAkqguc
- thumbnail_sm: https://i.ytimg.com/vi/6qHKtAkqguc/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/6qHKtAkqguc/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/6qHKtAkqguc/sddefault.jpg
-- title: Experimental Patterns in ActiveRecord
- raw_title: RailsConf 2022 - Experimental Patterns in ActiveRecord by John Crepezzi
- description: |-
- ActiveRecord provides a great deal of flexibility and speed of implementation for developers making new apps. As our teams and codebase grow and our services need to continue to scale, some of the patterns we use can start to get in our way. We've seen a bit of that at GitHub, and as a result have been experimenting with some new ways to work with ActiveRecord queries, reduce N+1s, and isolate model details.
-
- In this talk, I'll go over some the problems we've been facing, cover how we've been addressing them so far, and show some new experiments & patterns I've been working through.
- speakers:
- - John Crepezzi
- event_name: RailsConf 2022
- video_id: hNg1M1oBTRo
- thumbnail_sm: https://i.ytimg.com/vi/hNg1M1oBTRo/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/hNg1M1oBTRo/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/hNg1M1oBTRo/sddefault.jpg
-- title: 'Keynote: Meditations on Software'
- raw_title: 'RailsConf 2022 - Keynote: Meditations on Software by Vaidehi Joshi'
- description: 'Keynote: Meditations on Software by Vaidehi Joshi'
- speakers:
- - Vaidehi Joshi
- event_name: RailsConf 2022
- video_id: mWXo0PFYgIk
- thumbnail_sm: https://i.ytimg.com/vi/mWXo0PFYgIk/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/mWXo0PFYgIk/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/mWXo0PFYgIk/sddefault.jpg
-- title: The Mrs Triggs Problem
- raw_title: RailsConf 2022 - The Mrs Triggs Problem by Andy Croll
- description: |-
- "That's a good suggestion Mrs Triggs, perhaps one of the men in the room would like to make it?"
-
- As a society we have an attribution problem. People who look like me get it easy. Join me to explore how we can push back on the default stories & myths of who is providing value in our community.
-
- Warning, may contain content that will make you uncomfortable about your own past behaviour. But you'll leave better able to provide a better industry for your fellow humans.
- speakers:
- - Andy Croll
- event_name: RailsConf 2022
- video_id: QbcSsDUyW6s
- thumbnail_sm: https://i.ytimg.com/vi/QbcSsDUyW6s/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/QbcSsDUyW6s/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/QbcSsDUyW6s/sddefault.jpg
-- title: Don't touch that!
- raw_title: RailsConf 2022 - Don't touch that! by Adam Cuppy
- description: Ruby on Rails is a huge framework. There are modules, classes, established
- conventions, and a slew of code that's meant to be off-limits. But, what if we
- took our ornery childish self and played around? This is a talk about strategies
- for debugging, taught through the lens of experimentation and childish play. In
- this talk, we will override, extend, and disable all sorts of Rails internals
- and see what happens.
- speakers:
- - Adam Cuppy
- event_name: RailsConf 2022
- video_id: XDGPP5sEOR4
- thumbnail_sm: https://i.ytimg.com/vi/XDGPP5sEOR4/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/XDGPP5sEOR4/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/XDGPP5sEOR4/sddefault.jpg
-- title: Your TDD Treasure Map
- raw_title: RailsConf 2022 - Your TDD Treasure Map by Christopher "Aji" Slater
- description: We know testing is vital and makes refactoring painless. But how to
- set sail to that TDD treasure? Yarr, we need to test to get experience, but need
- experience to test. Let’s draw a map with simple strategies for identifying test
- cases and building a robust test suite. X marks the spot w/ TDD tools for newbies
- and seasoned pirates alike.
- speakers:
- - Christopher "Aji" Slater
- event_name: RailsConf 2022
- video_id: 9DVOi2NhkfQ
- thumbnail_sm: https://i.ytimg.com/vi/9DVOi2NhkfQ/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/9DVOi2NhkfQ/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/9DVOi2NhkfQ/sddefault.jpg
-- title: Your test suite is making too many database calls!
- raw_title: RailsConf 2022 - Your test suite is making too many database calls! by
- Joël Quenneville
- description: |-
- On a recent project, I sped up a test suite 15% by making a change to a single factory. This suite, like many others (including yours!), was making way too many database calls. It’s so easy to accidentally add extra queries to factories and test setup and these can compound to shockingly large numbers.
-
- The chaos is your opportunity! Learn to profile and fix hot spots, build big-picture understanding through diagrams, and write code that is resistant to extraneous queries. This talk will equip you to take back control of your build times and maybe impress your teammates in the process.
- speakers:
- - Joël Quenneville
- event_name: RailsConf 2022
- video_id: LOlG4kqfwcg
- thumbnail_sm: https://i.ytimg.com/vi/LOlG4kqfwcg/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/LOlG4kqfwcg/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/LOlG4kqfwcg/sddefault.jpg
-- title: Testing legacy code when you dislike tests (and legacy code)
- raw_title: RailsConf 2022 - Testing legacy code when you dislike tests (and legacy
- code) by Maeve Revels
- description: |-
- Are you supporting legacy code? Would you like to stop? A good testing strategy can transform legacy code into living code that is resilient and easy to evolve.
-
- Learn why legacy code is so difficult to maintain and identify where tests can make the most impact. Not just any tests, though! We'll dive into the characteristics of high-value versus low-value tests and learn techniques for writing tests that minimize the cost of change.
-
- Developers of any experience level can benefit from these concepts. Familiarity with Rails and an automated testing framework is helpful but not required.
- speakers:
- - Maeve Revels
- event_name: RailsConf 2022
- video_id: 6x_w7XmTLYg
- thumbnail_sm: https://i.ytimg.com/vi/6x_w7XmTLYg/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/6x_w7XmTLYg/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/6x_w7XmTLYg/sddefault.jpg
-- title: Laying the Cultural and Technical Foundation for Big Rails
- raw_title: RailsConf 2022 - Laying the Cultural and Technical Foundation for Big
- Rails by Alex Evanczuk
- description: As applications built on Rails get larger and larger, and more and
- more engineers work in the same monolith, our community needs to think more about
- what sort of tooling and architectural changes will help us continue to scale.
- This talk shares ideas around a toolchain, and more importantly, the social and
- cultural programs needed to support that toolchain, that can be used to help engineers
- in an ever-growing Rails codebase continue to have high velocity, manage their
- complexity, and claim ownership over their own business subdomains.
- speakers:
- - Alex Evanczuk
- event_name: RailsConf 2022
- video_id: J9S0qiGkAQY
- thumbnail_sm: https://i.ytimg.com/vi/J9S0qiGkAQY/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/J9S0qiGkAQY/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/J9S0qiGkAQY/sddefault.jpg
-- title: Your Service Layer Needn't be Fancy, It Just Needs to Exist
- raw_title: RailsConf 2022 - Your Service Layer Needn't be Fancy, It Just Needs to
- Exist by David Copeland
- description: Where would you put your business logic if not in Active Records? The
- answer is a service layer. Your service layer provides a seam between your user
- interface and your database that contains all the code that makes your app your
- app. This single design decision will buoy your app's sustainability for years.
- You'll learn why this is and how to start a service layer today without any patterns,
- principles, or fancy libraries.
- speakers:
- - David Copeland
- event_name: RailsConf 2022
- video_id: CRboMkFdZfg
- thumbnail_sm: https://i.ytimg.com/vi/CRboMkFdZfg/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/CRboMkFdZfg/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/CRboMkFdZfg/sddefault.jpg
-- title: Pictures Of You, Pictures Of Me, Crypto Steganography
- raw_title: RailsConf 2022 - Pictures Of You, Pictures Of Me, Crypto Steganography
- by Sean Marcia
- description: I was puzzled when a friend sent me a Buffy the Vampire Slayer picture
- out of the blue but, knowing that friend is an oddball, thought nothing of it.
- Days later, again without warning, a Babylon 5 picture. A few days after that
- a picture from Firefly. Then he repeated the pictures. A cryptic comment led me
- to understand that there was more to them than met the eye. Come learn the history,
- applications, and math behind crypto steganography how unravelling the mystery
- of the pictures culminated in the resolution of a 15 year rivalry when the US
- Olympic men’s curling team won the gold in 2018.
- speakers:
- - Sean Marcia
- event_name: RailsConf 2022
- video_id: 2gcO1Brjxac
- thumbnail_sm: https://i.ytimg.com/vi/2gcO1Brjxac/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/2gcO1Brjxac/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/2gcO1Brjxac/sddefault.jpg
-- title: Come on in! Making yourself at home in a new codebase
- raw_title: RailsConf 2022 - Come on in! Making yourself at home in a new codebase
- by Mercedes Bernard
- description: "\"Welcome! We're so excited to have you \U0001F917 please excuse the
- mess.\" – if a codebase could talk\n\nWhen we join a new team or start a new project,
- we have to onboard to the codebase. Diving into code that we're unfamiliar with
- can be stressful or make us feel like we don't know what we're doing. And the
- longer the codebase has been around, the more intense those feelings can be. But
- there are steps we can take to understand new code and start contributing quickly.
- In this talk, we'll cover how to build our code comprehension skills and how to
- make our own code welcoming to guests in the future."
- speakers:
- - Mercedes Bernard
- event_name: RailsConf 2022
- video_id: ckwnxieAo1M
- thumbnail_sm: https://i.ytimg.com/vi/ckwnxieAo1M/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/ckwnxieAo1M/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/ckwnxieAo1M/sddefault.jpg
-- title: A Rails Developer’s Guide To The Ruby VM
- raw_title: RailsConf 2022 - A Rails Developer’s Guide To The Ruby VM by Maple Ong
- description: |-
- What happens under the hood when you run a Ruby script as simple as puts “Hello World!”?
-
- Time to switch gears from the Rails-level of abstraction to a lower one and dive into some Ruby internals. We’ll be learning about how the Ruby code you write gets compiled and executed, then zoom in to the VM-level – what VMs are and what they do, and how the Ruby VM works. You’ll walk away with a better understanding of how Ruby and Rails works as a whole. No low-level systems knowledge needed!
- speakers:
- - Maple Ong
- event_name: RailsConf 2022
- video_id: ySuMOEVLaMw
- thumbnail_sm: https://i.ytimg.com/vi/ySuMOEVLaMw/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/ySuMOEVLaMw/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/ySuMOEVLaMw/sddefault.jpg
-- title: You have 2 seconds to respond
- raw_title: RailsConf 2022 - You have 2 seconds to respond - Atob - Justin Powers
- description: "You have 2 seconds to respond \n- Atob - Justin Powers"
- speakers:
- - Atob
- - Justin Powers
- event_name: RailsConf 2022
- video_id: qh2phv0Gm3c
- thumbnail_sm: https://i.ytimg.com/vi/qh2phv0Gm3c/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/qh2phv0Gm3c/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/qh2phv0Gm3c/sddefault.jpg
-- title: 'More Engineers, More Problems: Solutions for Big Teams'
- raw_title: 'RailsConf 2022 - More Engineers, More Problems: Solutions for Big Teams
- - Chime -'
- description: |-
- More Engineers, More Problems: Solutions for Big Teams
- - Chime - Noel Rappin, David Trejo, Brian Lesperance, Chris Dwan
- speakers:
- - Chime -
- event_name: RailsConf 2022
- video_id: TmRyZ7FB-HA
- thumbnail_sm: https://i.ytimg.com/vi/TmRyZ7FB-HA/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/TmRyZ7FB-HA/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/TmRyZ7FB-HA/sddefault.jpg
-- title: 'Finding the Needle in the Stack Trace: APM Logs-in-Context'
- raw_title: 'RailsConf 2022 - Finding the Needle in the Stack Trace: APM Logs-in-Context
- - New Relic -'
- description: |-
- Finding the Needle in the Stack Trace: APM Logs-in-Context
- - New Relic - Kayla Reopelle and Mike Neville-O'Neill
- speakers:
- - New Relic -
- event_name: RailsConf 2022
- video_id: p_3CvQdK2R0
- thumbnail_sm: https://i.ytimg.com/vi/p_3CvQdK2R0/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/p_3CvQdK2R0/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/p_3CvQdK2R0/sddefault.jpg
-- title: Functional Programming in Plain Terms
- raw_title: RailsConf 2022 - Functional Programming in Plain Terms by Eric Weinstein
- description: 'Have you ever wanted to know what a monad is? How about a functor?
- What about algebraic data types and parametric polymorphism? If you''ve been interested
- in these ideas but scared off by the language, you''re not alone: for an approach
- that champions composing simple pieces, functional programming is full of complex
- jargon. In this talk, we''ll cover these topics from a Ruby and Rails perspective,
- composing small ideas in everyday language. Before we''re through, you''ll have
- a rich new set of FP ideas to apply to your projects—and you''ll finally learn
- what a monad is (hint: it''s not a burrito).'
- speakers:
- - Eric Weinstein
- event_name: RailsConf 2022
- video_id: W2tmA4V0Bjk
- thumbnail_sm: https://i.ytimg.com/vi/W2tmA4V0Bjk/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/W2tmA4V0Bjk/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/W2tmA4V0Bjk/sddefault.jpg
-- title: The pitfalls of realtime-ification
- raw_title: RailsConf 2022 - The pitfalls of realtime-ification by Vladimir Dementyev
- description: |-
- Building realtime applications with Rails has become a no-brainer since Action Cable came around. With Hotwire, we don't even need to leave the comfort zone of HTML and controllers to introduce live updates to a Rails app. Realtime-ification in every house!
-
- Switching to realtime hides many pitfalls you'd better learn beforehand. How to broadcast personalized data? How not to miss updates during connection losses? Who's online? Does it scale?
-
- Let me dig into these problems and demonstrate how to resolve them for Action Cable and Hotwire.
- speakers:
- - Vladimir Dementyev
- event_name: RailsConf 2022
- video_id: TgpSs2ffJL0
- thumbnail_sm: https://i.ytimg.com/vi/TgpSs2ffJL0/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/TgpSs2ffJL0/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/TgpSs2ffJL0/sddefault.jpg
-- title: Start Your Ruby Podcast Today! No Experience Required
- raw_title: RailsConf 2022 - Start Your Ruby Podcast Today! No Experience Required
- by Jason Charnes
- description: "In 2018 a hot new Ruby meetup appeared online. \U0001F525 Three meetups
- later, it was gone. \U0001F62D\n\nThis failed experiment paved the way for a new
- Ruby podcast: Remote Ruby. 170 episodes later, we've learned a lot! We had no
- previous experience podcasting before the first episode. Along the way we've learned
- things like what kind of gear to use, how to perform interviews, and affirmed
- just how lovely the Ruby community is.\n\nIt's your turn! Come to learn from our
- mistakes, leave ready to start a podcast!"
- speakers:
- - Jason Charnes
- event_name: RailsConf 2022
- video_id: Y6QVKq3iM5s
- thumbnail_sm: https://i.ytimg.com/vi/Y6QVKq3iM5s/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/Y6QVKq3iM5s/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/Y6QVKq3iM5s/sddefault.jpg
-- title: Behind the Lemurs
- raw_title: RailsConf 2022 - Behind the Lemurs - Creating an Illustrated Talk by
- Brandon Weaver
- description: Perhaps you've heard of a magical band of cartoon lemurs with a love
- for teaching Ruby, but what exactly goes into making one of these talks? We'll
- look at my entire toolset and process for creating illustrated conference talks
- including ideation, storyboarding, art, code tie-ins, and more. Perhaps you'll
- even learn to make a few lemurs of your own!
- speakers:
- - Creating an Illustrated Talk
- - Brandon Weaver
- event_name: RailsConf 2022
- video_id: OBgE7qx--VA
- thumbnail_sm: https://i.ytimg.com/vi/OBgE7qx--VA/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/OBgE7qx--VA/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/OBgE7qx--VA/sddefault.jpg
-- title: 'Learn it, Do it, Teach it: How to Unstick Our Middle Devs'
- raw_title: 'RailsConf 2022 - Learn it, Do it, Teach it: How to Unstick Our Middle
- Devs by Chelsea Kaufman'
- description: 'One definition of the middle: a difficult or unpleasant position.
- Yuck! It certainly can feel that way for mid-level developers. Fortunately, we''ve
- uncovered a model that will help managers create an environment where their devs
- can thrive. Our Learn it Do it Teach it (LDT) model will foster more learning,
- while keeping their hands on the code, and adding in the magic touch, teaching.
- This talk will demonstrate how managers can implement a LDT model into a developer’s
- day to day. Growth plans like this model will allow your team to move from mids
- into seniors both faster and more confidently.'
- speakers:
- - Chelsea Kaufman
- event_name: RailsConf 2022
- video_id: iWqt_G_4nw4
- thumbnail_sm: https://i.ytimg.com/vi/iWqt_G_4nw4/mqdefault.jpg
- thumbnail_md: https://i.ytimg.com/vi/iWqt_G_4nw4/hqdefault.jpg
- thumbnail_lg: https://i.ytimg.com/vi/iWqt_G_4nw4/sddefault.jpg
diff --git a/lib/tasks/update_video_statistics.rake b/lib/tasks/update_video_statistics.rake
new file mode 100644
index 00000000..79d09b31
--- /dev/null
+++ b/lib/tasks/update_video_statistics.rake
@@ -0,0 +1,22 @@
+# lib/tasks/update_video_statistics.rake
+
+namespace :update_video_statistics do
+ desc "Update view_count and like_count in Talk table"
+ task update: :environment do
+ client = Youtube::Video.new
+
+ Talk.find_each do |talk|
+ stats = client.get_statistics(talk.video_id)
+ if stats
+ talk.update(
+ view_count: stats[:view_count],
+ like_count: stats[:like_count]
+ )
+ else
+ puts "Skipping talk with ID: #{talk.id} due to missing stats"
+ end
+ end
+
+ puts "Updated video statistics for all talks"
+ end
+end
diff --git a/load_test.yml b/load_testing/load_test.yml
similarity index 62%
rename from load_test.yml
rename to load_testing/load_test.yml
index 3ca49a06..5f47817b 100644
--- a/load_test.yml
+++ b/load_testing/load_test.yml
@@ -4,14 +4,17 @@ config:
- duration: 30
arrivalRate: 5
name: Warm up
- - duration: 300
+ - duration: 120
arrivalRate: 5
- rampTo: 30
+ rampTo: 45
name: Ramp up load
payload:
- path: search_payload.csv
- fields:
- - name
+ - path: search_payload.csv
+ fields:
+ - name
+ - path: talks_payload.csv
+ fields:
+ - talk_slug
scenarios:
- name: "visit home page"
flow:
@@ -19,8 +22,12 @@ scenarios:
url: "/talks"
- get:
url: "/talks?q={{ name }}"
+ - get:
+ url: "/talk/{{ talk_slug }}"
- get:
url: "/talks?q={{ name }}"
+ - get:
+ url: "/talk/{{ talk_slug }}"
- get:
url: "/talks?q={{ name }}"
- get:
diff --git a/search_payload.csv b/load_testing/search_payload.csv
similarity index 100%
rename from search_payload.csv
rename to load_testing/search_payload.csv
diff --git a/load_testing/talks_payload.csv b/load_testing/talks_payload.csv
new file mode 100644
index 00000000..2c54f191
--- /dev/null
+++ b/load_testing/talks_payload.csv
@@ -0,0 +1,396 @@
+rails-conf-2012-keynote-progress-by-david-heinemeier-hansson
+zero-downtime-deploys-for-rails-apps
+how-to-find-valuable-gems-by-nathan-bibler
+lightning-talks-part-ii
+rails-conf-2012-it-s-not-in-production-unless-it-s-monitored-by-joseph-ruscio-improved-audio
+rails-conf-2012-extending-ruby-with-ruby-by-michael-fairley
+minitest-refactoring-test-unit-and-rspec-back-to-version-0-0-1-by-jared-ning
+code-spelunking-in-the-all-new-basecamp-by-nick-quaranto
+redis-application-patterns-in-rails-by-obie-fernandez
+what-a-long-strange-trip-it-has-been-by-ezra-zygmuntowicz
+basic-rake-by-jim-weirich
+building-asynchronous-communication-layer-w-xmpp-ruby-javascript-by-andrew-carter-and-steve-jang
+preparing-for-rapid-growth-tips-for-enabling-your-app-and-team-to-grow-by-patrick-leonard
+engine-yard-the-cloud-application-support-and-you-ask-me-anything
+a-polygot-heroku-by-terrance-lee
+how-rails-helps-make-cooking-more-fun-in-japan-by-masahiro-ihara
+active-record-scopes-and-arel-by-jacob-swanner
+activesupport-and-activemodel-by-bryan-liles
+rvm-essential-rails-development-tools-by-olivier-lacan
+rails-flavored-ruby-by-michael-hartl
+rails-engines-patterns-by-andy-maleh
+securing-your-site-by-thomas-pomfret
+from-rails-rumble-to-50-000-000-results-by-mikel-lindsaar
+realtime-web-applications-with-streaming-rest-by-brad-gessler
+use-the-source-luke-high-fidelity-history-with-event-sourced-data-by-keith-gaddis
+rororoomba-ruby-on-rails-on-roomba-by-charles-abbott
+designing-hypermedia-apis-by-steve-klabnik
+practical-machine-learning-and-rails-by-andrew-cantino-and-ryan-stout
+using-rails-without-rails-by-piotr-sarnacki
+railsconf-2012-evented-ruby-vs-node-js-by-jerry-cheung
+schemaless-sql-the-best-of-both-worlds-by-will-leinweber
+semi-automatic-code-review-by-richard-huang
+presenters-and-decorators-a-code-tour-by-mike-moore
+coffeescript-for-the-rubyist-by-mark-bates
+using-backbone-js-with-rails-patterns-from-the-wild-by-sarah-mei
+deconstructing-travis-by-josh-kalderimis
+complex-made-simple-sleep-better-with-torquebox-by-lance-ball
+chanko-how-cookpad-safely-releases-multiple-feature-prototypes-in-production-by-kenta-murata
+rails-the-next-five-years-by-yehuda-katz
+rails-conf-2012-stack-smashing-by-david-czarnecki
+digging-deep-with-activesupport-notifications-by-matt-sanders
+ten-things-you-didn-t-know-rails-could-do-by-james-edward-gray-ii
+let-s-make-the-web-faster-tips-from-trenches-google-by-ilya-grigorick
+taming-the-kraken-how-operations-enables-developer-productivity-by-nathen-harvey
+the-future-of-sass-by-hampton-catlin
+progressive-enhancement-on-the-mobile-web-by-john-bender
+mobile-rage-what-causes-it-how-to-fix-it-by-lori-olson
+rails-conf-2012-getting-down-to-earth-geospatial-analysis-with-rails-by-daniel-azuma
+keynote-by-david-cohen-of-techstars
+2012-ruby-hero-awards
+keynote-i-ve-made-a-huge-mistake-by-aaron-patterson
+rails-conf-2012-keynote-simplicity-matters-by-rich-hickey
+railsconf-2012-ruby-rogues-live-podcast
+rails-conf-2013-using-elasticsearch-with-rails-apps-by-brian-gugliemetti
+rails-conf-2013-rails-insecure-defaults-by-bryan-helmkamp
+rails-conf-2013-patterns-of-basecamp-s-application-architecture-by-david-heinemeier-hansson
+rails-conf-2013-security-is-hard-but-we-can-t-go-shopping-by-andre-arko
+rails-conf-2013-nobody-will-train-you-but-you-by-zach-briggs
+rails-conf-2013-how-shopify-scales-rails-by-john-duff
+rails-conf-2013-the-war-for-talent-how-to-succeed-as-an-employer-or-engineer-by-allan-grant
+rails-conf-2013-monitoring-the-health-of-your-app-by-carl-lerche-and-yehuda-katz
+railsconf-2013-real-time-rails-by-brian-cardarella
+rails-conf-2013-ruby-libraries-important-for-rails-by-michael-hartl
+rails-conf-2013-testing-complex-systems-creating-data-and-limiting-scope-by-noel-rappin
+rails-conf-2013-postgres-the-best-tool-you-re-already-using-by-adam-sanderson
+rails-conf-2013-split-testing-for-product-discovery-by-bryan-woods
+rails-conf-2013-delicious-controversy-docs-tests-by-thomas-meeks
+rails-conf-2013-what-ruby-developers-can-learn-from-go-by-lionel-barrow
+rails-conf-2013-sleeping-with-the-enemy-by-george-brocklehurst
+rails-conf-2013-cache-cash-by-stefan-wintermeyer
+rails-conf-2013-of-buyers-and-renters-and-keeping-a-roof-over-our-heads-by-sebastian-delmont
+rails-conf-2013-pry-the-good-parts-by-conrad-irwin
+rails-conf-2013-an-intervention-for-activerecord-by-ernie-miller
+rails-conf-2013-from-rails-to-the-web-server-to-the-browser-by-david-padilla
+rails-conf-2013-the-magic-tricks-of-testing-by-sandi-metz
+rails-conf-2013-rails-vs-the-client-side-by-noel-rappin
+rails-conf-2013-rails-is-just-ruby-by-jesse-wolgamott
+rails-conf-2013-building-extractable-libraries-in-rails-by-patrick-robertson
+rails-conf-2013-natural-language-processing-with-ruby-by-brandon-black
+rails-conf-2013-testing-http-apis-in-ruby-by-shai-rosenfeld
+rails-conf-2013-maintainable-templates-by-brendan-loudermilk
+rails-conf-2013-crafting-gems-by-pat-allen
+rails-conf-2013-humanity-on-rails-by-daniel-azuma
+rails-conf-2013-closing-keynote-by-aaron-patterson
+rails-conf-2013-hacking-the-academic-experience-by-emily-stolfo
+rails-conf-2013-datomic-from-ruby-from-rails-by-yoko-harada
+rails-conf-2013-dissecting-ruby-with-ruby-by-richard-schneeman
+rails-conf-2013-how-to-talk-to-developers-by-ben-orenstein
+rails-conf-2013-keynote-by-james-duncan-davidson
+rails-conf-2013-configuration-management-patterns-by-beau-harrington
+rails-conf-2013-zero-downtime-payment-platforms-by-prem-sichanugrist-ryan-twomey
+rails-conf-2013-services-and-rails-the-sh-t-they-don-t-tell-you-by-brian-morton
+rails-conf-2013-describing-your-world-with-seahorse-by-trevor-rowe
+rails-conf-2013-your-first-rails-pull-request-by-mark-mcspadden
+rails-conf-2013-firefighting-on-rails-by-ethan-vizitei
+rails-conf-2013-flattening-the-cloud-learning-curve-using-rails-by-michael-murphy
+rails-conf-2013-forget-scaling-focus-on-performance-by-terence-lee
+rails-conf-2013-engine-yard-cloud-by-edward-chiu-pj-hagerty
+rails-conf-2013-devops-for-the-rubyist-soul-by-john-downey
+rails-conf-2013-creating-mountable-engines-by-patrick-peak
+rails-conf-2013-you-ve-got-a-sinatra-on-your-rails-by-jose-valim
+railsconf-2014-keynote-writing-software-by-david-heinemeier-hansson
+railsconf-2014-concerns-decorators-presenters-service-objects-helpers-help-me-decide
+railsconf-2014-demystifying-data-science-a-live-tutorial-by-todd-schneider
+railsconf-2014-empowering-rich-internet-applications-rias-with-accessibility
+railsconf-2014-mutation-testing-with-mutant-by-erik-michaels-ober
+railsconf-2014-rack-amqp-ditch-http-inside-soa-by-josh-szmajda
+railsconf-2014-keith-and-mario-s-guide-to-continuous-deployment-with-rails
+railsconf-2014-where-did-the-oo-go-views-should-be-objects-too
+railsconf-2014-supercharge-your-workers-with-storm-by-carl-lerche
+railsconf-2014-modeling-on-the-right-side-of-the-brain-by-nicholas-henry
+railsconf-2014-let-me-code-by-liana-leahy
+railsconf-2014-domain-driven-design-and-hexagonal-architecture-with-rails
+railsconf-2014-lightning-fast-deployment-of-your-rails-backed-javascript-app
+railsconf-2014-advanced-arel-when-activerecord-just-isn-t-enough
+railsconf-2014-what-is-rest-why-is-it-part-of-the-rails-way
+railsconf-2014-too-big-to-fail-by-chris-maddox
+railsconf-2014-deploying-rails-is-easier-than-it-looks-by-ben-dixon
+railsconf-2014-keynote-10-years-by-yehuda-katz
+railsconf-2014-reading-code-good-by-saron-yitbarek
+railsconf-2014-ruby-on-rails-hacking-guide-by-akira-matsuda
+railsconf-2014-web-applications-with-ruby-not-rails-by-david-padilla
+railsconf-2014-technical-onboarding-training-and-mentoring-by-kate-heddleston
+railsconf-2014-surviving-the-big-rewrite-by-bradly-feeley
+railsconf-2014-artisans-and-apprentices-by-coraline-ada-ehmke
+railsconf-2014-building-kick-ass-internal-education-programs-for-large-and-small-budgets
+railsconf-2014-middleman-the-missing-view-in-the-rails-api-stack
+railsconf-2014-tricks-that-rails-didn-t-tell-you-about-by-carlos-antionio-da-silva
+railsconf-2014-panel-teaching-the-next-great-developers-by-noel-rappin
+railsconf-2014-biggish-data-with-rails-and-postgresql-by-starr-horne
+railsconf-2014-what-the-cache-by-simon-kroger
+railsconf-2014-refactoring-towards-component-based-rails-architectures
+railsconf-2014-rails-as-an-soa-client-by-pete-hodgson
+railsconf-2014-service-oriented-authenication-by-jeremy-green
+railsconf-2014-authorization-in-a-service-oriented-environment-by-alan-cohen
+railsconf-2014-ruby-heros
+railsconf-2014-designing-the-apis-for-an-internal-set-of-services-by-alberto-leal
+railsconf-2014-humor-in-the-code-by-baratunde-thurston
+railsconf-2014-build-the-api-first-by-rosie-hoyem-and-sonja-hall
+railsconf-2014-debugger-driven-developement-with-pry-by-joel-turnbull
+railsconf-2014-eliminating-inconsistent-test-failures-by-austin-putman
+railsconf-2014-effectively-testing-services-by-neal-kemp
+railsconf-2014-front-end-fun-not-frustration-by-roy-tomeij
+railsconf-2014-elements-of-design-a-developer-s-primer-by-jenn-scheer
+railsconf-2014-sketchnothing-creative-notes-for-technical-content-by-jessica-eldredge
+railsconf-2014-how-they-work-better-together-lean-ux-agile-development-and-user-centered-design
+railsconf-2014-discovering-user-interactions-by-cameron-daigle
+railsconf-2014-the-power-of-m-by-charles-lowell
+railsconf-2014-i-ve-pair-programmed-for-27-000-hours-ask-me-anythings-by-joe-moore
+railsconf-2014-bring-fun-back-to-js-step-by-step-refactoring-toward-ember-by-brandon-hays
+railsconf-2014-the-rails-of-javascript-won-t-be-a-framework-by-justin-searls
+railsconf-2014-an-iterative-approach-to-service-oriented-architecture-by-eric-saxby
+railsconf-2014-improve-performance-quick-and-cheap-optimize-memory-and-upgrade-to-ruby-2-1
+railsconf-2014-cognitive-shortcuts-models-visualizations-metaphors-and-other-lies
+railsconf-2014-how-to-be-a-boss-without-the-b-s-by-jessie-link
+railsconf-2014-closing-keynote-by-aaron-patterson
+railsconf-2014-distributed-request-tracing-by-kenny-hoxworth
+railsconf-2014-how-to-be-a-better-junior-developer-by-katherine-wu
+railsconf-2014-building-an-oss-centric-company-and-why-you-want-to-by-leah-silber
+railsconf-2014-saving-the-world-literally-with-ruby-on-rails-by-sean-marcia
+railsconf-2014-you-are-not-an-impostor-by-nickolas-means
+railsconf-2014-make-an-event-of-it-by-jason-clark
+railsconf-2014-real-time-rails-with-sync-by-mike-moore
+railsconf-2014-looking-backward-ten-years-on-rails-by-luke-francl
+railsconf-2014-workshop-simplifying-code-monster-to-elegant-in-less-than-5-steps-by-tute-costa
+railsconf-2014-workshop-ruby-coding-dojo-by-carlos-souza-and-david-rogers
+railsconf-2014-how-to-build-a-smart-profiler-for-rails-by-tom-dale-and-yehuda-katz
+railsconf-2014-culture-of-continue-delivery-by-leena-s-n-and-vaidy-bala
+railsconf-2014-writing-small-code-by-mark-menard
+railsconf-2014-all-the-little-things-by-sandi-metz
+railsconf-2014-ultra-light-and-maintainable-rails-wizards-by-andy-maleh
+railsconf-2014-rack-attack-protect-your-app-with-this-one-weird-gem-by-aaron-suggs
+railsconf-2014-heroku-2014-a-year-in-review-by-terence-lee-richard-schneeman
+railsconf-2014-software-development-lessons-from-the-apollo-program-by-julian-simioni
+railsconf-2014-engine-yard-s-new-and-improved-cloud-platform-by-edward-chiu-will-luongo
+railsconf-2014-an-ode-to-17-databases-in-33-minutes-by-toby-hede
+railsconf-2014-secrets-of-a-world-memory-champion-by-chris-hunt
+railsconf-2014-panel-discussion-the-future-of-rails-jobs
+railsconf-2014-webrtc-change-communcations-forever-by-greg-baugues
+railsconf-2014-workshop-teamwork-ain-t-always-easy-by-michael-norton
+railsconf-2014-class-reloading-in-ruby-on-rails-the-whole-story-by-xavier-noria
+railsconf-2014-tales-from-the-crypt-by-aaron-bedra-justin-collins-and-matt-konda
+railsconf-2014-lightning-talks-by-many-people
+railsconf-2014-curmudgeon-an-opinionated-framework-by-ernie-miller
+railsconf-2014-you-ll-never-believe-which-web-framework-powers-upworthy
+railsconf-2014-living-social-lightning-talks
+railsconf-2014-get-more-hands-on-your-keyboard-by-manik-juneja
+railsconf-2014-webrtc-change-communications-forever-by-greg-baugues
+railsconf-2014-workshop-applications-first-frameworks-second-better-systems-through-design
+railsconf-2014-service-extraction-at-groupon-scale-by-jason-sisk-abhishek-pillai
+railsconf-2014-using-software-analytics-to-help-make-better-business-decisions
+railsconf-2014-workshop-machine-learning-for-fun-and-profit-by-john-paul-ahenfelter
+railsconf-2014-workshop-all-aboard-the-elixir-express-by-chris-mccord
+railsconf-2014-workshop-test-drive-a-browser-game-with-javascript
+railsconf-2014-workshop-taming-chaotic-specs-rspec-design-patterns-by-adam-cuppy
+railsconf-2014-unreasonable-estimates-and-improbable-goals-by-adam-sanderson
+railsconf-2014-branding-for-open-source-success-by-bree-thomas
+rails-conf-2014-keynote-what-happens-to-everyone-when-everyone-learns-to-code
+rails-pacific-2014-better-rails-by-knowing-better-database-by-ding-ding-ye
+rails-pacific-2014-zero-downtime-payment-platforms-by-prem-sichanugrist
+rails-pacific-2014-trailblazer-a-new-architecture-for-rails-by-nick-sutterer
+rails-pacific-2014-ten-years-of-rails-deployment-by-christopher-rigor
+rails-pacific-2014-render-it-a-deep-dive-into-actionview-and-template-engines-by-akira-matsuda
+rails-pacific-2014-multitenancy-with-rails-by-ryan-bigg
+rails-pacific-2014-going-the-distance-by-richard-schneeman
+rails-pacific-2014-exception-handling-designing-robust-software-by-wen-tien-chang
+rails-pacific-2014-crafting-rails-culture-by-shibata-hiroshi
+rails-pacific-2016-when-making-money-becomes-a-headache-by-sebastian-sogamoso
+rails-pacific-2016-workshop-taming-chaotic-specs-rspec-design-patterns-by-adam-cuppy
+rails-pacific-2016-server-infrastructure-for-rails-in-2016-by-richard-lee
+rails-pacific-2016-continuous-learning-teaching-and-by-luis-ferreira
+rails-pacific-2016-what-if-shakespeare-wrote-ruby-by-adam-cuppy
+rails-pacific-2016-robot-on-rails-by-max-hawkins
+rails-pacific-2016-successful-speedy-mvp-website-development-by-xdite
+rails-pacific-2016-actioncable-rails-api-and-react-modern-single-page-apps-by-vipul-a-m
+rails-pacific-2016-large-scaled-deploy-over-100-servers-in-3-minutes-by-hiroshi-shibata
+rails-pacific-2016-make-money-and-enjoy-freedom-creating-a-software-business-by-ryan-macinnes
+rails-pacific-2016-going-global-on-rails-lessons-learned-by-miles-woodroffe
+rails-pacific-2016-secrets-of-testing-rails-5-apps-by-prathamesh-sonpatki
+rails-pacific-2016-keynote-computer-science-education-for-the-next-generation-by-godfrey-chan
+railsconf-2017-the-art-craft-of-secrets-using-the-cryptographic-toolbox-by-michael-swieton
+railsconf-2017-why-software-engineers-disagree-about-everything-by-haseeb-qureshi
+railsconf-2017-opening-keynote-by-david-heinemeier-hansson
+railsconf-2017-building-rails-actiondispatch-systemtestcase-framework-by-eileen-uchitelle
+railsconf-2017-perusing-the-rails-source-code-a-beginners-guide-by-alex-kitchens
+railsconf-2017-teaching-rspec-to-play-nice-with-rails-by-sam-phippen
+railsconf-2017-uncertain-times-securing-rails-apps-and-user-data-by-krista-nelson
+railsconf-2017-warning-may-be-habit-forming-by-nickolas-means
+railsconf-2017-keynote-by-justin-searls
+railsconf-2017-rough-to-fine-programming-lessons-from-woodworking-by-mark-simoneau
+railsconf-2017-upgrading-a-big-application-to-rails-5-by-rafael-franca
+railsconf-2017-the-arcane-art-of-error-handling-by-brad-urani
+railsconf-2017-lightning-talks-by-various-speakers
+railsconf-2017-an-optimistic-proposal-for-making-horrible-code-bearable-by-joe-mastey
+railsconf-2017-built-to-last-a-domain-driven-approach-to-beautiful-systems-by-andrew-hao
+railsconf-2017-architecture-the-next-generation-by-taylor-jones
+railsconf-2017-breaking-bad-what-happens-when-you-defy-conventions-by-christoph-gockel
+railsconf-2017-managing-unmanageable-complexity-by-patrick-joyce
+railsconf-2017-keynote-by-aaron-patterson
+railsconf-2017-bebop-to-the-top-the-jazz-band-as-a-guide-to-leadership-by-michael-cain
+railsconf-2017-the-good-bad-bug-learning-to-embrace-mistakes-by-jess-rudder
+railsconf-2017-understanding-spoon-theory-and-preventing-burnout-by-jameson-hampton
+railsconf-2017-to-code-is-human-by-don-werve
+railsconf-2017-we-ve-always-been-here-women-changemakers-in-tech-by-hilary-stohs-krause
+railsconf-2017-leading-when-you-re-not-in-charge-by-scott-lesser
+railsconf-2017-processing-streaming-data-at-a-large-scale-with-kafka-by-thijs-cadier
+railsconf-2017-high-performance-political-revolutions-by-braulio-carreno
+railsconf-2017-it-s-dangerous-to-go-alone-building-teams-like-an-organizer-by-colin-fleming
+railsconf-2017-supporting-mental-health-as-an-effective-leader-by-jesse-james
+railsconf-2017-inventing-friends-actioncable-avs-3-by-jonan-scheffler-julian-cheal
+railsconf-2017-keynote-by-marco-rogers
+railsconf-2017-bayes-is-bae-by-richard-schneeman
+railsconf-2017-is-it-food-an-introduction-to-machine-learning-by-matthew-mongeau
+railsconf-2017-accessibility-when-you-don-t-have-time-to-read-the-manual-by-katie-walsh
+railsconf-2017-goldilocks-and-the-three-code-reviews-by-vaidehi-joshi
+railsconf-2017-predicting-titanic-survivors-with-machine-learning-by-ju-liu
+railsconf-2017-whose-turn-is-it-anyway-augmented-reality-board-games-by-dave-tapley
+railsconf-2017-5-years-of-rails-scaling-to-80k-rps-by-simon-eskildsen
+railsconf-2017-keynote-gen-z-and-the-future-of-technology-by-pamela-pavliscak
+railsconf-2017-syntax-isn-t-everything-nlp-for-rubyists-by-aja-hammerly
+railsconf-2017-how-to-write-better-code-using-mutation-testing-by-john-backus
+railsconf-2017-a-clear-eyed-look-at-distributed-teams-by-glenn-vanderburg-maria-gutierrez
+railsconf-2017-distributed-local-getting-the-best-of-both-worlds-by-ben-klang
+railsconf-2017-the-effective-remote-developer-by-david-copeland
+railsconf-2017-distributed-tracing-from-theory-to-practice-by-stella-cotton
+railsconf-2017-sorting-rubyists-by-caleb-thompson
+railsconf-2017-tricks-and-treats-for-new-developers-by-david-padilla
+railsconf-2017-rack-em-stack-em-web-apps-by-jason-clark
+railsconf-2017-practical-debugging-by-kevin-deisz
+railsconf-2017-in-relentless-pursuit-of-rest-by-derek-prior
+railsconf-2017-what-s-my-app-really-doing-in-production-by-daniel-azuma
+railsconf-2017-beyond-validates_presence_of-ensuring-eventual-consistency-by-amy-unger
+railsconf-2017-the-secret-life-of-sql-how-to-optimize-database-performance-by-bryana-knight
+railsconf-2017-reporting-on-rails-activerecord-and-rolap-working-together-by-tony-drake
+railsconf-2017-do-your-views-know-too-much-by-jason-charnes
+railsconf-2017-portable-sessions-with-json-web-tokens-by-lance-ivy
+railsconf-2017-observing-chance-a-gold-master-test-in-practice-by-jake-worth
+railsconf-2017-what-comes-after-solid-seeking-holistic-software-quality-by-ariel-caplan
+railsconf-2017-developer-happiness-on-the-front-end-with-elm-by-kevin-yank
+railsconf-2017-rails-to-phoenix-how-elixir-can-level-you-up-in-rails-by-christian-koch
+railsconf-2017-react-on-rails-by-jo-cranford
+railsconf-2017-react-native-rails-a-single-codebase-for-web-mobile-by-ben-dixon
+railsconf-2017-a-survey-of-surprisingly-difficult-things-by-alex-boster
+railsconf-2017-implementing-the-web-speech-api-for-voice-data-entry-by-cameron-jacoby
+railsconf-2017-exploring-the-history-of-a-12-year-old-rails-application-by-nathan-walls
+railsconf-2017-decouple-your-models-with-form-objects-by-andrew-markle
+railsconf-2017-rails-5-1-awesome-features-and-breaking-changes-by-claudio-b
+railsconf-2017-tailoring-mentorship-achieving-the-best-fit-by-jonathan-wallace
+railsconf-2017-your-app-server-config-is-wrong-by-nate-berkopec
+railsconf-2017-recurring-background-jobs-with-sidekiq-scheduler-by-andreas-fast-gianfranco-zas
+railsconf-2017-outside-the-web-box-using-ruby-for-other-protocols-by-danielle-adams
+railsconf-2017-a-deep-dive-into-sessions-by-justin-weiss
+railsconf-2017-data-corruption-stop-the-evil-tribbles-by-betsy-haibel
+railsconf-2017-rails-apis-the-next-generation-by-derek-carter
+railsconf-2017-deep-dive-into-docker-containers-for-rails-developers-by-christopher-rigor
+railsconf-2017-introducing-helix-high-performance-ruby-made-easy-by-godfrey-chan-and-yehuda-katz
+railsconf-2017-open-sourcing-real-talk-by-andrew-evans
+railsconf-2017-google-cloud-love-ruby-by-remi-taylor
+railsconf-2017-postgres-at-any-scale-by-will-leinweber
+railsconf-2017-cultivating-a-culture-of-continuous-learning-by-dave-ott-and-dennis-eusebio
+railsconf-2017-keeping-code-style-sanity-in-a-10-year-old-codebase-by-gabi-stefanini
+railsconf-2018-the-graphql-way-a-new-path-for-json-apis-by-nick-quaranto
+railsconf-2018-candy-on-rails-polymorphism-rails-5-by-michael-cain
+railsconf-2018-why-we-never-get-to-web-accessibility-102-by-liz-certa
+railsconf-2018-dropping-into-b-trees-by-david-mcdonald
+railsconf-2018-continuous-deployments-and-data-sovereignty-a-case-study-by-mike-calhoun
+railsconf-2018-the-doctor-is-in-using-checkups-to-find-bugs-in-production-by-ryan-laughlin
+railsconf-2018-opening-keynote-fixme-by-david-heinemeier-hansson
+railsconf-2018-devly-a-multi-service-development-environment-by-eric-hodel-ezekiel-templin
+railsconf-2018-operating-rails-in-kubernetes-by-kir-shatrov
+railsconf-2018-turbo-boosting-real-world-applications-by-akira-matsuda
+railsconf-2018-access-denied-the-missing-guide-to-authorization-in-rails-by-vladimir-dementyev
+railsconf-2018-booleans-are-easy-true-or-false-by-craig-buchek
+railsconf-2018-automating-empathy-test-your-docs-with-swagger-and-apivore-by-ariel-caplan
+railsconf-2018-testing-in-production-by-aja-hammerly
+railsconf-2018-who-destroyed-three-mile-island-by-nickolas-means
+railsconf-2018-debugging-rails-itself-by-sean-griffin
+railsconf-2018-down-the-rabbit-hole-an-adventure-in-legacy-code-by-loren-crawford
+railsconf-2018-the-life-and-death-of-a-rails-app-by-olivier-lacan
+railsconf-2018-webpacking-for-the-journey-ahead-by-taylor-jones
+railsconf-2018-stating-the-obvious-by-ernie-miller
+railsconf-2018-keynote-rails-doesn-t-scale-by-mark-imbriaco
+railsconf-2018-using-databases-to-pull-your-applications-weight-by-harisankar-p-s
+railsconf-2018-the-intelligence-of-instinct-by-emily-freeman
+railsconf-2018-don-t-settle-for-poor-names-or-for-poor-design-by-alistair-mckinnell
+railsconf-2018-how-we-made-our-app-so-fast-it-went-viral-in-japan-by-ben-halpern
+railsconf-2018-keeping-moms-around-for-the-long-term-by-tess-griffin
+railsconf-2018-empathy-through-acting-by-roy-tomeij
+railsconf-2018-lessons-in-ethical-development-i-learned-from-star-wars-by-jameson-hampton
+railsconf-2018-blitzbuilding-product-with-rails-a-crypto-journey-by-yiting-xdite-cheng
+railsconf-2018-encrypted-credentials-on-rails-5-2-secrets-to-success-by-christopher-rigor
+railsconf-2018-scaling-the-software-artisan-by-coraline-ada-ehmke
+railsconf-2018-all-onboard-cruising-on-the-mentorship-by-gretchen-ziegler
+railsconf-2018-pairing-a-guide-to-fruitful-collaboration-by-andre-arko
+railsconf-2018-mechanically-confident-by-adam-cuppy
+railsconf-2018-the-practical-guide-to-building-an-apprenticeship-by-max-tiu
+railsconf-2018-so-you-ve-got-yourself-a-kafka-event-powered-rails-services-by-stella-cotton
+railsconf-2018-some-funny-things-happened-on-the-way-to-a-service-ecosystem-by-chris-hoffman
+railsconf-2018-broken-apis-break-trust-tips-for-creating-and-updating-apis-by-alex-wood
+railsconf-2018-warden-the-building-block-behind-devise-by-leonardo-tegon
+railsconf-2018-building-a-collaborative-text-editor-by-justin-weiss
+railsconf-2018-ten-years-of-rails-tutorials-by-michael-hartl
+railsconf-2018-the-evolution-of-rails-security-by-justin-collins
+railsconf-2018-the-code-free-developer-interview-by-pete-holiday
+railsconf-2018-harry-the-hedgehog-learns-you-a-communication-by-laura-mosher
+railsconf-2018-draw-a-crowd-by-brittany-martin
+railsconf-2018-ales-on-rails-making-a-smarter-brewery-with-ruby-by-ben-shippee
+railsconf-2018-human-powered-rails-automated-crowdsourcing-in-your-ror-app-by-andy-glass
+railsconf-2018-keynote-the-future-of-rails-6-scalable-by-default-by-eileen-uchitelle
+railsconf-2018-running-a-business-demystified-by-todd-kaufman-justin-searls
+railsconf-2018-what-s-in-a-price-how-to-price-your-products-and-services-by-michael-herold
+railsconf-2018-reporting-live-from-the-ramp-of-death-by-thijs-cadier
+railsconf-2018-taking-the-pain-out-of-support-engineering-by-cecy-correa
+railsconf-2018-leveling-up-a-heroic-team-by-aly-fulton
+railsconf-2018-old-school-javascript-in-rails-by-graham-conzett
+railsconf-2018-keynote-livable-code-by-sarah-mei
+railsconf-2018-quick-and-easy-browser-testing-using-rspec-and-rails-5-1-by-sam-phippen
+railsconf-2018-build-a-blog-in-15-more-like-30-minutes-webpacker-edition-by-sasha-grodzins
+railsconf-2018-6-degrees-of-javascript-on-rails-by-michael-crismali
+railsconf-2018-look-before-you-import-a-webpack-survival-guide-by-ross-kaffenberger
+railsconf-2018-closing-keynote-by-aaron-patterson
+railsconf-2018-putting-rails-in-a-corner-understanding-database-isolation-by-emil-ong
+railsconf-2018-ten-years-of-rails-upgrades-by-jordan-raine
+railsconf-2018-stop-testing-start-storytelling-by-mike-schutte
+railsconf-2018-deploying-any-rails-application-to-any-cloud-in-minutes-by-khash-sajadi
+railsconf-2018-engineering-engineering-more-than-the-sum-of-our-parts-by-vietor-davis
+railsconf-2018-minitest-6-test-feistier-by-ryan-davis
+railsconf-2018-an-atypical-performance-talk-by-chris-arcand
+railsconf-2018-giving-your-heroku-app-highly-available-postgresql-by-jake-varghese
+railsconf-2018-api-how-lendinghome-approaches-legacy-technologies-by-sam-aarons
+railsconf-2018-re-graphing-the-mental-model-of-the-rails-router-by-vaidehi-joshi
+railsconf-2018-inside-active-storage-a-code-review-of-rails-new-framework-by-claudio-baccigalupo
+railsconf-2018-up-and-down-again-a-migration-s-tale-by-derek-prior
+railsconf-2018-upgrading-rails-at-scale-by-edouard-chin
+railsconf-2018-postgres-10-performance-and-you-by-gabe-enslein
+railsconf-2018-hot-swapping-our-rails-front-end-in-secret-a-rebrand-story-by-chris-lopresto
+railsconf-2018-actionable-tactics-for-leveling-up-junior-devs-by-sumeet-jain
+railsconf-2018-your-first-contribution-and-beyond-by-dinah-shi
+railsconf-2018-ruby-a-family-history-by-geoffrey-litt
+railsconf-2018-five-sharding-data-models-and-which-is-right-by-craig-kerstiens
+railsconf-2018-using-skylight-to-solve-real-world-performance-problems-by-yehuda-godfrey-krystan
+railsconf-2018-containerizing-rails-techniques-pitfalls-best-practices-by-daniel-azuma
+railsconf-2018-here-s-to-history-programming-through-archaeology-by-eleanor-kiefel-haggerty
+railsconf-2018-knobs-buttons-switches-operating-your-application-at-scale-by-amy-unger
+railsconf-2018-here-s-to-the-crazy-ones-by-james-adam
+railsconf-2019-walking-a-mile-in-your-users-shoes-by-jameson-hampton
+railsconf-2019-rethinking-the-view-layer-with-components-by-joel-hawksley
+railsconf-2019-the-selfish-programmer-by-justin-searls
+railsconf-2019-refactoring-live-primitive-obsession-by-james-dabbs
+railsconf-2019-webpacker-vs-asset-pipeline-by-danielle-gordon
+railsconf-2019-opening-keynote-by-david-heinemeier-hansson
+railsconf-2019-keynote-the-stories-we-tell-our-children-by-ariel-caplan
+railsconf-2019-cache-is-king-by-molly-struve
+railsconf-2019-performance-improvement-of-ruby-2-7-jit-in-real-world-by-takashi-kokubun
+railsconf-2019-building-for-gracious-failure-by-james-thompson
+railsconf-2019-applying-omotenashi-japanese-customer-service-to-your-work-by-michael-toppa
diff --git a/package.json b/package.json
index 6b546bbe..2a636bb5 100644
--- a/package.json
+++ b/package.json
@@ -2,11 +2,13 @@
"name": "app",
"private": "true",
"dependencies": {
+ "@domchristie/turn": "^3.0.0",
"@hotwired/stimulus": "^3.2.1",
"@hotwired/turbo-rails": "^7.3.0",
"@tailwindcss/forms": "^0.5.3",
- "@tailwindcss/line-clamp": "^0.4.4",
"autoprefixer": "^10.4.14",
+ "chart.js": "^4.3.0",
+ "chartkick": "^5.0.1",
"esbuild": "^0.17.18",
"morphdom": "^2.7.0",
"postcss": "^8.4.23",
@@ -16,16 +18,25 @@
},
"scripts": {
"build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets",
- "build:css": "tailwindcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css --minify"
+ "build:css": "tailwindcss -i ./app/assets/stylesheets/application.tailwind.css -o ./app/assets/builds/application.css --minify",
+ "lint": "standard --fix"
},
"packageManager": "yarn@1.22.19",
"devDependencies": {
"postcss-import": "^15.1.0",
"postcss-nested": "^6.0.1",
+ "prettier": "^2.8.8",
+ "prettier-plugin-tailwindcss": "^0.3.0",
+ "standard": "^17.1.0",
"stimulus-vite-helpers": "^3.0.1",
"vite": "^4.3.0",
"vite-plugin-full-reload": "^1.0.5",
"vite-plugin-ruby": "^3.2.0",
"vite-plugin-stimulus-hmr": "^3.0.0"
+ },
+ "standard": {
+ "globals": [
+ "requestAnimationFrame"
+ ]
}
}
diff --git a/postcss.config.js b/postcss.config.js
index 618f1c91..311ffbe5 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -1,8 +1,8 @@
module.exports = {
plugins: {
- "postcss-nested": {},
- "postcss-import": {},
+ 'postcss-import': {},
+ 'tailwindcss/nesting': {},
tailwindcss: {},
- // autoprefixer: {},
- },
-};
+ autoprefixer: {}
+ }
+}
diff --git a/tailwind.config.js b/tailwind.config.js
index 9bac2a46..3d893492 100644
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,50 +1,52 @@
-const colors = require("tailwindcss/colors");
+const colors = require('tailwindcss/colors')
module.exports = {
content: [
- "./app/views/**/*.html.erb",
- "./app/helpers/**/*.rb",
- "./app/assets/stylesheets/**/*.css",
- "./app/javascript/**/*.js",
- "./config/initializers/heroicon.rb",
+ './app/views/**/*.html.erb',
+ './app/helpers/**/*.rb',
+ './app/assets/stylesheets/**/*.css',
+ './app/javascript/**/*.js',
+ './config/initializers/heroicon.rb'
],
theme: {
container: {
center: true,
padding: {
- DEFAULT: "1rem",
- sm: "1rem",
+ DEFAULT: '1rem',
+ sm: '1rem'
// lg: "4rem",
// xl: "5rem",
// "2xl": "6rem",
- },
+ }
},
extend: {
colors: {
- transparent: "transparent",
- current: "currentColor",
- gray: "#7b6f72",
- "gray-light": "#A39E9E",
- "gray-lightest": "#f9fafb",
- green: "#F0E7E9",
+ transparent: 'transparent',
+ current: 'currentColor',
+ gray: '#7b6f72',
+ 'gray-light': '#A39E9E',
+ 'gray-lightest': '#f9fafb',
+ green: '#F0E7E9',
white: colors.white,
- dark: "#261B23",
+ dark: '#261B23',
brand: {
- DEFAULT: "#D74C47",
- lighter: "#FBEEEE",
- },
+ DEFAULT: '#D74C47',
+ lighter: '#FBEEEE'
+ }
},
keyframes: {
- "fade-in": {
- "0%": { opacity: "0" },
- "100%": { opacity: "1" },
- },
- "fade-out": {
- "0%": { opacity: "1" },
- "100%": { opacity: "0" },
+ 'fade-in': {
+ '0%': { opacity: '0' },
+ '100%': { opacity: '1' }
},
- },
- },
+ 'fade-out': {
+ '0%': { opacity: '1' },
+ '100%': { opacity: '0' }
+ }
+ }
+ }
},
- plugins: [require("@tailwindcss/line-clamp"), require("@tailwindcss/forms")],
-};
+ plugins: [
+ require('@tailwindcss/forms')
+ ]
+}
diff --git a/test-run-report.json b/test-run-report.json
index 6ce8c0db..25b5275d 100644
--- a/test-run-report.json
+++ b/test-run-report.json
@@ -1,149 +1,277 @@
{
"aggregate": {
"counters": {
- "vusers.created_by_name.visit home page": 675,
- "vusers.created": 675,
- "http.requests": 3375,
- "http.codes.200": 3375,
- "http.responses": 3375,
- "vusers.failed": 0,
- "vusers.completed": 675
+ "vusers.created_by_name.visit home page": 4050,
+ "vusers.created": 4050,
+ "http.requests": 18754,
+ "http.codes.200": 11877,
+ "http.responses": 16456,
+ "http.codes.404": 4579,
+ "vusers.failed": 2384,
+ "vusers.completed": 1666,
+ "errors.ETIMEDOUT": 2383,
+ "errors.EPROTO": 1
},
"rates": {
- "http.request_rate": 77
+ "http.request_rate": 128
},
- "firstCounterAt": 1686934224523,
- "firstHistogramAt": 1686934224667,
- "lastCounterAt": 1686934285636,
- "lastHistogramAt": 1686934285636,
- "firstMetricAt": 1686934224523,
- "lastMetricAt": 1686934285636,
- "period": 1686934280000,
+ "firstCounterAt": 1687326599350,
+ "firstHistogramAt": 1687326599611,
+ "lastCounterAt": 1687326759103,
+ "lastHistogramAt": 1687326759103,
+ "firstMetricAt": 1687326599350,
+ "lastMetricAt": 1687326759103,
+ "period": 1687326750000,
"summaries": {
"http.response_time": {
- "min": 44,
- "max": 1912,
- "count": 3375,
- "p50": 76,
- "median": 76,
- "p75": 94.6,
- "p90": 115.6,
- "p95": 130.3,
- "p99": 1436.8,
- "p999": 1826.6
+ "min": 36,
+ "max": 10001,
+ "count": 16456,
+ "p50": 87.4,
+ "median": 87.4,
+ "p75": 113.3,
+ "p90": 138.4,
+ "p95": 4231.1,
+ "p99": 9999.2,
+ "p999": 9999.2
},
"vusers.session_length": {
- "min": 354,
- "max": 3613.7,
- "count": 675,
- "p50": 497.8,
- "median": 497.8,
- "p75": 572.6,
- "p90": 1107.9,
- "p95": 1901.1,
- "p99": 3011.6,
- "p999": 3464.1
+ "min": 436.3,
+ "max": 30406.9,
+ "count": 1666,
+ "p50": 727.9,
+ "median": 727.9,
+ "p75": 5711.5,
+ "p90": 10617.5,
+ "p95": 10832,
+ "p99": 20543.1,
+ "p999": 25091.6
}
},
"histograms": {
"http.response_time": {
- "min": 44,
- "max": 1912,
- "count": 3375,
- "p50": 76,
- "median": 76,
- "p75": 94.6,
- "p90": 115.6,
- "p95": 130.3,
- "p99": 1436.8,
- "p999": 1826.6
+ "min": 36,
+ "max": 10001,
+ "count": 16456,
+ "p50": 87.4,
+ "median": 87.4,
+ "p75": 113.3,
+ "p90": 138.4,
+ "p95": 4231.1,
+ "p99": 9999.2,
+ "p999": 9999.2
},
"vusers.session_length": {
- "min": 354,
- "max": 3613.7,
- "count": 675,
- "p50": 497.8,
- "median": 497.8,
- "p75": 572.6,
- "p90": 1107.9,
- "p95": 1901.1,
- "p99": 3011.6,
- "p999": 3464.1
+ "min": 436.3,
+ "max": 30406.9,
+ "count": 1666,
+ "p50": 727.9,
+ "median": 727.9,
+ "p75": 5711.5,
+ "p90": 10617.5,
+ "p95": 10832,
+ "p99": 20543.1,
+ "p999": 25091.6
}
}
},
"intermediate": [
{
"counters": {
- "vusers.created_by_name.visit home page": 30,
- "vusers.created": 30,
- "http.requests": 149,
- "http.codes.200": 146,
- "http.responses": 146,
+ "vusers.created_by_name.visit home page": 5,
+ "vusers.created": 5,
+ "http.requests": 34,
+ "http.codes.200": 20,
+ "http.responses": 30,
+ "http.codes.404": 10
+ },
+ "rates": {
+ "http.request_rate": 34
+ },
+ "firstCounterAt": 1687326599350,
+ "firstHistogramAt": 1687326599611,
+ "lastCounterAt": 1687326599991,
+ "lastHistogramAt": 1687326599991,
+ "firstMetricAt": 1687326599350,
+ "lastMetricAt": 1687326599991,
+ "period": "1687326590000",
+ "http.request_rate": null,
+ "summaries": {
+ "http.response_time": {
+ "min": 40,
+ "max": 90,
+ "count": 30,
+ "p50": 62.2,
+ "median": 62.2,
+ "p75": 71.5,
+ "p90": 83.9,
+ "p95": 85.6,
+ "p99": 87.4,
+ "p999": 87.4
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 40,
+ "max": 90,
+ "count": 30,
+ "p50": 62.2,
+ "median": 62.2,
+ "p75": 71.5,
+ "p90": 83.9,
+ "p95": 85.6,
+ "p99": 87.4,
+ "p999": 87.4
+ }
+ }
+ },
+ {
+ "counters": {
+ "http.codes.200": 252,
+ "http.responses": 352,
"vusers.failed": 0,
- "vusers.completed": 27
+ "vusers.completed": 52,
+ "vusers.created_by_name.visit home page": 50,
+ "vusers.created": 50,
+ "http.requests": 350,
+ "http.codes.404": 100
},
"rates": {
- "http.request_rate": 30
- },
- "firstCounterAt": 1686934224523,
- "firstHistogramAt": 1686934224667,
- "lastCounterAt": 1686934229993,
- "lastHistogramAt": 1686934229993,
- "firstMetricAt": 1686934224523,
- "lastMetricAt": 1686934229993,
- "period": "1686934220000",
+ "http.request_rate": 35
+ },
"http.request_rate": null,
+ "firstCounterAt": 1687326600026,
+ "firstHistogramAt": 1687326600026,
+ "lastCounterAt": 1687326609981,
+ "lastHistogramAt": 1687326609981,
+ "firstMetricAt": 1687326600026,
+ "lastMetricAt": 1687326609981,
+ "period": "1687326600000",
"summaries": {
"http.response_time": {
- "min": 47,
- "max": 171,
- "count": 146,
- "p50": 70.1,
- "median": 70.1,
- "p75": 80.6,
- "p90": 100.5,
- "p95": 113.3,
- "p99": 135.7,
- "p999": 141.2
+ "min": 39,
+ "max": 134,
+ "count": 352,
+ "p50": 59.7,
+ "median": 59.7,
+ "p75": 74.4,
+ "p90": 85.6,
+ "p95": 94.6,
+ "p99": 102.5,
+ "p999": 111.1
},
"vusers.session_length": {
- "min": 370,
- "max": 546.9,
- "count": 27,
- "p50": 497.8,
- "median": 497.8,
- "p75": 518.1,
- "p90": 528.6,
- "p95": 539.2,
- "p99": 539.2,
- "p999": 539.2
+ "min": 486.8,
+ "max": 727.2,
+ "count": 52,
+ "p50": 539.2,
+ "median": 539.2,
+ "p75": 572.6,
+ "p90": 584.2,
+ "p95": 608,
+ "p99": 620.3,
+ "p999": 620.3
}
},
"histograms": {
"http.response_time": {
- "min": 47,
- "max": 171,
- "count": 146,
- "p50": 70.1,
- "median": 70.1,
- "p75": 80.6,
- "p90": 100.5,
- "p95": 113.3,
- "p99": 135.7,
- "p999": 141.2
+ "min": 39,
+ "max": 134,
+ "count": 352,
+ "p50": 59.7,
+ "median": 59.7,
+ "p75": 74.4,
+ "p90": 85.6,
+ "p95": 94.6,
+ "p99": 102.5,
+ "p999": 111.1
},
"vusers.session_length": {
- "min": 370,
- "max": 546.9,
- "count": 27,
- "p50": 497.8,
- "median": 497.8,
- "p75": 518.1,
- "p90": 528.6,
- "p95": 539.2,
- "p99": 539.2,
- "p999": 539.2
+ "min": 486.8,
+ "max": 727.2,
+ "count": 52,
+ "p50": 539.2,
+ "median": 539.2,
+ "p75": 572.6,
+ "p90": 584.2,
+ "p95": 608,
+ "p99": 620.3,
+ "p999": 620.3
+ }
+ }
+ },
+ {
+ "counters": {
+ "vusers.created_by_name.visit home page": 50,
+ "vusers.created": 50,
+ "http.requests": 351,
+ "http.codes.200": 252,
+ "http.responses": 352,
+ "http.codes.404": 100,
+ "vusers.failed": 0,
+ "vusers.completed": 51
+ },
+ "rates": {
+ "http.request_rate": 35
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326610003,
+ "firstHistogramAt": 1687326610003,
+ "lastCounterAt": 1687326619991,
+ "lastHistogramAt": 1687326619987,
+ "firstMetricAt": 1687326610003,
+ "lastMetricAt": 1687326619991,
+ "period": "1687326610000",
+ "summaries": {
+ "http.response_time": {
+ "min": 37,
+ "max": 182,
+ "count": 352,
+ "p50": 58.6,
+ "median": 58.6,
+ "p75": 67.4,
+ "p90": 79.1,
+ "p95": 87.4,
+ "p99": 106.7,
+ "p999": 125.2
+ },
+ "vusers.session_length": {
+ "min": 436.3,
+ "max": 645.1,
+ "count": 51,
+ "p50": 528.6,
+ "median": 528.6,
+ "p75": 550.1,
+ "p90": 561.2,
+ "p95": 596,
+ "p99": 608,
+ "p999": 608
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 37,
+ "max": 182,
+ "count": 352,
+ "p50": 58.6,
+ "median": 58.6,
+ "p75": 67.4,
+ "p90": 79.1,
+ "p95": 87.4,
+ "p99": 106.7,
+ "p999": 125.2
+ },
+ "vusers.session_length": {
+ "min": 436.3,
+ "max": 645.1,
+ "count": 51,
+ "p50": 528.6,
+ "median": 528.6,
+ "p75": 550.1,
+ "p90": 561.2,
+ "p95": 596,
+ "p99": 608,
+ "p999": 608
}
}
},
@@ -151,369 +279,1055 @@
"counters": {
"vusers.created_by_name.visit home page": 50,
"vusers.created": 50,
- "http.requests": 250,
+ "http.requests": 350,
"http.codes.200": 251,
- "http.responses": 251,
+ "http.responses": 351,
+ "http.codes.404": 100,
"vusers.failed": 0,
"vusers.completed": 50
},
"rates": {
- "http.request_rate": 25
+ "http.request_rate": 35
},
+ "firstCounterAt": 1687326620012,
+ "firstHistogramAt": 1687326620012,
+ "lastCounterAt": 1687326629994,
+ "lastHistogramAt": 1687326629994,
+ "firstMetricAt": 1687326620012,
+ "lastMetricAt": 1687326629994,
+ "period": "1687326620000",
"http.request_rate": null,
- "firstCounterAt": 1686934230019,
- "firstHistogramAt": 1686934230019,
- "lastCounterAt": 1686934239997,
- "lastHistogramAt": 1686934239997,
- "firstMetricAt": 1686934230019,
- "lastMetricAt": 1686934239997,
- "period": "1686934230000",
"summaries": {
"http.response_time": {
- "min": 45,
- "max": 101,
- "count": 251,
- "p50": 62.2,
- "median": 62.2,
- "p75": 68.7,
- "p90": 80.6,
- "p95": 82.3,
- "p99": 94.6,
- "p999": 98.5
+ "min": 37,
+ "max": 109,
+ "count": 351,
+ "p50": 57.4,
+ "median": 57.4,
+ "p75": 64.7,
+ "p90": 74.4,
+ "p95": 79.1,
+ "p99": 87.4,
+ "p999": 94.6
},
"vusers.session_length": {
- "min": 375.8,
- "max": 499.4,
+ "min": 467.4,
+ "max": 586.2,
"count": 50,
- "p50": 415.8,
- "median": 415.8,
- "p75": 432.7,
- "p90": 450.4,
- "p95": 468.8,
- "p99": 497.8,
- "p999": 497.8
+ "p50": 507.8,
+ "median": 507.8,
+ "p75": 518.1,
+ "p90": 528.6,
+ "p95": 539.2,
+ "p99": 550.1,
+ "p999": 550.1
}
},
"histograms": {
"http.response_time": {
- "min": 45,
- "max": 101,
- "count": 251,
- "p50": 62.2,
- "median": 62.2,
- "p75": 68.7,
- "p90": 80.6,
- "p95": 82.3,
- "p99": 94.6,
- "p999": 98.5
+ "min": 37,
+ "max": 109,
+ "count": 351,
+ "p50": 57.4,
+ "median": 57.4,
+ "p75": 64.7,
+ "p90": 74.4,
+ "p95": 79.1,
+ "p99": 87.4,
+ "p999": 94.6
},
"vusers.session_length": {
- "min": 375.8,
- "max": 499.4,
+ "min": 467.4,
+ "max": 586.2,
"count": 50,
- "p50": 415.8,
- "median": 415.8,
- "p75": 432.7,
- "p90": 450.4,
- "p95": 468.8,
- "p99": 497.8,
- "p999": 497.8
+ "p50": 507.8,
+ "median": 507.8,
+ "p75": 518.1,
+ "p90": 528.6,
+ "p95": 539.2,
+ "p99": 550.1,
+ "p999": 550.1
}
}
},
{
"counters": {
- "vusers.created_by_name.visit home page": 50,
- "vusers.created": 50,
- "http.requests": 250,
- "http.codes.200": 249,
- "http.responses": 249,
+ "vusers.created_by_name.visit home page": 76,
+ "vusers.created": 76,
+ "http.requests": 507,
+ "http.codes.200": 356,
+ "http.responses": 498,
+ "http.codes.404": 142,
"vusers.failed": 0,
- "vusers.completed": 50
+ "vusers.completed": 68
},
"rates": {
- "http.request_rate": 25
+ "http.request_rate": 65
},
"http.request_rate": null,
- "firstCounterAt": 1686934240012,
- "firstHistogramAt": 1686934240012,
- "lastCounterAt": 1686934249994,
- "lastHistogramAt": 1686934249992,
- "firstMetricAt": 1686934240012,
- "lastMetricAt": 1686934249994,
- "period": "1686934240000",
+ "firstCounterAt": 1687326630011,
+ "firstHistogramAt": 1687326630011,
+ "lastCounterAt": 1687326639998,
+ "lastHistogramAt": 1687326639998,
+ "firstMetricAt": 1687326630011,
+ "lastMetricAt": 1687326639998,
+ "period": "1687326630000",
"summaries": {
"http.response_time": {
- "min": 46,
- "max": 146,
- "count": 249,
- "p50": 64.7,
- "median": 64.7,
+ "min": 39,
+ "max": 300,
+ "count": 498,
+ "p50": 58.6,
+ "median": 58.6,
"p75": 74.4,
- "p90": 85.6,
- "p95": 87.4,
- "p99": 115.6,
- "p999": 120.3
+ "p90": 94.6,
+ "p95": 108.9,
+ "p99": 135.7,
+ "p999": 194.4
},
"vusers.session_length": {
- "min": 367.2,
- "max": 493.1,
- "count": 50,
- "p50": 424.2,
- "median": 424.2,
- "p75": 450.4,
- "p90": 468.8,
- "p95": 478.3,
- "p99": 487.9,
- "p999": 487.9
+ "min": 465.8,
+ "max": 745,
+ "count": 68,
+ "p50": 539.2,
+ "median": 539.2,
+ "p75": 584.2,
+ "p90": 608,
+ "p95": 620.3,
+ "p99": 699.4,
+ "p999": 699.4
}
},
"histograms": {
"http.response_time": {
- "min": 46,
- "max": 146,
- "count": 249,
- "p50": 64.7,
- "median": 64.7,
+ "min": 39,
+ "max": 300,
+ "count": 498,
+ "p50": 58.6,
+ "median": 58.6,
"p75": 74.4,
- "p90": 85.6,
- "p95": 87.4,
- "p99": 115.6,
- "p999": 120.3
+ "p90": 94.6,
+ "p95": 108.9,
+ "p99": 135.7,
+ "p999": 194.4
},
"vusers.session_length": {
- "min": 367.2,
- "max": 493.1,
- "count": 50,
- "p50": 424.2,
- "median": 424.2,
- "p75": 450.4,
- "p90": 468.8,
- "p95": 478.3,
- "p99": 487.9,
- "p999": 487.9
+ "min": 465.8,
+ "max": 745,
+ "count": 68,
+ "p50": 539.2,
+ "median": 539.2,
+ "p75": 584.2,
+ "p90": 608,
+ "p95": 620.3,
+ "p99": 699.4,
+ "p999": 699.4
}
}
},
{
"counters": {
- "vusers.created_by_name.visit home page": 63,
- "vusers.created": 63,
- "http.requests": 300,
- "http.codes.200": 297,
- "http.responses": 297,
+ "http.codes.200": 608,
+ "http.responses": 854,
+ "http.requests": 854,
"vusers.failed": 0,
- "vusers.completed": 58
+ "vusers.completed": 122,
+ "http.codes.404": 246,
+ "vusers.created_by_name.visit home page": 123,
+ "vusers.created": 123
},
"rates": {
- "http.request_rate": 42
- },
- "firstCounterAt": 1686934250057,
- "firstHistogramAt": 1686934250057,
- "lastCounterAt": 1686934259992,
- "lastHistogramAt": 1686934259990,
- "firstMetricAt": 1686934250057,
- "lastMetricAt": 1686934259992,
- "period": "1686934250000",
+ "http.request_rate": 86
+ },
"http.request_rate": null,
+ "firstCounterAt": 1687326640008,
+ "firstHistogramAt": 1687326640008,
+ "lastCounterAt": 1687326649999,
+ "lastHistogramAt": 1687326649999,
+ "firstMetricAt": 1687326640008,
+ "lastMetricAt": 1687326649999,
+ "period": "1687326640000",
"summaries": {
"http.response_time": {
- "min": 44,
- "max": 107,
- "count": 297,
- "p50": 61,
- "median": 61,
- "p75": 71.5,
- "p90": 79.1,
- "p95": 82.3,
- "p99": 96.6,
- "p999": 100.5
+ "min": 36,
+ "max": 203,
+ "count": 854,
+ "p50": 59.7,
+ "median": 59.7,
+ "p75": 77.5,
+ "p90": 92.8,
+ "p95": 102.5,
+ "p99": 141.2,
+ "p999": 175.9
},
"vusers.session_length": {
- "min": 363.1,
- "max": 513,
- "count": 58,
- "p50": 415.8,
- "median": 415.8,
- "p75": 432.7,
- "p90": 459.5,
- "p95": 468.8,
- "p99": 497.8,
- "p999": 497.8
+ "min": 449.2,
+ "max": 700.7,
+ "count": 122,
+ "p50": 561.2,
+ "median": 561.2,
+ "p75": 596,
+ "p90": 645.6,
+ "p95": 658.6,
+ "p99": 699.4,
+ "p999": 699.4
}
},
"histograms": {
"http.response_time": {
- "min": 44,
- "max": 107,
- "count": 297,
- "p50": 61,
- "median": 61,
- "p75": 71.5,
- "p90": 79.1,
- "p95": 82.3,
- "p99": 96.6,
- "p999": 100.5
+ "min": 36,
+ "max": 203,
+ "count": 854,
+ "p50": 59.7,
+ "median": 59.7,
+ "p75": 77.5,
+ "p90": 92.8,
+ "p95": 102.5,
+ "p99": 141.2,
+ "p999": 175.9
},
"vusers.session_length": {
- "min": 363.1,
- "max": 513,
- "count": 58,
- "p50": 415.8,
- "median": 415.8,
- "p75": 432.7,
- "p90": 459.5,
- "p95": 468.8,
- "p99": 497.8,
- "p999": 497.8
+ "min": 449.2,
+ "max": 700.7,
+ "count": 122,
+ "p50": 561.2,
+ "median": 561.2,
+ "p75": 596,
+ "p90": 645.6,
+ "p95": 658.6,
+ "p99": 699.4,
+ "p999": 699.4
}
}
},
{
"counters": {
- "vusers.created_by_name.visit home page": 141,
- "vusers.created": 141,
- "http.requests": 702,
- "http.codes.200": 698,
- "http.responses": 698,
+ "http.codes.200": 845,
+ "http.responses": 1181,
+ "http.requests": 1181,
+ "http.codes.404": 336,
+ "vusers.created_by_name.visit home page": 168,
+ "vusers.created": 168,
"vusers.failed": 0,
- "vusers.completed": 139
+ "vusers.completed": 169
},
"rates": {
- "http.request_rate": 72
+ "http.request_rate": 118
},
"http.request_rate": null,
- "firstCounterAt": 1686934260002,
- "firstHistogramAt": 1686934260002,
- "lastCounterAt": 1686934269995,
- "lastHistogramAt": 1686934269994,
- "firstMetricAt": 1686934260002,
- "lastMetricAt": 1686934269995,
- "period": "1686934260000",
+ "firstCounterAt": 1687326650001,
+ "firstHistogramAt": 1687326650017,
+ "lastCounterAt": 1687326659997,
+ "lastHistogramAt": 1687326659997,
+ "firstMetricAt": 1687326650001,
+ "lastMetricAt": 1687326659997,
+ "period": "1687326650000",
"summaries": {
"http.response_time": {
- "min": 46,
- "max": 134,
- "count": 698,
- "p50": 68.7,
- "median": 68.7,
- "p75": 82.3,
- "p90": 96.6,
- "p95": 104.6,
- "p99": 120.3,
- "p999": 130.3
- },
- "vusers.session_length": {
- "min": 354,
- "max": 604.9,
- "count": 139,
- "p50": 450.4,
- "median": 450.4,
- "p75": 487.9,
- "p90": 518.1,
- "p95": 539.2,
- "p99": 561.2,
- "p999": 561.2
+ "min": 36,
+ "max": 172,
+ "count": 1181,
+ "p50": 67.4,
+ "median": 67.4,
+ "p75": 85.6,
+ "p90": 104.6,
+ "p95": 115.6,
+ "p99": 135.7,
+ "p999": 162.4
+ },
+ "vusers.session_length": {
+ "min": 464.4,
+ "max": 746.8,
+ "count": 169,
+ "p50": 584.2,
+ "median": 584.2,
+ "p75": 632.8,
+ "p90": 685.5,
+ "p95": 699.4,
+ "p99": 742.6,
+ "p999": 742.6
}
},
"histograms": {
"http.response_time": {
- "min": 46,
- "max": 134,
- "count": 698,
- "p50": 68.7,
- "median": 68.7,
- "p75": 82.3,
- "p90": 96.6,
- "p95": 104.6,
- "p99": 120.3,
- "p999": 130.3
- },
- "vusers.session_length": {
- "min": 354,
- "max": 604.9,
- "count": 139,
- "p50": 450.4,
- "median": 450.4,
- "p75": 487.9,
- "p90": 518.1,
- "p95": 539.2,
- "p99": 561.2,
- "p999": 561.2
+ "min": 36,
+ "max": 172,
+ "count": 1181,
+ "p50": 67.4,
+ "median": 67.4,
+ "p75": 85.6,
+ "p90": 104.6,
+ "p95": 115.6,
+ "p99": 135.7,
+ "p999": 162.4
+ },
+ "vusers.session_length": {
+ "min": 464.4,
+ "max": 746.8,
+ "count": 169,
+ "p50": 584.2,
+ "median": 584.2,
+ "p75": 632.8,
+ "p90": 685.5,
+ "p95": 699.4,
+ "p99": 742.6,
+ "p999": 742.6
}
}
},
{
"counters": {
- "http.codes.200": 1108,
- "http.responses": 1108,
- "http.requests": 1119,
+ "vusers.created_by_name.visit home page": 217,
+ "vusers.created": 217,
+ "http.requests": 1407,
+ "http.codes.200": 978,
+ "http.responses": 1369,
+ "http.codes.404": 391,
"vusers.failed": 0,
- "vusers.completed": 217,
- "vusers.created_by_name.visit home page": 230,
- "vusers.created": 230
+ "vusers.completed": 178
},
"rates": {
- "http.request_rate": 114
+ "http.request_rate": 142
},
"http.request_rate": null,
- "firstCounterAt": 1686934270015,
- "firstHistogramAt": 1686934270015,
- "lastCounterAt": 1686934279998,
- "lastHistogramAt": 1686934279996,
- "firstMetricAt": 1686934270015,
- "lastMetricAt": 1686934279998,
- "period": "1686934270000",
+ "firstCounterAt": 1687326660006,
+ "firstHistogramAt": 1687326660006,
+ "lastCounterAt": 1687326669998,
+ "lastHistogramAt": 1687326669996,
+ "firstMetricAt": 1687326660006,
+ "lastMetricAt": 1687326669998,
+ "period": "1687326660000",
"summaries": {
"http.response_time": {
- "min": 45,
- "max": 703,
- "count": 1108,
- "p50": 87.4,
- "median": 87.4,
- "p75": 102.5,
- "p90": 120.3,
- "p95": 133,
- "p99": 399.5,
- "p999": 572.6
- },
- "vusers.session_length": {
- "min": 386.6,
- "max": 1308.6,
- "count": 217,
- "p50": 539.2,
- "median": 539.2,
- "p75": 584.2,
- "p90": 645.6,
- "p95": 772.9,
- "p99": 963.1,
- "p999": 1107.9
+ "min": 37,
+ "max": 1885,
+ "count": 1369,
+ "p50": 92.8,
+ "median": 92.8,
+ "p75": 115.6,
+ "p90": 153,
+ "p95": 658.6,
+ "p99": 1587.9,
+ "p999": 1755
+ },
+ "vusers.session_length": {
+ "min": 559.5,
+ "max": 3743.3,
+ "count": 178,
+ "p50": 742.6,
+ "median": 742.6,
+ "p75": 1153.1,
+ "p90": 1978.7,
+ "p95": 2725,
+ "p99": 3464.1,
+ "p999": 3678.4
}
},
"histograms": {
"http.response_time": {
- "min": 45,
- "max": 703,
- "count": 1108,
- "p50": 87.4,
- "median": 87.4,
- "p75": 102.5,
- "p90": 120.3,
- "p95": 133,
- "p99": 399.5,
- "p999": 572.6
- },
- "vusers.session_length": {
- "min": 386.6,
- "max": 1308.6,
- "count": 217,
- "p50": 539.2,
- "median": 539.2,
- "p75": 584.2,
- "p90": 645.6,
- "p95": 772.9,
- "p99": 963.1,
- "p999": 1107.9
+ "min": 37,
+ "max": 1885,
+ "count": 1369,
+ "p50": 92.8,
+ "median": 92.8,
+ "p75": 115.6,
+ "p90": 153,
+ "p95": 658.6,
+ "p99": 1587.9,
+ "p999": 1755
+ },
+ "vusers.session_length": {
+ "min": 559.5,
+ "max": 3743.3,
+ "count": 178,
+ "p50": 742.6,
+ "median": 742.6,
+ "p75": 1153.1,
+ "p90": 1978.7,
+ "p95": 2725,
+ "p99": 3464.1,
+ "p999": 3678.4
+ }
+ }
+ },
+ {
+ "counters": {
+ "vusers.created_by_name.visit home page": 263,
+ "vusers.created": 263,
+ "http.requests": 1550,
+ "http.codes.404": 417,
+ "http.responses": 1469,
+ "http.codes.200": 1052,
+ "vusers.failed": 0,
+ "vusers.completed": 182
+ },
+ "rates": {
+ "http.request_rate": 156
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326670002,
+ "firstHistogramAt": 1687326670002,
+ "lastCounterAt": 1687326679999,
+ "lastHistogramAt": 1687326679992,
+ "firstMetricAt": 1687326670002,
+ "lastMetricAt": 1687326679999,
+ "period": "1687326670000",
+ "summaries": {
+ "http.response_time": {
+ "min": 36,
+ "max": 4546,
+ "count": 1469,
+ "p50": 94.6,
+ "median": 94.6,
+ "p75": 115.6,
+ "p90": 190.6,
+ "p95": 3197.8,
+ "p99": 4403.8,
+ "p999": 4492.8
+ },
+ "vusers.session_length": {
+ "min": 569.4,
+ "max": 8136.1,
+ "count": 182,
+ "p50": 837.3,
+ "median": 837.3,
+ "p75": 4147.4,
+ "p90": 5168,
+ "p95": 6439.7,
+ "p99": 8186.6,
+ "p999": 8186.6
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 36,
+ "max": 4546,
+ "count": 1469,
+ "p50": 94.6,
+ "median": 94.6,
+ "p75": 115.6,
+ "p90": 190.6,
+ "p95": 3197.8,
+ "p99": 4403.8,
+ "p999": 4492.8
+ },
+ "vusers.session_length": {
+ "min": 569.4,
+ "max": 8136.1,
+ "count": 182,
+ "p50": 837.3,
+ "median": 837.3,
+ "p75": 4147.4,
+ "p90": 5168,
+ "p95": 6439.7,
+ "p99": 8186.6,
+ "p999": 8186.6
+ }
+ }
+ },
+ {
+ "counters": {
+ "http.codes.200": 1016,
+ "http.responses": 1411,
+ "http.requests": 1560,
+ "vusers.created_by_name.visit home page": 306,
+ "vusers.created": 306,
+ "http.codes.404": 395,
+ "vusers.failed": 0,
+ "vusers.completed": 157
+ },
+ "rates": {
+ "http.request_rate": 157
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326680000,
+ "firstHistogramAt": 1687326680000,
+ "lastCounterAt": 1687326689999,
+ "lastHistogramAt": 1687326689999,
+ "firstMetricAt": 1687326680000,
+ "lastMetricAt": 1687326689999,
+ "period": "1687326680000",
+ "summaries": {
+ "http.response_time": {
+ "min": 37,
+ "max": 8992,
+ "count": 1411,
+ "p50": 98.5,
+ "median": 98.5,
+ "p75": 117.9,
+ "p90": 278.7,
+ "p95": 6569.8,
+ "p99": 8520.7,
+ "p999": 8868.4
+ },
+ "vusers.session_length": {
+ "min": 614.9,
+ "max": 19259.4,
+ "count": 157,
+ "p50": 5378.9,
+ "median": 5378.9,
+ "p75": 8352,
+ "p90": 10832,
+ "p95": 12968.3,
+ "p99": 14048.5,
+ "p999": 15526
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 37,
+ "max": 8992,
+ "count": 1411,
+ "p50": 98.5,
+ "median": 98.5,
+ "p75": 117.9,
+ "p90": 278.7,
+ "p95": 6569.8,
+ "p99": 8520.7,
+ "p999": 8868.4
+ },
+ "vusers.session_length": {
+ "min": 614.9,
+ "max": 19259.4,
+ "count": 157,
+ "p50": 5378.9,
+ "median": 5378.9,
+ "p75": 8352,
+ "p90": 10832,
+ "p95": 12968.3,
+ "p99": 14048.5,
+ "p999": 15526
+ }
+ }
+ },
+ {
+ "counters": {
+ "http.codes.404": 406,
+ "http.responses": 1395,
+ "http.requests": 1625,
+ "vusers.created_by_name.visit home page": 356,
+ "vusers.created": 356,
+ "http.codes.200": 989,
+ "vusers.failed": 168,
+ "vusers.completed": 121,
+ "errors.ETIMEDOUT": 168
+ },
+ "rates": {
+ "http.request_rate": 164
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326690001,
+ "firstHistogramAt": 1687326690001,
+ "lastCounterAt": 1687326699982,
+ "lastHistogramAt": 1687326699982,
+ "firstMetricAt": 1687326690001,
+ "lastMetricAt": 1687326699982,
+ "period": "1687326690000",
+ "summaries": {
+ "http.response_time": {
+ "min": 38,
+ "max": 9998,
+ "count": 1395,
+ "p50": 96.6,
+ "median": 96.6,
+ "p75": 115.6,
+ "p90": 141.2,
+ "p95": 9801.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 626.5,
+ "max": 19137.2,
+ "count": 121,
+ "p50": 804.5,
+ "median": 804.5,
+ "p75": 10407.3,
+ "p90": 14917.2,
+ "p95": 16819.2,
+ "p99": 18588.1,
+ "p999": 18963.6
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 38,
+ "max": 9998,
+ "count": 1395,
+ "p50": 96.6,
+ "median": 96.6,
+ "p75": 115.6,
+ "p90": 141.2,
+ "p95": 9801.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 626.5,
+ "max": 19137.2,
+ "count": 121,
+ "p50": 804.5,
+ "median": 804.5,
+ "p75": 10407.3,
+ "p90": 14917.2,
+ "p95": 16819.2,
+ "p99": 18588.1,
+ "p999": 18963.6
+ }
+ }
+ },
+ {
+ "counters": {
+ "http.codes.200": 960,
+ "http.responses": 1321,
+ "http.requests": 1625,
+ "http.codes.404": 361,
+ "vusers.created_by_name.visit home page": 402,
+ "vusers.created": 402,
+ "errors.ETIMEDOUT": 254,
+ "vusers.failed": 254,
+ "vusers.completed": 86
+ },
+ "rates": {
+ "http.request_rate": 163
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326700002,
+ "firstHistogramAt": 1687326700004,
+ "lastCounterAt": 1687326709998,
+ "lastHistogramAt": 1687326709996,
+ "firstMetricAt": 1687326700002,
+ "lastMetricAt": 1687326709998,
+ "period": "1687326700000",
+ "summaries": {
+ "http.response_time": {
+ "min": 38,
+ "max": 9999,
+ "count": 1321,
+ "p50": 100.5,
+ "median": 100.5,
+ "p75": 117.9,
+ "p90": 144,
+ "p95": 9801.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 599.1,
+ "max": 25044.6,
+ "count": 86,
+ "p50": 757.6,
+ "median": 757.6,
+ "p75": 10617.5,
+ "p90": 10617.5,
+ "p95": 10832,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 38,
+ "max": 9999,
+ "count": 1321,
+ "p50": 100.5,
+ "median": 100.5,
+ "p75": 117.9,
+ "p90": 144,
+ "p95": 9801.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 599.1,
+ "max": 25044.6,
+ "count": 86,
+ "p50": 757.6,
+ "median": 757.6,
+ "p75": 10617.5,
+ "p90": 10617.5,
+ "p95": 10832,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ }
+ },
+ {
+ "counters": {
+ "http.codes.404": 383,
+ "http.responses": 1378,
+ "http.requests": 1718,
+ "http.codes.200": 995,
+ "errors.ETIMEDOUT": 319,
+ "vusers.failed": 319,
+ "vusers.created_by_name.visit home page": 447,
+ "vusers.created": 447,
+ "vusers.completed": 93
+ },
+ "rates": {
+ "http.request_rate": 173
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326710001,
+ "firstHistogramAt": 1687326710001,
+ "lastCounterAt": 1687326719990,
+ "lastHistogramAt": 1687326719988,
+ "firstMetricAt": 1687326710001,
+ "lastMetricAt": 1687326719990,
+ "period": "1687326710000",
+ "summaries": {
+ "http.response_time": {
+ "min": 38,
+ "max": 10001,
+ "count": 1378,
+ "p50": 98.5,
+ "median": 98.5,
+ "p75": 117.9,
+ "p90": 138.4,
+ "p95": 9999.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 610.3,
+ "max": 20509.7,
+ "count": 93,
+ "p50": 772.9,
+ "median": 772.9,
+ "p75": 10617.5,
+ "p90": 10617.5,
+ "p95": 10832,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 38,
+ "max": 10001,
+ "count": 1378,
+ "p50": 98.5,
+ "median": 98.5,
+ "p75": 117.9,
+ "p90": 138.4,
+ "p95": 9999.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 610.3,
+ "max": 20509.7,
+ "count": 93,
+ "p50": 772.9,
+ "median": 772.9,
+ "p75": 10617.5,
+ "p90": 10617.5,
+ "p95": 10832,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ }
+ },
+ {
+ "counters": {
+ "vusers.created_by_name.visit home page": 493,
+ "vusers.created": 493,
+ "http.requests": 1723,
+ "http.codes.200": 965,
+ "http.responses": 1309,
+ "http.codes.404": 344,
+ "errors.ETIMEDOUT": 362,
+ "vusers.failed": 362,
+ "vusers.completed": 65
+ },
+ "rates": {
+ "http.request_rate": 173
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326720000,
+ "firstHistogramAt": 1687326720000,
+ "lastCounterAt": 1687326729988,
+ "lastHistogramAt": 1687326729986,
+ "firstMetricAt": 1687326720000,
+ "lastMetricAt": 1687326729988,
+ "period": "1687326720000",
+ "summaries": {
+ "http.response_time": {
+ "min": 38,
+ "max": 9999,
+ "count": 1309,
+ "p50": 100.5,
+ "median": 100.5,
+ "p75": 120.3,
+ "p90": 144,
+ "p95": 9999.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 645,
+ "max": 30326.4,
+ "count": 65,
+ "p50": 757.6,
+ "median": 757.6,
+ "p75": 10617.5,
+ "p90": 10832,
+ "p95": 20543.1,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 38,
+ "max": 9999,
+ "count": 1309,
+ "p50": 100.5,
+ "median": 100.5,
+ "p75": 120.3,
+ "p90": 144,
+ "p95": 9999.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 645,
+ "max": 30326.4,
+ "count": 65,
+ "p50": 757.6,
+ "median": 757.6,
+ "p75": 10617.5,
+ "p90": 10832,
+ "p95": 20543.1,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ }
+ },
+ {
+ "counters": {
+ "vusers.created_by_name.visit home page": 540,
+ "vusers.created": 540,
+ "http.requests": 1723,
+ "http.codes.200": 934,
+ "http.responses": 1249,
+ "errors.ETIMEDOUT": 443,
+ "vusers.failed": 444,
+ "http.codes.404": 315,
+ "vusers.completed": 58,
+ "errors.EPROTO": 1
+ },
+ "rates": {
+ "http.request_rate": 174
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326730000,
+ "firstHistogramAt": 1687326730000,
+ "lastCounterAt": 1687326739992,
+ "lastHistogramAt": 1687326739992,
+ "firstMetricAt": 1687326730000,
+ "lastMetricAt": 1687326739992,
+ "period": "1687326730000",
+ "summaries": {
+ "http.response_time": {
+ "min": 38,
+ "max": 10001,
+ "count": 1249,
+ "p50": 104.6,
+ "median": 104.6,
+ "p75": 122.7,
+ "p90": 141.2,
+ "p95": 186.8,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 647,
+ "max": 20873.6,
+ "count": 58,
+ "p50": 772.9,
+ "median": 772.9,
+ "p75": 10617.5,
+ "p90": 10617.5,
+ "p95": 20543.1,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 38,
+ "max": 10001,
+ "count": 1249,
+ "p50": 104.6,
+ "median": 104.6,
+ "p75": 122.7,
+ "p90": 141.2,
+ "p95": 186.8,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 647,
+ "max": 20873.6,
+ "count": 58,
+ "p50": 772.9,
+ "median": 772.9,
+ "p75": 10617.5,
+ "p90": 10617.5,
+ "p95": 20543.1,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ }
+ },
+ {
+ "counters": {
+ "http.codes.200": 921,
+ "http.responses": 1239,
+ "http.requests": 1665,
+ "vusers.created_by_name.visit home page": 504,
+ "vusers.created": 504,
+ "vusers.failed": 472,
+ "vusers.completed": 70,
+ "http.codes.404": 318,
+ "errors.ETIMEDOUT": 472
+ },
+ "rates": {
+ "http.request_rate": 172
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326740001,
+ "firstHistogramAt": 1687326740001,
+ "lastCounterAt": 1687326749999,
+ "lastHistogramAt": 1687326749999,
+ "firstMetricAt": 1687326740001,
+ "lastMetricAt": 1687326749999,
+ "period": "1687326740000",
+ "summaries": {
+ "http.response_time": {
+ "min": 38,
+ "max": 9999,
+ "count": 1239,
+ "p50": 100.5,
+ "median": 100.5,
+ "p75": 120.3,
+ "p90": 141.2,
+ "p95": 9999.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 654.6,
+ "max": 30406.9,
+ "count": 70,
+ "p50": 788.5,
+ "median": 788.5,
+ "p75": 10617.5,
+ "p90": 10617.5,
+ "p95": 10617.5,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 38,
+ "max": 9999,
+ "count": 1239,
+ "p50": 100.5,
+ "median": 100.5,
+ "p75": 120.3,
+ "p90": 141.2,
+ "p95": 9999.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 654.6,
+ "max": 30406.9,
+ "count": 70,
+ "p50": 788.5,
+ "median": 788.5,
+ "p75": 10617.5,
+ "p90": 10617.5,
+ "p95": 10617.5,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ }
+ },
+ {
+ "counters": {
+ "errors.ETIMEDOUT": 365,
+ "vusers.failed": 365,
+ "http.codes.404": 215,
+ "http.responses": 698,
+ "http.requests": 531,
+ "http.codes.200": 483,
+ "vusers.completed": 144
+ },
+ "rates": {
+ "http.request_rate": 65
+ },
+ "http.request_rate": null,
+ "firstCounterAt": 1687326750002,
+ "firstHistogramAt": 1687326750002,
+ "lastCounterAt": 1687326759103,
+ "lastHistogramAt": 1687326759103,
+ "firstMetricAt": 1687326750002,
+ "lastMetricAt": 1687326759103,
+ "period": "1687326750000",
+ "summaries": {
+ "http.response_time": {
+ "min": 37,
+ "max": 10001,
+ "count": 698,
+ "p50": 80.6,
+ "median": 80.6,
+ "p75": 214.9,
+ "p90": 9999.2,
+ "p95": 9999.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 10314.2,
+ "max": 20586.1,
+ "count": 144,
+ "p50": 10617.5,
+ "median": 10617.5,
+ "p75": 10617.5,
+ "p90": 10832,
+ "p95": 20543.1,
+ "p99": 20543.1,
+ "p999": 20543.1
+ }
+ },
+ "histograms": {
+ "http.response_time": {
+ "min": 37,
+ "max": 10001,
+ "count": 698,
+ "p50": 80.6,
+ "median": 80.6,
+ "p75": 214.9,
+ "p90": 9999.2,
+ "p95": 9999.2,
+ "p99": 9999.2,
+ "p999": 9999.2
+ },
+ "vusers.session_length": {
+ "min": 10314.2,
+ "max": 20586.1,
+ "count": 144,
+ "p50": 10617.5,
+ "median": 10617.5,
+ "p75": 10617.5,
+ "p90": 10832,
+ "p95": 20543.1,
+ "p99": 20543.1,
+ "p999": 20543.1
}
}
}
diff --git a/test-run-report.json.html b/test-run-report.json.html
deleted file mode 100644
index 8eaef349..00000000
--- a/test-run-report.json.html
+++ /dev/null
@@ -1,1349 +0,0 @@
-
-
-
-
- Artillery report
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-