It most cases it's not necessary to add a version constraint next to your packages in the package.json. Since...

It most cases it's not necessary to add a version constraint next to your gems in the Gemfile. Since...

makandra dev

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

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

Within Vim do the following: Move cursor to the first starting line where you want to start editing

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...

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...

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...

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

blog.mastermind.dev

I found the linked article very helpful to refresh my understanding of database indexes. As a small bonus, it includes...

To navigate between test and test subject Rubymine requires you to set the test root sources as Test Sources Root...

Haml 6 was a major rewrite with performance in mind. To achieve a performance improvement of 1.7x, some design...

If you're using a Redis cache in Rails (e.g. :redis_cache_store), it's possible to configure additional parameters...