Skip to content

Instantly share code, notes, and snippets.

View xunker's full-sized avatar

Matthew Nielsen xunker

View GitHub Profile
@urish
urish / espruino-waveshare-epaper.js
Last active June 26, 2023 02:57
Driver for Waveshare 2.9inch e-Paper Module
// Copyright (C) 2017, Uri Shaked
// Loosely based on code samples provided by waveshare
// License: MIT
const DIN_PIN = 11;
const CLK_PIN = 12;
const CS_PIN = 13;
const DC_PIN = 14;
const RST_PIN = 15;
const BUSY_PIN = 16;

Finding long running queries in Postgres

There have been a few times in the last several months at $DAY_JOB during which the following query, or some slight variation of it, has been used to identify long-running and potentially problematic queries:

select  pid,
        now() - query_start as duration,
        query,
@nickkraakman
nickkraakman / ffmpeg-cheatsheet.md
Last active August 21, 2026 20:33
FFmpeg cheat sheet for 360 video

FFmpeg Cheat Sheet for 360º video

Brought to you by Headjack

 
FFmpeg is one of the most powerful tools for video transcoding and manipulation, but it's fairly complex and confusing to use. That's why I decided to create this cheat sheet which shows some of the most often used commands.

 
Let's start with some basics:

  • ffmpeg calls the FFmpeg application in the command line window, could also be the full path to the FFmpeg binary or .exe file
@marcotc
marcotc / sidekiq_retry_time.csv
Created February 14, 2017 18:16
Sidekiq retry exponential backoff formula times
Retry count Retry Time Total Cumulative Time Total Cumulative Days
0 0:00:00 0:00:00 0.0
1 0:00:16 0:00:16 0.0
2 0:00:31 0:00:47 0.0
3 0:01:36 0:02:23 0.0
4 0:04:31 0:06:54 0.0
5 0:10:40 0:17:34 0.0
6 0:21:51 0:39:25 0.0
7 0:40:16 1:19:41 0.1
8 1:08:31 2:28:12 0.1
@nobodypb
nobodypb / move_syno_pkgs.sh
Created February 8, 2017 22:59
Script for moving packages on a synology disk station from one volume to another - EXPERIMENTAL!
#!/bin/bash
SOURCE=/volume1
DEST=/volume2
APPDIR=\@appstore
ASK=true
while getopts ":y" opt; do
case $opt in
@corbanb
corbanb / pre-request-jwt.js
Last active August 19, 2026 13:07
JWT tokenize - Postman Pre-Request Script
function base64url(source) {
// Encode in classical base64
encodedSource = CryptoJS.enc.Base64.stringify(source);
// Remove padding equal characters
encodedSource = encodedSource.replace(/=+$/, '');
// Replace characters according to base64url specifications
encodedSource = encodedSource.replace(/\+/g, '-');
encodedSource = encodedSource.replace(/\//g, '_');
@geekman
geekman / myusbgadget
Created January 17, 2017 02:47
Pi Zero multiple USB gadgets minimal example
#!/bin/bash -e
modprobe libcomposite
cd /sys/kernel/config/usb_gadget/
mkdir g && cd g
echo 0x1d6b > idVendor # Linux Foundation
echo 0x0104 > idProduct # Multifunction Composite Gadget
echo 0x0100 > bcdDevice # v1.0.0
@keijiro
keijiro / ffmpeg.bat
Created October 9, 2016 05:51
ffmpeg cheatsheet
:: Trim from 2″ for 3 seconds, and encode into a "Twitter friendly" format.
ffmpeg -i source.mp4 -pix_fmt yuv420p -an -ss 2 -t 3 temp.mp4
:: Make a palette for GIF.
ffmpeg -i temp.mp4 -vf palettegen=max_colors=24 palette.png
:: Make a GIF with the palette.
ffmpeg -i temp.mp4 -i palette.png -filter_complex "scale=400:-1:flags=lanczos[x];[x][1:v]paletteuse" -r 30 out.gif
@eguven
eguven / brew-list.sh
Last active August 26, 2026 11:39
List all packages installed using Homebrew and their sizes
# this original one uses values returned from 'brew info'
brew list --formula | xargs -n1 -P8 -I {} \
sh -c "brew info {} | egrep '[0-9]* files, ' | sed 's/^.*[0-9]* files, \(.*\)).*$/{} \1/'" | \
sort -h -r -k2 - | column -t
# faster alternative using 'du'
du -sch $(brew --cellar)/*/* | sed "s|$(brew --cellar)/\([^/]*\)/.*|\1|" | sort -k1h
@parzivail
parzivail / TILCD.cpp
Created September 10, 2016 00:56
TI83 LCD Pinout and original Arduino code
TILCD::TILCD(uint8_t ce, uint8_t di, uint8_t wr, uint8_t rst, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7)
{
_ce = ce;
_di = di;
_wr = wr;
_rst = rst;
_d0 = d0;
_d1 = d1;
_d2 = d2;