Skip to content

Instantly share code, notes, and snippets.

@evandhoffman
evandhoffman / delete.js
Last active November 10, 2021 13:16
Delete your discord messages in a channel older than a specific date
// Lifted partially from https://gist.github.com/orion-v/95cb48fa73808cdc5c589fe415cc65f1
// and https://github.com/vegeta897/snow-stamp/blob/main/src/convert.js#L2
const DISCORD_EPOCH = 1420070400000
function dateToPostId(date) {
return (date - DISCORD_EPOCH) * 4194304
//return new Date(snowflake / 4194304 + epoch)
}
# Jimb - Havoc - 2020-04-16 13:01 - US/Doomhammer
# SimC Addon 1.12.5
# Requires SimulationCraft 820-01 or newer
demonhunter="Jimb"
level=120
race=night_elf
region=us
server=doomhammer
role=attack
# Cellen - Retribution - 2020-04-02 10:17 - US/Doomhammer
# SimC Addon 1.12.5
# Requires SimulationCraft 820-01 or newer
paladin="Cellen"
level=120
race=human
region=us
server=doomhammer
role=attack
@evandhoffman
evandhoffman / simc khal.txt
Last active June 16, 2020 19:56
simc khal
# Khalshazar - Assassination - 2020-06-16 15:56 - US/Doomhammer
# SimC Addon 1.12.5
# Requires SimulationCraft 820-01 or newer
rogue="Khalshazar"
level=120
race=dark_iron_dwarf
region=us
server=doomhammer
role=attack
@evandhoffman
evandhoffman / SimpleHTTPServerWithUpload.py
Created December 6, 2018 17:56 — forked from UniIsland/SimpleHTTPServerWithUpload.py
Simple Python Http Server with Upload
#!/usr/bin/env python
"""Simple HTTP Server With Upload.
This module builds on BaseHTTPServer by implementing the standard GET
and HEAD requests in a fairly straightforward manner.
"""
@evandhoffman
evandhoffman / inovelli.txt
Created March 2, 2018 00:12
inovelli.txt
evan@lunix /hass/config % grep Node006 OZW_Log.txt
2018-02-26 10:59:17.849 Detail, Node006, Received: 0x01, 0x18, 0x00, 0x04, 0x00, 0x06, 0x12, 0x32, 0x02, 0xa1, 0x6c, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4b
2018-02-26 11:49:24.528 Detail, Node006, Received: 0x01, 0x18, 0x00, 0x04, 0x00, 0x06, 0x12, 0x32, 0x02, 0xa1, 0x6c, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e
2018-03-01 19:02:28.974 Info, Node006, Network Key Not Set - Secure Option is not required
2018-03-01 19:02:28.976 Info, Node006, Basic device class (0x04) - Routing Slave
2018-03-01 19:02:28.976 Info, Node006, Generic device Class (0x10) - Binary Switch
2018-03-01 19:02:28.976 Info, Node006, Specific device class (0x01) - Binary Power Switch
2018-03-01 19:02:28.976 Info, Node006, COMMAND_CLASS_BASIC will be mapped to COMMAND_CLASS_SWITCH_BINARY
2018-03-01 19:02:28.976 Info, Node006, Mandatory Command Classes for Node 6:
2018-03-01 19:
@evandhoffman
evandhoffman / jsonify_file.py
Created January 30, 2018 19:44
Read a file in and put its contents in a JSON param
import json
import sys
with open(sys.argv[1],"r") as myfile:
data=myfile.read()
myjson = { "filename": sys.argv[1], "contents": data }
print json.dumps(myjson, indent=2)
!function(){"use strict";function e(e,t){function n(s,i,r){var o=new WebSocket(e),a=!1,d=function(){if(a)r(u);else if(0!==s){var e=-1===s?-1:s-1;setTimeout(function(){return n(e,i,r)},1e3)}else r(c)},f=function(e){switch(JSON.parse(e.data).type){case"auth_required":"authToken"in t?o.send(JSON.stringify(function(e){return{type:"auth",api_password:e}}(t.authToken))):(a=!0,o.close());break;case"auth_invalid":a=!0,o.close();break;case"auth_ok":o.removeEventListener("message",f),o.removeEventListener("close",d),i(o)}};o.addEventListener("message",f),o.addEventListener("close",d)}return new Promise(function(e,s){return n(t.setupRetry||0,e,s)})}function t(e){return e.result}function n(t,n){return void 0===n&&(n={}),e(t,n).then(function(e){var s=new a(t,n);return s.setSocket(e),s})}function s(e,t){return e._subscribeConfig?e._subscribeConfig(t):new Promise(function(n,s){var i=null,r=null,o=[],c=null;t&&o.push(t);var u=function(e){i=Object.assign({},i,e);for(var t=0;t<o.length;t++)o[t](i)},a=function(e,t){return u({se
@evandhoffman
evandhoffman / blerg.log
Last active January 16, 2018 11:27
wat
Jan 15 23:52:40 lunix e83280a5087e[2680]: #033[32m2018-01-15 23:52:40 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=zwave.gumbo, old_state=<state zwave.gumbo=initializing; node_id=2, node_name=gumbo, manufacturer_name=Aeotec, product_name=ZW100 MultiSensor 6, old_entity_id=zwave.gumbo_2, new_entity_id=zwave.gumbo, query_stage=Probe, is_awake=True, is_ready=False, is_failed=False, is_info_received=False, max_baud_rate=40000, is_zwave_plus=True, capabilities={'routing', 'beaming', 'listening'}, sentCnt=2, sentFailed=1, retries=0, receivedCnt=0, receivedDups=0, receivedUnsolicited=0, sentTS=2018-01-15 23:52:32:423 , receivedTS=2018-01-15 23:52:32:374 , lastRequestRTT=0, averageRequestRTT=0, lastResponseRTT=0, averageResponseRTT=0, battery_level=100, wake_up_interval=240, friendly_name=gumbo @ 2018-01-15T23:52:32.483495-05:00>, new_state=<state zwave.gumbo=initializing; node_id=2, node_name=gumbo, manufacturer_name=Aeotec, product_name=ZW100 MultiSensor 6, old_entity_id=zw
@evandhoffman
evandhoffman / .zshrc
Last active January 15, 2018 23:48
How to make home & end keys work on zsh (Linux)
# From here: https://bbs.archlinux.org/viewtopic.php?pid=201942#p201942
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
bindkey "\e[5~" beginning-of-history
bindkey "\e[6~" end-of-history
bindkey "\e[3~" delete-char
bindkey "\e[2~" quoted-insert
bindkey "\e[5C" forward-word
bindkey "\eOc" emacs-forward-word