Skip to content

Instantly share code, notes, and snippets.

@m13253
m13253 / spotread_to_sRGB.py
Last active October 17, 2023 02:23
Convert XYZ color values from ArgyllCMS spotread to sRGB color values
#!/usr/bin/env python3
import colour
import numpy
import readline
def convert(XYZ100):
XYZ100 = numpy.asarray(XYZ100)
XYZ1 = XYZ100 * 0.01
D50 = colour.CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['ICC D50']
@m13253
m13253 / gradescope-organizer.py
Last active December 22, 2022 11:33
Organize submission archive downloaded from Gradescope using student’s names
#!/usr/bin/env python3
import itertools
import os
import unicodedata
# pip3 install -U PyYAML
import yaml
# Windows disallows the following characters in filenames: "*/:<>?\|
@m13253
m13253 / cache_sim.h
Last active April 4, 2022 19:01
Simple CPU L1 cache simulator to assist your operating system coursework
/*
* This library is licensed under WTFPL version 2.
*
* May contain undiscovered bugs.
* I am willing to fix bugs but will not be responsible for them.
*
* I suggest you cross-check with another library, for example:
* https://github.com/RRZE-HPC/pycachesim
*/
@m13253
m13253 / pixart2svg.py
Last active July 18, 2023 01:41
Convert a pixel art into an SVG file
#!/usr/bin/env python3
# Convert a pixel art to SVG file
# Copyright (C) 2021 Star Brilliant
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
@m13253
m13253 / csgo_address_list.py
Last active September 29, 2023 19:39
Generate MikroTik address list with IP addresses of CS:GO official matchmaking servers
#!/usr/bin/env python3
import json
import netaddr
def main():
# Download from https://api.steampowered.com/ISteamApps/GetSDRConfig/v1?appid=730
with open('network_config.json', 'r', encoding='utf-8') as f:
network_config = json.load(f)
@m13253
m13253 / bezier-split.py
Last active November 23, 2020 23:35
Cubic Bézier curve splitting program
#!/usr/bin/env python3
# Copyright (C) 2020 Star Brilliant <coder@poorlab.com>
#
# DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
# TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
#
# 0. You just DO WHAT THE FUCK YOU WANT TO.
import sys
@m13253
m13253 / getproxy.sh
Created April 10, 2020 03:23
List proxy server status on macOS
#!/usr/bin/env bash
networksetup -listallnetworkservices | tail +2 |
while read NETWORK_SERVICE
do
echo 'Network service: '$'\e[34m'"$NETWORK_SERVICE"$'\e[0m'
networksetup -getproxyautodiscovery "$NETWORK_SERVICE" | sed 's/^/[WPAD] /'
networksetup -getautoproxyurl "$NETWORK_SERVICE" | sed 's/^/[PAC] /'
networksetup -getwebproxy "$NETWORK_SERVICE" | sed 's/^/[HTTP] /'
networksetup -getsecurewebproxy "$NETWORK_SERVICE" | sed 's/^/[HTTPS] /'
@m13253
m13253 / android-captive-portal-china-fix.sh
Created January 22, 2020 16:01
Change Android captive portal detection to Xiaomi's server
adb shell settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204
adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
@m13253
m13253 / mousetest.js
Created November 11, 2019 14:36
A mouse test program written in gjs (Gtk+ JavaScript)
#!/usr/bin/gjs
const GObject = imports.gi.GObject;
const Gdk = imports.gi.Gdk;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const MouseTest = new Lang.Class({
Name: "Mouse Test",
#include <X11/Xlib.h>
#include <X11/Xutil.h>
int main(int argc, char* argv[])
{
Display* display = XOpenDisplay(NULL);
XVisualInfo vinfo;
XMatchVisualInfo(display, DefaultScreen(display), 32, TrueColor, &vinfo);