---
title: "How Sidekiq works as a business"
publication: "Ruby Weekly"
issue: 600
published_at: "2022-04-21"
canonical_url: "https://rubyweekly.com/issues/600"
---

Plus a part of Ruby starts to rust, a chat with Mike Perham, and more Ruby 3.1 enhancements. |        

[🇺🇦](https://war.ukraine.ua/) #​600 — April 21, 2022 

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

🎉 Somehow we've made it to issue 600 – thanks for your continuing support! Can we make it to 1000? Watch this space in April 2030.. 😁
__
_Your editor, Peter Cooper_  

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/u98vqyvbgmsxmzqf927n.jpg)](https://github.com/ruby/ruby/pull/5826)  

[Ruby's YJIT Ported to Rust](https://github.com/ruby/ruby/pull/5826) — We briefly mentioned the _proposal_ for this a few months ago, but things have moved fast and now a Rust version of YJIT has already reached parity with the C version! Look for this to come in 3.2. And if you’re asking.. _why?_ Maintainability and management of complexity, mostly. 

Ruby Core   

⭐️ [How to Create a Modern CRUD App with Rails and React](https://hibbard.eu/rails-react-crud-app/) — A thorough, and newly updated, tutorial covering building a fully functional CRUD app with Rails 7, SQLite, esbuild, React 18, hooks, React Router, and more. An ideal guide if you want to get a feel for all the moving parts involved in such an app. 

James Hibbard   [![\](https://copm.s3.amazonaws.com/6b108f3e.png)](https://www.cloud66.com/frameworks/rails/?utm_source=-&utm_medium=-&utm_campaign=RubyWeekly-22-q2-1) 

[The Best Deployment Tool for Rails](https://www.cloud66.com/frameworks/rails/?utm_source=-&utm_medium=-&utm_campaign=RubyWeekly-22-q2-1) — Deploy Rails apps on any cloud, with native support for Rails conventions, full databases support, replication & backups, powerful access management & traffic control features. Try it today for free with an extra $100 in free credits with the code:`RubyWeekly!` 

Cloud 66 sponsor   

[Ruby 3.1 Introduces Variable Width Allocation for Strings](https://blog.saeloun.com/2022/04/19/ruby-variable-width-allocation-part-2) — This is deep stuff that you don’t _need_ to know, but it’s reassuring to know a lot of work is going into making Ruby more efficient. Variable Width Allocation is currently limited to `Class` and `String` types and reduces bottlenecks and total memory usage while still maintaining similar performance. 

Murtaza Bagwala (Saeloun)   

▶[A Chat with Rubyist Mike Perham, the Creator of Sidekiq](https://alphalist.com/podcast/49-mike-perham-creator-of-sidekiq-faktory) — Mike is famous in the Ruby world both for developing the [Sidekiq](https://github.com/mperham/sidekiq) background job system, but also managing to turn it into [his full time business](https://www.mikeperham.com/2022/01/17/happy-10th-birthday-sidekiq/) for ten years now. This fun 50-minute interview digs more into the business side of things, as well as what you should consider if you want to follow his kind of ‘developreneur’ path. 

Alphalist podcast   

[Code Ranges: A Deeper Look at Ruby Strings](https://shopify.engineering/code-ranges-ruby-strings) — If you think string representation and encodings are esoteric, wait until you read how Ruby uses code ranges to optimize scanning a string for valid, encoded characters. 

Kevin Menard (Shopify)   

**Quick Bits:** 

- Rubocop has [turned 10 years old](https://metaredux.com/posts/2022/04/21/rubocop-turns-10.html) – congratulations. Bozhidar Batsov shares a little of the story so far and how he's keen to see it last for another decade.
- [RubyGems 3.3.12](https://blog.rubygems.org/2022/04/20/3.3.12-released.html) has been released. There's also the usual [monthly news update](https://rubytogether.org/news/2022/4/march-2022-monthly-update) from Ruby Together.
- For [▶️ episode 414](https://www.therubyonrailspodcast.com/414), the _Ruby on Rails Podcast_ takes the unusual step of having a guest (Drew Bragg) who turns the tables and interviews the usual host, Brittany Martin.     

Jobs  

[Software Engineer - Feature Engineering (Remote)](https://apply.workable.com/dnsimple/j/36AE622A87/) — Join a small team building solid, simple solutions for DNS & domain management. 100% remote, diverse & proud of the tools we make. 
DNSimple   

[4 Senior ROR Engineers](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   

[Backend Engineer – Ruby on Rails (London or Remote)](https://www.ctrl-group.com/careers/backend-engineer) — Ctrl Group builds digital health products to bring personalised health care to everyone. [Apply now](https://www.ctrl-group.com/careers/backend-engineer) to join our brilliant team. 
Ctrl Group   

[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  

[Custom Ranges in Ruby](https://thoughtbot.com/blog/custom-ranges-in-ruby) — `1..10` is one thing, but what about if you want to support range syntax on your own custom objects? You can do it by just implementing two methods. 

Joël Quenneville   

[The Underrated Power of `dry-schema`](https://hanamimastery.com/episodes/19-dry-schema) — [dry-schema](https://dry-rb.org/gems/dry-schema/1.9/) is a data structure validation (and coercion) library that’s part of the [dry-rb](https://dry-rb.org/) family. 

Seb Wilgosz   

[How to Fake Time in a Postgres Database](https://blog.testdouble.com/posts/2022-04-19-how-to-fake-time-in-a-postgres-database/) — Mocking the time in Ruby itself isn’t too tricky ([Timecop](https://github.com/travisjeffery/timecop) to the rescue) but what about when it comes to working with databases? Timecop can also help here, but there’s a lot more to think about. 

Justin Searls   

[Keep Up with the Latest in Startups, Tech, & Programming in Just 5 Min](https://tldr.tech/signup?utm_source=rw0421) — TLDR is a daily newsletter with links and TLDRs of the most interesting stories in startups 🚀, tech 📱, and coding 💻 

TLDR Newsletter sponsor   

[Testing Techniques: The 'I/O Table'](https://thoughtbot.com/blog/testing-techniques-the-i-o-table) — Covers some basic principles of good tests before focusing on improving maintainability by thinking about inputs and outputs and refactoring around that mental model. 

Thiago Araújo Silva   

▶[How to Add Filtering and Pagination to Data Tables with Hotwire](https://www.youtube.com/watch?v=HURqvNJF4T0) — Once a reasonably clunky feature to add but _“now that we have Hotwire, adding filtering to a table with pagination can be done in just a few minutes.”_ 

Cezar Halmagean   

[The Differences Between `count`, `length` and `size` on an Active Record Association](https://bhserna.com/count-size-length-active-record.html) — Which to use, when and why. 

Benito Serna  

🛠 Code & Tools  

[command_mapper: A Way to Map External Commands to Ruby Classes](https://postmodern.github.io/blog/2021/11/25/introducing-command-mapper.html) — Came out last year but somehow we missed it till now. Think command line argument parsing but within Ruby itself and in a more declarative, higher level way – you really need to see it to get it. [GitHub repo](https://github.com/postmodern/command_mapper.rb). 

Hal Brodigan   

[Bumbler 0.9: Track The Load Progress of Bundler-based Projects](https://github.com/nevir/Bumbler) — Find those particularly slow loading gems in your projects. 

Ian MacLeod   

[Speed Up Your Builds with Buildkite’s New Plan](https://buildkite.com/blog/all-new-free-plan?utm_campaign=CPress&utm_source=ppc&utm_medium=CPress&utm_term=free-plan&utm_content=new-announcement) 

Buildkite sponsor   

[Blazer 2.6.0: A Ruby-Powered Business Intelligence Tool](https://github.com/ankane/blazer) — A system for putting together charts and dashboards based on business data queried with SQL. Supports a wide variety of data sources. 

Andrew Kane   

[sidekiq-scheduler 3.2: Lightweight Job Scheduler Extension for Sidekiq](https://github.com/moove-it/sidekiq-scheduler) 
Moove It   

[Chatwoot 2.4: Simple, Open Source Live Chat Software](https://github.com/chatwoot/chatwoot) 
Chatwoot         

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
