---
title: "Shopify's big investments into Ruby's future"
publication: "Ruby Weekly"
issue: 604
published_at: "2022-05-19"
canonical_url: "https://rubyweekly.com/issues/604"
---

Plus teaching Postgres some new tricks, bringing Rust and Ruby together, and learning how to contribute to Ruby. |        

[🇺🇦](https://war.ukraine.ua/) #​604 — May 19, 2022 

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

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/n3gtziqa2yqdkyhtk5ux.jpg)](https://shopify.engineering/shopify-ruby-at-scale-research-investment)  

[Shopify Invests in Research for Ruby at Scale](https://shopify.engineering/shopify-ruby-at-scale-research-investment) — This is exciting! If you’ve kept an eye on industry comings and goings in recent years, you may have noticed Shopify has brought together _quite_ the team of Ruby and VM experts (whether through direct hires or collaborations) and it’s only continuing – this bodes _extremely_ well for Ruby and reminds me somewhat of when Google went all in on V8.. 

Chris Seaton (Shopify)   

[Using _Scientist_ to Refactor Critical Rails Code](https://blog.appsignal.com/2022/05/18/using-scientist-to-refactor-critical-ruby-on-rails-code.html) — We’ve mentioned [Scientist](https://github.com/github/scientist) a few times over the years as a neat way to introduce change to an untested or complex app through executing the old and new code and comparing results. The LabTech gem introduced in this post makes this process even easier. 

Darren Broemmer (AppSignal)   [![\](https://copm.s3.amazonaws.com/cd5835ce.png)](https://cloud66.com/compare/cloud66-vs-heroku/?utm_source=-&utm_medium=-&utm_campaign=RubyWeekly-22-q2-2) 

[All The Convenience of Heroku Without the Cost](https://cloud66.com/compare/cloud66-vs-heroku/?utm_source=-&utm_medium=-&utm_campaign=RubyWeekly-22-q2-2) — The convenience of Heroku, but on any cloud and in any region, with persistent storage, custom network configuration, zero downtime deployments, blue/green and canary releases, WAF, and more. Try it today for free plus an extra $100 in credits with the code:`RubyWeekly!` 

Cloud 66 sponsor   

[New Official Guides on How to Contribute to Ruby](https://docs.ruby-lang.org/en/master/contributing_md.html) — There are lots of ways you can contribute towards the future of Ruby whether through testing it, reporting issues, making changes, submitting proposals, or improving the docs.. and the docs now have some new practical guides on how to do all of those things. 

Ruby Docs   

**Quick Bits:** 

- [RubyMine 2022.1.1](https://blog.jetbrains.com/ruby/2022/05/rubymine-2022-1-1-is-available/), a bug fix update of the popular commercial Ruby IDE, is out. In related news, RubyMine is [retiring support for old versions of Rails and various features.](https://blog.jetbrains.com/ruby/2022/05/rubymine-to-retire-rails-3-and-other-outdated-features/)
- [_Chime_](https://www.chimehq.com/) is a native macOS-specific code editor originally targeting just Go developers, but it [now supports Ruby too.](https://www.chimehq.com/blog/hello-ruby)
- [RailsConf 2022](https://railsconf.org/) is taking place right now in Portland, Oregon. We look forward to videos and articles coming out of the event and hope you're having a great time if you're there!
- At RailsConf, Eileen M. Uchitelle of the Rails core team [noted](https://twitter.com/valeriecodes/status/1526970611297267714) _"Rails isn’t just someone else’s framework, we are all responsible for the future and sustainability of Rails."_     

Jobs  

[4 Senior ROR Engineers - Remote Since Day 1](https://anka.breezy.hr/p/3338fe5338a2-senior-ruby-on-rails-engineers?source=rubyweekly.) — Mastered ROR (6-8 years of XP)? Join Anka: The all-in-one solution to export products made of Africa globally. Great technical challenges, fast development opportunities, and a badass team. 
Anka   

[Sr. Ruby on Rails Developer (Remote, US-Only)](https://recruiting.paylocity.com/Recruiting/Jobs/Details/1008948) — Do you lie awake at night thinking about how to refactor that Rails code? Is POODR on your nightstand? We understand you. We are the same way. 
Tatango   

[Senior Back End Developer - Ruby/Rails](https://peggy.com/careers?ashby_jid=bcf449d8-38d0-49d7-aca6-8986d5c74539) — Peggy uses AI to transform the art market. Come hack on an elegant Rails API with our world-class and fully remote team. ROR, PG, AWS, K8S, Sidekiq. 
Peggy   

[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 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/bauc0k6b2ko6p1iql1dx.jpg)](https://evilmartians.com/chronicles/soft-deletion-with-postgresql-but-with-logic-on-the-database)  

[Soft Deletion with Postgres: Writing the Logic in Postgres Itself](https://evilmartians.com/chronicles/soft-deletion-with-postgresql-but-with-logic-on-the-database) — Of course we love writing everything in Ruby, but Postgres, like many database systems, is quite powerful on its own and if you wanted to add ‘soft’ deletion (marking records as hidden rather than deleting them) to your app, you could give the job to Postgres itself by way of _rules._ 

Kozin and Turner   

[_Syntax Tree_ and Lambda-Local Variables](https://kddnewton.com/2022/05/16/syntax-tree-lambda-locals.html) — The author of [Syntax Tree](https://github.com/ruby-syntax-tree/syntax_tree) (a Ruby parsing and formatting toolkit) has to deal with every dark corner of the language. 

Kevin Newton   

[A Case for Query Objects in Rails](https://thoughtbot.com/blog/a-case-for-query-objects-in-rails) — Making your queries reusable is an excellent idea and bound to save you frustration cycles later. Here are a few ways to build them right. 

Thiago Araújo Silva (thoughtbot)   

[How Lyft's Mobile Team Does Mobile CI at Scale](https://buildkite.com/blog/how-lyfts-mobile-team-does-mobile-ci-at-scale?utm_campaign=CPress&utm_source=ppc&utm_medium=CPress&utm_term=Lyfts-mobile-team-CICD&utm_content=CICD) — How does Lyft do mobile CI/CD and unblock their ~200 mobile app contributors? Lyft shares all the details. 

Buildkite sponsor   

[How to Get a Random Number in Ruby](https://www.bootrails.com/blog/how-to-get-a-random-number-in-ruby/) — It’s a basic thing to do, but did you know there are several options? 

Shino and David   

[How to Mock ActionMailer](https://blog.nolanphillips.com/how-to-mock-actionmailer) — Using RSpec custom matchers to make clean ActionMailer mocks. 

Nolan Phillips   

[Linting and Auto-Formatting Ruby Code with RuboCop](https://www.honeybadger.io/blog/linting-formatting-ruby/) — An introductory post. Existing RuboCop users scroll on :-) 

Ayooluwa Isaiah   

[Some Benefits of Having a `call` Method for Your Object](https://dev.to/devteam/benefits-of-having-a-call-method-for-your-ruby-object-30dk) 
Jeremy Friesen   

[Four Things You Can Try Before Using a Counter Cache in Rails](https://bhserna.com/what-can-you-try-before-using-a-counter-cache-in-rails.html) 
Benito Serna  

🛠 Code & Tools  

[Magnus 0.3.0: Ruby Bindings for Rust](https://github.com/matsadler/magnus/releases/tag/0.3.0) — We linked this project recently but it’s coming along at a fast pace. Magnus offers a way to write Ruby extensions in Rust (or, alternatively, call Ruby code from Rust) and Ruby’s string encoding API is now better supported, integer/float conversions are much better, and you can create Proc objects from Rust closures. 

Mat Sadler   

[Ruby2JS 5.0: A Ruby to JavaScript Transpiler](https://www.ruby2js.com/) — A transpiler aimed at keeping the resulting code looking ‘hand crafted’ rather than merely transpiled. Fiddle with the demo on the home page to get a feel for it. 

Sam Ruby and Jared White   

[Issue Tracking Has Never Been Easier with Shortcut](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=issuetrack) 

Shortcut (formerly Clubhouse.io) sponsor   

[Clayoven: A Site Generator Aimed at Math-Heavy Sites](https://github.com/artagnon/clayoven) — A curiously specific static site generator that’s targeted specifically at [rendering math stuff.](https://artagnon.com/scratch) 

Ramkumar Ramachandra   

[DataChecks: A DSL for Regression Testing on Data](https://github.com/fatkodima/data_checks) — For post-hoc checks when validations or database constraints haven’t done their job (or haven’t done it in the way you were expecting, at least). 

fatkodima   

[queue_classic 4.0: A Simple Worker Queue for Ruby and Postgres](https://github.com/QueueClassic/queue_classic) 
Ryan Smith         

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
