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

When using tmux, selecting and copying multiple lines of text can be a hassle, especially when using splits (highlighting lines...

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

It is possible to manipulate the forwarded ports of an established interactive SSH session. This is done by opening the...

A convenient way to test SNS Subscription Filter Policies is using an email address as the subscription endpoint. However, for...

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

When you're using a third party repository on your Ubuntu or Debian system and need to find out which...

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

We recently encountered a problem with GlusterFS (7.x) when an application used the flock syscall on a GlusterFS path...

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

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

blog.mastermind.dev

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