---
title: "#386: Speeding Up Ruby with Shared Strings"
publication: "Ruby Weekly"
issue: 386
published_at: "2018-02-15"
canonical_url: "https://rubyweekly.com/issues/386"
---

#386: Speeding Up Ruby with Shared Strings

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

Ruby WeeklyIssue 386 — February 15, 2018

Aaron 'tenderlove' Patterson[Speeding Up Ruby with Shared Strings](http://tenderlovemaking.com/2018/02/12/speeding-up-ruby-with-shared-strings.html)An in-depth explanation of a patch to Ruby that both reduces memory and speeds up performance (with `require` going 35% faster).


YouTube[DHH on Writing Software Well: A New Video Series](https://www.youtube.com/watch?v=H5i1gdwe1Ls)The creator of Rails jumps back into screencasting with a look at how he works on Basecamp. There’s also [a second episode](https://www.youtube.com/watch?v=m1jOWu7woKM) where he looks at using callbacks to manage complexity.


DatadogSponsored[Monitor Performance for Ruby, Java, Go, & Python Apps](https://www.datadoghq.com/dg/apm/lpg/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-RubyWeeklyP-APM)Visualize and alert on custom metrics in real-time with Datadog. Utilize distributed tracing and interactive flame graphs to gain full-stack visibility and optimize Ruby, Java, Go, and Python application performance. [Try Datadog free](https://www.datadoghq.com/dg/apm/lpg/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-RubyWeeklyP-APM).

[![Datadog\](https://copm.s3.amazonaws.com/e0ed824a.png)](https://www.datadoghq.com/dg/apm/lpg/?utm_source=Advertisement&utm_medium=CooperPress&utm_campaign=CooperPress-RubyWeeklyP-APM)


Bradley Price[Deploying Faktory to AWS Fargate](http://blog.scoutapp.com/articles/2018/02/13/deploying-faktory-to-aws-fargate)[Faktory](https://github.com/contribsys/faktory), created by Sidekiq’s Mike Perham, is a new approach to running background jobs. This tutorial covers using it with Rails and deploying it to AWS’s new container deployment service.


Noah Gibbs[Benchmarking Ruby's Heap: malloc, tcmalloc, jemalloc](http://engineering.appfolio.com/appfolio-engineering/2018/2/1/benchmarking-rubys-heap-malloc-tcmalloc-jemalloc)Continuing this week’s posts on memory, a benchmark between different memory allocators.


Alessandro Rodi[Goodbye Sprockets, Welcome Webpacker 3.0](https://medium.com/@coorasse/goodbye-sprockets-welcome-webpacker-3-0-ff877fb8fa79)A migration guide for moving from Rails 5.1 with Sprockets to the new Wepbacker 3.0.


Neven Rakonić[Analyzing RubyGems Stats for 2017](https://infinum.co/the-capsized-eight/analyzing-rubygems-stats-v2017)It’s no secret the Ruby ecosystem isn’t growing _aggressively_, but things continue to tick along nicely and _“2017 was a good year for Ruby.”_


Jobs

- [Sr. Rails Engineer](https://www.aha.io/company/careers/current-openings/rails_engineer_us/?utm_campaign=People_Success&utm_source=cooperpress&utm_medium=paid_people_success_job_ad)Join us, work remotely from North America, and help build software that matters. Our team is hiring. Aha!
- [Lead Full-Stack Developer (SF)](https://www.therealreal.com/careers/D8BC1CF4BF?utm_source=rubyweekly&utm_medium=email)Help improve product intake funnels, user account pages, customer payment processes, & integrate with tools used by business units. The RealReal
- [Looking for a Job at a Company That Prioritizes Ruby?](https://www.vettery.com/tech?utm_medium=cooper-rubyweekly&utm_campaign=ad-1767&utm_source=newsletter&utm_content=grouped&utm_term=tech)Try Vettery and we’ll connect you directly with thousands of companies looking for talented back-end devs. Vettery

In brief

- [Rails 5.1.5 Released](http://weblog.rubyonrails.org/2018/2/14/Rails-5-1-5-has-been-released/?utm_source=rubyweekly&utm_medium=email) news Official Rails Blog
- [New Book: Rails 5 Test Prescriptions, by Noel Rappin](https://pragprog.com/book/nrtest3/rails-5-test-prescriptions?utm_source=rubyweekly&utm_medium=email) news 
Covers testing with Rails 5.2, Minitest 5, RSpec 3.7, factory_bot and Cucumber. The Pragmatic Bookshelf
- [Ruby for Good: A Ruby Event in Washington DC, June 7-10](http://rubyforgood.org/?utm_source=rubyweekly&utm_medium=email) news 
The goal is to build projects that help the world in some way.
- [Ruby Concurrency: Building a Timeout Queue](https://vaneyckt.io/posts/ruby_concurrency_building_a_timeout_queue/?utm_source=rubyweekly&utm_medium=email) tutorial 
Pop by and queue up (groan) to learn about handling condition variables and timeouts. Tom Van Eyck
- [Checking Postgres Availability with Pure Ruby](https://www.michalmlozniak.com/notes/checking-postgres-availability-with-pure-ruby.html?utm_source=rubyweekly&utm_medium=email) tutorial 
Play with the Postgres wire protocol at the lowest level, as well as do something useful with it. Michał Młoźniak
- [Ruby’s New JIT: MJIT](https://medium.com/square-corner-blog/rubys-new-jit-91a5c864dd10?utm_source=rubyweekly&utm_medium=email) tutorial 
We linked to a similar article last week but here’s a higher level take. Shannon Skipper
- [Change Tracking in Callbacks is Different in Rails 5.1](https://drivy.engineering/rails-5.1-change-tracking/?utm_source=rubyweekly&utm_medium=email) tutorial Drivy Engineering
- [Utilize DigitalOcean’s API to Scale Ruby Web Apps w/ DOProxy](https://www.digitalocean.com/community/tutorials/how-to-automate-the-scaling-of-your-web-application-on-digitalocean-1604?utm_source=paid_newsletter+ruby+weekly&utm_medium=display&utm_campaign=PricePerf+dr+free+newsletter+trial&utm_content=2-15-2018+ruby+weekly+cooperpress) tutorial DigitalOceanSponsored
- [Testing React Components in a Rails+Webpacker Environment](https://blog.arkency.com/testing-react-dot-js-components-with-jest-in-rails-plus-webpacker-plus-webpack-environment/?utm_source=rubyweekly&utm_medium=email) tutorial 
Continuing this week’s posts on Rails and Webpacker, here’s one way to test your front-end code. Arkency Blog
- [Ruby 2.5's New Process#last_status Method](https://medium.com/@atul9/ruby-2-5-adds-process-last-status-690fe5dc369a?utm_source=rubyweekly&utm_medium=email) tutorial Atul Bhosale
- [API Changes in ActiveRecord::Dirty 5.2](https://www.ombulabs.com/blog/rails/upgrades/active-record-5-1-api-changes.html?utm_source=rubyweekly&utm_medium=email) tutorial 
Worth being aware of with Rails 5.2 around the corner. Mauro Otonelli
- [Building a Hosting Platform on Ruby](https://gorails.com/episodes/building-a-hosting-platform-in-ruby?utm_source=rubyweekly&utm_medium=email) video 
A look behind the scenes of [Hatchbox.io](https://www.hatchbox.io/). Chris Oliver
- [GoCD’s Continuous Delivery Pipelines Scaled for Your Enterprise](https://www.gocd.org/enterprise/?utm_campaign=enterprise_page&utm_medium=email&utm_source=cooperess_ruby&utm_content=enterprise_page&utm_term=) tools GoCDSponsored
- [Halunke: A Simple OO Language Inspired by Smalltalk and Lisp](http://halunke.jetzt/?utm_source=rubyweekly&utm_medium=email) tools 
Written in Ruby. Lucas Dohmen
- [Improve Your Engineering Team’s Velocity With These 3 Metrics](https://circleci.com/resources/velocity-report/?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=february18&utm_content=ruby-weekly) 
If your business depends on software (it does) you're probably spending a lot of time thinking about DevOps. CircleCISponsored
- [Methods: Get Method References in a Cleaner Way](https://github.com/sevos/methods?utm_source=rubyweekly&utm_medium=email) code 
Get a method reference with `Klass.method.method_name` Artur Roszczyk
- [An RSpec Matcher for Incrementing and Decrementing](https://thomasleecopeland.com/2018/02/12/increment-decrement-matcher.html?utm_source=rubyweekly&utm_medium=email) code 
Rather than `.to change {}.by(-1)`, how about `.to decrement`? Tom Copeland
- [No More HTML with Opal and Ferro?](https://easydatawarehousing.github.io/ferro/?utm_source=rubyweekly&utm_medium=email) code 
Opal allows Ruby to run in a browser and Ferro manages the DOM. Ivo Herweijer
- [LightIO: A Userland Green Thread Library for Ruby](https://github.com/socketry/lightio?utm_source=rubyweekly&utm_medium=email) code Socketry
- [Fixer: A Foreign Exchange Rate and Currency Conversion API](https://github.com/fixerAPI/fixer?utm_source=rubyweekly&utm_medium=email) code Fixer
- [Use MySQL's Native JSON Type from ActiveRecord/Rails 4](https://saveriomiroddi.github.io/Support-MySQL-native-JSON-data-type-in-Rails-4/?utm_source=rubyweekly&utm_medium=email) code 
[JSON on Rails](https://github.com/saveriomiroddi/json_on_rails) adds support for MySQL 5.7’s JSON data type to Rails 4. Saverio Miroddi

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/386)

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