#514 — August 13, 2020

Read on the Web

Ruby Weekly

When Should You Not Use Rails? — Thoughts on when Rails doesn’t necessarily shine compared to the alternatives. No one else has really created a list like this and it’s likely it’ll be cited going forward by many teams considering Rails. On the flip side, Rails’ conventions and the familiarity people have with it make it a compelling choice for many too.

Noah Gibbs

How to Dockerize a Rails Application“I had to hear Docker explained about 48,766 times before I finally grasped why it’s useful.” So if you need the 48,767th time, this tutorial may convince you? 😁

Jason Swett

Troubleshoot Ruby App Performance with End-To-End Tracing — Datadog’s APM generates detailed flame graphs to help you identify bottlenecks and latency. Navigate seamlessly between Ruby app traces, logs and metrics to troubleshoot application performance issues fast. Try Datadog APM free.

Datadog APM sponsor

How to Dockerize a Sinatra Application — Since we're thinking about where we should and shouldn't use Rails, it wouldn't be fair if we didn't also cover how to Dockerize Sinatra apps, so thanks to Jason for covering that too! ;-)

Jason Swett

Understanding and Implementing OAuth2 in Ruby — If you want your users to “login with GitHub”, you might install a gem, get everything set up, and then cross your fingers hoping it won’t need to be tweaked again as you don’t know how OAuth2 really works. This post aims to resolve that situation.

Diogo Souza

Nothing to Escape: 43 Ways to Encode a NULL Character — How many different ways does Ruby provide for inserting a NULL byte into a double-quoted string? A clue is in the title.. 😄

Idiosyncratic Ruby

⚡️ Quick bytes:

💻 Jobs

Podia Is Hiring a Product Developer to Help Us Empower Creators — We’re a small team, building a large product, mostly The Rails Way… with just a sprinkling of Stimulus Reflex.

Podia

Technical Lead / CTO (London, UK | Remote) — Join an award-winning social enterprise and help lead the development of a Rails-powered digital volunteering platform.

GoodGym

Find a Job Through Vettery — Use Vettery to connect with hiring managers at startups and Fortune 500 companies. It's free for job-seekers.

Vettery

ℹ️ Interested in running a job listing in Ruby Weekly? There's more info here.

📘 Articles & Tutorials

Creating Unlogged Postgres Tables in Rails — Unlogged tables don’t write to the write-ahead log, so they are faster, which you might want for testing environments or other non-durable cases.

Prathamesh Sonpatki

Ruby Options You Can Enable or Disable — Covers a few command line --enable and --disable settings you may have not encountered before, like disabling the Ruby 2.7 ‘do you mean’ functionality or enabling experimental JIT support.

Idiosyncratic Ruby

Two Ways to Test Rails Log Messages with RSpec

Aaron Sumner

Barebackups: Super-Simple Database Backups — We automatically backup your databases on a schedule. You can use our storage or bring your own S3 account for unlimited backup storage.

Barebackups sponsor

▶  How to Translate and Localize Apps with Rails Internationalization — An 18 minute screencast on translating and localizing your app to make it accessible to users around the world.

Chris Oliver (Go Rails)

▶  Rails at Super Scale with Kyle d'Oliveira — Kyle d’Oliveira shares his ‘survival tips’ for dealing with tens of thousands of commits, massive migrations and the very limits of databases, all learnt from working on Rails ‘megaprojects’.

Ruby Rogues Podcast podcast

Introduction to Rails Patterns and Anti-Patterns — This first post in a multi-part series defines design patterns and anti-patterns along with some examples.

Nikola Đuza

▶  Talking with Matt Swanson, Creator of Boring RailsBoring Rails is a collection of useful articles covering the tried and tested ways of building modern Rails apps at the biggest companies.

Rails with Jason Podcast podcast

Record a Call in Ruby with Vonage Voice API WebSockets — A simple yet functional app that uses Thin and Rack to showcase this API that has recently left beta status. (Yes, it leans on Vonage’s commercial API.)

Vonage Developer Blog

How to Completely Remove Ruby 2.7's Default Bundler — I’m not so sure about this, but it may be handy if you want to use 2.7 with an old version of Rails that requires a Bundler version prior to 2.0?

Stan Lo

🛠 Code and Tools

Strings 0.2: Useful Functions for Transforming Strings — Including wrapping to certain line lengths, padding, folding, truncation, and sanitization.

Piotr Murach

TTY::Box 0.6.0: Draw Frames and Boxes in Your Terminal Window — I get some great DOS-era UI vibes from this :-)

Piotr Murach

JetBrains RubyMine 2020.2 Has Been Released

JetBrains sponsor

Rails::Auth 3.0: Modular Resource-Based Authentication and Authorization for Rails/Rack

Square

OmniAuth OAuth2 1.7.0: An Abstract OAuth2 Strategy for OmniAuth — v1.7.0 adds the option to specify that your strategy should use PKCE.

OmniAuth Community

Refinery CMS Blog 4.0: A Blogging Engine for Refinery CMSRefinery CMS is a popular Rails-based content management system and this introduces a blogging component.

Refinery