#468 — September 19, 2019

Read on the Web

Ruby Weekly

Fullstaq Ruby Epic 2 Released with an APT/YUM Repo and Ruby 2.6.4 Support — Fullstaq Ruby is a distro “optimized for server use cases”. The memory benchmarks are pretty compelling.

Hongli Lai

Start It Up: Improving JRuby's Startup Time — One of JRuby’s few weaknesses has always been startup time, so how is that being addressed and what can we do today to mitigate it? Charles Nutter is back with his first blog post in a year to address these issues.

Charles Nutter

Benchmarking Fibers, Threads and Processes — Fibers are simpler but are they faster than threads? Or is there a way to use fibers that approaches the concurrency of processes?

Noah Gibbs

Your Ruby CI/CD Pipeline Needs an Upgrade — The Superhuman engineering team reduced build time from 17 mins to 70 seconds. With Semaphore, you can go faster too. Model any CI/CD workflow for Ruby, Docker and iOS with autoscaling pipelines. Try it free with GitHub.

Semaphore 2.0 sponsor

7 Great Ruby Gems Most People Haven’t Heard About — Some good picks here, from finding dead routes and code to making your tests faster. I’d heard of 4, but I publish this newsletter.. 😄

Jesus Castello

▶  Recruitment on Rails with Brian Mariani — Brian Mariani, founder of Ruby on Rails focused recruiting firm ‘Mirror Placement’, joins Brittany to reveal how the Rails job market is doing, what accompanying technologies devs should learn, key interview tips and if the fabled ‘full stack developer’ is still relevant.

Brittany Martin (Ruby on Rails Podcast) podcast

TextMate 2.0 Released: The macOS Text Editor Once Associated with Rails — I’m featuring this for nostalgic purposes! If you began to learn Ruby when Rails first came out (2004-2005), you might recall how huge TextMate was as the editor of choice. It’s still DHH’s favorite editor. The downloads are here.

Textmate

💻 Jobs

Find a Ruby job through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.

Vettery

📘 Articles & Tutorials

Ruby 2.7 Adds Module#const_source_locationMethod#source_location provides a way to find out where a method was first defined. Module#const_source_location brings the same idea to constants (which includes classes and modules).

Romil Mehta

Creating Multiple Models with Form Objects in Rails — This is bit of a different look at the interactor pattern that stays within core Rails so you don’t have to add another dependency.

John Maddux

Rails 6 Adds dig Method to ActionDispatch::Request::Session — If you like dig on your hashes, you get it on the session object as well in Rails 6.

Saeloun Blog

strongDM Makes Managing DB Access a Breeze — Adopt a Zero-Trust approach in minutes, not months.

strongDM sponsor

▶  Discussing Opal with Elia SchitoOpal is a Ruby to JavaScript compiler.

Ruby Rogues Podcast podcast

▶  Ruby on the Apple II: Adventures in Retro Programming — A fun presentation delivered itself on the Apple II looking at one developer’s quest to get Ruby running on the early microcomputer (which focuses mostly on the limitations of the Apple II rather than Ruby itself).

Colin Fulton

▶  Drag and Drop Uploads in Rails using Active Storage, Stimulus.js and Dropzone.js

Andy Leverenz

▶  Using ActiveRecord Without Rails: The Basics

Kyle Geske

🛠 Code and Tools

RQRCode: A Ruby library for Generating QR Codes — It lets you choose a size, set an error correction level, and can output as SVG, PNG, or even ASCII (though I couldn’t get my phone to scan that version).

Duncan Robertson

TensorFlow: Bringing the Machine Learning Platform to Ruby — Uses the C API of the popular ML toolkit under the hood.

Andrew Kane

Timezone: Accurate Current and Historical Timezones for Ruby — Supports queries based on timezone name and also lat/long coords. Gets updated whenever the world’s timezones do (which is more often than you’d think..)

Pan Thomakos

RubyMine 2019.3 EAP Available — RubyMine is a (commercial) IDE for Ruby developers from JetBrains but you can use/trial these ‘early access’ versions for 30 days.

JetBrains

Founders/CTOs: We Upgrade Rails So That Your Team Doesn’t Have To

Upgrade Rails sponsor

Passenger 6.0.3 (and 6.0.4) Released — After a long gap between releases, a new version of the popular app server is here. Just the usual bug fixes and one minor feature: the ability to specify the app spawn directory at startup. (There’s also 6.0.4 which just added some Debian 10 packages)

Phusion Blog

Redis::Objects: Map Redis Types Directly to Ruby Objects — An idiomatically Ruby interface to the Redis data structure server that avoids the usual mess of ORMs (since ORMs don’t naturally fit with the lighter Redis approach).

Nate Wiger

Truemail 1.3: A Configurable Plain Ruby Email Validator — Offers three levels of email validation: regex, MX records, and SMTP, and you can now optionally validate only whitelisted domains too.

Ruby Garage