Skip to content

Instantly share code, notes, and snippets.

View magnetikonline's full-sized avatar
💡
I have an idea!

Peter Mescalchin magnetikonline

💡
I have an idea!
View GitHub Profile
@magnetikonline
magnetikonline / README.md
Created April 16, 2024 03:04
Using curl to make an AWS V4 signed request to an AWS_IAM API Gateway endpoint.

Using curl to AWS V4 sign request to AWS_IAM API Gateway endpoint

Small Bash script, calling curl with the --aws-sigv4 option to AWS V4 sign a given request for use with an IAM authorized API Gateway endpoint.

Usage

./aws-api-gateway-iam.sh \
  --request GET \
 "https://api-gateway.mydomain.com/this/route/aws-iam-authz"
@magnetikonline
magnetikonline / README.md
Last active April 17, 2024 22:49
GitHub Markdown cheatsheet.
@magnetikonline
magnetikonline / README.md
Created March 3, 2024 05:39
macOS execute command upon directory change via launchd.

macOS execute command upon directory change via launchd

Using launchd to watch a filesystem directory and upon create/change to a file with the directory, execute a command.

Install

For this example:

  • Watching directory of: /path/to/watch.
  • Upon file change, execute: /path/to/command argument1 argument2.
@magnetikonline
magnetikonline / README.md
Last active April 18, 2024 23:50
Docker volume backup and restore scripts.

Docker volume backup and restore scripts

Backup a Docker volume to tar archive:

$ ./docker-volume-backup.sh \
  DOCKER_VOLUME_NAME \
  ARCHIVE_NAME.tgz
@magnetikonline
magnetikonline / README.md
Last active February 12, 2024 02:12
Node.js strict mode enabled?

Node.js strict mode enabled?

A quick test, this relies on the fact that this will not exist and point to the global scope when running in strict mode.

console.log('strict:',(function() { return (this === undefined); })());

Tip

Strict mode is enabled by default within ES module enabled packages.

@magnetikonline
magnetikonline / README.md
Last active December 29, 2023 13:47
Import all GPG keys for GitHub organisation users.

Import all GPG keys for GitHub organisation users

Script to fetch a GitHub organisation member list and gpg --import the public GPG key(s) for each member with GPG key(s) associated against their profile.

Requires curl for GitHub API calls, jq for parsing GitHub REST API responses and (obviously) gpg.

Usage

Create a GitHub personal access token (classic or fine-grained) with read access to organisation members:

@magnetikonline
magnetikonline / .editorconfig
Created October 25, 2022 22:25
My .editorconfig template.
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
@magnetikonline
magnetikonline / .eslintrc.json
Last active May 22, 2023 08:24
My ESLint configuration template.
{
"root": true,
"parserOptions": {
"sourceType": "module"
},
"env": {
"es2020": true,
"node": true
},
"extends": [
@magnetikonline
magnetikonline / README.md
Last active February 1, 2024 11:04
Python - hashing JSON data structures.

Python - hashing JSON data structures

A function hash_json(data), accepting a structure loaded from json.load() and computing a hash.

Example

$ ./hashjson.py
Hash a.json: 8212462b8e9ce805cac2f0758127c5cfd7710baf
Hash b.json: 8212462b8e9ce805cac2f0758127c5cfd7710baf
@magnetikonline
magnetikonline / README.md
Last active October 2, 2023 00:10
Install jq on macOS from source.

Install jq on macOS from source

Note: as of jq v1.7 the project offers pre-built native macOS releases for ARM64 based architechtures.

A quick n' dirty Bash script to install the following:

  • autoconf.
  • automake.
  • libtool
  • jq - from source.