#475 — November 7th, 2019 |
💬 This week we've got another interview for you — check out the bottom of the issue. |
Ruby Weekly |
How Ruby Really Uses Memory: On the Web and Beyond — Ruby’s memory allocation algorithm is not quite what you might think. As you add threads, considering the per-thread and across-all-threads impacts are necessary to get a firm picture of what is happening. Richard Schneeman |
Try the Fastest CI/CD Solution for Free — Faster CI/CD means greater productivity for your team and a better experience for your users. Automate your CI/CD pipeline with Semaphore to release 2x faster than with other platforms. Semaphore 2.0 sponsor |
Prism: Build Frontend Web Apps with Ruby and WebAssembly — Designed to feel like virtual DOM-based frameworks, like React, it uses mruby (the lightweight Ruby interpreter) and Emscripten to compile Ruby to WASM ready for the browser. Prism |
The Hidden Cost of The Ruby 2.7 Dot-Colon Method Reference Usage — It’s no secret that some of Ruby’s syntactic sugar comes with a payment to the performance piper. Here’s another fee you might be paying (though the example given is a nice demonstration of using Maciej Mensfeld |
Static Typing in Ruby with a Side of Sorbet — A look at the results of adding Sorbet (a type checker for Ruby) to an existing Rails app to see if the juice is worth the squeeze. Their findings? A good experience with small wins but a bright future. Heroku |
Rails 6.0.1 Released — Minor fixes abound. Official Rails Blog |
💻 Jobs |
Agave.com Is Hiring a CTO (Remote or SF Bay Area) — Help us build the modern hiring platform. World-class technical team with a top 250 Rails contributor. Competitive compensation. Agave |
Cloud Platform Engineer - Kubernetes, Cloud Foundry, BOSH — Accelerate your experience and build products that help developers to ship software faster. anynines |
Find a Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. Vettery |
📘 Articles & Tutorials |
Persisted Queries in GraphQL: Slim Down Apollo Requests to Your Ruby Application — The idea behind persisted queries is reducing request size by only sending a query ID that is stored on the backend, which is then retrieved and executed. Evil Martians |
Writing A Program That Writes Itself — Learn about quines and how they make you go “hmmmm…” Ju Liu |
Announcing Square’s New YouTube Channel with Developer Shows — With Square’s new Ruby SDK gem you can run a business, take payments, or be a backend for a kiosk or mobile payment app. Square sponsor |
▶ Plugging In AnyCable — Rails’ own ActionCable can handle quite a bit of traffic, but AnyCable will allow you to scale further. Drifting Ruby |
A Look at Changes Made to Active Storage in Rails 6 Saeloun Blog |
Use GitHub Actions for Rails CI with Postgres Andy Croll |
Getting Started with Svelte and Rails 6 — If you are that person that likes to jump on the newer JavaScript frameworks, here you go. Nikola Đuza |
▶ Discussing How Speed is a Feature at Shopify — A relatively brief 15 minute podcast episode with Gannon McGibbon, a developer at Shopify, talking about how he improves the ‘codebase health’ and performance of Shopify’s famously monolithic Rails app. The Ruby on Rails Podcast podcast |
eBook: Best Practices for Optimizing Postgres Query Performance pganalyze sponsor |
🛠 Code and Tools |
Tabulo: A Terminal Table Generator with a DRY, Column-Based API — I could see using this in a live-coding presentation, among other scenarios. Matt Harvey |
Skunk: Combining Code Quality and Coverage to Calculate a 'Stink' Score — Skunk aggregates scores from various code quality and coverage gems. Use it to assess a new code base or keep your code smelling better. If this reminds you of RubyCritic, which we linked last week, Skunk is built upon it! Fast Ruby |
rspec-tap-formatters: TAP Formatters for RSpec 3 — The Test Anything Protocol (TAP) is a “simple text-based interface between testing modules a test harness” with its origin in Perl. Rack for Testing, anyone? Abhimanyu Singh |
How to Find the Unused Routes of a Large Rails App — No gem required. (By ‘unused’, it means either unwritten/unimplemented or which has no view file.) Rishi Pithadiya |
|