Skip to content

Instantly share code, notes, and snippets.


David Sword davidsword

View GitHub Profile
davidsword /
Last active Jan 17, 2021
🔥🍺 MySQL cheat sheet
davidsword /
Last active Dec 30, 2020
My personal list of statuses for Slack that I use in a custom Alfred Workflow to change my Slack presense and status as well as send a ping to HomeAssistant to change a physical busy light RGB LED for my office so my family knows my current state/focus.
State Slack Status Emoji Slack Presense Busy Light
Active 🟢 🟢
In a Meeting red-dot 🟢 🔴
On Call red-dot 🟢 🔴
Red 🟢 🔴
Busy red-dot ⚪️ 🔴
BRB yellow-dot ⚪️ 🟡
Lunch yellow-dot ⚪️ 🟡
Family yellow-dot ⚪️ 🟡
davidsword / wp-image-filters.php
Last active Dec 15, 2020
WordPress - All filters to modify an images URL (as far as I could find)
View wp-image-filters.php
// Images in post galleries
add_filter( 'get_post_galleries', '_img_url_filter', PHP_INT_MAX );
add_filter( 'widget_media_image_instance', '_img_url_filter', PHP_INT_MAX );
// Core image retrieval
add_filter( 'image_downsize', '_img_url_filter', 10, 3 );
// Responsive image srcset substitution
davidsword / ESP8266 NodeMCU RGB LED Busy Server.ino
Last active Aug 19, 2020
ESP8266 NodeMCU RGB LED Busy Server
View ESP8266 NodeMCU RGB LED Busy Server.ino
/* ESP8266 NodeMCU RGB LED Busy Server
* Set an RGB LED to current status via web request
* 1. Flash this file to a ESP-12E
* 2. Open Serial to get the IP address of board
* 3. Optionally set a dedicated DHCP reservation at the router level to ensure same IP address is used
* 4. Connect common anode or common cathode RGB LED (see pins below)
* 5. Make `GET` request to `http://<IP>/<status>`
davidsword /
Last active Jul 10, 2020 - Raspberry Pi control a common anode or common cathode RGB LED. e sure to know the difference of your RGB LED. Usage: `python3 <avaliable|busy|offline>` to set as green, red, or off respectively.
import sys
import RPi.GPIO as GPIO
# Note this is BOARD numbering.
redPin = 3
davidsword /
Last active Jun 25, 2020 Raspberry Pi - Learn to count to 5 game. Pressing button, count up to number on OLED screen, then celebrate once reached.
import time
import busio
import adafruit_ssd1306
import RPi.GPIO as GPIO
from board import SCL, SDA
from PIL import Image, ImageDraw, ImageFont
# settings
View basic_curl_and_cache_of_json.php
// settings
$url = ""; // json source
$cache = __DIR__."/json.cache"; // make this file in same dir
$force_refresh = false; // dev
$refresh = 60*60; // once an hour
// cache json results so to not over-query (api restrictions)
if ($force_refresh || ((time() - filectime($cache)) > ($refresh) || 0 == filesize($cache))) {
davidsword /
Last active Jun 2, 2020
Github GraphQL API - Trace a commit back to a PR and get the username of who approved it
# Get the PULL number that's realted to the commit on this build
PULL=$(curl -H "Authorization: bearer ${GH_TOKEN}" -s -d "{ \
\"query\": \"query { \
repository(owner: \\\"$GH_OWNER\\\", name: \\\"$GH_REPO\\\") { \
commit: object(expression: \\\"$GH_SHA\\\") { \
View unicorn-phat.html
<style type="text/css">
:root {
--padding: 2px;
--size: 5px;
--total: 7px;
body {
background: black;
davidsword / x_cache_seg.php
Created Nov 25, 2019
Example of Cache Varients on VIP Go
View x_cache_seg.php
* Example of Cache Varients on VIP Go
* @see
function x_cache_seg() {
// Set the response header to let CDN know of possible varient.
header( 'Vary: X-VIP-Go-Segmentation' );