The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Mastering data structures in Ruby — Singly linked lists
This is the first post of a series I made on how to create essential data structures from scratch. So far the series covers singly linked lists, doubly linked lists, circular linked lists, stacks, queues, hash tables, sets, and binary trees (and there more coming soon!). Each data structure is covered in a brief post that explains in a casual tone the core aspects of each data structure. I hope you enjoy them!
Taking Stimulus.js (front-end framework by Basecamp) for a ride
I am trying Stimulus.js lately in Rails and I think it fits nicely the server-rendered HTML + Turbolinks use case. This is my first look on Stimulus.js.
9 New Features In Ruby 2.6
A new Ruby version is almost here! What new & exciting features does it come with? Find out in this new article:
Six Great Reasons to Build Service Architectures in Ruby with Eventide
Eventide makes service development as approachable as Rails made web development in 2006, and seeks to democratize this as-yet esoteric subject that, at the moment, tends to be calcified under a thick layer of popular myths and fads.
finite_machine is back!
The finite_machine gem is back with improved APIs, faster execution times (2x more events fired per second), smaller memory footprint (2x fewer object allocations) and thread safety! Good place to start is at the FiniteMachine website.
ScriptCore - a mruby sandboxie for user's dynamic logic (safe eval)
ScriptCore based on Shopify’s ESS, it’s a mruby sandbox to run untrusted codes (usually written by users), ESS powered Shopify Scripts, and ScriptCore wrapping ESS (with some modifications) to easy to integrate with Rails apps, and I took a video to show the dummy app: https://twitter.com/jasl9187/status/1061674632380481536
Lazy preloading for ActiveRecord
ArLazyPreload gem allows you to avoid N+1 problem for cases, when you don’t know the exact list of associations you’re going to load (hi, GraphQL!). When you specify a list of lazy loaded associations, they would be loaded only when accessed for the first time: Read more
Type assertion with Ruby 2.6
With RubyVM::AST in 2.6 we can write more beautiful type-assertions: Read more
Headless browser testing with capybara-chrome
Test your latest Javascript with the most popular and modern web browser: Chrome. QtWebkit has become increasingly difficult to install, and requires shims for most modern Javascript techniques. Now you can swap out capybara-webkit for capybara-chrome and never worry about re-installing qt again. Read more
Smart select for GraphQL
GraphQL::SmartSelect is a plugin for graphql-ruby and ActiveRecord, which allows you to optimize DB queries and select only the columns required for the query. Read more
Migrating from Paperclip to Active Storage
My first challenge as an intern:
Should you learn using VIM?
Any VIM users or haters here?🤔 Share your thoughts in the article’s comments!🗨️ https://driggl.com/blog/a/should-you-start-using-vim Read more
ElixirConf 2018: Thoughts on Elixir from a Ruby developer
Elixir has had my attention for awhile now and my interest in the language and community hasn’t wavered. ElixirConf offered me an opportunity to translate that interest into action. As an experienced Rubyist, I am pleased with my development experience, community support, and the capabilities of Ruby. Elixir offers these same benefits and adds features such as concurrency, fault tolerance, and speed to the mix. Read more
Testing Asynchronous Threads in Ruby
🦇 Laundry day at the Batcave. Testing asynchronous threads in Ruby explained.
Passenger 5.3.6: fixes smart spawning
Passenger 5.3.6 has been released. Most notably is the smart spawning fix, but it also includes fixes for frustrating warnings on macOS >= High Sierra, and gemset detection on RVM 1.29:
OS time: working on open source during company time
We get to contribute to open source software at Phusion, like through maintaining the frontapp gem. Initially scratching our own itch, outside contributions make working on it really worth the while:
Tinkering with developer documentation: creating an ePub
Taking feedback on the new Docs to heart, we tried rendering an ePub from the documentation. A tale of (plenty) HTML errors:
How lag isn't always a bad thing
Redesigning the Passenger Docs using React, and then rewriting it in Ruby (Middleman), rendered some interesting challenges and insights:
Why You Should use JekyllRB and Netlify CMS for your site
In this post, we will answer a question of why you should use JekyllRB with NetlifyCMS for your website. We pointed out things we enjoy about each technology, why they matter for our (and probably yours too!) website and some alternatives. Why You Should use Jekyll and Netlify CMS for your site
Awesome Ruby Security
A curated list of awesome Ruby Security related resources: Read more
Eventide 1.0: Evented, Autonomous Microservices for Everyone!
The Eventide Project community is excited to announce the 1.0 release of Eventide: the best microservice, autonomous service, event/reactive, and event sourcing toolkit built in Ruby, and one of the best stacks available in any language!
Coverband 3 released, simple fast production code coverage
After lots of benchmarking and refactoring out legacy features and code (+860, -1,606). Coverband 3 is out… Extremely performant Ruby production code coverage. How fast? Around 60X faster! Benchmark details shared.
Ruby Toolbox Community Survey 2018
As we approach the Ruby Toolbox’s 10th anniversary next May, I’ll be working on it as my main project in December and January. I launched a community survey to gather feedback and suggestions - if you have a few minutes, please take the time and check it out, your input is a great help in shaping the future of the Toolbox!