Skip to content

Instantly share code, notes, and snippets.

View gbraad's full-sized avatar
🇳🇱
Working from home

Gerard Braad gbraad

🇳🇱
Working from home
View GitHub Profile

Lima on runner

Have been testing a bit more with Lima and other cncf-projects. Got my own prepped cloud images now start with lima instead of the macadam tool I worked on before. Seems to work, but some minor issues along the way; issues filed and let's see. So far, glad to actually move to a more community maintained stack of tooling.

cd ~/
git clone https://github.com/gbraad-dotfiles/upstream .dotfiles
@gbraad
gbraad / README.md
Last active May 14, 2026 09:41
Nerdctl / containerd tested on runner

Nerdctl on runner

ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
NERDCTL_VERSION=$(curl -fsSL https://api.github.com/repos/containerd/nerdctl/releases/latest |
   grep '"tag_name"' | cut -d'"' -f4 | tr -d 'v')
curl -fsSL "https://github.com/containerd/nerdctl/releases/latest/download/nerdctl-${NERDCTL_VERSION}-linux-${ARCH}.tar.gz" \
   | sudo tar -C /usr/local/bin -xz nerdctl
@gbraad
gbraad / README.md
Last active May 14, 2026 05:57
Test image

Test openSUSE cloud image with machine

Needs macadam from: https://github.com/gbraad-dotfiles/macadam/releases/tag/v0.2.1a as this provides UEFI firmware support.

git config -f ~/.config/dotfiles/local/machine.ini \
    'disks.opensuse-cloud' \
    'https://download.opensuse.org/tumbleweed/appliances/openSUSE-Tumbleweed-Minimal-VM.x86_64-Cloud.qcow2'
@gbraad
gbraad / README.md
Last active May 15, 2026 11:17
Import devenv image into container runtime

Import devenv WSL image into container runtime

Note

This will describe in short how to get your old wsl environment running in a container runtime, such as containerd or Podman. While it is possible to use vhdx, I had better results with tarballs. A vhdx needs to be converted, use qemy-nbd etc, as you can not boot this as a VM unless you install the kernel and modules.

Prepare WSL export

--------- beginning of system
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: === ELF LOADER START ===
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: Loading: /data/user/0/com.regroovelizer/cache/selected_unit.nts3unit
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: [ELF] Type=3 Machine=40 Entry=0x0
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: [ELF] Memory range: 0x0 - 0x3d44 (15684 bytes)
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: [ELF] Allocated 15684 bytes at 0xea937000
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: [ELF] Loaded segment 1: vaddr=0x0 size=12796 flags=R-X
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: [ELF] Loaded segment 2: vaddr=0x3200 size=816 flags=R--
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: [ELF] Loaded segment 3: vaddr=0x3530 size=2068 flags=RW-
02-06 23:31:02.838 11765 11855 I Regroovelizer-Native: Loaded at 0xea937000, size 15684
  37, 39      42, 44, 46
36, 38, 40, 41, 43, 45, 47, 

  49, ...
48, ...
@gbraad
gbraad / README.md
Created January 16, 2026 11:20
Drumlogue MIDI setup

Here's how you configure it: First, configure your KORG DRUMLOGUE AS FOLLOWS:

  • Press SHIFT+LIVE[GLOBAL]
  • Press RS/7 ---- Set Channel to 1-12 (Note, you need Firmware upgrade 1.1) ---- Route: Pick your MIDI Connection (USB or USB+MIDI]

Here’s how to map your LaunchPad Pro MK3 to Drumlogue like in the video, using Novation Components:

  1. Launch Components
@gbraad
gbraad / README.md
Last active February 4, 2026 12:18

Logue BackgroundFX

Store the runtime descriptor passed during initialization so we can access the get_raw_input() API later during rendering.

  // Runtime descriptor for background effect support
  // Provides access to get_raw_input() API which returns audio input unaffected by effect on/off state
  // This enables the effect to run continuously without requiring HOLD (XY Freeze) to be pressed
  static unit_runtime_desc_t s_runtime_desc;
// BasePreset - Base class for all Three.js presets
class ThreeJSBasePreset {
constructor(scene, camera, renderer, audioContext) {
this.scene = scene;
this.camera = camera;
this.renderer = renderer;
this.audioContext = audioContext;
// Audio-reactive data (updated by ThreeJSRenderer)
this.frequencyData = { bass: 0, mid: 0, high: 0 };
@gbraad
gbraad / slides.md
Last active September 4, 2025 09:26