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.
Move over Rake, Thor is the new King
Yes, Rake is certainly the heavyweight in this arena. But it is also clunky and has some oddities, and limitations that are frustrating to work around in day to day usage. Tools are always improving and we shouldn’t stick with something just because we always have. [more inside]
How I Write Code: Pen & Paper
Even though I love programming, I try not to sit in front of a computer screen too much. I do not find staring at a screen all day beneficial, not for my physical health, nor for my mental health. In the last few years, I’ve started a habit of sketching my programming ideas using pen and paper. I’m not talking here about todo lists, or making diagrams. I’m talking about actually writing code using pen and paper. Let me explain.
Released ruby-masscan 0.1.0
This is the first release of ruby-masscan, a Ruby interface to masscan. Masscan is an “Internet-scale” port scanner and is capable of scanning whole class A subnets very quickly. ruby-masscan supports automating the masscan command from Ruby and parses masscan’s binary, list, and JSON output files.
hexdump 1.0.0 released!
hexdump.rb 1.0.0 has been released! This major release adds lots of hexdump features, such as ability to decode typed data (uint16, int32, float64, etc), zero-padding, skipping the first N bytes or only reading N bytes, index offsets, omitting repeating rows, better UTF character encoding support, column/chars grouping, ANSI styling/highlighting, and micro-optimizations that allow it to process 1Mb of data per second. Not only is hexdump 1.0.0 Ruby’s most advanced hexdump library, it also competes feature-wise with other language’s hexdump libraries. Checkout the Examples to see more!
command_kit 0.2.0 released!
command_kit 0.2.0 adds support for ANSI background colors, FreeBSD/OpenBSD/NetBSD OS detection, Linux distro detection, xdg-open/open support for opening a file in it’s preferred or registered application, package manager detection and integration, and sudo detection and integration.
command_kit is a Ruby toolkit for building clean, correct, and robust CLI commands as plain-old Ruby classes.
Rubber Duck Dev Show Episode 5 | Object Oriented vs. Functional Programming
Hear two rubyists compare and contrast Object Oriented vs. Functional Programming. Most examples compare Ruby with Elixir:
bundler-audit 0.9.0 released!
bundler-audit 0.9.0 has been released. This release adds support for JUnit output (--format junit), a new --config option, improvements to the bundle:audit rake tasks, and a compatibility fix for psych >= 4.0.0 and the upcoming Ruby 3.1.0 release. Update today!
Using Hotwire with Rails
Hotwire is a way to build modern web applications without much JavaScript by sending HTML over the wire. In this article, Renata Marques introduces us to Hotwire and walks us through a simple example.
RJGit 5.12.0.0 released
The RJGit library for manipulating git repositories on JRuby was updated to include the latest JGit version (5.12.0.202106070339-r).
My Recipe for Optimizing the Performance of Rails Applications
Rails performance audits have been my main occupation and source of income for over a year now. In this blog post, I’ll share a few secrets of my trade. Read on if you want to learn how I approach optimizing an unknown codebase, what tools I use, and which fixes are usually most impactful. You can treat this post as a generalized roadmap for your DIY performance audit with multiple links to more in-depth resources. [more inside]
Bundler-Download 1.4.0
Bundler-Download 1.4.0 (bundler plugin for large-size downloads) has shipped with support for specifying a Downloadfile at the root of an application, in addition to previous support for including Downloadfile in gems. [more inside]
Ever: a callback-less event reactor for Ruby
Ever is a new libev-based event reactor for Ruby with a callback-less design. Find out more here.
Tensorflow Serving with Ruby
Reflections on how one can keep using ruby for services and interface with tensorflow-serving deployed ML models. [more inside]
Automatic configuration reloads in Rails with Occson Webhooks
We’re continuing our journey with configuration as a service, extending our example app to automatically reload its ENV variables whenever they change in Occson.
How to Draw Shiba Inu or Kawaii Dog - Do-It-Yourself (DIY) Pixel Art (24x24) Series
Hello, I have put together a new pixel art getting started guide titled How to Draw Shiba Inu or Kawaii Dog - Handmade (24x24) Pixel Art. Yes, you can. Get inspired by watching pixel art videos on the internets and turn the paper version into ready-to-mint digital gold originals!
Glimmer DSL for Opal Hello, Text!
Glimmer DSL for Opal [Pure Ruby Web GUI] 0.27.0 ships with the Hello, Text! sample (originally comes with Glimmer DSL for SWT [JRuby Desktop Development GUI Framework]) [more inside]
Debugging with Trip.rb's stacktrace analyzer
Trip.rb is a concurrent tracer. The recently released v2.2.0 includes a lot of improvements but the feature I’m most excited about is the stacktrace analyzer. I thought I’d share in the hopes it could help other Ruby developers out there. Let me know what you think :)
Rubber Duck Dev Show Episode 4 | Pair Programming - When, Why and How!
In this episode, we discuss the Why, When & How to Pair Program:
RSpec Tracer is a specs dependency analysis tool and a test skipper for RSpec
RSpec Tracer is a specs dependency analysis tool and a test skipper for RSpec. It maintains a list of files for each test, enabling itself to skip tests in the subsequent runs if none of the dependent files are changed. It uses Ruby’s built-in coverage library to keep track of the coverage for each test. For each test executed, the coverage diff provides the desired file list. RSpec Tracer takes care of reporting the correct code coverage when skipping tests by using the cached reports. Also, note that it will never skip any tests which failed or were pending in the last runs. Knowing the examples and files dependency gives us a better insight into the codebase, and we have a clear idea of what to test for when making any changes. With this data, we can also analyze the coupling between different components and much more. [more inside]
Rails encrypted credentials on 6.2
With rails 5.2, encrypted credentials were introduced. With the recent update Rails 6.2, have a glance at new features and updates on encrypted credentials here
What's new in Polyphony and Tipi - August 2021 edition
Polyphony is a library for writing highly concurrent Ruby apps. Polyphony harnesses Ruby fibers and a powerful io_uring-based I/O runtime to provide a solid foundation for building high-performance concurrent Ruby apps. [more inside]
Responsible Monkeypatching in Ruby
Monkeypatching can be a great way to improve existing code if used right. Let’s find out how.