Skip to content

Instantly share code, notes, and snippets.


Duane Johnson canadaduane

View GitHub Profile
canadaduane /
Last active Nov 10, 2022
Move Incoming NGPVAN Political Emails in Gmail to Spam (Google Apps Script)
  1. Go to
  2. Create a New Project
  3. Replace the file it creates for you with the javascript below (copy/paste)
  4. Save the script
  5. Go to Triggers (looks like an alarm clock on left-hand side)
  6. Create a Trigger that acts every 10 minutes and calls filterNGPVANSpam
  7. You'll need to authorize this script to act on your behalf, which may require that you use the scary "Advanced" section to allow the script to read/write to your email inbox.
canadaduane / myserver.conf
Created Apr 14, 2020
nginx configuration for yjs over https reverse proxy
View myserver.conf
server {
listen 80 ;
# listen [::]:80 ipv6only=on;
root /var/www/html;
index index.php index.html index.htm;
location / {
canadaduane / generate_wave.js
Last active Jun 23, 2019
Generate Wave card for Game Builder
View generate_wave.js
// User-editable properties for this card:
export const PROPS = [
propNumber('range', 10)
// Make surrounding things tagged with "wave" do The Wave
export function onTick() {
card.cycle = (card.cycle || 0) + 1;
let actors = overlapSphere(getPos(), props.range);
canadaduane /
Last active May 13, 2019
Ignorantly trying to use RON swarmdb CLI
./swarmdb new --help
# NotFound$~~~~~~~~~~
# no replica found (.swarmdb)
./swarmdb init
./swarmdb new
# BADARGS$~~~~~~~~~~
# new <rdt> [as objectname] [on BranchName]
# create an empty object of the given type
View StyleDrift.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Principles of Adult Behavior

  1. Be patient. No matter what.
  2. Don’t badmouth: Assign responsibility, not blame. Say nothing of another you wouldn’t say to him.
  3. Never assume the motives of others are, to them, less noble than yours are to you.
  4. Expand your sense of the possible.
  5. Don’t trouble yourself with matters you truly cannot change.
  6. Expect no more of anyone than you can deliver yourself.
  7. Tolerate ambiguity.
  8. Laugh at yourself frequently.
canadaduane / rust-output.txt
Created Jan 15, 2018
Can't compile diesel app--what am I missing?
View rust-output.txt
error[E0277]: the trait bound `i64: diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::BigInt>, _>` is not satisfied
--> src/
32 | .load::<db::models::Device>(&connection)
| ^^^^ the trait `diesel::deserialize::FromSql<diesel::sql_types::Nullable<diesel::sql_types::BigInt>, _>` is not implemented for `i64`
= help: the following implementations were found:
<i64 as diesel::deserialize::FromSql<diesel::sql_types::BigInt, DB>>
View reset_328p.ino
const int rstPin = 7;
void setup() {
pinMode(rstPin, OUTPUT);
// DDRD |= (1 << PD7);
void loop() {
// RESET pin goes HIGH

Keybase proof

I hereby claim:

  • I am canadaduane on github.
  • I am canadaduane ( on keybase.
  • I have a public key ASBsu9K9oqFyQ0F0ps3jeBbyffBFMUv1t0a9uzccaVflfwo

To claim this, I am signing this object:

canadaduane / kicad_crash.txt
Created Aug 16, 2016
kicad nightly build crash [kicad-r7009.20160807-035111.dmg]
View kicad_crash.txt
Process: kicad [74680]
Path: /Applications/Kicad/
Identifier: org.kicad-pcb.kicad
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: kicad [74680]
User ID: 501
Date/Time: 2016-08-16 12:50:16.303 -0600