Skip to content

Instantly share code, notes, and snippets.

View CodeMan99's full-sized avatar

Cody A. Taylor CodeMan99

View GitHub Profile
@CodeMan99
CodeMan99 / Makefile
Created June 27, 2023 22:00
Assembly HelloWorld, binary size 392 bytes
hello: hello.o
ld hello.o -o hello -s -n
hello.o: hello.s
as hello.s -o hello.o
#!/usr/bin/env node
const [n, u] = process.argv.slice(2);
const t = parseFloat(n);
function kelvin(value) {
const sunK = 5778.0;
const sunCodys = 1_000_000_000.0;
return (value / sunK) * sunCodys;
@CodeMan99
CodeMan99 / download-chimera-linux.sh
Last active May 3, 2023 15:44
Chimera Linux via Docker
#!/usr/bin/env bash
set -e
REPO_NAME="chimera-linux"
RELEASE="${RELEASE:-latest}"
LATEST_URL="https://repo.chimera-linux.org/live/$RELEASE"
SHA256_FILENAME="sha256sums.txt"
IMAGE_TAG="${REPO_NAME}:$RELEASE"
IMAGE_ID="$(docker image ls -q "$IMAGE_TAG")"
@CodeMan99
CodeMan99 / devopen.sh
Created February 13, 2023 15:08
Open devcontainer in VSCode (bash function)
function devopen() {
local workspace_folder="$(readlink -f "$1")"
if [ -d "$workspace_folder" ]; then
local wsl_path="$(wslpath -w "$workspace_folder")"
local path_id=$(printf "%s" "$wsl_path" | xxd -ps -c 256)
code --folder-uri "vscode-remote://dev-container%2B${path_id}/workspaces/$(basename "$workspace_folder")"
else
echo "Usage: devopen <directory>" 1>&2
@CodeMan99
CodeMan99 / .gitconfig
Last active February 6, 2024 04:47
My git config --global --list
[alias]
can = commit --amend --no-edit --no-verify
l = branch -vv
s = status --short --branch
u = remote update
whatadded = log --diff-filter=A
m = merge
[am]
threeway = true
[color]
@CodeMan99
CodeMan99 / getnode
Last active December 20, 2022 21:09
Tiny scripts for getting & installing node.
#!/usr/bin/env bash
set -e
VERSION="$1"
OS="linux"
ARCH="x64"
# ARCH="armv7l"
URL="https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-${OS}-${ARCH}.tar.xz"
@CodeMan99
CodeMan99 / backoff.js
Created November 2, 2022 15:21
Exponential Back-Off
// snippet based on https://github.com/tim-kos/node-retry#retrytimeoutsoptions
const timeouts = Array.from({length: 10}, (_, i) => {
const random = 1;
const minTimeout = 10;
const factor = 2;
const attempt = i;
const maxTimeout = 6000;
return Math.min(random * minTimeout * Math.pow(factor, attempt), maxTimeout);
});
@CodeMan99
CodeMan99 / delay.fsx
Last active February 11, 2023 06:24
F# bound context
let a b c =
b + c
let d a =
let m = a + 1 // pretend this is opening something stateful, like a db connection
let x y =
m + y
x
// f is a bound function, a has not been executed yet
let f = a 2
@CodeMan99
CodeMan99 / slice_utils.py
Created May 7, 2021 15:00
Create left & right slices of a collection
from operator import itemgetter
def create_slicer(*indexes):
"""
>>> l = list(range(10))
>>> create_slicer(5)(l)
([0, 1, 2, 3, 4], [5, 6, 7, 8, 9])
>>> create_slicer(3, 7)(l)
([0, 1, 2], [3, 4, 5, 6], [7, 8, 9])
>>> create_slicer(3, 5, 7)(l)
{
const RUN = 50000;
const FLAT_LENGTH = 9;
const a = [
[0, 1, 2, 3],
4,
[5, 6, 7],
8
];
const perf = [];