Recently we detected a memory leak in one of our applications. Hunting it down, we found that the memory leak...

...e.g. wysiwyg text fields Consider to leave the paperclip columns (you can debug issues better) As many parts of file processing are not tested (resolution, fallback images and many more...

...exception notifier all failed jobs will trigger an email. Blocking the server: Mogrify (tool behind minimagic) sometimes freeze (for many thousand of jobs it will fail for sure). You need...

Authentication is a special part of web applications. On the one hand, it usually is a crucial security mechanism restrict...

When your Cucumber feature needs to browse the page HTML, and you are not sure how to express your query...

makandra dev

While most Rails Apps are tied to at least one external REST API, machine-to-machine communication via GraphQL is...

Same requests are recorded only once in vcr. Replaying a test fails, if you trigger the same request multiple times...

...a? Capybara::Driver::Selenium Now the selenium driver is located by Capybara::Driver::Selenium. A better-looking approach would be: Capybara.current_driver == :selenium page.response_headers['Content-Disposition'] should be page.response.headers...

postgresql.org

There is no such thing as a "default order" of rows in database tables. For instance, when you paginate a...

makandra dev
interfaces.rauno.me

A list of implementation details that make for a better / expected user experience. Have these in mind when implementing a web design. This document outlines a non-exhaustive list of...

When RubyMine reports Rubocop returning "exit code -1", upgrading Rubocop can be the fix: gem install rubocop "The logs" can...

mtlynch.io

...boring style violations. When you demonstrate an appreciation for constructive criticism, your reviewer provides better feedback . Make others better: Your code review techniques set an example for your colleagues. Effective...

To avoid sending e-mails containing sensitive data unencrypted I strongly suggest you enable a confirmation dialog. Enigmail can show...

...GA configurable without changing anything in the application's code base (and much more beyond, see below). Only prefer GTM if the customer requests it, or if he is updating...

...his tracking requirements frequently. The idea behind GTM The "tag" in "Google Tag Manager" has nothing to do with HTML tags, nor with word tags or tag clouds. In the...

...update cucumber Make sure you have a recent version of geordi (it doesn't belong in your Gemfile!): gem install geordi Check if you're using Transforms Transform is no...

...using the latest version, or enterprise users might be using Firefox ESR which lags behind in features. For those, we want to use well-supported CSS features.

...background color, with a different lightness. Lightness values above 60 stay positive, values below become negative; multiplying by 1000 causes them to clip the 0..100 range and CSS will...

Removing features and merging those changes back can be painful. Here is how it worked for me.\

Capistrano is quite verbose during deploy. In practice, almost all of its output is noise to me. It would be...

...the resulting record will not have the attributes that defined that scope, and this behavior can be quite useful. Because you cannot have the best from both worlds you should...

...article and make informed choices about how to define your conditions. Also see the Best Practice section below. The problem in detail Consider this Rails class and the following articles...

s keeps saturation unchanged. calc(100 - l) inverts lightness. For example, 0% becomes 100%, and 100% becomes 0%. Example usage .demo { --inverted-color: hsl(from currentColor calc(h...

In long diffs, it can become impossible to spot small changes in larger blocks of moved code. This may be either a method that was moved from the top to...

When using Rails to truncate strings, you may end up with strings that are still too long for their container...

Development environment setup Rails Composer Basically a comprehensive Rails Template. Prepares your development environment and lets you select web server...

} Enumerable#index_with (Rails 6+) To generate a hash where array elements become hash keys, and values are calculated from them, use index_with. users = User.all

You can not use the hash_including argument matcher with a nested hash: describe 'user' do let(:user) { {id: 1...