Skip to content

Instantly share code, notes, and snippets.

@d3dave
d3dave / diffschema.sh
Created April 20, 2023 21:24
Diff jsonschema
#!/bin/sh
pip3 install dollar-ref deepdiff
dref -i $1 $1.dref.json
jq .patternProperties $1.dref.json > $1.props.json
dref -i $2 $2.dref.json
jq .patternProperties $2.dref.json > $2.props.json
deep diff $1.props.json $2.props.json
@d3dave
d3dave / getonce.py
Last active December 28, 2023 22:09
Download a ClickOnce application
#!/usr/bin/env python3
from bs4 import BeautifulSoup
import requests
import sys
from urllib.parse import urljoin
from pprint import pprint
from pathlib import Path
def usage():
print('Usage: getonce.py [application url]')
#!/usr/bin/env python3
import time
import Quartz
def get_displays():
err, activeDisplays, _ = Quartz.CGGetActiveDisplayList(6, None, None);
if err != Quartz.kCGErrorSuccess:
raise Exception(err)
return activeDisplays
@d3dave
d3dave / cache_args.py
Last active October 26, 2022 22:44
cache_args
# License: MIT
# Copyright (c) David D. Dorfman 2022
"""
Cache function arguments from callables on first invocation
"""
from functools import partial, wraps
from typing import Any, Callable, Optional, ParamSpec, TypeVar
P = ParamSpec('P')
R = TypeVar('R')
@d3dave
d3dave / install_autojump.sh
Last active October 3, 2022 19:46
Quickly install autojump
#!/bin/bash
set -e
git clone https://github.com/wting/autojump.git
cd autojump
./install.py
@d3dave
d3dave / .vimrc
Created August 2, 2022 22:13
.vimrc
set hlsearch
set number
set nowrap
set timeoutlen=50
@d3dave
d3dave / forker.py
Last active April 6, 2023 21:57
Track process exits using acct(2)
#!/usr/bin/env python3
import os
import time
import signal
st = time.time()
N = 1000000
n = 0
signal.signal(signal.SIGCHLD, signal.SIG_IGN)
@d3dave
d3dave / main.py
Last active April 16, 2021 19:28
Work tracking
#
# Copyright (c) 2021 David Dorfman
# This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
# To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
#
import os
import sys
import appdirs
from collections import defaultdict
from datetime import datetime, timedelta
@d3dave
d3dave / pystone.py
Created April 6, 2021 16:37
PyStone benchmark
#!/usr/bin/env python3
"""
"PYSTONE" Benchmark Program
Version: Python/1.1 (corresponds to C/1.1 plus 2 Pystone fixes)
Author: Reinhold P. Weicker, CACM Vol 27, No 10, 10/84 pg. 1013.
Translated from ADA to C by Rick Richardson.
Every method to preserve ADA-likeness has been used,
@d3dave
d3dave / cairo-win32.patch
Created December 9, 2018 02:05
cairo Win32 surface support for gtk2hs
diff --git b/Graphics/Rendering/Cairo/Internal/Surfaces/Win32.chs a/Graphics/Rendering/Cairo/Internal/Surfaces/Win32.chs
new file mode 100644
index 0000000..be6de2f
--- /dev/null
+++ a/Graphics/Rendering/Cairo/Internal/Surfaces/Win32.chs
@@ -0,0 +1,30 @@
+{-# LANGUAGE CPP #-}
+-----------------------------------------------------------------------------
+-- |
+-- Module : Graphics.Rendering.Cairo.Internal.Surfaces.Win32