Skip to content

Instantly share code, notes, and snippets.


Dan Tanner dtanner

  • Target
  • Minneapolis MN US
View GitHub Profile
dtanner /
Created Nov 9, 2022
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 /
Last active Jan 12, 2023
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 / Arduino Debug Build
Created Nov 3, 2020
Log output of a working Arduino build with debug compile and upload flags
View Arduino Debug Build
/Applications/ -dump-prefs -logger=machine -hardware /Applications/ -hardware /Users/dan/Library/Arduino15/packages -tools /Applications/ -tools /Applications/ -tools /Users/dan/Library/Arduino15/packages -built-in-libraries /Applications/ -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
dtanner / worker.js
Last active Dec 18, 2020
MORC Trail Conditions Cloudflare Reformatter
View worker.js
The 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())
from __future__ import print_function
from math import ceil, log
print("\n Welcome to Up-To-9-Cards Game!")
def get_cards():
valid_count = 0
View game-example.kt
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!")
View game-example.c
#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 / ratpack-config-usage.groovy
Created Apr 18, 2016
Example of bad vs good ratpack configuration usage
View ratpack-config-usage.groovy
// a config class with a default value
class LogConfig {
boolean logRequestBody = false
// in ratpack, the LogConfig is bound with a prefix of `/logging`
Ratpack.groovy {
bindings {
bindInstance(serverConfig.get('/logging', LogConfig))
dtanner / DateManipulation.groovy
Created Apr 12, 2016
Example showing some java.time date manipulation
View DateManipulation.groovy
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
LocalDate localDate =
println localDate // 2016-04-12
println localDate.plusMonths(1).withDayOfMonth(1) // 2016-05-01
println localDate.minusMonths(1).with(TemporalAdjusters.lastDayOfMonth()) // 2016-03-31
View LocalAndZonedDates.groovy
import java.time.LocalDate
import java.time.ZonedDateTime
import java.time.ZoneId
import java.time.format.DateTimeFormatter
import java.time.temporal.TemporalAdjusters
// If you have a date without time information, use a LocalDate. e.g. someone's birthday
LocalDate localDate = new LocalDate(2016, 4, 12)
println localDate.toString() // 2016-04-12