Skip to content

Instantly share code, notes, and snippets.

View blubberdiblub's full-sized avatar
🤯

Niels Boehm blubberdiblub

🤯
View GitHub Profile
@blubberdiblub
blubberdiblub / patch-backend.py
Created March 6, 2025 04:13
Patch `libbackend.so` of Turing Complete's bleeding edge build to use `xterm` rather than `gnome-terminal`. `click` version
#!/usr/bin/env python3
from __future__ import annotations
import hashlib
import sys
from pathlib import Path
import click
@blubberdiblub
blubberdiblub / patch-backend.py
Created March 6, 2025 04:12
Patch `libbackend.so` of Turing Complete's bleeding edge build to use `xterm` rather than `gnome-terminal`. `argparse` version
#!/usr/bin/env python3
from __future__ import annotations
import argparse
import hashlib
import sys
from pathlib import Path
@blubberdiblub
blubberdiblub / .xonshrc.py
Last active February 17, 2025 10:23
Replicate bashism "process substitution" in xonsh.
# .xonshrc
# use t() like this or in similar contexts:
#
# >>> diff -u @(t("ls -1 foo/")) @(t("ls -1 bar/"))
def t(args, *, shell=None, **kwargs):
import builtins
import pathlib
@blubberdiblub
blubberdiblub / conversion.cpp
Last active September 1, 2019 02:59
Integral promotion and usual arithmetic conversion
#include <cstdint>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
#include <typeinfo>
#include <cxxabi.h>
@blubberdiblub
blubberdiblub / findcerts.py
Last active June 17, 2019 08:58
find-certs
#!/usr/bin/env python3
import base64
import pickle
import sys
from binascii import crc32
from datetime import timezone
import pathvalidate
@blubberdiblub
blubberdiblub / Loop4.java
Last active September 18, 2018 06:55
linear sweep variant #4
private static void sweepLinear(double min, double max, int num_intervals) {
for (int i = 0; i <= num_intervals; i++) {
int j = num_intervals - i;
double value = (max * i + min * j) / num_intervals;
doSomethingWithValue(value);
}
}
/* Output:
@blubberdiblub
blubberdiblub / Loop3.java
Last active September 18, 2018 06:55
linear sweep variant #3
private static void sweepLinear(double min, double max, int num_intervals) {
for (int i = 0; i <= num_intervals; i++) {
double p = (double)i / (double)num_intervals;
double q = 1.0 - p;
double value = max * p + min * q;
doSomethingWithValue(value);
}
}
@blubberdiblub
blubberdiblub / Loop2.java
Last active September 18, 2018 06:58
linear sweep variant #2
private static void sweepLinear(double min, double max, int num_intervals) {
double step = (max - min) / num_intervals;
double value = min;
for (int i = 0; i <= num_intervals; i++) {
doSomethingWithValue(value);
value += step;
}
}
@blubberdiblub
blubberdiblub / Loop1.java
Last active September 18, 2018 06:57
linear sweep variant #1
private static void sweepLinear(double min, double max, int num_intervals) {
double step = (max - min) / num_intervals;
double value = min;
while (value <= max) {
doSomethingWithValue(value);
value += step;
}
}
@blubberdiblub
blubberdiblub / Loop.java
Created September 18, 2018 06:47
loop framework
class Loop {
public static void main(String[] args) {
sweepLinear(1.5, 2.5, 2);
System.out.println();
sweepLinear(1.5, 2.5, 10);
}
private static void doSomethingWithValue(double value) {