Skip to content

Instantly share code, notes, and snippets.

/**
 * @param {object} params
 * @param {import('@actions/github/lib/context').Context} params.context - 
 *   @see {@link https://github.com/actions/toolkit/blob/main/packages/github/src/context.ts}
 * @param {typeof import('@actions/core')} params.core - 
 *   @see {@link https://github.com/actions/toolkit/tree/main/packages/core}
 * @param {typeof import('@actions/github')} params.github - 
 *   @see {@link https://github.com/actions/toolkit/tree/main/packages/github}
 * @param {typeof import('@actions/exec')} params.exec - 
@rindeal
rindeal / Stripping JS Comments.md
Last active September 13, 2024 16:42
Strip JS-like comments (JS, TS, CSS, ...) using GCC preprocessor and AWK (won't handle edge cases like comments in multiline strings, regexes, ..)

Stripping JavaScript Comments

When working with JavaScript, TypeScript, and similar languages, you might need to strip out comments without altering the code structure. Here's a simple and effective way to do it using the GCC compiler.

Command

gcc -fpreprocessed -E -P -x c - < in.js > out.js
@rindeal
rindeal / ASRock-B660M-HDV.conf
Last active August 26, 2024 17:09
lm-sensors configuration file for `ASRock B660M-HDV` motherboard
#
# lm-sensors configuration file for `ASRock B660M-HDV` motherboard
#
# File location: /etc/sensors.d/ASRock-B660M-HDV.conf
# Vendor URL: https://www.asrock.com/mb/Intel/B660M-HDV/
# Upstream URL: https://gist.github.com/rindeal/1dc9c6ba4109336d174f805e3cd30a37
#
# Based on: https://github.com/petersulyok/asrock_z690_extreme/blob/1154e46b1dae0d2a02cf6ed623c4e6c6024c40c8/B550_Steel_Legend.conf
#
#
@rindeal
rindeal / ucenter_hex_parser.py
Last active July 21, 2024 19:55
Parse UBX messages from u-center's Messages View hex output
#!/usr/bin/env python3
# SPDX-FileCopyrightText: ANNO DOMINI 2024 Jan Chren ~rindeal <dev.rindeal gmail.com>
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
# Homepage: https://gist.github.com/rindeal/852365c3b241dfee813cfd02b4e3f705/
import io
import sys
import re
@rindeal
rindeal / !cp-attr.sh.md
Last active August 27, 2024 21:44
A robust Bash script for copying file attributes (ownership, permissions, and SELinux context) from a source file to one or more destination files.

File Attributes Copier

A robust Bash script for copying file attributes (ownership, permissions, and SELinux context) from a source file to one or more destination files.

Features

  • Copies ownership (user and group)
  • Copies permissions (read, write, execute)
  • Copies SELinux security context (if SELinux is enabled)
  • Provides detailed, color-coded logging
NORMAL = "\x1b[0m", RESET = "\x1b[0m"
BLACK = "\x1b[30;21m", RED = "\x1b[31;21m", GREEN = "\x1b[32;21m", YELLOW = "\x1b[33;21m", BLUE = "\x1b[34;21m", MAGENTA = "\x1b[35;21m", CYAN = "\x1b[36;21m", WHITE = "\x1b[37;21m", GREY = "\x1b[38;21m"
BOLD_BLACK = "\x1b[30;1m", BOLD_RED = "\x1b[31;1m", BOLD_GREEN = "\x1b[32;1m", BOLD_YELLOW = "\x1b[33;1m", BOLD_BLUE = "\x1b[34;1m", BOLD_MAGENTA = "\x1b[35;1m", BOLD_CYAN = "\x1b[36;1m", BOLD_WHITE = "\x1b[37;1m", BOLD_GREY = "\x1b[38;1m"
BG_BLACK = "\x1b[40m", BG_RED = "\x1b[41m", BG_GREEN = "\x1b[42m", BG_YELLOW = "\x1b[43m", BG_BLUE = "\x1b[44m", BG_MAGENTA = "\x1b[45m", BG_CYAN = "\x1b[46m", BG_WHITE = "\x1b[47m", BG_GREY = "\x1b[48m"
@rindeal
rindeal / !Firefox Color Palette.md
Last active June 27, 2024 16:54
Firefox Brand Color Palette
<!--- Firefox Color Palette ------------------------------------------------------------->
<link rel="stylesheet" href="https://gist.github.com/rindeal/4c869c95087f1bf8cf7cecb4206e2d4f/raw/firefox-color-palette-2024.min.css" referrerpolicy="no-referrer" />
@rindeal
rindeal / !gsettings-array.py.md
Last active October 28, 2024 21:41
GSettings array manipulation made easy from CLI. Implements ls, insert, pop, rm, sort and dedup operations

GSettings Array Manipulator

Welcome to the GSettings Array Manipulator, a powerful command-line tool designed to simplify and streamline your interactions with GSettings arrays. With this tool, you can perform a variety of tasks, from inserting items into an array to sorting and deduplicating items, all with a few simple commands.

Features

  • Insert: Add one or more items to your array at a specified index.
  • List: Display all items in your array, each on a new line.
  • Sort: Sort all items in your array.
  • Deduplicate: Remove duplicate items from your array.
@rindeal
rindeal / buffered_io_get_buffer_size.py
Last active May 13, 2024 06:41
Python 3 function to calculate optimal buffer size for any io.BufferedIOBase subclass, like io.BufferedReader and io.BufferedWriter
"""
===============================
BufferedIOBase Buffer Size Calculator
===============================
This Python script contains a function `buffio_get_buffsz` that calculates
the buffer size of a `BufferedIOBase` object.
Functionality
=============