Skip to content

Instantly share code, notes, and snippets.

Avatar

Jeffery Bennett Meandmybadself

View GitHub Profile
@Meandmybadself
Meandmybadself / ngpvan.js
Last active Sep 27, 2022
Mark NGPVan emails as spam
View ngpvan.js
function filterNGPVANSpam() {
// Look for emails containing "unsubscribe" sent in the past week.
// This'll be more than just NGPVAN emails. We'll look in their headers below.
const lastWeek = new Date((new Date()).getTime() - 604800000)
const lastWeekStr = lastWeek.getFullYear() + '/' + (lastWeek.getMonth()+1) + '/' + lastWeek.getDate()
// The gmail query "unsubscribe after: DATE"
const query = 'unsubscribe after:' + lastWeekStr
// Search for any email thread that meets this criteria.
const threads = GmailApp.search(query)
for(let i=0; i < threads.length; i++) {
@Meandmybadself
Meandmybadself / devpost.js
Last active Jan 31, 2022
Devpost - Get username & skills from participants list
View devpost.js
// Get users' names & skills from a devpost participants page.
// eg, https://slack.devpost.com/participants
let output = ''
document.querySelectorAll('div.participant').forEach(el => {
try {
const name = el.querySelector('h5 .user-profile-link').innerText
if (name) {
const skills = [...el.querySelectorAll('span.recognized-tag')].map(el => el.innerText.toLowerCase().replace(/\s+/g, '-'))
if (skills.length) {
@Meandmybadself
Meandmybadself / pihole.txt
Created Dec 31, 2021
Pi-Hole-to-AdGuard list
View pihole.txt
This file has been truncated, but you can view the full file.
! Ported from https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
! Title: StevenBlack/hosts
!
! This hosts file is a merged collection of hosts from reputable sources,
! with a dash of crowd sourcing via GitHub
!
! Date: 30 December 2021 19:03:10 (UTC)
! Number of unique domains: 100,621
!
@Meandmybadself
Meandmybadself / labels.json
Last active May 27, 2021
Avery Address Label Template Sizes
View labels.json
[
{
"id": "5160",
"h": 1,
"w": 2.625,
"color": "White",
"count": 30
},
{
"id": "8160",
@Meandmybadself
Meandmybadself / install.sh
Last active Dec 31, 2020
Compile nginx on Mac OS X 10.9.5
View install.sh
# Run as su
# Kill Apache.
sudo apachectl -k stop
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
curl -OL http://nginx.org/download/nginx-1.14.0.tar.gz
tar -xvzf nginx-1.14.0.tar.gz
# PCRE for doing regex in nginx
@Meandmybadself
Meandmybadself / countdown.ino
Last active Dec 3, 2020
Particle Photon + Neopixels countdown
View countdown.ino
/**
Parts:
- Particle Photon (wireless Arduino):
https://store.particle.io/collections/wifi/products/photon
- RGB LEDs:
https://www.amazon.com/gp/product/B00ZHB9M6A/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1
- Logic Level shifter (makes the 3.3v Photon play nice w/ the 5V RGB LEDs)
https://www.amazon.com/gp/product/B00NAY3J7O/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
@Meandmybadself
Meandmybadself / countdown.ino
Created Dec 2, 2020
Inauguration Countdown Clock Photon + Neopixels.
View countdown.ino
// See https://github.com/technobly/Particle-NeoPixel
#include <neopixel.h>
// Needed for ceil / floor
#include <math.h>
#define ONE_DAY_MILLIS (24 * 60 * 60 * 1000)
unsigned short PIXELS_PER_SEGMENT = 9;
unsigned short SEGMENTS_PER_CHAR = 7;
@Meandmybadself
Meandmybadself / www.domain.com.conf
Last active Jan 4, 2020
NGINX basic server config
View www.domain.com.conf
http {
index index.html;
server {
server_name www.domain.com domain.com
access_log logs/www.domain.com.access.log main;
root /var/www/www.domain.com/;
}
}
@Meandmybadself
Meandmybadself / replace.js
Created Sep 4, 2019
Globally replace mass-lodash imports
View replace.js
const { exec } = require("child_process");
const fs = require("fs");
const script = exec(
"grep -lir --exclude-dir={android,ios,node_modules,coverage} \"import _ from 'lodash'\" . | grep -v .map"
);
let filesToUpdate;
const fixNextFile = () => {
View merge-csv.js
const csv = require('csvtojson')
const _ = require('lodash')
const Json2csvParser = require('json2csv').Parser
;(async () => {
const points = await csv().fromFile('./points.csv')
let data = await csv().fromFile('./data.csv')
data = data.map(row => {
const username = row.Username