Uploaded November 2022 | Updated September 2026, 2 weeks ago
This is our 200th Stateless Code video. Thank you to everybody past, present, and future who has watched, recommended, or interacted with any of our videos.
This video is a modified retrospective on a large scale where we reflect on what we've done and look forward to what is to come.
This video includes:
00:00:10 Introduction
00:01:00 Summarizing the different video series we have
00:09:30 Stateless Code retrospectives and an overall retrorspective on the first 200 videos with an eye toward continuous improvement
00:14:23 Do you know anybody who wants to learn to code? Send them our way!
00:15:08 Looking ahead
00:17:19 Taking a look at the channel analytics
00:18:01 Taking a look at the top performing videos
00:19:32 Mediocre Karaoke: Don't Stop Me Now by Queen
#200episodes #200ok #200successful #200videos #agile #continuousimprovement #neverstoplearning #iterate #github #ruby #rails #opensource #failforward #retro #wordpress #inkscape #karaoke #queen #dontstopmenow
Check out our StatelessCode playlists:
- Why Stateless Code youtube.com/playlist?list=PL9kkbu1kLUeO5Htd6ZHJVZO1hrAGkFS1z
- Ruby on Rails 7: NerdDice.com youtube.com/playlist?list=PL9kkbu1kLUeMJFb0GT8ZMzrsSKJaxjOKH
- Getting Started with Rails 7 youtube.com/playlist?list=PL9kkbu1kLUePk2NNqMT14iL3Dis2mbMdK
- Create a RubyGem: NerdDice youtube.com/playlist?list=PL9kkbu1kLUeOnUtMpAnJOCtHdThx1Efkt
- Contributing to Rails - Scaffold Generator Fix youtube.com/playlist?list=PL9kkbu1kLUeMwz4MNSb1Ntwe4eU_y3U8Q
- Stateles Code Retrospectives Playlist youtube.com/playlist?list=PL9kkbu1kLUeNaJwd3_XOrbTnSpUWsGNZX
- Setup and Configuration youtube.com/playlist?list=PL9kkbu1kLUeNWCKuMbpzE8r1xkx8L1Xf0
- Enough Inkscape to be Dangerous youtube.com/playlist?list=PL9kkbu1kLUeOIXlHRDTxr44xAhWu7upx7
- statelesscode.com Wordpress youtube.com/playlist?list=PL9kkbu1kLUeP-gmlEjJQKrFXZu2TdSEek
statelesscode.com
Note: There is a copyright claim on a portion of this video because of the karaoke track. Don't Stop Me Now was written by Freddie Mercury and performed by Queen on their 1978 album Jazz. Copyright currently held by by UMG on behalf of Hollywood Records. This is well within the realm of Fair Use.
Copyright is stupid. Check out the Center for the Study of Innovative Freedom for more info.
This video is CC0 - No rights reserved. (YouTube doesn't allow this option when publishing.) All code is released under the UNLICENSE. Stateless Code denies the concept of "intellectual property". Copying is not stealing.
This is our 200th Stateless Code video. Thank you to everybody past, present, and future who has watched, recommended, or interacted with any of our videos.
This video is a modified retrospective on a large scale where we reflect on what we've done and look forward to what is to come.
This video includes:
00:00:10 Introduction
00:01:00 Summarizing the different video series we have
00:09:30 Stateless Code retrospectives and an overall retrorspective on the first 200 videos with an eye toward continuous improvement
00:14:23 Do you know anybody who wants to learn to code? Send them our way!
00:15:08 Looking ahead
00:17:19 Taking a look at the channel analytics
00:18:01 Taking a look at the top performing videos
00:19:32 Mediocre Karaoke: Don't Stop Me Now by Queen
#200episodes #200ok #200successful #200videos #agile #continuousimprovement #neverstoplearning #iterate #github #ruby #rails #opensource #failforward #retro #wordpress #inkscape #karaoke #queen #dontstopmenow
Check out our StatelessCode playlists:
- Why Stateless Code youtube.com/playlist?list=PL9kkbu1kLUeO5Htd6ZHJVZO1hrAGkFS1z
- Ruby on Rails 7: NerdDice.com youtube.com/playlist?list=PL9kkbu1kLUeMJFb0GT8ZMzrsSKJaxjOKH
- Getting Started with Rails 7 youtube.com/playlist?list=PL9kkbu1kLUePk2NNqMT14iL3Dis2mbMdK
- Create a RubyGem: NerdDice youtube.com/playlist?list=PL9kkbu1kLUeOnUtMpAnJOCtHdThx1Efkt
- Contributing to Rails - Scaffold Generator Fix youtube.com/playlist?list=PL9kkbu1kLUeMwz4MNSb1Ntwe4eU_y3U8Q
- Stateles Code Retrospectives Playlist youtube.com/playlist?list=PL9kkbu1kLUeNaJwd3_XOrbTnSpUWsGNZX
- Setup and Configuration youtube.com/playlist?list=PL9kkbu1kLUeNWCKuMbpzE8r1xkx8L1Xf0
- Enough Inkscape to be Dangerous youtube.com/playlist?list=PL9kkbu1kLUeOIXlHRDTxr44xAhWu7upx7
- statelesscode.com Wordpress youtube.com/playlist?list=PL9kkbu1kLUeP-gmlEjJQKrFXZu2TdSEek
statelesscode.com
Note: There is a copyright claim on a portion of this video because of the karaoke track. Don't Stop Me Now was written by Freddie Mercury and performed by Queen on their 1978 album Jazz. Copyright currently held by by UMG on behalf of Hollywood Records. This is well within the realm of Fair Use.
Copyright is stupid. Check out the Center for the Study of Innovative Freedom for more info.
This video is CC0 - No rights reserved. (YouTube doesn't allow this option when publishing.) All code is released under the UNLICENSE. Stateless Code denies the concept of "intellectual property". Copying is not stealing.






![Create a RubyGem 98: Replace the Expired Gem Certificate
Okay I messed up, big time. The signing certificate for our gem expired over a year ago. When you add a cert to your gem, youre making a contract with your consumers that you will have a current signed version of your gem available at all times.
With an expired cert, a HighSecurity or even MediumSecurity install will fail. We need to rectify this. The process we use to update the gem certificate
* Move the old cert to an archive directory
* Un-trust the old cert with `gem cert remove [path_to_cert]`
* Generate the new cert from the ~/.ssh directory of the local machine using the command:
`gem cert build [email in gemspec]`
* Change permission for the private key to 0600
* Copy the PUBLIC certificate to the new directory with the command
`cp ~/.ssh/gem-public_cert.pem certs/[RubyGems user name].pem from the gems root directory
* Trust the new cert with `gem cert add certs/[RubyGems user name].pem` from the root directory of the gem
* Test a build version of the gem with `gem build nerd_dice.gemspec`
* Install the built version of the gem with the command
`gem install ./nerd_dice-0.5.0.gem -P HighSecurity` (replace with built version in the future)
* Uninstall the test version of the gem with the command
`gem uninstall nerd_dice -v 0.5.0` (replace as appropriate)
In this video, the need to explicitly remove the expired cert before adding the new one gives us some trouble, but we figure it out and now our users will be able to install with high security again once we release.
This video covers:
00:00:12 Introduction
00:01:14 Demonstrate the problem
00:03:08 Archive the expired certificate and key
00:04:48 Generate the new cert and private key
00:06:41 Copy the new cert to the certs directory of the gem
00:08:38 Build the gem and test that it can be installed with HighSecurity, fails
00:10:49 Troubleshoot install failure. Solution is to remove the old cert before adding the new one
00:15:06 Test install with high security successful; uninstall test version
00:15:49 Commit the new certificate
00:16:34 Update the SECURITY.md file with new end-of-life date for other versions and amend commit to include change
00:18:54 Push to the remote, open pull request, ensure process for updating the certificate is noted in a comment in the issue
00:21:01 Merge pull request and update backlog
#ruby #rubygems #codecast #screencast #NerdDice #DnD #roleplaying #softwaredevelopment #github #opensource #dice #tlm #certificatemanagement #expiredcert
See other related StatelessCode videos:
- Create a RubyGem 06: Release the Gem! https://youtu.be/4ihGTcy9jtI
Resources that we relied upon for this solution:
- Publishing your gem RubyGems.org https://guides.rubygems.org/publishing
- Security guide RubyGems.org https://guides.rubygems.org/security
This video is CC0 - No rights reserved. (YouTube doesnt allow this option when publishing.) All code is released under the UNLICENSE. Stateless Code denies the concept of intellectual property. Copying is not stealing. Create a RubyGem 98: Replace the Expired Gem Certificate](https://i.ytimg.com/vi/TP1cReJgSro/mqdefault.jpg)



