Skip to content

Instantly share code, notes, and snippets.

View matchaxnb's full-sized avatar

Matcha matchaxnb

View GitHub Profile
@matchaxnb
matchaxnb / Makefile
Last active August 5, 2025 11:50
hamac303's minimal template engine
.PHONY = (all)
all: ../index.html
../index.html: index.html.tpl *.md *.css
./templatize index.html.tpl ../index.html
; i'll update this from time to time
; add this to your prelude file
; i am under the assumption that you keep the original prelude contents
\pitchLogIndex [ pitchLogIndex 2^ ] = toHz
\midinum [
; first produce a pitch log index based on C4==60
midinum 60 - ; this is the distance to C4
1/12 * C4 + ; this is the pitch log index for the note
toHz ; we convert it
@matchaxnb
matchaxnb / midimix.control.js
Created April 29, 2025 12:14
Control script for Midimix (slightly improved)
/* just temporarily posting it here until i make a pull request */
loadAPI(18)
host.defineController("Akai", "Akai Midimix", "0.1", "7b8cd61c-2718-4d77-80b5-a2103f92b69c", "mfeyx")
host.addDeviceNameBasedDiscoveryPair(["MIDI Mix"], ["MIDI Mix"])
host.defineMidiPorts(1, 1)
/* ------------------------------------------------------ */
/* DEBUGGING FEATURE */
/* ------------------------------------------------------ */
@matchaxnb
matchaxnb / Instructions.md
Created March 27, 2025 08:04
Instructions TD tests webdev

Script pour créer l'appli

# possiblement besoin d'utiliser une version récente de node
nvm use v22.14.0
# pour créer l'appli
npx create-react-app notes-app
cd notes-app
npm install react-router-dom cypress --save
@matchaxnb
matchaxnb / decode_hexspeak.py
Last active March 26, 2025 10:46
A set of utilities for drones of all kinds
#!/usr/bin/env python
import sys
zero = '⬡'
one = '⬢'
dronemap = {
'0': zero,
'1': one,
}
@matchaxnb
matchaxnb / GUIDE.md
Created February 23, 2025 15:29
Start squeezelite as a Windows service with reduced privileges
@matchaxnb
matchaxnb / lc.py
Last active July 30, 2024 12:01
Line and char counter
#!/usr/bin/env python
"""lc: a linecounter. reads stdin and prints advancement in numbers of chars/lines
Usage:
lc -l INTERVAL [--thru]
lc -c INTERVAL [--thru]
Options:
-l INTERVAL output a message every INTERVAL lines [default: 100]
-c INTERVAL output a message every INTERVAL characters [default: 100]
@matchaxnb
matchaxnb / binary_search_stuff.py
Created December 19, 2023 22:28
binary search stuff, for fun
"""we play with large sorted integer arrays"""
import timeit
from typing import Union, Tuple
import random
ar_a = list(range(0, 10))
ar_b = list(range(-5, 5, 1))
ar_c = list(range(-100, 100))
ar_d = list(range(90, 101))
@matchaxnb
matchaxnb / jsontovars.py
Created August 3, 2023 23:07
GitLab JSON variables to POSIX shell variables
#!/usr/bin/env python
"""jsontovars.py: parse GitLab API /projects/<id>/variables endpoint and export as shell variables"""
import sys
import json
data = json.load(sys.stdin)
for item in data:
if item['variable_type'] != 'env_var':
continue
print(f"""export {item['key']}="{item['value']}" """)
@matchaxnb
matchaxnb / using-vscode.md
Created April 7, 2023 14:45
Using VS Code on WSL2 from another machine

Using VS Code on WSL2 from another machine

This has become a problem since Microsoft Store apps can't be executed from session 0, i.e. not from a SSH session. Pity.

Fortunately, there's the Remote Tunnel option.

To use it, download the VS Code server and run it on your machine as follows:

./code tunnel