---
title: "#383: Reducing Memory Usage in Ruby"
publication: "Ruby Weekly"
issue: 383
published_at: "2018-01-25"
canonical_url: "https://rubyweekly.com/issues/383"
---

#383: Reducing Memory Usage in Ruby

This week's Ruby and Rails news[Read this e-mail on the Web](http://rubyweekly.com/issues/383)

Ruby WeeklyIssue 383 — January 25, 2018

Aaron Patterson[Reducing Memory Usage in Ruby](https://tenderlovemaking.com/2018/01/23/reducing-memory-usage-in-ruby.html)Aaron Patterson is working on a compacting garbage collector for Ruby and in this post he explains the challenges involved.


Dean Nasseri[Fir: A New, 'Friendly' Ruby REPL](https://www.nasseri.io/posts/2.html)An interesting alternative to IRB and [Pry](http://pryrepl.org/) that analyzes input character-by-character on the fly to do things like automatic suggestions and indenting.


Jared Norman[You Can't Save Everyone: Some Exceptions Should Be Left Alone](https://www.creepywizard.com/x/you-cant-save-everyone/)Some interesting thinking on exceptions here. _“Reasoning about everything that could cause an exception in any given part of your application is simply not possible.”_


reinteractiveSponsored[We’ve Solved the Problems of ROR Operations](https://goo.gl/jhkBJ1)Our out-source DevOps solves the problems associated with ROR development. Plus our blue/green pre-baked deployment process means that you can deploy your app as often as you want. Get started today – start enjoying OpsCare.

[![reinteractive\](https://copm.s3.amazonaws.com/27cad639.png)](https://goo.gl/jhkBJ1?utm_source=rubyweekly&utm_medium=email)


Dan Manges[The Modular Monolith: Rails Architecture](https://medium.com/@dan_manges/the-modular-monolith-rails-architecture-fb1023826fc4)An interesting and effective approach to organizing your Rails application by creating engines for each domain concept.


Noah Gibbs[How Much Does Meltdown/Spectre Patching Slow a Big Rails App?](http://engineering.appfolio.com/appfolio-engineering/2018/1/4/rails-ruby-bench-cruby-and-meltdownspectre)If you’re sweating patching servers due to performance, this may help set your mind at ease, although it’s just one set of numbers.


GoRails[An Intro to the Stimulus JS Framework in 18 Minutes](https://gorails.com/episodes/stimulus-js-framework-introduction)A screencast look into the new JavaScript framework by Basecamp focused on adding interactivity to HTML elements.


Julia Evans[rbspy: An In-Progress Sampling Profiler for Ruby](https://github.com/rbspy/rbspy)Julia Evans has been [writing about](https://jvns.ca/blog/2017/12/02/taking-a-sabbatical-to-work-on-ruby-profiling-tools/) making a better Ruby profiler that can inspect running Ruby processes. Here’s a preview, with Linux support only (Mac support is coming).


Jobs

- [Technical Writer (Full Time / Part Time / Remote)](https://nick1214.typeform.com/to/WMkrRk?utm_source=rubyweekly&utm_medium=email)Do you like writing for a technical audience? Looking for a bit of extra income, a part-time or a full time role, drop us a line. Raygun
- [Platform Engineer - Core Services Backend (San Francisco)](https://jobs.lever.co/hoteltonight/b0c9e2c4-b082-492e-9261-763bdfc84a29?lever-source=rubyweekly)We’re a collaborative work environment using Ruby on Rails to manage and scale the infrastructure of our hotel booking app. [Join us](https://jobs.lever.co/hoteltonight/b0c9e2c4-b082-492e-9261-763bdfc84a29?lever-source=rubyweekly). HotelTonight
- [Looking for A New Ruby Job In The New Year?](https://underdog.io/?utm_medium=advertisement&utm_source=rubyweekly&utm_campaign=homepage2018-jan-25&utm_content=new-job)Try Underdog.io, where hundreds of the best tech companies go to meet top ruby engineers. Companies email you directly as soon as next Monday. Underdog.io

In brief

- [Finding A Ruby Bug with GDB](https://medium.com/@zanker/finding-a-ruby-bug-with-gdb-56d6b321bc86?utm_source=rubyweekly&utm_medium=email) tutorial 
One of those fun journeys into C code that unearths an obscure bug. Zachary Anker
- [How We Built A Multi-Tenant Job Queue with Postgres & Ruby](https://blog.holistics.io/how-we-built-a-multi-tenant-job-queue-system-with-postgresql-ruby/?utm_source=rubyweekly&utm_medium=email) tutorial Huy Nguyen
- [Quick Tip: A String Memory Reduction Technique](https://ruby-talk.trydiscourse.com/t/psa-string-memory-use-reduction-techniques/74477?utm_source=rubyweekly&utm_medium=email) tutorial Eric Wong
- [Extracting Conditionals Into Well-Named Methods](https://andycroll.com/ruby/extract-conditionals-into-well-named-methods/?utm_source=rubyweekly&utm_medium=email) tutorial Andy Croll
- [Ruby 2.5's New 'FrozenError' Class](https://medium.com/@atul9/ruby-2-5-introduces-frozenerror-class-5fb7df21384?utm_source=rubyweekly&utm_medium=email) tutorial 
A subclass of `RuntimeError` for when you try to modify frozen objects. Atul Bhosale
- [See Why Facebook, Spotify, & Fastlane Trust CircleCI with Their CI/CD](https://circleci.com/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=january18&utm_content=ruby-weekly) 
Automate the software development process using continuous integration and delivery so that you can focus on what matters. CircleCISponsored
- [Testing Vue.js Components in Rails with Webpacker and Jest](https://wyeworks.com/blog/2018/1/16/Testing-Vuejs-in-Rails-with-Webpacker-and-Jest?utm_source=rubyweekly&utm_medium=email) tutorial WyeWorks
- [Simple Background Job Processing in Rails with Sucker Punch](https://medium.com/@kirill_shevch/how-to-make-simple-background-jobs-processing-in-rails-with-sucker-punch-9e7128f4db13?utm_source=rubyweekly&utm_medium=email) tutorial Kirill Shevchenko
- [Debugging 100% CPU Usage in Production Rails Systems](https://samsaffron.com/archive/2018/01/18/my-production-ruby-on-rails-cpu-is-at-100-now-what?utm_source=rubyweekly&utm_medium=email) tutorial Sam Saffron
- [Searching in Rails with Solr, Sunspot, and Docker](http://blog.koley.in/2018/searching-in-rails-with-solr-sunspot-and-docker?utm_source=rubyweekly&utm_medium=email) tutorial Gaurav Koley
- [Tips to Speed Up Asset Precompilation Time in Rails](https://www.netguru.co/codestories/speed-up-assets-precompilation-time-in-a-rails-app?utm_source=rubyweekly&utm_medium=email) tutorial Netguru
- [A Guide to Ruby String Methods](http://www.rubyguides.com/2018/01/ruby-string-methods/?utm_source=rubyweekly&utm_medium=email) tutorial 
A handy reference or reminder, particularly for beginners. Jesus Castello
- [Rails with Webpack: It's Definitely Not for Everyone](https://www.codementor.io/help/rails-with-webpack-not-for-everyone-feucqq83z?utm_source=rubyweekly&utm_medium=email) opinion Marius Bauer
- [any_good: A Tool to Quickly Evaluate if a Gem is 'Good'](https://github.com/zverok/any_good?utm_source=rubyweekly&utm_medium=email) tools 
Or, more specifically, that it’s downloaded and updated often. Victor Shepelev
- [Optimize Utilization and Reduce Cost with GoCD's Elastic Agents](https://www.gocd.org/elastic-agents/?utm_campaign=elastic_agents&utm_medium=newsletter_ad&utm_source=cooperess_ruby&utm_content=elastic_agents&utm_term=) GoCDSponsored
- [Rack::Params: Validation and Type Coercion for Rack::Request.params](https://github.com/lygaret/rack-params?utm_source=rubyweekly&utm_medium=email) code Jonathan Raphaelson
- [Kan: A Simple, Functional Authorization Library](https://github.com/davydovanton/kan?utm_source=rubyweekly&utm_medium=email) code Anton Davydov
- [TTY::Markdown: Convert Markdown into Terminal-Friendly Output](https://github.com/piotrmurach/tty-markdown?utm_source=rubyweekly&utm_medium=email) code Piotr Murach
- [Deploy Virtual Machines in Seconds - With $100 Credit On Us](https://try.digitalocean.com/performance/?utm_medium=display&utm_source=paid_newsletter+ruby+weekly&utm_campaign=PricePerf+dr+droplets+newsletters&utm_content=1-25-2018+ruby+weekly+cooperpress) DigitalOceanSponsored

Curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict), and published by [Cooperpress](https://cooperpress.com/).
Send feedback by simply replying to this mail.
Want to sponsor an issue? See our [media kit.](https://cooperpress.com/mediakit)
Want to post a job? Email us or [use our self-serve system.](https://booking.cooperpress.com/jobs)

[Stop getting Ruby Weekly](*|UNSUB|*) | [Change email address](*|UPDATE_PROFILE|*) | [Read this issue on the Web](http://rubyweekly.com/issues/383)

© Cooperpress Ltd, Fairfield Enterprise Centre, Louth, LN11 0LS, UK
[Email policy](https://cooperpress.com/spam.html) [Privacy policy](https://cooperpress.com/privacy.html)
