Skip to content

Instantly share code, notes, and snippets.

View dtanner's full-sized avatar

Dan Tanner dtanner

  • Target
  • Minneapolis MN US
View GitHub Profile
@dtanner
dtanner / kafka-cert-options.md
Last active September 15, 2023 16:33
kafka certificate options

Does this remind anyone else of the Emo Philips Northern Conservative Baptist Great Lakes Region Council of 1912 joke?

Format Base64 Encoded Java Client Compatible Kcat Compatible Benthos Compatible YAML Config Compatible
JKS File
PKCS12 File
PKCS8 PEM String
PKCS8 PEM Unencrypted File
PKCS1 Encrypted PEM File
PKCS8 Encrypted PEM File (MD5 DES-CBC)
@dtanner
dtanner / convert.main.kts
Last active April 19, 2023 20:03
Kotlin script to generate GitHub Actions README documentation from Action inputs
#!/usr/bin/env kotlin
@file:DependsOn("com.fasterxml.jackson.module:jackson-module-kotlin:2.14.2")
@file:DependsOn("com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.14.2")
@file:DependsOn("com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.14.2")
@file:DependsOn("com.fasterxml.jackson.core:jackson-databind:2.14.2")
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory
import com.fasterxml.jackson.module.kotlin.KotlinModule
@dtanner
dtanner / date-time-naming.md
Created November 9, 2022 05:15
Date/Time Naming Conventions

date/time naming conventions

Type Description Recommended Suffix Sample Name Sample Printed Value
Instant A date-time without time-zone, fixed to UTC timestamp created_timestamp 1970-01-01T00:00:00Z
ZonedDateTime A date-time with time-zone specified date_time start_date_time 1970-01-01T00:00:00-06:00
LocalDate A date without time-zone date birth_date 2000-01-29
LocalTime A time without time-zone time start_time 08:34 AM
@dtanner
dtanner / worker.js
Last active December 18, 2020 15:03
MORC Trail Conditions Cloudflare Reformatter
/*
The https://trails.morcmtb.org/ site has way too much crap that I don't care about.
I just want to quickly see what trails are open.
This is a cloudflare worker that hits the trails API and builds a concise HTML view of the conditions.
It could just be statically hosted javascript, but this was also an excuse to try out workers.
*/
addEventListener("fetch", event => {
return event.respondWith(handleRequest())
})
@dtanner
dtanner / Arduino Debug Build
Created November 3, 2020 23:45
Log output of a working Arduino build with debug compile and upload flags
/Applications/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/dan/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/dan/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/dan/Documents/Arduino/libraries -fqbn=adafruit:nrf52:feather52832:softdevice=s132v6,debug=l0 -vid-pid=0000_0000 -ide-version=10813 -build-path /var/folders/sc/42wc3xvs0jj_vp49xs3rvd8d5hhbjh/T/arduino_build_612855 -warnings=none -build-cache /var/folders/sc/42wc3xvs0jj_vp49xs3rvd8d5hhbjh/T/arduino_cache_42512 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.nrfjprog.path=/Users/dan/Library/Arduino15/packages/adafruit/tools/nrfjprog/9.4.0 -prefs=runtime.tools.nrfjprog-9.4.0.path=/Users/dan/Library/Arduino15/packages/adafruit/tools/nrfjprog/9.4.0 -prefs=runtime
@dtanner
dtanner / Test.groovy
Created August 24, 2012 17:00
Examples of overriding groovy instance and static methods
class Test {
void method1() {
println 'In method1'
}
void method1(String foo) {
println "In method1 with String param of $foo"
}
static method2(String foo) {
from __future__ import print_function
from math import ceil, log
print("\n Welcome to Up-To-9-Cards Game!")
print("\n================================\n")
def get_cards():
valid_count = 0
import java.lang.Math.ceil
import java.lang.Math.pow
import kotlin.math.log2
fun main() {
println("\n Welcome to Up-To-9-Cards Game!")
println("\n================================\n")
displayCards(getCards())
println("\n\nDone!\n")
#include <stdio.h>
#include <math.h>
#include <string.h>
#define NUMCARDS 9
#define PRODUCTION 1 /** 0=debug-mode | 1=production mode **/
int getCards(int *);
void displayCards(int *, int);
int getSuit(int codedNumber);
@dtanner
dtanner / Config.groovy
Created April 30, 2015 05:32
Example of loading a Grails configuration value from etcd
import groovy.json.JsonSlurper
dataSource {
// most properties are directly set
pooled = true
// ...
// the url is retrieved from etcd...make sure the etcd resource is properly protected
def jsonSlurper = new JsonSlurper()
def catalogUrlConfig = jsonSlurper.parseText(new URL("http://etcdlocation:2379/v2/keys/dataSource/url").text)