Using CSS selectors on Markdown in JS

It is possible target specific elements in a DOM via CSS using selectors h2 { /* property: value; */ } It is also possible to use CSS selector in JS DOM const elements = document.querySelector("h2") With the advent of a JAMstack it is also possible to target Markd…

Don't use global npm config for dotfiles with nvm

It is possible to set the global npm config via the global switch # short version npm config set init-version "0.0.1" -g # long version npm config set init-version "0.0.1" --global The location of the global npm config in nvm is tied to node version, renderi…

How to assert sorted dates in Cypress

Here's how I use Cypress to assert that the user interface I am building displays datetime information sorted chronologically. Consider the list of dates served at the port 3000 that looks like this: <ul id="sorted"> <li>14.12.1999</li> <li>1…

Following file renames in gitlog

After my previous attempt to get published date and the edited date of the post that lives entirely in the git somehow reached the dead end because I could not reliably find out how to handle renames, I have finally found a working way. Start by preparing a file with a git histo…

Prevent push when skipping Cypress tests

There is a more updated method I use now descried in the part 2. Here's way I use to prevent pushing changes when some of the Cypress tests are being skipped Install required packages npm i -D cypress husky start-server-and-test Define your dev script in package.json if not d…

Are OTP secrets stored in plaintext

What happens with OTP secrets when a user database get leaked? Could the attacker use them to gain your other sensitive information? How are they even stored on the server? Storing password One of the widely used method to log into some service day is still via form of a password…

Sync Keepass passwords between your computer and phone

The release of the KeepassDX v2.9 brings working autofill in Chrome based browsers in addition to Firefox based ones, here's how to use it on the Android phone with passwords stored on your Arch linux computer. Start by installing required apps on the phone, for instance via F-D…