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

Maintaining larger projects makes it more difficult to balance refactoring and upgrade tasks according to its actual value. Consider to...

makandra dev

If you need a sample video with certain properties for a test you can create one using ffmpeg.

makandra dev

This is a checklist I use to work on issues. For this purpose I extracted several cards related to the...

geekytidbits.com

To retrieve only unique combinations of the selected attributes: You can omit rows, where all selected columns are equal with...

blog.logrocket.com

Variable fonts are popular for two reasons: they expand design possibilities and improve website performance. While the former statement is...

tl;dr The Chrome DevTools are a neat collection of tools for the daily work as a web developer. If...

wpostats.com

Case studies and experiments demonstrating the impact of web performance optimization (WPO) on user experience and business metrics.

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

When paginating records, we usually need to know the number of total records in order to render pagination links. Popular...

Redis.current will be removed without replacement in redis-rb 5.0. Version 4.6.0 adds deprecation warnings for Redis.current and Redis.current=: `Redis.current...

Event delegation is a pattern where a container element has a single event listener that handles events for all descendants...

The Node Version Manager allows installing multiple NodeJS versions and switching between them. By default, it does not automatically switch...

markodenic.com

Table of content for the linked article: 1. The `loading=lazy` attribute 2. Email, call, and SMS links

I encountered a unlucky behavior of byebug 11.1.3 (the most recent version at time of writing) when using it with...

When storing files for lots of records in the server's file system, Carrierwave's default store_dir approach may...

When deleting a record in your Rails app, Carrierwave automatically takes care of removing all associated files. However, the file...

If your Webpack build is slow, you can use the Speed Measure Plugin for Webpack to figure out where time...

makandra dev

Webpack builds can take a long time, so we only want to compile when needed. This card shows what will...

To attach files to your records, you will need a new database column representing the filename of the file...

CarrierWave comes with a set of default configuration options which make sense in most cases. However, you should review these...

When you repeat a subpattern with a *, + or {...} operator, you may choose between greedy, lazy and possessive modes. Switching modes...

github.com

Scroll and touch event listeners tend to be computationally expensive as they are triggered very often. Every time the event...

ActiveRecord provides the ids method to pluck ids from a scope, but what if you need to pluck Global IDs...