Skip to content

Instantly share code, notes, and snippets.

View haydenk's full-sized avatar

Hayden haydenk

View GitHub Profile
@haydenk
haydenk / recipes.json
Created May 23, 2026 01:59
Recipe collection (JSON)
[
{
"id": "8f14bc03-1dcf-47f3-b950-953ed13bd5bd",
"title": "CROCKPOT STEAK BITES",
"description": null,
"ingredients": [
"2 lbs steak (sirloin or stew meat), cut into bite-size pieces",
"1 tsp salt",
"½ tsp black pepper",
"1 tsp garlic powder",
@haydenk
haydenk / 00_README.md
Created May 23, 2026 01:50
[Guide] AWS greenfield setup: Control Tower multi-account strategy with an IAM Identity Center to Entra ID migration path, plus a complete GitHub to CodePipeline CI/CD reference build (Ansible + CloudFormation).

AWS Greenfield Setup

Two paired references for standing up an AWS organization from scratch and giving it a working CI/CD pipeline. Written for a small team that wants production-grade isolation without operational overhead.

Files in this gist

File What it covers
aws_multi_account_strategy.md Account/OU layout under AWS Control Tower (Security, Infrastructure, Workloads, Sandbox), IAM Identity Center for SSO with a non-destructive migration path to Microsoft Entra ID, SCPs to apply per OU, and a setup order.
aws_cicd_github_codepipeline.md End-to-end CI/CD reference build: GitHub → CodeStar Connection → CodePipeline → CodeBuild → ECR → cross-account deploy to CodeDeploy. Ships full Ansible playbooks and CloudFormation templates with four configurable egress modes (NoVpc, PublicSubnet, NatInstance, NatGateway).
@haydenk
haydenk / 00_README.md
Created May 23, 2026 01:50
[Guide] macOS browser hardening: chunked privacy and performance walkthroughs for Firefox 149, Safari 26, and Chrome 147, plus companion uBlock Origin filter packs for Reddit and YouTube.

macOS Browser Hardening

Chunked privacy and performance walkthroughs for three macOS browsers, plus companion uBlock Origin filter packs for Reddit and YouTube. Each browser guide is built from self-contained 2–10 minute "chunks" — do one per sitting, stop any time, every chunk leaves the browser in a working state.

Files in this gist

File What it covers
firefox_hardening.md Firefox 149 — Enhanced Tracking Protection, uBlock Origin configuration, HTTPS-Only Mode, DoH/DNS, Multi-Account Containers, about:config tweaks.
safari_hardening.md Safari 26 — AutoFill, Privacy & ITP, content blockers (AdGuard / Wipr / StopTheMadness), Profiles, Advanced settings.
@haydenk
haydenk / win11_keyboard_shortcuts.md
Created April 28, 2026 14:40
[Reference] Windows 11 keyboard shortcuts: Win-key combos, virtual desktops, snap layouts, and other useful general shortcuts.

Windows 11 Keyboard Shortcuts

Win denotes the Windows key.

Keyboard Shortcut Usage
Win Open Start Menu or Screen.
Win + E Open File Explorer.
Win + C Open Chat.
Win + S or Win + Q Open Search (online and offline).
@haydenk
haydenk / mcu_watch_order.md
Created April 28, 2026 14:39
[Reference] The Marvel Cinematic Universe in in-universe chronological order -- every movie, TV show, special, animated short, and one-shot -- with year set, type, and current streaming home.

Marvel MCU -- Complete Timeline Watch Order

The complete Marvel Cinematic Universe in chronological (in-universe timeline) order, including all movies, TV shows, specials, and animated series.

Streaming Key: Most MCU content is available on Disney+. Items marked otherwise note their primary platform. Availability may vary by region.

Pre-Modern Era

# Title Type Year Set Where to Watch
@haydenk
haydenk / fast_and_furious_watch_order.md
Created April 28, 2026 14:39
[Reference] The Fast & Furious franchise in in-universe chronological order (Tokyo Drift sits 8th, after F&F 6) with release year, type, timeline placement, and where to stream each entry.

Fast & Furious -- Complete Timeline Watch Order

The complete Fast & Furious franchise in chronological (in-universe timeline) order. The timeline is famously non-linear -- most notably, Tokyo Drift was released 3rd but takes place after Fast & Furious 6 in the story.

Streaming Key: Most of the franchise lives on Peacock. Exceptions are noted per entry. Availability may vary by region.

Timeline Watch Order

# Title Release Year Type Timeline Where to Watch
@haydenk
haydenk / radvd.conf
Created April 28, 2026 14:38
[Networking] Sample radvd.conf for making Pi-hole the IPv6 router-advertisement / RDNSS authority on a LAN (eth0). Includes a /64 prefix and an RDNSS entry.
# Sample radvd.conf for making Pi-hole the IPv6 router-advertisement / RDNSS
# authority on a LAN. Replace the prefix and RDNSS address with your own /64
# prefix and the Pi-hole's IPv6 address.
interface eth0 {
AdvSendAdvert on;
AdvLinkMTU 3600;
AdvHomeAgentFlag off;
AdvManagedFlag off;
AdvOtherConfigFlag off;
@haydenk
haydenk / fibonacci.py
Created April 28, 2026 14:37
[Python] Recursive Fibonacci with type hints; handles negative inputs by taking the absolute value.
def fibonacci(n: int) -> int:
abs_n: int = abs(n)
if abs_n < 2:
return 0
if abs_n < 3:
return 1
return fibonacci(abs_n - 1) + fibonacci(abs_n - 2)
@haydenk
haydenk / README.md
Last active April 28, 2026 14:53
[Scala] Three small examples: loan-pattern file reader/writer helpers, a callback-driven FizzBuzz, and a recursive indented thread/message printer.

Scala examples

Three small, self-contained Scala scripts. Each is meant to be readable on its own; together they're a quick tour of a few patterns I keep reaching for in Scala.

File What it shows
file_reader_writer.scala Loan-pattern helpers (withFileWriter, withFileReader) that handle resource cleanup so the caller can focus on what to write/read.
flexible_fizz_buzz.scala FizzBuzz refactored to take a callback, so the what to do with each value is a parameter rather than println hardcoded.
recursive_messages.scala Indented threaded-message printer over a parent/child message structure, demonstrating Option matching for the parent reference.
@haydenk
haydenk / sync_s3_objects.sh
Created April 28, 2026 14:35
[AWS] Bash script that copies S3 objects from a source bucket to a target bucket, partitioning keys by date (year=YYYY/month=MM/day=DD) and skipping objects that already exist in the target.
#!/usr/bin/env bash
# Copy S3 objects from a source bucket to a target bucket, partitioning the
# destination keys by date (year=YYYY/month=MM/day=DD) and skipping objects
# whose filename already exists somewhere in the target bucket.
#
# Prereq: fetch the source bucket listing first with
# aws s3api list-objects-v2 --bucket your-source-bucket --query Contents > ~/files.json
jsonFile="$HOME/files.json"
sourceBucket="your-source-bucket-name"