#519 — September 17, 2020

Read on the Web

Ruby Weekly

The Life-Changing Magic of Tidying Ruby Object Allocations — A transcription of Richard’s talk at EuRuKo last year that uses a Marie Kondo “Does it bring you joy?” look at allocations and how to remove the joyless offenders. In addition, Richard says: “Follow along as I trace some memory allocation hotspots and clean them up in the Rails codebase,” which sounds good to me.

Richard Schneeman

RubyJard: Just Another Ruby Debugger — It’s early days for this new Byebug and Pry powered debugging system but it already looks pretty cool. Here’s a view of it in action.

Minh Nguyen

We’ve Helped 100s of Customers Speed-Up Postgres Queries by 1000x. Learn How — With pganalyze, companies like Atlassian are able to speed up their queries by orders of magnitude. In this ebook, we share our best practices for optimizing Postgres performance.

pganalyze sponsor

▶  30 Talks from RubyKaigi Takeout 2020 — For 2020, the usual RubyKaigi (Japan’s ‘home’ Ruby conference) went virtual in ‘takeout’ form – however, the same high quality of speakers and mixed Japanese/English sessions remained, and now you can enjoy the talks on YouTube. Some highlights:

RubyKaigi

▶  Discussing Ruby 3.0 JIT and Its Performance Benefits — The Ruby Rogues panelists are joined by Takashi Kokubun who’s developing Ruby’s still experimental JIT functionality – they cover the progress, problems, and strategies for implementing JIT in Ruby to meet expected performance goals.

Ruby Rogues Podcast podcast

💻 Jobs

Principal Engineer (SF/Remote) — Come be a leader here. Raise the bar. We're changing user behavior in an entire industry and need strong engineers to join up.

Shift

Fullstack Ruby on Rails Developer (Full Remote) — We're looking for smart devs to join our fast-growing, well-funded company that makes thousand of African fashion designers happy.

Afrikrea Platform

Find Your Next Job Through Vettery — Create a profile on 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

▶  Contributing to the Thor Project — In just 18 minutes, this is a neat example of how you might approach improving an existing tool. Thor is a toolkit for building CLIs in Ruby, parsing arguments, etc.

Go Rails

Zero-Downtime Migrations in Rails — More specifically, this is a way to rename a column without downtime or your exception alerts getting upset.

Sandip Mane

Another Reason to Avoid constantize in Rails — Really, one should avoid using (or overriding) const_missing, as doing so can lead to memory leaks and vulnerabilities.

Justin Collins

⌛ TimescaleDB for Ruby Developers Quickstart — Learn how to connect your Rails apps to TimescaleDB (relational time-series database), run your first query & more.

Timescale sponsor

Creating an SMS Reminder Service with Ruby and a Raspberry Pi — I think one could automate their entire house with a few RPis and Ruby.

Emmanuel Hayford

Rails Concerns: To Concern Or Not To Concern — If you’ve ever seen the app/controllers/concerns and app/models/concerns folders in a Rails app and not gone near them, this is for you.

Nikola Đuza

Using Multiple Databases in Rails 6 to Log Access Requests — An interesting use case.

Josh Software

Rails Adds Support for Adding a Default Value to Rich Text Areas — Expect this to land in Rails 6.1 (which probably isn’t too far away now).

Vamsi Pavan Mahesh

A Gentle Introduction to Web Services with Go — Written from a ‘coming from Ruby’ perspective which you might find intriguing.

Ayooluwa Isaiah

What's New in Sidekiq, 2020 Edition — Notes across the product suite.

Mike Perham

🛠 Code and Tools

Klipse: A Javacript Plugin for Embedding Interactive Code Snippets in Blog Posts — Supports many languages, including Ruby, Python, C++, Clojure, and Google Charts. The Ruby interpretation is done via Opal so there will be limitations.

Yehonathan Sharvit

rack-mini-profiler 2.1: A Profiler for Rack Apps in Dev or Production — A popular piece of middleware that adds a ‘speed badge’ to pages in your app to show off database, call-stack and memory profiling data.

Sam Saffron et al.

Become a Ruby Guru with RubyMine

JetBrains sponsor

ValidEmail2: ActiveModel Validation for Email — Check the legitimacy of email addresses including MX lookup and checking against a list of disposable email services.

Micke Lisinge

Ruby Next 0.10.0 Brings in Some Ruby 3.0 Features to Ruby 2 — Specifically, find pattern, leading arguments in forwarding (so def method(name, ...), and Hash#except. Ruby Next is more generally a transpiler and set of polyfills to allow modern Ruby code to run in older versions.

Ruby Next

Circuitry: Decouple Apps Using SNS Fanout with SQS Processing — If you’re interested in decoupling your app using message and event passing via AWS’s notification and queue services, this provides a framework to do so.

Kapost