---
title: "Ruby gets a new game jam"
publication: "Ruby Weekly"
issue: 573
published_at: "2021-10-07"
canonical_url: "https://rubyweekly.com/issues/573"
---

Plus a Ruby powered gesture detection mechanism for Linux, and more CoC changes. |        

#​573 — October 7, 2021 

[Read on the Web](https://rubyweekly.com/issues/573)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ieulpxcw9qebwocwgnnb.jpg)](https://thoughtbot.com/blog/rubocop-custom-cops-for-custom-needs)   

[Rubocop: Creating Custom Cops for Custom Needs](https://thoughtbot.com/blog/rubocop-custom-cops-for-custom-needs) — This is not only a great use case for a custom matcher, but also a solid tutorial that touches on ASTs, S-expressions, and other interesting technicalities. 

Matheus Richard (thoughtbot)   

[Awesome Ruby: A Curated List of 900+ Ruby Libraries and Tools](https://awesome-ruby.com/) — Every year or two, we like to link to this epic, categorized collection of Ruby goodies. It continues to be updated frequently with new entries added and obsolete entries removed, and you’re encouraged to [contribute your own projects too](https://github.com/markets/awesome-ruby/blob/master/CONTRIBUTING.md). 

Marc Anguera Insa   [![\](https://copm.s3.amazonaws.com/6cbe7fb0.png)](https://anycable.io/blog/jwt-identification-and-hot-streams/) 

[AnyCable PRO Gets More Features for Real-Time Communication](https://anycable.io/blog/jwt-identification-and-hot-streams/) — AnyCable PRO adds JWT identification and Hotwire and CableReady streams support to other advanced features to build real-time Ruby on Rails apps. It has the potential to bring a significant performance boost in addition to 40% less memory footprint. 

Evil Martians sponsor   

[A Compositional Approach to Optimizing the Performance of Ruby Apps](https://noteflakes.com/articles/2021-10-05-a-compositional-approach-to-ruby-performance) — The “composition” here consists of a top layer in Ruby and a bottom layer of C extensions, applying an approach that is similar to what `io_uring` does in recent Linux kernel versions. 

Sharon Rosner   

**QUICK BITS:** 

- Last week we mentioned [some changes were made](https://github.com/ruby/www.ruby-lang.org/pull/2690) to the _Ruby Community Conduct Guidelines_, but all such changes have [now been reverted](https://github.com/ruby/www.ruby-lang.org/pull/2697) after [Matz found the situation hard to figure out](https://github.com/ruby/www.ruby-lang.org/pull/2696#issuecomment-933113368) and he wants the community to discuss it further first (not sure where yet).
- [Gosu](https://www.libgosu.org/) is a 2D game development framework for Ruby (and C++) and is well suited to smaller games and game development competitions, so it's neat to see **the first ever [Gosu Game Jam](https://itch.io/jam/gosu-game-jam) is taking place starting October 17.** A fun way to dabble with something different.   

[strftimer: A Ruby `strftime` Format Generator](http://strftimer.com/) — Give it a date and time format written long-hand and it’ll give you the `Time#strftime` format to use. [For a Good Strftime](https://foragoodstrftime.com/) and [Rails DateTime Formats](https://railsdatetimeformats.com/) should also be useful in this area. 

Edward Forshaw     

Jobs  

[Principal Ruby Platform Engineer (Remote - EST Timezone +/- 3 hours)](https://www.linkedin.com/jobs/view/2255010679/?capColoOverride=true) — Interested in Fintech? Join our core team building the AI that will level the playing field for self-directed investors. 
Propelor   

[Software Engineer (Australia)](https://www.seek.com.au/job/54123267) — Join Certsy and help create Australia’s leading digital passport for verified credentials (visa/relocation support provided). 
Certsy   

[Development Lead - People, Code, & Business](https://unboxed.co/join-us/development-lead/) — A hybrid role: supporting personal growth within the dev team, working on complex Rails apps, and championing our work. 
Unboxed   

[Find Ruby Jobs Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired    

📕 Articles & Tutorials  

[ActiveSupport's `#descendants` Method: A Deep Dive](https://www.honeybadger.io/blog/hidden-gems-activesupport-descendants/) — A nice walkthrough Ruby’s inheritance chain and how you can change it that ends with a really nice use case for `#descendents` that you’ll want to use in your Rails apps immediately. 

Jonathan Miles (Honeybadger Developer Blog)   

[How to Verify Signed HTTP Requests from Webhooks](https://blog.ohmysmtp.com/blog/verify-paddle-webhooks-in-ruby/) — A developer needed to verify webhook requests being made by a payments provider who signed the request with public key encryption. 

Paul Oms   

[Why to Use Sidekiq Directly, And Not Through Active Job](https://andycroll.com/ruby/use-sidekiq-directly-not-through-active-job/) — Active Job is great, but you might be missing out, says Andy. 

Andy Croll   

[Using Dynamic Config Variables in Rails Apps](https://pawelurbanek.com/rails-dynamic-config) — Config variables should never be embedded directly in the codebase as constants but luckily it’s now common to have them in a separate layer that’s brought in as constants at runtime. This post digs into what you might do if you want them to be a bit more _dynamic.._ 

Paweł Urbanek   

[RBS: How to Get the Most Out of RubyMine’s Code Assistance](https://blog.jetbrains.com/ruby/2021/09/rbs-how-to-get-the-most-out-of-rubymine-code-assistance/?utm_source=cooperpress&utm_medium=cpc&utm_campaign=rubyweekly_rubymine) 

JetBrains sponsor   

[Migrating Selenium System Tests to Cuprite](https://dev.to/nejremeslnici/migrating-selenium-system-tests-to-cuprite-42ah) — [Cuprite](https://github.com/rubycdp/cuprite) is a headless Chromium driver for Capybara. 

Matouš Borák   

▶[Discussing Seven Years at GitHub with John Nunemaker](https://codewithjason.simplecast.com/episodes/114-7-years-at-github-with-john-nunemaker-vsqztpqp) — If you’ve been in the Ruby world for many years, you may be familiar with John’s name (he created [httparty](https://github.com/jnunemaker/httparty), among other things). 

Code with Jason Podcast podcast   

▶[How to Use ESBuild in Rails with JSBundling](https://gorails.com/episodes/esbuild-jsbundling-rails) — GoRails continues to bring us up to speed on all the new JavaScript bundling options coming in Rails 7. Here’s ESBuild (so fast!) and how you can use it in Rails 6 today. 

GoRails  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/f79wilrdwr8frkijj75e.jpg)](https://github.com/iberianpig/fusuma)  

[Fusuma: Multitouch Gesture Recognizer for Linux](https://github.com/iberianpig/fusuma) — You define gestures and actions in YAML and it hooks into `libinput` to add custom gesture support on Linux. Interesting because this is a very atypical use case for Ruby. 

Kohei Yamada   

[Grape 1.6: An Opinionated Framework for Creating REST-like APIs](https://github.com/ruby-grape/grape) — Grape can run on Rack or be easily pulled into existing apps using Rails or Sinatra, say, and provides a neat DSL to build RESTful APIs. 1.6 drops Ruby 2.4 support. 

Michael Bleigh, Intridea Inc. et al.   

[Shortcut Puts the Agile in Agile and the “Can” in Kanban](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=kanban) — Shortcut is made for developers and PMs, providing speedy task management, reporting, and collaboration. [Try it today](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=kanban). 

Shortcut (formerly Clubhouse.io) sponsor   

[HTTPI 2.5.0: A Common Interface for Ruby HTTP Libraries](http://httpirb.com/) — If for some reason it would be useful to code to a single API but then be able to switch between Net::HTTP, Curb, excon and a few others (no `http` gem, alas), this may be for you. [GitHub repo](https://github.com/savonrb/httpi). 

Daniel Harrington   

[Amazing Print 1.4: Pretty Print Your Ruby Objects with Style](https://github.com/amazing-print/amazing_print) 
AmazingPrint   

[Test Kitchen 3.1: An Integration Tool for Testing Infrastructure Code](https://github.com/test-kitchen/test-kitchen) 
Test Kitchen   

[JWT: Ruby Implementation of the RFC 7519 OAuth JSON Web Token (JWT) Standard](https://github.com/jwt/ruby-jwt) 
Jeff Lindsay   

[apple_id: 'Sign-In with Apple' Backend Library](https://github.com/nov/apple_id) 
Nov Matake  

😄 And a fun one.. 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/psriroym9kenxt3serxw.jpg)](https://github.com/a6b8/ascii-to-svg-generator-for-ruby)   

[Generate SVG Art from Supplied ASCII Characters](https://github.com/a6b8/ascii-to-svg-generator-for-ruby) — A slightly unusual project this, but it’s creative and the output looks neat. 

Andreas Banholzer         

Curated by [Peter Cooper](https://twitter.com/peterc), [Glenn Goodrich](https://twitter.com/ruprict) and [Cooperpress](https://cooperpress.com/). 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
