makandra dev

If you have a fully functional CI pipeline but no CD, you might find yourself frequently waiting for CI (with...

Git commands like diff use the less binary for their output representation. I often find myself searching for strings like...

Code splitting is a feature of esbuild that can keep huge libraries out of the main bundle. How code splitting...

github.com

How you order elements in the can have an effect on the (perceived) performance of the page. This script helps...

makandra dev

As we are slowly switching from Cucumber scenarios to RSpec feature specs, you might be tempted to write assertions like...

With this Ruby script you can print all values in a Redis database to your console (derived from this bash...

adactio.com

Web forms can be made much more usable with a few HTML attributes. Short summary: type: Tells browsers about the...

makandra dev
gist.github.com

Context and further resources Even though you can get 90% of debugging done with up to 5 basic byebug commands...

I recently noticed that better_errors allows you to to open files from within your favorite editor. However it was...

Debugging your integration tests, that run a headless Chrome inside a docker image, is tricky. In many cases you can...

Within Capybara you most certainly use the #check- and #uncheck-method to (un)check checkboxes. But there's one problem...

makandra dev

The rubocop binary has a few interesting flags: rubocop (using the --parallel default ) scans the current repository for linting issues...

Looking at the source code of the validates_numericality_of validator, it becomes clear that it converts the attribute in...

When you allow file uploads in your app, a user might upload content that hurts other users. Our primary concern...

Rack::SteadyETag was a Rack middleware that generates the same default ETag for responses that only differ in XOR-masked...

Every Rails response has a default ETag header. In theory this would enable caching for multiple requests to the same...

tl;dr Individual transform properties are great because they allow you to write more readable and maintainable CSS, especially when...

tl;dr asdf allows you to manage multiple runtime versions with a single CLI tool and is backwards compatible by...

You have an async function that rejects: async function failingFunction() { throw new Error("Something went wrong") } When you call that...

makandra dev
content-security-policy.com

tl;dr The strict-dynamic source list keyword allows you to simplify your CSP policy by favoring hashes and nonces...

If your irb or rails console keeps randomly crashing and you can't figure out why then you can try...

Sidekiq 7 adds a new feature called capsules. Use cases: a chrome queue limited to 1 for e.g. PDF processing...

In Ruby on Rails ActiveRecord::Relation#merge overwrites existing conditions on the same column. This may cause the relation to...

youtube.com

The linked content describes: The different color space of Oklch and RGB/HSL (HDR colors) The advantage of Oklch when you...