#397 — May 3, 2018

Read on the Web

Ruby Weekly

Ruby on WebAssembly — Until recently, we’ve had to compile other languages to JavaScript to make them work in the browser, but WebAssembly brings a language-independent executable format to browsers. Learn how LLVM helped give birth to WebAssembly, what WebAssembly means, how we can use Ruby to target it, and the gem that makes it all a bit easier to play with.

Tom Black

Ruby’s Rack Push: Decoupling The Real-Time Web Application from the Web — A pull request to Rack contains an approach to WebSockets and SSE where they’re completely decoupled from the underlying app. Two HTTP servers (agoo and Iodine) currently support the approach.

Bo Wild

The New Generation of Project Management Tools Is Here and It’s Visualmonday.com is a project management tool your team will actually enjoy using. It makes it fun and easy for everyone to collaborate, focus on what's important, and get more done at work. A visual project management tool that’ll help you achieve more together.

monday.com sponsor

Reducing Sidekiq Memory Usage with jemalloc — Another look at reducing memory bloat by switching memory allocators in a similar vein to last week’s post by Mike Perham. In related news, there’s a discussion over switching MRI to using jemalloc by default.

Brandon Hilkert

How to Implement a Ruby Hash-like Grammar in ParsletParslet is a mature parser library that makes building complex parsers in Ruby relatively easy and this post provides code-rich proof.

Richard Schneeman

A Progress Report on Ruby 3 Concurrency (PDF) — From Ruby X Elixir Conference Taiwan, a very detailed slidedeck on threading issues and what guilds will bring to the concurrency table.

Kochi Sasada

Could Ruby 2.6 Run Faster with a 'Sleepy' GC? — A proposal to perform garbage collection during idle time (i.e. while waiting for user input or the network). Sam Saffron thinks it could be a “performance boost with almost no downsides.”

ruby-lang.org

What's Coming to Minitest 6

Ryan Davis

💻 Jobs

Senior Back-End Developer (Ruby on Rails) — Livestorm is a modern web conferencing software. Come work with WebRTC and help scaling infrastructure for attendance spikes.

Livestorm

Lead Full Stack Engineer — We're a fashion startup growing at break-neck speed looking for a Ruby and Elixir star to lead our stellar dev team.

The RealReal

Open to a New Job? Sign Up for Vettery — Top developers can get 5+ interview requests during their first week on Vettery.

Vettery

📘 Articles & Tutorials

Fixing a Kernel#singleton_method Bug — Another Ruby bug squashing tale.

Vasiliy Ermolovich

Quick Tip: Increase Your Productivity with Rails Console Aliases — .irbrc FTW!

Paweł Urbanek

5 Considerations for Continuous Delivery of Microservices — Five considerations you should keep in mind when designing a CD workflow on microservices architectures.

GoCD sponsor

Quick Tip: Use Hash#fetch to Get Parameters in Rails Controllers

Andy Croll

Building Ruby with jemalloc

Tom Copeland

▶  Cucumber is 10 Years Old: A Chat with Creator, Aslak Hellesøy

Ruby Rogues

▶  Vue.js Slots with Tailwind CSS and Rails

GoRails

🔧 Code & Tools

Ruby MethodFinder Is Still Alive — A Smalltalk-like method finder in Ruby got some TLC.

Michael Kohl

Byebug: A Feature Rich Debugger for Ruby 2 That Uses TracePoint

David Rodríguez

DeviceDetector: A Fast User Agent Parser and Device Detector — Claims to be ‘backed by the largest and most up-to-date user agent database.’

Podigee

Bunny: A Popular, Easy to Use, Mature Ruby Client for RabbitMQ

Bunny

Ruby on Rails One-Click App on DigitalOcean. Try it Free For 60-days

DigitalOcean sponsor

ApiStruct: A Library for Building API Wrappers in Ruby

RubyGarage

Slacktyping: How to Look Like You're Typing on Slack — Essentially ‘code comedy’ (or trolling, depending on what end of the conversation you’re on :-)).

Will Leinweber

GDPR Rails/PolicyManager: A Rails Engine to Help with GDPR Compliance

Prey