---
title: "This week's Ruby news, issue 322"
publication: "Ruby Weekly"
issue: 322
published_at: "2016-11-03"
canonical_url: "https://rubyweekly.com/issues/322"
---

This week's Ruby news, issue 322

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

Ruby WeeklyIssue 322 — November 3, 2016

Tom Van Eyck[Using DTrace to Measure Mutex Contention in Ruby](https://vaneyckt.io/posts/using_dtrace_to_measure_mutex_contention_in_ruby/)DTrace is a tracing framework for instrumenting app and system internals. This detailed and technical tutorial shows how to use it on OS X to monitor mutexes in Ruby code.


Mohit Natoo[Ruby 2.4 Implements Enumerable#sum](http://blog.bigbinary.com/2016/11/02/ruby-2-4-introduces-enumerable-sum.html)This will be handy. For example, `[1,2,3](http://blog.bigbinary.com/2016/11/02/ruby-2-4-introduces-enumerable-sum.html).sum == 6` - but concatenation of strings and arrays is also performed where appropriate.


Chris Kottom[Stubbing External APIs with WebMock](http://chriskottom.com/blog/2016/10/stubbing-external-apis-with-webmock/)WebMock integrates with all the major testing frameworks and makes it easy to stub and set expectations on HTTP requests made during testing.


AppSignalSponsored[Celebrating 30.000.000.000 requests](https://appsignal.com/30billion?utm_source=rubyweekly&utm_medium=email&utm_content=30billion&utm_campaign=322)AppSignal has grown from a Friday afternoon side project to one of the leading services in real-time error tracking and performance insights. Last month we processed over 30 billion requests. We'd love to share our story, and celebrate with you!

[![AppSignal\](https://copm.s3.amazonaws.com/1cf60786.png)](https://appsignal.com/30billion?utm_source=rubyweekly&utm_medium=email&utm_content=30billion&utm_campaign=322)


Daniel P. Clark[Building a Well-Polished Ruby Gem](https://blog.codeship.com/building-a-well-polished-ruby-gem/)_“The more quality you provide with all of your published gems, the more likely people will trust you and your code.”_


Tom Dalling[FizzBuzz In Too Much Detail](http://www.rubypigeon.com/posts/fizzbuzz-in-too-much-detail/)A tour through FizzBuzz implementations, including functional programming, enumerators, and a hard lesson.


Michael Kohl[A Rubyist Looks at Crystal, Part 1](https://citizen428.net/a-rubyist-looks-at-crystal-part-1-86a9284c936e)Crystal is a language that feels a lot like Ruby in terms of syntax, while compiling to fast and efficient code via LLVM.


Jobs

- [Rails Developer at Ascent (Chicago)](http://www.builtinchicago.org/job/rails-developer-1?utm_source=rubyweekly&utm_medium=email)We're using machine learning to create an "intelligent SaaS" regtech product. Join our small, collaborative team where you’ll play an important role in our technology, product, process, and culture. Ascent
- [Find Your Perfect Fit - Try Hired](http://hired.com/?utm_source=newsletters&utm_medium=petercooperpress&utm_campaign=q4-16-rubyweekly)Finding the right role can be daunting, but not on Hired. Get empowered to find the right role with multiple job offers and free personalized support. Hired

In brief

- [The 2017 Fukuoka Ruby Award Competition](https://www.ruby-lang.org/en/news/2016/10/20/fukuoka-ruby-award-2017/?utm_source=rubyweekly&utm_medium=email) news 
Entries to be judged by Matz. Deadline is December 27, 2016.
- [String#concat, Array#concat and String#prepend Take Multiple Args in Ruby 2.4](http://blog.bigbinary.com/2016/10/28/string-array-concat-and-string-prepend-take-multiple-arguments-in-ruby-2-4.html?utm_source=rubyweekly&utm_medium=email) news Abhishek Jain
- [Why 10 Healthcare Companies Chose Rails](http://blog.planetargon.com/entries/healthcare-on-rails-why-these-10-companies-chose-ruby-on-rails?utm_source=rubyweekly&utm_medium=email) news Robby Russell
- [A Keep Ruby Weird 2016 Event Synopsis](https://aaronlasseigne.com/2016/10/31/keep-ruby-weird-2016/?utm_source=rubyweekly&utm_medium=email) news Aaron Lasseigne
- [React on Rails Goes Over 2000 GitHub Stars](https://blog.shakacode.com/react-on-rails-2000-stars-32ff5cfacfbf?gi=2ac0606a71c9#.yqt3nffqs) news Justin Gordon
- [Founders/CTOs: We upgrade Rails so that your team doesn't have to.](https://www.upgraderails.com/?utm_source=rubyweekly&utm_medium=email) 
UpgradeRails is a service from the founders of Hint.io and Honeybadger.io. Let our expert team keep your apps up to date so that you can focus on features, not maintenance. UpgradeRailsSponsored
- [Rails Implementation of A 'Proper' Popularity System](http://www.akitaonrails.com/2016/10/31/ruby-on-rails-implementation-of-a-proper-ranking-popularity-system?utm_source=rubyweekly&utm_medium=email) tutorial 
Taking issue with a previous article on ranking systems, Fabio Akita shows the right algorithm to assess popularity. Fabio Akita
- [Handling Type Safety with dry-validation](http://solnic.eu/2016/11/02/duck-typing-vs-type-safety-in-ruby.html?utm_source=rubyweekly&utm_medium=email) tutorial 
Establish type safety at the boundaries of your app. Piotr Solnica
- [An Introduction to Fragment Caching in Rails 5](http://blog.ragnarson.com/2016/11/02/introduction-to-fragment-caching-in-rails.html?utm_source=rubyweekly&utm_medium=email) tutorial Marcin Drozd
- [The Purposes of Value Objects](https://blog.dnsimple.com/2016/11/purposes-and-properties-of-value-objects/?utm_source=rubyweekly&utm_medium=email) tutorial 
A look into writing value objects the correct way. Luca Guidi
- [Setting Up Your Rails 5 App For JavaScript Testing](https://www.devmynd.com/blog/setting-up-your-rails-5-app-for-javascript-testing/?utm_source=rubyweekly&utm_medium=email) tutorial Michael Crismali
- [Use PostgreSQL UUIDs As Primary Keys with Rails 5](https://fabianoleittes.github.io/rails5/postgresql/uuids/2016/10/31/using-postgresql-uuids-as-primary-keys-with-rails-5/?utm_source=rubyweekly&utm_medium=email) tutorial Fabiano Leite
- [Digging into Kernel.format](https://medium.com/@kristenfletcherwilde/getting-started-with-kernel-format-7c7645266fed?utm_source=rubyweekly&utm_medium=email) tutorial 
Examples of formatting various floats, ints, and strings, along with exercises at the end. Kristen Fletcher Wilde
- [How to Create and Publish a Jekyll Theme Gem](https://webdesign.tutsplus.com/tutorials/how-to-create-and-publish-a-jekyll-theme-gem--cms-27475?utm_source=rubyweekly&utm_medium=email) tutorial David Darnes
- [Validation Beyond ActiveModel](http://blog.ragnarson.com/2016/10/26/validation-outside-activemodel.html?utm_source=rubyweekly&utm_medium=email) tutorial 
Using dry-validation forces you to focus more on the input data, which is a good thing. Krzysztof Wawer
- [Build a Messaging System with Rails and ActionCable](https://www.sitepoint.com/build-a-messaging-system-with-rails-and-actioncable/?utm_source=rubyweekly&utm_medium=email) tutorial 
First of a two-part series. Ilya Bodrov-Krukowski
- [Autodeploying Angular Applications to AWS OpsWorks](http://corgibytes.com/blog/2016/10/11/autodeploy-angular-apps-to-opsworks/?utm_source=rubyweekly&utm_medium=email) 
Amazon OpsWorks is an excellent, low-cost option for Platform-as-a-Service hosting. Follow these step-by-step instructions. CorgibytesSponsored
- [Throttling Rails API Requests with Rack::Attack](https://www.driftingruby.com/episodes/rails-api-throttling-with-rack-attack?utm_source=rubyweekly&utm_medium=email) video Drifting Ruby
- [Debugging With Byebug](http://www.rubypigeon.com/posts/screencast-debugging-with-byebug/?utm_source=rubyweekly&utm_medium=email) video Tom Dalling
- [Fusuma: Multitouch Gesture Recognition with libinput Driver on X11](https://github.com/iberianpig/fusuma?utm_source=rubyweekly&utm_medium=email) code
- [KMS: A Rails-Based CMS for Developers](https://github.com/webgradus/kms?utm_source=rubyweekly&utm_medium=email) code Gradus
- [tz_offset: Simple Abstraction of Timezone Offsets](https://github.com/molybdenum-99/tz_offset?utm_source=rubyweekly&utm_medium=email) code Victor Shepelev

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

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