---
title: "How Ruby 2.6's MJIT came to be"
publication: "Ruby Weekly"
issue: 395
published_at: "2018-04-19"
canonical_url: "https://rubyweekly.com/issues/395"
---

This week's Ruby news, issue 395       

#395 — April 19, 2018 

[Read on the Web](https://rubyweekly.com/issues/395)   

Ruby Weekly  

[MJIT: A Method-Based Just-In-Time Compiler for Ruby](https://blog.heroku.com/ruby-mjit) — A brief history of how MJIT (currently under trial in [Ruby 2.6 previews](https://www.ruby-lang.org/en/news/2018/02/24/ruby-2-6-0-preview1-released/)) came to be, followed by an interview with many of the players, including Matz, Tenderlove, and Vlad. 

Heroku   

[Ruby 2.5 Enables Thread.report_on_exception by Default](https://blog.bigbinary.com/2018/04/18/ruby-2-5-enables-thread-report_on_exception-by-default.html) — Now we’ll get more reporting when threads fail instead of silence and frustration. This post does a good job of showing it in action. 

Vishal Telangre   [![\](https://copm.s3.amazonaws.com/9767c8bf.png)](https://start.sentry.io/for/ruby?utm_source=advertisement&utm_medium=display&utm_content=rubyweekly&utm_campaign=sponsorship) 

[Fix Production Bugs in Seconds with Sentry](https://start.sentry.io/for/ruby?utm_source=advertisement&utm_medium=display&utm_content=rubyweekly&utm_campaign=sponsorship) — Relying on users to report errors? Use Sentry to fix production issues in real time, right in your existing workflow. Cut time to resolution from 5 hours to 5 minutes. Sentry is 100% open source and loved by 500K developers. [Sign up for free](https://start.sentry.io/for/ruby?utm_source=advertisement&utm_medium=display&utm_content=rubyweekly&utm_campaign=sponsorship). 

Sentry sponsor   

▶[On Building a Ruby Profiler](https://jvns.ca/blog/2018/04/16/rbspy-talk/) — Julia Evans gives a 30 minute talk (plus Q&A) on the core of [rbspy](https://github.com/rbspy/rbspy), the Ruby profiler she built over the last few months. 

Julia Evans   

[GraalVM: Oracle's Universal Virtual Machine](http://www.graalvm.org/) — Of interest to Rubyists as the high performance (though still experimental) [truffleruby](https://github.com/oracle/truffleruby) Ruby implementation is built on top of it. [How to quickly install TruffleRuby as of now.](https://github.com/oracle/truffleruby/issues/1062#issuecomment-382202615) 

Oracle   

[NGINX Unit 1.0: An App Server That Supports Ruby (and Others)](https://www.nginx.com/blog/nginx-unit-1-0-released/) — NGINX Unit, a dynamic app server, is production‑ready. It’s configured via a REST API (no static config) and handles apps built in multiple languages (Ruby, Go, Perl, PHP, and Python) simultaneously. 

Owen Garrett   

[Running a Government Department on Ruby for Over 12 Years](http://code.jeremyevans.net/presentations/isleofruby2018/index.html#1) — A sizable slidedeck on how the government approaches development and why Ruby is a good fit. There’s also an [unofficial video of the talk.](https://www.youtube.com/watch?v=2Rm7wLNmsco) 

Jeremy Evans slidedeck   

[Legend of The Sourcerer: A Ruby Text Adventure Game](https://blog.sourcerer.io/legend-of-the-sourcerer-a-text-based-adventure-game-in-ruby-9220b385ca1e) — You are sure to have ‘LOTS’ of fun playing (and modifying?) this one. 

Robert W. Oliver II   

[Goruco 2018: A One Day Event for Ruby Enthusiasts (New York, June 16)](http://goruco.com/) — Early bird tickets are available now.  

💻 Jobs  

[Come Work Together with & Empower Creative People at BackerKit](https://www.backerkit.com/careers) — BackerKit is the industry-leading platform for creators. We're building a bunch of neat stuff, come join us. 

BackerKit   

[Ruby Expert? Sign Up for Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-rubyweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-19705) — Top developers can get 5+ interview requests during their first week on Vettery. 

Vettery  

📘 Tutorials  

[Full Text Searching Linux Man Pages with Elasticsearch and Ruby](https://iridakos.com/tutorials/2018/04/12/elasticsearch-linux-man-pages) 

Lazarus Lazaridis   

[Stop Robots and Crawlers From Causing Errors in Rails](https://andycroll.com/ruby/stop-robots-crawlers-triggering-errors-rails/) 

Andy Croll   

[Free eBook: Rails Testing Handbook](https://semaphoreci.com/ebooks/rails-testing-handbook?utm_source=rubyweekly&utm_medium=email&utm_campaign=rubyweekly-rails-testing-handbook-20180419) — Tired of fragile code? This hands-on book will teach you how to build better Rails apps with confidence. 

Semaphore sponsor   

[For Want of Pattern Matching in Ruby: The Creation of Qo](https://medium.com/@baweaver/for-want-of-pattern-matching-in-ruby-the-creation-of-qo-c3b267109b25) — Qo is a Ruby gem made to emulate pattern matching and fluent querying found in other languages. 

Brandon Weaver   

[Where Are They Now? Revisiting Ruby 2.3's Goodies](https://medium.com/@tjdracz/digging-at-lonely-operators-365e3a37337b) — I’ll admit I haven’t used the safe navigation operator in production code yet. 

Tom Dracz   

[Ruby's SignalException Exception](https://www.exceptionalcreatures.com/bestiary/SignalException.html) — Learn how to trap OS signals, such as SIGTERM, the right way. 

Exceptional Creatures   

[Using Ruby's Bitwise Operators](https://medium.com/@farsi_mehdi/ruby-bitwise-operators-da57763fa368) 

Mehdi Farsi   

[Refactoring for the 'Tell Don't Ask' Pattern](https://blog.codeship.com/refactoring-for-the-tell-dont-ask-pattern/) — One of the more useful and least controversial object-oriented design principles. 

Daniel P. Clark   

[Debugging Ruby Processes in Kubernetes](http://kirshatrov.com/2018/04/13/debugging-ruby-in-kubernetes/) — Kubernetes has ‘taken over’ the deployment world in many ways, so knowing how to debug your apps is a good thing. 

Kir Shatrov   

[Level Up Your Dev Skills: Learn Ruby Free for 10 Days](http://go.pluralsight.com/C0040034) 

Pluralsight sponsor   

[Migrating from state_machine to AASM in Rails](https://medium.com/@akashsrivastava_21577/migrating-from-state-machine-to-aasm-in-rails-92a81d13a94c) 

Akash Srivastava  

🔧 Code & Tools  

[WordpRSS: Pull Any WordPress RSS Feed with Ruby](https://github.com/rubyhero/wordprss) 

Paweł Dąbrowski   

[ActionPolicy: Authorization Framework for Ruby and Rails Apps](https://github.com/palkan/action_policy) — Yes, you can use it with [any Ruby app](https://github.com/palkan/action_policy/blob/master/docs/non_rails.md), not just Rails. 

Vladimir Dementyev   

[JSONAPI::Consumer: ActiveModel-Compliant Framework for Consuming JSON API Services](https://github.com/jsmestad/jsonapi-consumer) 

Justin Smestad   

[kms_encrypted: Simple, Secure Key Management for attr_encrypted](https://github.com/ankane/kms_encrypted) — Supports Amazon KMS and Google KMS. 

Andrew Kane   

[render_async: Render View Partials Asynchronously via Ajax](https://github.com/renderedtext/render_async) — An interesting way to speed up Rails page rendering. 

Rendered Text   

[jwt_sessions: XSS/CSRF-Safe JWT Auth for Single Page Apps](https://github.com/tuwukee/jwt_sessions) 

Yulia Oletskaya         

Curated by [Cooperpress](https://cooperpress.com/) 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
