#463 — August 15, 2019

Read on the Web

Ruby Weekly

How to Correct 32,000 Incorrect CSV Files in Fewer Than 32,000 Steps — We’ve all faced a data processing task from hell and CSV loves to throw up complexities around escaping and stray commas. Here’s how one Rubyist dealt with it, and came up with the comma_splice gem to help.

Jeff Keen

Magic Comments in Ruby — You’ve likely seen (and even used) ‘magic’ comments, but you probably don’t know all of them or understand things like precedence.

Mehdi Farsi

Automated Code Reviews for Ruby — Take the hassle out of code reviews - Codacy flags errors automatically, directly from your Git workflow. Customize standards on coverage, duplication, complexity & style violations. Use in the cloud or on private servers. Get started free.

Codacy sponsor

▶  How Rails on Windows is Now an Excellent Experience — Two weeks ago we linked to a post by esteemed Microsoftie Scott Hanselman where he proclaimed that developing with Ruby and Rails on Windows 10 is now fabulous. Now he’s on the Ruby on Rails Podcast discussing it in more depth with Brittany Martin.

Ruby on Rails Podcast podcast

JRuby 9.2.8.0 Released — The JVM-based Ruby implementation boasts a substantial runtime memory reduction.

JRuby Core Team

💻 Jobs

Ruby on Rails Engineer — Goldstar is looking for experienced Ruby on Rails Engineers onsite in Portland, Oregon and Pasadena, California.

Goldstar

Ruby Developers Are in Demand on Vettery — Ready for a bold career move? Make a free profile, name your salary, and connect with hiring managers from top employers today.

Vettery

📘 Articles & Tutorials

Using clamp To Restrict Values to a Certain Range — Add this to my “I didn’t notice Ruby added this” pile. The clamp method was introduced in Ruby 2.4 and lets you do things like this: 500.clamp(1, 100) # => 100

Andy Croll

How Many Ways to Unaccent a Text String? — The answer is: Many. But, which one is fastest? The answer is: It depends.

sport.db

Updating Rails: Where's Memcache Gone? — When there are issues after an upgrade, sometimes it’s your fault, sometimes it’s a gem’s fault, and sometimes it’s both.

Michael Klimenko

How to Visualize the Age of Dependencies in Your Ruby Projects — A neat little script that spits out the age of your project’s various dependencies which will then make it easy to visualize them.

Matouš Borák

Exorcise Poltergeist with Apparition — Do you have flaky Capybara tests? Of course, you do. Let the power of the Apparition gem compel them. (Editor: That’s the wrong classic horror movie! 😂)

Dr. Chris Drane

Architecting a Roles and Permissions System Using Rails, GraphQL, and React — There’s plenty in here about authorization system design, alongside the tech bits.

Atrium

Free eBook: How to Get a 3x Performance Improvement on Your Postgres Database

pganalyze sponsor

Advanced Multi-Database Techniques in Rails 6 — Most of this is about handling writing vs reading to different databases or replicas, but there is a lot of configuration variations here.

Prathamesh Sonpatki

▶  A Chat with David Heinemeier Hansson — Nothing particularly new here but a very well put together hour covering DHH’s background, the creation of Rails, and his thoughts on Ruby.

Remote Ruby Podcast podcast

Breaking Apart Inheritable mattr_accessors in HTTParty — The subtitle of this post could be “How to Handle Inheritable Attributes”, which is one of those things for which there is no perfect answer.

Nikita Misharin

▶  How I Got a Job as a Product Manager — Tired of not getting any callbacks for her résumé, she rapped about Ruby at RubyConf in front of 300 people.. and it worked.

Shelby Sir

🛠 Code and Tools

Introducing Konfig: A Kubernetes Friendly Rails Configuration Gem — One gem to rule them all…for configuration values and secrets.

Cloud66

Moat: A Small Authorization Library, Built for Scopes — Inspired by Pundit, but focuses more on filtering collections than individual resources when defining policy.

Poll Everywhere

Fully Managed Operations Solutions for Large & Small Teams — Do you need 24/7 support, without the overhead of dedicated staff?

reinteractive | OpsCare sponsor

TTY::Links: Hyperlinks in Your Terminal — Test to see if a terminal supports hyperlinks and outputs them correctly if so.

Piotr Murach

FIFA: The World's Football/Soccer Countries and Codes, in Ruby — Part of the broader sport.db sports database.

Gerald Bauer

aws-dev-utils: Ruby Gem Providing Common AWS Utilities — A set of refinements for the AWS SDK that covers pagination and caching boilerplate.

Kontera Technologies

Comma Splice: Fixes CSVs with Unquoted Commas in Values

Jeff Keen