Skip to content

Instantly share code, notes, and snippets.

View mtimkovich's full-sized avatar
🐢

Max Timkovich mtimkovich

🐢
View GitHub Profile
@mtimkovich
mtimkovich / closest_color.go
Last active April 9, 2025 04:11
Get the closest color to target color in a PNG
package main
import (
"fmt"
"image"
"image/color"
"image/png"
_ "image/png"
@mtimkovich
mtimkovich / time_math.py
Created January 31, 2025 19:21
Calculate adding and subtracting dates CLI
#!/usr/bin/python3
from datetime import date, datetime, timedelta
import sys
def parse(s):
"""
Parse strings in the form:
n days from now
- n: integer
@mtimkovich
mtimkovich / netflix.py
Created July 24, 2024 09:40
Netflix watched history to Letterboxd
import csv
from datetime import datetime
import re
def is_tv(title: str) -> bool:
synonyms = '(Season|Part|Volume|Chapter|Series|Book|Collection)'
text_numbers = '(One|Two|Three|Four|Five|Six|Seven|Eight|Nine|Ten)'
return (re.search(f'{synonyms} (\\d+|{text_numbers})', title)
or 'Limited Series' in title)
'''
1. Parse csv
2. Convert 1st column to season and episode string
3. Parse season from 2nd column
4. Use first column to find video file
5. Dry run rename
6. Rename, creating folders when necessary
'''
import csv
@mtimkovich
mtimkovich / full_moon_sabbath.py
Last active February 20, 2024 19:12
"Aw man, Tray, look up at the sky. It's a full moon. On the Sabbath." -Werewolf Bar Mitzvah
from datetime import date, timedelta
# http://www.voidware.com/moon_phase.htm
def moon_phase(y, m, d):
"""
0 => new moon
1 => waxing crescent
2 => first quarter
3 => waxing gibbous
4 => full moon
@mtimkovich
mtimkovich / SpongeBobCase.ahk
Created February 4, 2024 00:13
tYpE lIkE tHiS
Random, upper, 0, 1
ToggleCase(c) {
global upper := !upper
if upper {
StringUpper, c, c
} else {
StringLower, c, c
}
use std::collections::HashMap;
use std::env;
use std::fs::File;
use std::io::{self, prelude::*, BufReader};
use std::process;
fn tokenize(letters: &str) -> HashMap<char, u8> {
let mut map = HashMap::new();
for c in letters.chars() {
*map.entry(c).or_default() += 1;
#!/usr/bin/env python
from collections import Counter
import fileinput
counter = Counter()
for line in fileinput.input():
counter.update(c for c in set(line) if c.isalpha())
print(counter)
@mtimkovich
mtimkovich / font_letter_check.txt
Created April 6, 2021 22:42 — forked from marcospedreiro/font_letter_check.txt
/u/martinus test pattern to check how distingushable characters are for a font
From: https://www.reddit.com/r/programming/comments/8jjq33/11_best_programming_fonts/dz0xxs5/
------
o0O s5S z2Z !|l1Iij {([|})] .,;: ``''""
a@#* vVuUwW <>;^°=-~ öÖüÜäÄßµ \/\/
the quick brown fox jumps over the lazy dog
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
0123456789 &-+@ for (int i=0; i<j; ++i) { }
@mtimkovich
mtimkovich / MuteMic.ahk
Last active March 24, 2021 19:10
Keyboard shortcut to mute the mic.
; https://www.autohotkey.com/docs/commands/SoundSet.htm#Ex
F13::
MIC_ID = 7
SoundSet, +1, MASTER, mute, %MIC_ID%
SoundGet, master_mute, , mute, %MIC_ID%
Msg := "Microphone online"
Action := "Insert"