---
title: "This week's Ruby news, issue 340"
publication: "Ruby Weekly"
issue: 340
published_at: "2017-03-16"
canonical_url: "https://rubyweekly.com/issues/340"
---

This week's Ruby news, issue 340

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

Ruby WeeklyIssue 340 — March 16, 2017

Chris Dillon[Porting Ruby to Crystal](http://squarism.com/2017/02/25/porting-ruby-to-crystal/)A use case for Crystal, including porting a Ruby script to a Crystal binary and publishing it via Homebrew.


Nate Berkopec[Understanding Ruby Garbage Collection Via GC.stat](https://www.speedshop.co/2017/03/09/a-guide-to-gc-stat.html)An in-depth explainer of all the statistics returned by `GC.stat`, such as garbage collection & heap slot counts.


Ruby Central[Funding Rubygems.org](http://blog.rubygems.org/2017/03/15/rubygems-funding.html)Clearing up how Ruby Central, RubyGems, and Ruby Together are funded, including sources and allocation.


Honeybadger Exception MonitoringSponsored[Mastering Ruby Exceptions](https://honeybadger.leadpages.co/exceptions/)How well do you know Ruby's exception system? This free thirty-nine-page book will take you from novice to expert.

[![Honeybadger Exception Monitoring\](https://copm.s3.amazonaws.com/b246ab9e.png)](https://honeybadger.leadpages.co/exceptions/?utm_source=rubyweekly&utm_medium=email)


Nicolas Laurent[Ruby's Dark Corners](http://norswap.com/ruby-dark-corners/)A three-post series that delves into linearization, blocks and procs, and scopes.


Andrew Powell-Morse[Ruby Exception Handling: Handling EOFError on IO Streams](https://airbrake.io/blog/ruby-exception-handling/eof-error)Another entry in Airbrake’s "Ruby Exception Handling" series, this one on EOFError. Here’s another on [FiberError](https://airbrake.io/blog/ruby-exception-handling/fibererror).


Nate Berkopec[How A Developer Made $70K Self-Publishing a Rails Book](https://www.nateberkopec.com/blog/2017/03/10/how-i-made-self-publishing-about-ruby-on-rails.html)Not a particularly techie story but lots of great insights that could benefit you if you want to tread a similar path.


Michael Cordell[Reading Ruby Code: Plugin Architecture and Dynamic Methods](https://blog.mikecordell.com/2017/03/12/reading-ruby-code-rom-exploration.html)The third installment of the series dives into how to find methods, even if they don’t exist.


Jobs

- [Senior Ruby on Rails Developer at Catawiki (Amsterdam or Assen)](https://www.catawiki.com/jobs/job/senior-ruby-on-rails-developer?gh_jid=547808)Catawiki’s mission is to make special items available to everyone. We offer a unique opportunity to join our team in Amsterdam or Assen developing products and services used by our millions of customers. Catawiki
- [Senior Backend Developer (f/m) at Wimdu - Berlin](http://www.wimdujobs.de/?utm_source=rubyweekly&utm_medium=email)We're seeking a creative, hands-on, innovative problem solver who's eager to take on new challenges in a fast paced environment. Wimdu
- [Shopify + Kit: Hiring in the Bay Area](https://www.shopify.com/careers/senior-software-engineer-de960b?lever-source=114119)We’re building a 🤖 that makes our merchants more successful. 🎉 Join us: let’s take AI and chatbots to the next level. 🚀 Shopify

In brief

- [ActiveRuby: A Commercially-Supported, Quality-Assured Ruby Distribution](http://www.activestate.com/ruby?utm_source=rubyweekly&utm_medium=email) news 
Coming soon and seeking early adopters. ActiveState
- [Google App Engine Adds Support for C#, Node, and Ruby](http://www.infoworld.com/article/3179151/application-development/google-app-engine-adds-c-nodejs-and-ruby-options.html?utm_source=rubyweekly&utm_medium=email) news Paul Krill
- [Ruby 2.4 Has Optimized String's lstrip and strip Methods for ASCII Strings](http://blog.bigbinary.com/2017/03/14/ruby-2-4-has-optimized-lstrip-and-strip-methods.html?utm_source=rubyweekly&utm_medium=email) news Chirag Shah
- [How do you stop ops from stealing your dev time?](https://reinteractive.com/enquiries/new?code=ops_care&?sid=113) 
Sign up to OpsCare for fixed-price, monthly Rails support for less than $1 per hour and ensure your app is online and doing what you expect. ReinteractiveSponsored
- [Prototypes in Ruby and The Strange Story of 'dup'](http://blog.arkency.com/2017/03/prototypes-in-ruby/?utm_source=rubyweekly&utm_medium=email) tutorial 
The differences between dup and clone along with what can be safely duped and cloned. Robert Pankowecki
- [Faster Rails: How to Check if a Record Exists](https://semaphoreci.com/blog/2017/03/14/faster-rails-how-to-check-if-a-record-exists.html?utm_source=rubyweekly&utm_medium=email) tutorial Igor Šarčević
- [Handling SSL in Rails Staging and Production Environments](https://www.elitmus.com/blog/technology/setting-up-elb-plus-nginx-with-https-offloading/?utm_source=rubyweekly&utm_medium=email) tutorial 
This solution uses Nginx to forward the appropriate headers. eLitmus Blog
- [Testing Third Party Interactions](https://robots.thoughtbot.com/testing-third-party-interactions?utm_source=rubyweekly&utm_medium=email) tutorial 
Various approaches to testing out the pieces of your app that use external services. Joël Quenneville
- [Using Google Spreadsheets from Ruby](https://www.twilio.com/blog/2017/03/google-spreadsheets-ruby.html?utm_source=rubyweekly&utm_medium=email) tutorial Phil Nash
- [Using Database Replicas in Rails with the Octopus Gem](http://freeletics.engineering/2017/03/06/database-replicas.html?utm_source=rubyweekly&utm_medium=email) tutorial Omar Qunsul
- [A Rubyist's Guide to PostgreSQL's EXPLAIN](http://www.rubyletter.com/blog/2017/03/13/rubyist-guide-to-postgres-explain.html?utm_source=rubyweekly&utm_medium=email) tutorial 
It displays the execution plan Postgres’s planner generates for an SQL query. Starr Horne
- [Rails String Interpolation Can Lead to Remote Code Execution](http://buer.haus/2017/03/13/airbnb-ruby-on-rails-string-interpolation-led-to-remote-code-execution/?utm_source=rubyweekly&utm_medium=email) tutorial 
How two engineers at Airbnb executed a shell command via JSON. Brett Buerhaus
- [Lightning-fast SSD Hosts for Your Ruby Project](https://welcome.linode.com/ruby-weekly/?utm_source=cooperpress&utm_medium=sponsored&utm_term=ruby&utm_campaign=ruby-weekly) tools 
Host Ruby 2.3.0 projects on Linode servers - the fastest cloud hosts available. Use promo code RUBY20 and get $20 credit. linodeSponsored
- [Automatic LetsEncrypt SSL Certs on Heroku](https://github.com/pixielabs/letsencrypt-rails-heroku?utm_source=rubyweekly&utm_medium=email) tools 
A complete solution for securing a Rails app on Heroku using their free SNI-based SSL and LetsEncrypt. Pixie Labs
- [Patme: Elixir-Style Pattern Matching for Ruby Methods](https://github.com/vizvamitra/patme?utm_source=rubyweekly&utm_medium=email) code Dmitrii Krasnov
- [Rack::Freeze: Thread-Safe Rack Middleware](https://github.com/ioquatix/rack-freeze?utm_source=rubyweekly&utm_medium=email) code 
A policy for enforcing immutable middleware in your Rack stack. Samuel Williams
- [unibits: Visualize Different Unicode Encodings in The Terminal](https://github.com/janlelis/unibits?utm_source=rubyweekly&utm_medium=email) code Jan Lelis
- [SmarterCSV: A Ruby Gem for Smarter CSV Handling](https://github.com/tilo/smarter_csv?utm_source=rubyweekly&utm_medium=email) code 
For smarter importing of CSV Files as Array(s) of Hashes. Tilo

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)

[Unsubscribe](*|UNSUB|*) | [Change email address](*|UPDATE_PROFILE|*) | [Read this issue on the Web](http://rubyweekly.com/issues/340)

© Cooperpress Ltd. Office 30, Lincoln Way, Louth, LN11 0LS, UK
[Email policy](https://cooperpress.com/spam.html) [Privacy policy](https://cooperpress.com/privacy.html)
