Skip to content

Instantly share code, notes, and snippets.

View dynnamitt's full-sized avatar
:atom:
yolo

Kjetil Midtlie dynnamitt

:atom:
yolo
  • Norway
View GitHub Profile
@dynnamitt
dynnamitt / sleepy-coalescing-pebble.md
Last active March 22, 2026 16:30
HTMX vs React: Critical Assessment for Hathor

HTMX vs React: Critical Assessment for Hathor

Context

Hathor is a CRUD admin panel for a national vehicle registry (Sobek). It displays ~2-3 entity types (VehicleTypes, DeckPlans) in data tables with sidebar editing, search, and an XML import wizard. The user dislikes React and wants to know if HTMX could simplify things.

Honest Assessment

What React is doing here (and whether it's earned)

#!/usr/bin/make -f
# needs jq, terraform, git
SHA = $(shell git rev-parse --short HEAD)
TF_WRKSPC = $(shell terraform workspace show)
SUFF = $(SHA)-$(TF_WRKSPC)
.PHONY: summary
@dynnamitt
dynnamitt / opentofu_setup.sh
Last active March 7, 2024 11:19
Install OpenTofu via tenv
#!/bin/sh
mkdir -p $HOME/tofuutils/tenv
# wget https://github.com/tofuutils/tenv/releases/download/v1.2.0/tenv_v1.2.0_Linux_x86_64.tar.gz
tar -xvf tenv_v1.2.0* -C $HOME/tofuutils/tenv
for f in $HOME/tofuutils/tenv/{tenv,terraform,tofu,tf}
do
ln -s $HOME/$f $HOME/.local/bin/$(basename $f)
done
@dynnamitt
dynnamitt / interweb_LSP_unzip.sh
Last active March 6, 2024 10:02
direct unzip from wget pipe (interactive selector)
#!/bin/sh
URL=${1:-https://releases.hashicorp.com/terraform-ls/0.32.7/terraform-ls_0.32.7_linux_amd64.zip}
wget -qO- $URL | bsdtar -xvf-
@dynnamitt
dynnamitt / nvm-purescript.sh
Last active July 6, 2023 22:03
purescript-nvm
#!/bin/sh
# From intro-video https://www.youtube.com/watch?v=Ng1YPjveaWg&t=1010s
# https://github.com/nvm-sh/nvm#installing-and-updating
nvm install v18.16.1 -- node
nvm install v18.16.1 -- npm
npm install -g purescript purescript-psa spago pscid
@dynnamitt
dynnamitt / wrap_awscli_calls.sh
Created February 21, 2023 09:50
terraform shell-provider, script-wrapper when using aws-cli role-arns
#!/bin/sh
# ========================================================================
#
# This is requires since we always assume a ROLE inside Terraform(go-sdk),
# BUT when we RETURN to shell we have a different IDENTITY.
# This shell IDENTITY must again assume the same "inside-TF ROLE" to
# be successful in using aws-cli
#
# =========================================================================
@dynnamitt
dynnamitt / lookup_events.sh
Created January 31, 2023 14:15
cloudtrail lookup on username
#!/bin/sh
# improved some of guide:
# https://aws.amazon.com/premiumsupport/knowledge-center/troubleshoot-iam-permission-errors/
usage() {
echo >&2 "Usage: $0 <name@company.no|user_id> [hours_back]"
exit 1
}
@dynnamitt
dynnamitt / gitlab-star-deep-clone.sh
Last active March 15, 2022 09:17
GITLAB ::: git-clone ALL favs into deep-nested dirs (( curl | jq | parallel ))
#!/bin/sh
# Make sure you have a PRIVATE_TOKEN in the file ~/.gitlab_token
GL_TOKEN=$(cat ~/.gitlab_token)
[ -z $GL_TOKEN ] && (printf "\n\nno token!\n\n\n";exit 1)
# USERID from username ARG1 on command-line
USER_NAME=${1:-kjetil.midtlie}
USERID=$(curl "https://gitlab.com/api/v4/users?private_token=$GL_TOKEN&username=$USER_NAME" | jq -r '.[0]|.id')
# bonus: sexy logfile ;)
sudo su
printf "#\!/usr/bin/env sh\n(date;docker rmi \$(docker images -q);echo +++++;) \
>> /var/log/docker_rmi_cron.log 2>&1\n" > /etc/cron.weekly/docker-rmi
chmod +x /etc/cron.weekly/docker-rmi
@dynnamitt
dynnamitt / squash.sh
Last active October 8, 2015 08:15
Git Pull PREPARE
# Switch to the master(or dev) branch and make sure you are up to date.
# Taken from http://makandracards.com/makandra/527-squash-several-git-commits-into-a-single-commit
# ===================================================================================================
# ------ basically ggpull 1st;
git checkout dev
git fetch upstream # eller `git fetch origin` HVIS gatekeeper
git merge upstream/dev # eller `git pull` HVIS gatekeeper
# start here ;