stefanjudis.com

Suppose you want to implement a publish/subscribe pattern in your Frontend application to react to data changes and events. First...

When you write your next CarrierWave uploader, consider processing your images with libvips instead of ImageMagick. Reasons for libvips

Using querySelector or querySelectorAll in JavaScript, you can easily find descendants of a node that match a given selector.

Ctrl + Alt + S > search "rubocop on save" Under "Inspections", check the highlighted box on rubocop -a Caveat: This adds a...

So you have a heading that is just barely wider than the container it should fit into, and it wraps...

makandra dev

We have a long-standing checklist for merge requests. However, it hardly matches the intricate requirements for design. This checklist...

newrelic.com

alias_method makes a copy of a method. This works fine until the same method is overridden using prepend. If...

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

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

github.com

Geordi will now suggest related commands and options (hand-picked). If a command has suggestions, a single suggestion is printed...

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

jacopretorius.net

You can use rake --where task to find the source location that defines task: bundle exec rake --where assets:precompile...

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

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

adactio.com

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

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

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

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