When you are using the default MIME-Type configuration and your application allows uploading files, it can be a security...

makandra dev

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

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