---
title: "Ruby's 'main' object, broken CSV parsing, and building Linux desktop apps with Ruby"
publication: "Ruby Weekly"
issue: 414
published_at: "2018-08-30"
canonical_url: "https://rubyweekly.com/issues/414"
---

This week's Ruby news, issue 414       

#414 — August 30, 2018 

[Read on the Web](https://rubyweekly.com/issues/414)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/fcbsxvg5mml0ckquksaa.jpg)](https://blog.phusion.nl/2018/08/30/rails-still/)  

[Rails.. Still? Plus Some Ruby Metaprogramming](https://blog.phusion.nl/2018/08/30/rails-still/) — Thoughts on two talks given at the Amsterdam.rb meetup earlier this week. The first reflecting on Ruby webapp frameworks, and the second covering _metaprogramming for generalists_ - [you can watch the Euruko version here.](https://www.youtube.com/watch?time_continue=265&v=1fIlcnrJHxs) 

Floor Drees (Phusion)   

[Ruby's 'main' Object Does What?](https://engineering.appfolio.com/appfolio-engineering/2018/8/9/rubys-main-object-does-what) — Noah takes a dive into the `main` object: _“Spoiler: there will be a bunch of spelunking, first in Ruby and then in Ruby’s C source code. We’ll talk about how to find code in both places.”_ This is a follow up to [this post](http://engineering.appfolio.com/appfolio-engineering/2018/8/8/a-tale-of-two-objects) on Rake. 

Noah Gibbs   [![\](https://copm.s3.amazonaws.com/14817adc.png)](https://start.sentry.io/for/ruby?utm_source=advertisement&utm_medium=display&utm_content=rubyweekly&utm_campaign=sponsorship&utm_term=primary) 

[Save Weeks per Year Fixing Unseen Bugs in Your Ruby App with Sentry](https://start.sentry.io/for/ruby?utm_source=advertisement&utm_medium=display&utm_content=rubyweekly&utm_campaign=sponsorship&utm_term=primary) — Relying on users to report errors? Use Sentry to cut time to resolution from 5 hours to 5 minutes. Eliminate noise and route alerts to the right person or team based on the commit. Sentry is open source and loved by 500K developers. [Sign up for free](https://start.sentry.io/for/ruby?utm_source=advertisement&utm_medium=display&utm_content=rubyweekly&utm_campaign=sponsorship&utm_term=primary). 

Sentry sponsor   

[Ruby 2.6 Adds Enumerable#filter as an Alias of Enumerable#select](https://blog.bigbinary.com/2018/08/28/ruby-2-6-adds-enumerable-filter-as-an-alias-of-enumerable-select.html) — The [motivation for this](https://bugs.ruby-lang.org/issues/13784) is to make things easier for people coming from other languages. 

Amit Choudhary   

[Creating a Linux Desktop Application with Ruby](https://iridakos.com/tutorials/2018/01/25/creating-a-gtk-todo-application-with-ruby.html) — It’s several months old, but desktop Ruby posts are rare things, indeed, and this one goes into quite some depth on using GTK+ to create a To-Do app. 

Lazarus Lazaridis   

[Build a Collaborative Playlist over WhatsApp with Rails, Twilio, and Spotify](https://www.twilio.com/blog/collaborative-playlist-whatsapp-rails-twilio-spotify) — Leans on Twilio’s recent support for WhatsApp along with Spotify’s API for manipulating playlists. 

Phil Nash   

[Why The CSV Standard Library Is Broken (and How to Fix It)](https://github.com/csv11/docs/blob/master/why-the-csv-stdlib-is-broken.md) — An author of many Ruby-based CSV tools chimes in on why the standard library parser and it’s not because of its strict RFC implementation. 

Gerald Bauer  

💻 Jobs  

[Senior/Lead Ruby Developer - Nimbl3, Bangkok (Relocation Support)](https://www.workhiro.com/companies/nimbl3/049ee05b?locale=en) — Join Nimbl3 to work on large-scale software development projects. We use top-notch technology, follow best practices and have fun. 

Nimbl3   

[Principal Software Engineer - Edinburgh or Remote (UK)](https://www.freeagent.com/company/careers/) — Running on Rails since 2006, FreeAgent are hiring experienced Rubyists to lead architectural design, refactoring, and mentoring. 

FreeAgent   

[Find A Ruby Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-rubyweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77582) — Create a profile to connect with inspiring companies seeking Ruby devs. 

Vettery  

📘 Articles & Tutorials  

[Security Tips for Rails Apps](https://drivy.engineering/security-tips-for-rails-apps/) — It’s easy to let a security vulnerability slip into your Rails code by blindly following conventions, so read this list to be safer. 

Adrien Siami (Drivy Engineering)   

[Rails Console Magic Tricks](https://medium.com/@lfv89/rails-console-magic-tricks-da1fdd657d32) — These can be mind-blowing if you don’t know about them, especially the ability to send requests to an instance of your app. 

Luis Vasconcellos   

[The Ruby Bibliography: Academic Writing on Ruby](http://rubybib.org/) — A list of theses and peer-reviewed papers and articles on or about Ruby. 

Chris Seaton et al.   

[Cloud Hosting Ruby Developers Love. Sign Up w/ $100 Credit](https://try.digitalocean.com/developers/?_dkitrig=Ruby&utm_source=paid_newsletter+ruby+weekly&utm_medium=display&utm_campaign=2018_Brand&utm_content=8-30-18+ruby+weekly+cooperpress) — Deploy your next Ruby application on the most developer-friendly cloud platform with predictable pricing. 

DigitalOcean sponsor   

[Exporting Significant SQL Reports with ActiveRecord](https://drivy.engineering/streaming-raw-sql-results-with-active-record/) — Without blowing up your memory. The strategy used here involves using the MySQL client’s streaming support. 

Nicolas Zermati (Drivy Engineering)   

[Discussing Where, What and How to Test with Adam Hawkins](http://www.rubytestingpodcast.com/adam-hawkins) 

The Ruby Testing Podcast podcast   

[Discussing Upgrading a Rails Application Incrementally with Luke Francl](https://devchat.tv/ruby-rogues/rr-377-upgrading-a-rails-application-incrementally-with-luke-francl/) 

Ruby Rogues podcast   

[The Best Image Uploader for Rails — Revisited](https://blog.stanko.io/best-image-uploader-for-rails-revisited-3b3b7618cc4c) 

Stanko Krtalić Rusendić   

[Is Rails Still Relevant in 2018?](https://blog.eq8.eu/article/is-rails-still-relevant-in-2018.html) — Is it that time of year again? Addressing a question we have heard way too many times, including at the top of this very issue :-D 

Tomas Valent  

🔧 Code & Tools  

[Active Storage Validations: Simple Validations for Active Storage](https://github.com/igorkasyanchuk/active_storage_validations) 

Igor Kasyanchuk   

[Jongleur: A Process Scheduler and Manager](https://gitlab.com/RedFred7/Jongleur) — Define a set of executable tasks along with their precedences and Jongleur will manage their execution. It can also run tasks in parallel. 

Fred Heath   

[Attendance: Speed Up ActiveRecord#present? Calls](https://github.com/schneems/attendance) — This gem monkeypatches ActiveRecord to speed up the `present?` call by not loading objects into memory. If it gets traction, Richard will submit it to the Rails core team. 

Richard Schneeman   

[Strings::ANSI: Handle ANSI Escape Codes in Strings](https://github.com/piotrmurach/strings-ansi) — Check for presence or strip those ANSI codes out. 

Piotr Murach   

[Rack::Attack: Rack Middleware for Blocking and Throttling](https://github.com/kickstarter/rack-attack) 

Kickstarter   

[Manifold Is the Marketplace for Independent Developer Services](https://www.manifold.co/?utm_campaign=ruby_weekly&utm_source=newsletter&utm_medium=sponsorship&utm_content=Aug30) 

Manifold sponsor   

[Marginalia: Adds Comments to ActiveRecord's SQL Queries](https://github.com/basecamp/marginalia) — By default, it adds the app, controller, and action names as a comment, which may help with your analysis. 

Basecamp   

[Localhost: Generating Per-User Self-Signed Root Certificates](https://github.com/socketry/localhost) — The kind of thing that could help with using HTTP/2 (which requires SSL) in your local dev environment. 

Socketry         

Curated by [Cooperpress](https://cooperpress.com/) 

[Change your email address](https://rubyweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
