#416 — September 13, 2018

Read on the Web

Ruby Weekly

▶  A Branch in Time — An interesting 20 minute talk from Brighton Ruby (which next takes place in July 2019) that takes a high level, git-oriented look at how a codebase’s history can impact on its maintainability and best practices you can use to keep code maintainable, particularly when working on a project with others.

Tekin Süleyman

How I Got My First Pull Request into Rails — Or “How I found ways to participate in the Ruby community more, while working full time at a job with no allotted ‘OSS-time’”

Nick Schwaderer

Continuous Delivery on Modern Infrastructure - Run GoCD on Kubernetes — Model Docker-based build workflows more effectively with our GoCD Kubernetes integration. Run GoCD natively on Kubernetes, define your build workflow and let GoCD provision and scale build infrastructure on the fly.

GoCD sponsor

Optimizing Dokku Deployment Speed for Rails with DockerfileDokku is an open source tool that helps you get a Heroku-like experience on your own servers but in my experience deploys can be a bit slow. This article attempts to address that.

Paweł Urbanek

Discussing Performance and MJIT with John Hawthorn — An interesting episode of the Ruby Rogues podcast digging into the MJIT compiler experimentally being baked into CRuby to speed things up.

Ruby Rogues

rbspy: A Sampling Profiler for Ruby — We linked to this early on, but it now also supports Linux and Windows in addition to macOS.

Julia Evans

Understanding Transducers in Ruby — More functional fun in Ruby with a look at transducers, which are “composable and efficient data transformation functions which don’t create intermediate collections.”

Brandon Weaver

💻 Jobs

Principal Software Engineer - Edinburgh or Remote (UK) — Running on Rails since 2006, FreeAgent are hiring experienced Rubyists to lead architectural design, refactoring, and mentoring.

FreeAgent

World-Saving Full-Stack Engineer That Loves Ruby — Tired of building apps for teens? Join an exclusively senior engineering team solving the greatest challenge of our generation.

WUNDER

Try Vettery — Create a profile to connect with inspiring companies seeking Ruby devs.

Vettery

📘 Articles & Tutorials

Using Rails Session Cookies for API Authentication — Authenticating to a Rails API can be done many ways, but using session cookies provides the most vulnerability mitigation and the most baked in experience.

Mike Clark

Implementing a Custom Redis and In-Memory Bloom Filter

Dalibor Nasevic (GoDaddy)

Using Ruby's 'redo' Keyword

Mehdi Farsi

Burn Your Logs

Sentry sponsor

Send Push Notifications From Rails to an Ionic AppIonic is a framework for building cross-platform apps with Web technologies.

Codementor

Keep Your API in Shape with API Blueprint — API Blueprint generates nice HTML docs from Markdown files and is capable of generating JSON Schema files for use in specs.

Mario Alberto Chávez Cárdenas

Upgrading rubygems.org from Rails 5.1 to 5.2 — It was actually pretty straightforward.

Thomas Dziedzic

▶  Super Fast Pagination in Rails Apps with Pagy

GoRails

Big Events vs Small Events - From the Perspective of Refactoring

Andrzej Krzywda

What Makes a Good Changelog?

Jan Krutisch

🔧 Code & Tools

RubyMine Refactorings: Overview and Improvements — RubyMine is a popular, but commercial, Ruby IDE – here’s a quick look at how it can help you refactor code.

JetBrains

Try Powerful CI/CD Pipelines in Semaphore 2.0 — Model your workflow from commit to deploy the simple way with powerful pipelines. Get your invite to try it.

Semaphore sponsor

Benchmark::Trend: Measure Performance Trends of Ruby Code — This gem tests how your code will scale given an increasing workload.

Piotr Murach

Searchkick: Intelligent Search for Rails Apps — Uses Elasticsearch to provide ‘smart’ search that learns from what your users are searching for.

Andrew Kane

A Simplified Example of Using Rspec — A short but sweet code example in a single gist.

Luke Pearce

Devise: Flexible Authentication for Rails — 4.5.0 came out recently with a variety of minor updates.

Plataformatec