Skip to content

Instantly share code, notes, and snippets.

## 1. Direct Dependencies (Project Packages)
Update version in `package.json`:
```json
{
"dependencies": {
"axios": "^0.21.1" // vulnerable
"axios": "^1.6.0" // fixed
}
}
@gatisr
gatisr / TasmotaRouterReboot.md
Created November 22, 2023 13:50
Tasmota reboot device on connection loss

TasmotaRouterReboot

Reboots router on loss of internet using Tasmota device

  1. Get a smart plug with Tasmota. You can either buy one with Tasmota preinstalled - Here is a pack on Amazon https://amzn.to/3EVA3ve or you can convert an existing on using Tuya-Covert see https://github.com/ct-Open-Source/tuya-convert

  2. Set up your Tasmota device and configure WiFi

  3. Go to Tasmota device main menu, and click on console

  4. Copy and paste the rule code from Router Rebooter.txt into the console

@gatisr
gatisr / max_expiry_cert.ps1
Last active November 4, 2022 18:20
max expiry / validity period for an x509 certificate
# https://groups.google.com/forum/#!topic/mailing.openssl.users/3kK_f0ywCZQ
openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout test_private.key -out test.crt -subj "/CN=Name" -addext extendedKeyUsage="serverAuth, clientAuth" -days 24855
@gatisr
gatisr / javascript-good-to-know5.js
Created April 13, 2022 06:56
A Smarter JavaScript Mapper
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap
var numbers = [0, 3, 6];
var doubled = numbers
.filter(n => n !== 0)
.map(n => n * 2);
console.log("numbers multiplied by 2: ([6, 12])", doubled);
var numbers = [0, 3, 6];
var doubled = numbers.flatMap(number => {
return number === 0 ? [] : [2 * number];
@gatisr
gatisr / docker-image-commands.bat
Last active April 13, 2022 05:32
Run commands in docker images
docker run --rm -v C:\projects\random_project:/test/.cache/ aquasec/trivy:latest fs --exit-code 1 --severity HIGH,CRITICAL /test/.cache
docker run --rm -v c:\projects\random_project:/test/.cache/ mcr.microsoft.com/dotnet/sdk:5.0 /bin/bash -c "dotnet install random_package && random_package run /test/.cache/"
docker run --rm -v c:\projects\random_project:/test/.cache/ mcr.microsoft.com/dotnet/sdk:5.0-alpine sh -c "dotnet install random_package && dotnet restore --disable-parallel && random_package run /test/.cache/"
@gatisr
gatisr / javascript-good-to-know4.js
Last active March 31, 2022 05:32
JavaScript URL params
// https://developer.mozilla.org/en-US/docs/Web/API/URL/URL
var finalUrl = new URL("/sub-section", window.location);
finalUrl.searchParams.set("arg1", 1242143);
finalUrl.searchParams.set("arg2", undefined);
finalUrl.searchParams.set("arg4", [{zzz: 1, test: "teksts"}, {zzz: 12, test: "teksts2"}]);
finalUrl.searchParams.delete("arg4");
finalUrl.searchParams.set("arg2", "test");
console.log("final url (https://gist.github.com/sub-section?arg1=1242143&arg2=test):", finalUrl.toString())
var finalUrl = new URL("/sub-section", window.location);
@gatisr
gatisr / javascript-good-to-know3.js
Last active April 19, 2022 13:48
JavaScript nullish coalescing operator
var val1 = 0, val2;
var defaultVal1 = val1 || 10;
var defaultVal2 = val2 || 5;
var defaultNumberVal1 = val1 ?? 10;
var defaultNumberVal2 = val1 ?? 5;
console.log("defalultVal1 (10): ", defaultVal1);
console.log("defaultVal2 (5): ", defaultVal2);
console.log("defaultNumberVal1 (0): ", defaultNumberVal1);
console.log("defaultNumberVal2 (5): ", defaultNumberVal2);
@gatisr
gatisr / javascript-good-to-know2.js
Last active March 31, 2022 05:36
JavaScript distinct arrays
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
var arrayWithDuplicates = [1,2,3,4,5,5,1,2,3];
var arrayWithUniqueValues = new Set(arrayWithDuplicates);
console.log("arrayWithDuplicates ([1, 2, 3, 4, 5, 5, 1, 2, 3]):", arrayWithDuplicates);
console.log("arrayWithUniqueValues (Set(5) {1, 2, 3, 4, 5}):", arrayWithUniqueValues)
var stringArrayWithDuplicates = ["1","2","3","4","5","5","1","2","3"];
var stringArrayWithUniqueValues = new Set(stringArrayWithDuplicates);
console.log("arrayWithDuplicates (['1', '2', '3', '4', '5', '5', '1', '2', '3']):", stringArrayWithDuplicates);
console.log("stringArrayWithUniqueValues (Set(5) {'1', '2', '3', '4', '5'}):", arrayWithUniqueValues)
@gatisr
gatisr / javascript-good-to-know.js
Last active March 31, 2022 05:37
JavaScript good to know features
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat
var localTimeFormat = new Intl.RelativeTimeFormat('lv').format(-1, "day");
console.log("localTimeFormat 'pirms 1 dienas': ", localTimeFormat);
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat
var localListFormat = new Intl.ListFormat('lv').format(['1', '2', '3']);
console.log("localListFormat '1, 2 un 3':", localListFormat);
// https://developer.mozilla.org/en-US/docs/Web/API/structuredClone
var sourceObject = {name: 'Test yo', values: [1, 2, 3]};