---
title: "This week's Ruby news, issue 316"
publication: "Ruby Weekly"
issue: 316
published_at: "2016-09-22"
canonical_url: "https://rubyweekly.com/issues/316"
---

This week's Ruby news, issue 316

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

Ruby WeeklyIssue 316 — September 22, 2016

Leigh Halliday[Writing and Troubleshooting HTTP Calls in Ruby](https://blog.codeship.com/http-calls-ruby/)A look at the options available in Ruby for dealing with HTTP and techniques for organizing the code and troubleshooting when things go wrong.


Mike Perham[Sidekiq 4.2 Released with Rails 5 Support](https://www.reddit.com/r/ruby/comments/52xiej/sidekiq_42_released_with_rails_5_support/)The [changelog](https://github.com/mperham/sidekiq/blob/master/Changes.md#420) is here. A key improvement is on Rails 5+ you don’t need to restart Sidekiq to pick up changes to Sidekiq workers anymore.


Koichi Sasada[A Proposal of New Concurrency Model for Ruby 3](https://www.youtube.com/watch?v=WIrYh14H9kA)We linked to ko1’s [PDF slides](http://www.atdot.net/~ko1/activities/2016_rubykaigi.pdf) 2 weeks ago, but now you can watch his 40 minute talk on a proposed ‘guilds’ concurrency mechanism for Ruby 3.


CodeshipSponsored[Download free eBook: Orchestrate Containers with Docker Compose](http://resources.codeship.com/ebooks/orchestrate-containers-with-docker-compose?utm_source=email-sponsorship&utm_medium=cooper-press-orchestrate-containers&utm_campaign=ruby-weekly-primary)In this free Codeship eBook you will learn what Docker Compose is, how it works, and how to easily recreate a microservice architecture on your development machine with Docker Compose.

[![Codeship\](https://copm.s3.amazonaws.com/feb1c61b.png)](http://resources.codeship.com/ebooks/orchestrate-containers-with-docker-compose?utm_source=email-sponsorship&utm_medium=cooper-press-orchestrate-containers&utm_campaign=ruby-weekly-primary)


Tom Copeland[Programs That Rewrite Ruby Programs](http://thomasleecopeland.com/2016/09/20/programs-that-rewrite-ruby-programs.html)Inspired by an upgrade to Rails 5, a look at some gems that rewrite Ruby code from one syntax to another.


Phil Sturgeon[Understanding REST And RPC For HTTP APIs](https://www.smashingmagazine.com/2016/09/understanding-rest-and-rpc-for-http-apis/)Differences between REST & RPC for APIs, along with use cases for each approach.


Chris Oliver[Multi-User Spreadsheets with Rails and RethinkDB](https://gorails.com/episodes/multi-user-spreadsheets-with-actioncable-part-1?autoplay=1)A five-part screencast series (parts [2](https://gorails.com/episodes/multi-user-spreadsheets-with-actioncable-part-2), [3](https://gorails.com/episodes/multi-user-spreadsheets-with-actioncable-part-3), [4](https://gorails.com/episodes/multi-user-spreadsheets-with-actioncable-part-4), [5](https://gorails.com/episodes/multi-user-spreadsheets-with-actioncable-part-5)) on building a Google Spreadsheets-type application with Rails, ActionCable, and RethinkDB.


Jobs

- [Sr. Rails & Front End Engineering | Remote - North America](http://www.aha.io/company/careers/current-openings?utm_source=rubyweekly&utm_medium=email)Aha! is looking for experienced Ruby on Rails, Javascript & front-end engineers to develop rich interactive experiences in React with a Rails backend. Aha! is the #1 tool for product managers to plan strategy & roadmaps. Aha!
- [Senior Ruby and Fullstack Engineer (Wash. DC or São Paulo, Brazil)](https://spree-commerce.workable.com/jobs/51273?utm_source=rubyweekly&utm_medium=email)Passionate about software development? Spree Commerce is looking for a Senior Ruby and Fullstack Engineer to join the team. Come and help us build the technology powering the next generation of ecommerce. Spree Commerce
- [Stop wasting time - know what you'll earn before the interview](https://hired.com/?utm_source=newsletters&utm_medium=petercooperpress&utm_campaign=q3-16-rubyweekly)On Hired, sign up in 10 minutes and get offers from top companies like GitHub, Uber, & Stripe. Engineers get an average of 5 offers on the platform in 1 week. Hired.com

In brief

- [London Ruby Unconference Registration Now Open (Oct 22)](https://www.eventbrite.com/e/london-ruby-unconference-tickets-27663867372?ref=rubyweekly) news London Ruby Unconference
- [A Summary of RubyKaigi 2016](https://aaronlasseigne.com/2016/09/15/rubykaigi-2016/?utm_source=rubyweekly&utm_medium=email) news 
Ruby’s ‘home’ conference took place in Japan earlier this month. Aaron Lasseigne
- [$5000 fixed-cost upgrade of legacy 2.x/3.x Rails apps to Rails 5](http://www.rubyappcare.com/upgrade?utm_source=rubyweekly&utm_medium=email) 
Upgrading a legacy rails app is a tedious task; let the specialists at RubyAppCare handle it for you. RubyappcareSponsored
- [A Review of Immutability in Ruby](https://blog.codeship.com/a-review-of-immutability-in-ruby/?utm_source=rubyweekly&utm_medium=email) tutorial 
The options available to Rubyists regarding immutability. Tom Dalling
- [How To Change the View Path of a Controller in Rails](https://solidfoundationwebdev.com/blog/posts/how-to-change-the-view-path-of-a-controller-in-rails?utm_source=rubyweekly&utm_medium=email) tutorial Weston Ganger
- [Delegation with BasicObject](https://www.promptworks.com/blog/delegation-with-basicobject?utm_source=rubyweekly&utm_medium=email) tutorial Ray Zane
- [Microservices using Rails, HTTP and RabbitMQ](http://blog.mechanicles.com/2016/09/19/microservices-using-rails-http-and-rabbitmq.html?utm_source=rubyweekly&utm_medium=email) tutorial Santosh Wadghule
- [Fun with ObjectSpace: Memory and Aliased Methods](http://www.blackbytes.info/2016/09/object-space/?utm_source=rubyweekly&utm_medium=email) tutorial 
Count objects in memory, check the size of an object in memory, and find aliased methods. Jesus Castello
- [Speed Up Allocating ActiveRecord Objects with LightRecord](https://hackernoon.com/speed-up-allocating-activerecord-objects-86c7ced839a5?utm_source=rubyweekly&utm_medium=email) tutorial Pavel Evstigneev
- [Some Notes on Using Interactors in Rails](https://mkdev.me/en/posts/a-couple-of-words-about-interactors-in-rails?utm_source=rubyweekly&utm_medium=email) tutorial Ivan Shamatov
- [Better File Uploads with Shrine: Attachment](https://twin.github.io/better-file-uploads-with-shrine-attachment/?utm_source=rubyweekly&utm_medium=email) tutorial 
An overview of Shrine’s high-level interface for attaching uploaded files to model instances. Janko Marohnić
- [Track Rails Performance Issues with Skylight](https://www.sitepoint.com/tracking-common-rails-performance-issues-with-skylight/?utm_source=rubyweekly&utm_medium=email) tutorial 
An online tool for profiling Rails, Sinatra, and Grape apps. Ilya Bodrov-Krukowski
- [JRuby 9000 Last Year, Today, and Tomorrow](https://www.youtube.com/watch?v=vAEFVQQwo1c) video 
JRuby core team member Thomas Enebo talks about how JRuby’s latest release went and what the focus is for further improvements. Thomas E Enebo
- [Writing A Gameboy Emulator in Ruby](https://www.youtube.com/watch?v=_mHdUhVQOb8) video Colby Swandale
- [Ruby Facets: A New Mini Ruby News Podcast](http://rubyfacets.com/1?utm_source=rubyweekly&utm_medium=email) podcast Oliver Lacan
- [Efficient and Thread-Safe Objects for Dynamically-Typed Languages](http://2016.splashcon.org/event/splash-2016-oopsla-efficient-and-thread-safe-objects-for-dynamically-typed-languages?utm_source=rubyweekly&utm_medium=email) story 
An academic paper looking at another possible approach for concurrency in Ruby, based on work with JRuby and Truffle, a language implementation framework. Daloze, Marr, Bonetta, and Mössenböck
- [Comparing wkhtmltopdf to Prawn for Generating PDF](http://nts.strzibny.name/comparing-wkhtmltopdf-to-prawn-for-generating-pdf-in-terms-of-speed-memory-and-usability/?utm_source=rubyweekly&utm_medium=email) opinion 
How the pure Ruby PDF generation library stacks up in terms of speed, memory and usability. Josef Strzibny
- [A Definition of Magic: Implicitness without Understanding?](http://www.rubypigeon.com/posts/definition-of-magic/?utm_source=rubyweekly&utm_medium=email) opinion Tom Dalling
- [Raising Errors is a Developer Feedback Mechanism](http://www.rubypigeon.com/posts/raise-on-developer-mistake/?utm_source=rubyweekly&utm_medium=email) opinion 
Use exceptions, paired with TDD, to tell the developer what happened and what to fix. Tom Dalling
- [Announcing Gemnasium Enterprise Beta: Register now to get it soon](http://enterprise.gemnasium.com/ruby-weekly?utm_source=cooperpress&utm_medium=email&utm_campaign=RubyWeekly) tools 
Run Gemnasium Enterprise behind your firewall and find security issues in your dependencies. Gemnasium EnterpriseSponsored
- [Array#collapse: A C Extension Alternative to flatten.compact or flatten.map](https://github.com/mooreniemi/array_collapse?utm_source=rubyweekly&utm_medium=email) code Alex Moore-Niemi
- [pgslice: Easy Postgres Partitioning](https://github.com/ankane/pgslice?utm_source=rubyweekly&utm_medium=email) code 
Works for both new and existing tables, with no downtime and minimal app changes. Used at Instacart. Andrew Kane
- [Pageflow: Multimedia Story Telling for The Web](https://github.com/codevise/pageflow?utm_source=rubyweekly&utm_medium=email) code 
Built around a Rails Engine Codevise Solutions Limited

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

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