markodenic.com

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

download.lenovo.com

When you need to know how a BIOS screen in a Lenovo Laptop works without actually booting into the BIOS...

We have observed Lenovo laptops with nvidia graphics losing performance after they have been in use for a few minutes...

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

Matching the "space" character class For matching whitespaces in a regular expression, the most common and best-known shorthand expression...

rspec.info

rspec >= 3.1 brings a method and_wrap_original. It seems a bit complicated at first, but there are use cases...

When dealing with external data sources, you may have to deal with improperly encoded strings. While you should prefer deciding...

Browsers usually cache website content in order to provide the user with faster responses. Examples are returning to a website...

makandra dev

You can publish pre-release versions of an npm package. Naming convention for pre-release versions An npm package must...

The usual way to build a relation in a ActiveSupport::Concern is this: module MyModule extend ActiveSupport::Concern

jetbrains.com

In RubyMine folders can be excluded from search, navigation etc. by marking it as excluded. You might sometimes wish to...

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

Sometimes you want to load code on demand. For instance, when a a large library is only used on a...

makandra dev

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

This card is a general reminder to avoid the short version of a command option in shared code. It's...

If a project ist configured to spawn CI runners for tests or deployment when pushing to the Repo, a habit...

When you need the DOM node of a tag (e.g. to read extra attributes, or to modify the DOM near it), you can usually reference it via document.currentScript. However, document.currentScript is unsupported in ancient browsers, like Internet Explorer 11 or wkhtmltopdf's Webkit engine. If you are not running async scripts, you can easily polyfill it: document.scripts[document.scripts.length - 1] It works because document.scripts grows with each tag that was evaluated. That is also the reason why this solution will not work reliably for async code. Demo: https://codepen.io/foobear/pen/poRLxQm

In newer passenger versions the output of passenger -v has changed. capistrano-passenger tries to parse the version and now...

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

makandra dev
web.archive.org

The attached article examines what the percent unit (%) is relative to in CSS The article does a great job of...

ruby-lang.org

Ruby 3.0 introduced a breaking change in how it treats keyword arguments. There is an excellent blog post on the...

tableconvert.com

https://tableconvert.com/ is an online tool to convert tables between different formats (e.g. json, markdown, csv).