makandra dev
thoughtbot.com

The linked article compares two approaches for writing CSS: A component library (like BEM) Utility classes (like Tailwind)

bugs.launchpad.net

Terminator has a cool feature that allows you to split your terminal into many panels and type in all of...

In Rubocop you might notice the cop Style/CaseEquality for e.g. this example: def foo(expected, actual) expected === actual end

github.com

Scroll and touch event listeners tend to be computationally expensive as they are triggered very often. Every time the event...

Here is a short summary of Cucumber hooks in Ruby taken from https://github.com/cucumber/cucumber-ruby. Note that the BeforeStep is...

We currently test most of our gems on Travis CI, but want to migrate those tests to Github Actions. This...

On some of our older projects, we use the mysql2 gem. Unfortunately, versions 0.2.x (required for Rails 2.3) and...

makandra dev

While debugging a SPF record I found spf-record.de to be very helpful. it lists all IPs that are covered by...

Installing old Rubies (<= 2.3) with a standard rbenv + ruby-build is no longer possible on Ubuntu 20.04. This is because...

.desktop files define launchers for applications installed on your machine. They specify the command that will be executed when launched...

web.archive.org

There is a common view that extracting text from a PDF document should not be too difficult. After all, the...

Generated Photos produces AI-generated face images. This is useful for UI mockups where you don't want to show...

If a model inherits from others or uses many concerns / traits, it might be hard to see in the code...

simple-form-bootstrap.plataformatec.com.br

Good reference how to build bootstrap forms with simple_form.

When logging in Rails, you can use the log_tags configuration option to add extra information to each line, like...

makandra dev
github.com

Pagy is a gem for pagination. They make some bold claims: Pagy is the ultimate pagination gem that outperforms the...

ActiveRecord provides the ids method to pluck ids from a scope, but what if you need to pluck Global IDs...

If you want to get the path of a file relative to another, you can use the expand_path method...

Google Chrome disables Notifications for insecure origins (i.e. those using HTTP). Only http://localhost is considered secure.

To find a version containing the regular expression foo in the history of any branch: git grep foo $(git rev...

rubyjard.org

Ruby Jard provides a rich Terminal UI that visualizes everything your need, navigates your program with pleasure, stops at matter...

news.ycombinator.com

This is an extract from the linked article. It shows an approach on how to implement encrypted passwords with the...

CSS variables are very different from preprocessor variables. While preprocessors use variables to compile a static piece of CSS, CSS...