Skip to content

Instantly share code, notes, and snippets.


Duane Johnson canadaduane

View GitHub Profile
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

I subscribed to caml-list for a few weeks. I didn't find the discussions intersected with my learning needs. For instance, much of the teaching in the OCaml community appears to be classroom-oriented. I saw at least 3 conferences or workshops announced, and a MOOC, but no github lesson pages (for lack of a better term) or blogs with source code examples oriented toward beginners. Discussion seemed to be focused on the language itself, and not on how to use the language to get work done (e.g. metaplugins, ppx, let rec).

My impression is that the community sets a high bar for inclusion (i.e. an academic) and that the target audience for most papers, announcements, and conferences is not "someone coming from another language or programming paradigm".

I was also disappointed to see how much resistance there was to trying new things to compete in the language mindshare space--I left with the impression that most OCaml programmers are satisfied with the way things are, and the costs outweigh the benefits in tryin