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.
Rails DB version 1.4.1
let me just notify you about fixing an old issue with STI models and Rails DB gem. Now this issue is finally gone + added more specs to make sure it works in Rails 5. [more inside]
Setting up a simple Rails development environment with Docker for fun and profit
Creating a development environment may seem like a trivial task for many developers. As time progresses, and we find ourselves dwelling through the life cycle of so many projects, one probably ends up with a fragile and cluttered development machine, filled with an entropic set of unmanageable services and library versions, ultimately getting to a point where things simply start to crack without any apparent reason. [more inside]
Fluent Interfaces in Ruby ecosystem
You already used fluent interfaces multiple times as a Ruby developer. Although you might not have done it consciously. And maybe you haven’t built yourself a class with such API style yet. Let me present you a couple of examples from Ruby and its ecosystem and how I designed such API in my use-case.
Install and SSH to Ubuntu Server on VirtualBox
This tutorial on the Treehouse blog will help you set up a virtual production server for testing out various deployment scenarios. The post will walk you through setting up a virtual machine on VirtualBox running Ubuntu Server (a common OS for Rails production deployments). Then, you’ll learn how to set up port forwarding so you can SSH from your development system into the virtual server.
Bulk, Background Elasticsearch Reindexing with Searckick 2
Lots of reindex requests slowing down your elasticsearch cluster and Rails app? This post details how to setup bulk background reindexing with Searchkick 2, as well as diving into some benchmarks and other thoughts on the process. It’s much quicker than reindexing directly in your web thread, or even using individual reindex jobs and will reduce the load on your cluster accordingly. [more inside]
Pretty URLs in Ruby on Rails with FriendlyId
A quick tutorial on how to add pretty URLs in Ruby on Rails with FriendlyId.
StateInspector 1.0.0 Released! Introspection & Debug Tool. via @6ftdan
I’m proud to say I’ve released a project StateInspector at 1.0.0! This tool boasts the ability to listen to all method calls and report them in whichever fashion you choose to. Whether you want to log them to a log file or keep the data internally in simple collections. This tool will help you know what’s going on and in what order! danielpclark/state_inspector
HexaPDF 0.3.0 - TTF Font Subsetting, CLI enhancements, funding call
I just released HexaPDF 0.3.0, now with TrueType font subsetting support, major CLI enhancements and a call for funding- see https://hexapdf.gettalong.org/news/2017/third-release.html 
How can I help you solve your challenges related to deployment/operations/devops?
I’m the author of the Passenger app server. We’re on a mission to make Unix server tools easier to use, more convenient, more robust and generally more awesome. So we are thinking about what we should work on next. [more inside]
Building a reusable tool
Learn how to build a reusable tool from a specific solution. This is a follow-up to my previous post about keeping background jobs as small and close to the code as possible
PushType: the path to version 1.0
What started as an internal side project, our little Ruby content management system, PushType, was revealed as an open source project in 2016. Since then, developers around the World have been using PushType in their own projects and a small and friendly community is beginning to form. See what’s underway this year as we gear up for PushType version 1.0
Engineering Our Schemaless Data Store with Shameless
The hotel industry is full of big scale engineering challenges. One of them is how to manage the large volume of hotel rate updates while making reading them fast. In this article on Build Tonight, the HotelTonight team will show you how we’ve built an append-only, distributed, schemaless data store built on top of MySQL. Once our solution was battle-tested in production, we extracted it to a gem. That’s how Shameless was born. [more inside]
Memo-It
Simple yet clever memoization helper with parameter support: https://github.com/phoet/memo-it
Posts can now be "reported" to the moderation team
I want to thank the many of you who have insisted time after time that a “report this post” feature was needed on here. We now have one! It’s still in testing, only on front page posts, and only available to logged in users for now, but it sends a notification to the team to review posts that may be spammy, offensive, off-topic, etc :-) [more inside]
Postgres vs Elasticsearch Performance: Numeric Statistics
Though brief, this post details the performance differences between using a Postgres database and Elasticsearch 5 to retrieve statistics for an indexed numeric column. Spoiler: One of them is a hell of a lot quicker than the other. [more inside]
Dockerizing Ruby Applications and Effectively Testing Them
Docker provides a variety of features that we can leverage to test any kind of application, including a Dockerized Ruby on Rails application. Read more.
Rails DB gem was updated
Hello, please check the latest update on rails_db gem https://github.com/igorkasyanchuk/rails_db [more inside]
An Easier Way to Think About `self`
Ruby’s self
method can seem arbitrary, but there is an underlying structure to its behavior. When you understand it, not only will your own programs make more sense, but so will many advanced Ruby techniques which may have previously been shrouded in mystery. http://www.rubyletter.com/blog/2017/01/24/understanding-ruby-self.html
New version of billing.insitu.tools deployed
Hi everybody. I’m proud to announce that I’ve deployed a new version of my RoR based Invoicing solution for freelancers. Its available at https://billing.insitu.tools. [more inside]
Benchmarking a Go AI in Ruby: CRuby vs. Rubinius vs. JRuby vs. Truffle – a year later
After a first run ~13 months ago I thought it was time to do a new run and see how fast our contestants have gotten since the last time! especially now that Ruby 3x3 is a thing, it asks the question how much faster are the different implementations as compared to the Ruby 2.0 baseline. Included Rubies are TruffleRuby, CRuby/MRI, JRuby and Rubinius. Check out more in the blog post!
Simplifying Kafka for Ruby apps
Even with a client library, Kafka is unwieldy to manage and benefits greatly from a common framework with familiar concepts [more inside]
gem for flash messages
Fun and cute flash messages for your Ruby on Rails application. Easy to use. https://github.com/kevyder/puffly
Ruby Coercion Protocols Part 2
What’s the difference between #to_i
and #to_int
? How to sum two value objects? Let’s learn Ruby Coercion Protocols in depth. https://blog.dnsimple.com/2017/01/ruby-coercion-protocols-part-2/