Skip to content

Instantly share code, notes, and snippets.

View darkliquid's full-sized avatar

Andrew Montgomery darkliquid

View GitHub Profile
@darkliquid
darkliquid / ts0601_radar.py
Created January 28, 2024 08:01
zha quirk for tuya presence sensor
## originally based on
### https://fixtse.com/blog/zy-m100-full-zha-support
### ( https://gist.githubusercontent.com/fixtse/b95753b84c34b45f49b3116d23b66342/raw/0f84bd6e9b6c174970c7b5fc21078d4b4da06a15/TZE204_ijxvkhd0_e5m9c5hl.py )
## with inspiration from
### https://github.com/zigpy/zha-device-handlers/pull/2525#issuecomment-1826881992
## and my own changes and additions
import math
from typing import Dict
from zigpy.profiles import zha
@darkliquid
darkliquid / !README.md
Last active April 1, 2022 09:29
Script for setting up my windows install. Run setup-windows.ps1

This is my desktop setup scripts for Windows. It installs a number of apps using scoops (in preference) and failing that, via chocolatey. It also makes a number of customisations and streamlining operations to Windows itself via registry changes and various powershell scripts, the most notable of which is the [Windows 10 Debloater][3] script.

After that, It sets up my [WSL][4] environment, and uses my [linux dotfiles repo][5] to customise that. The aim of this setup is to be a reasonably dev-friendly, secure windows environment with a ready-to-go linux environment setup via WSL. More customisations will be made as things like 'controlled folder access exceptions' and other things get discovered through usage.

@darkliquid
darkliquid / beautified.js
Last active August 22, 2019 02:28
Bookmarklet to estimate reading time of a page
javascript:(function () {
function getTextNodesIn(element) {
var wordcount = 0,
whitespace = /^\s*$/;
function getTextNode(node) {
// type 3 is a textnode
if (node.nodeType == 3) {
// We skip text nodes that are only whitespace
if (!whitespace.test(node.nodeValue)) {
@darkliquid
darkliquid / bash404.sh
Created March 25, 2019 09:20
WSL: Try to run .exe versions if they exist and the non .exe version doesn't
# WSL: Try to run .exe versions if they exist and the non .exe version doesn't
command_not_found_handle() {
if cmd.exe /c "(where $1 || (help $1 |findstr /V Try)) >nul 2>nul && ($* || exit 0)"; then
return $?
else
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
@darkliquid
darkliquid / # httpd - 2018-08-28_10-54-18.txt
Created August 28, 2018 09:57
httpd on Ubuntu 18.04.1 LTS - Homebrew build logs
Homebrew build logs for httpd on Ubuntu 18.04.1 LTS
Build date: 2018-08-28 10:54:18
@darkliquid
darkliquid / Config.ini
Created May 7, 2018 15:28
bug.n config
Config_readinBat=1
Config_readinCpu=1
Config_readinMemoryUsage=1
Config_readinVolume=1
Config_borderWidth=10
Config_rule_#19=.*Wox.*;.*Wox.*;;0;0;0;1;0;1;
Config_rule_#20=Chrome_WidgetWin_1;.*Google Chrome;;1;0;0;0;1;0;
Config_rule_#21=VirtualConsoleClass;Cmder;;1;0;0;0;0;0;
@darkliquid
darkliquid / formatting.md
Last active October 5, 2017 15:05
Gingkoapp microscope games

Formatting Guidelines

Use ## for Period headings, ### for event headings, #### for scene headings. This way exporting to html/markdown/etc makes for nice vertical reading.

Append the tone to the card with a dash, then the tone in italics for light tones (e.g. - *Light*) or bold for dark tones (e.g. - **Dark**)

// Handles js, sass, image optimisation/compilation and does very basic PHP linting and livereload
var gulp = require('gulp'),
minifycss = require('gulp-minify-css'),
notify = require('gulp-notify'),
cache = require('gulp-cache'),
sass = require('gulp-sass'),
uglify = require('gulp-uglify'),
gutil = require('gulp-util'),
refresh = require('gulp-livereload'),
lr = require('tiny-lr'),
@darkliquid
darkliquid / le-renew-webroot
Last active January 30, 2016 00:52 — forked from thisismitch/le-renew-webroot
Let's Encrypt Auto-Renewal using the Webroot Plugin (Nginx) - Single renew script to support multiple configs at once
#!/bin/bash
web_service='nginx'
config_files="/usr/local/etc/letsencrypt/*.ini"
le_path='/opt/letsencrypt'
exp_limit=30;
do_reload=0;
for config_file in $config_files; do