Skip to content

Instantly share code, notes, and snippets.

View SamWhited's full-sized avatar

Sam Whited SamWhited

View GitHub Profile
SamWhited / go.mod
Last active June 27, 2021 11:50
XEP Deps
go 1.17
SamWhited / precisTests.go
Last active August 12, 2019 19:52
Run the test vectors from the Python version of Precis against the Go version
// Command precisTests opens test/golden.json from the python version of Precis
// and attempts to run them against the Go version.
// Right now Python 3.7.4 appears to use Unicode Version 11.
// This means this program should be run with Go 1.13 to use the same version.
// This is gotip as of this gist.
// To install gotip try something like this:
// go get
SamWhited / transactions.go
Last active August 20, 2022 11:41
Example of wrapping up database transactions with a closure.
package transaction
import (
// Exec creates a transaction and calls f.
// When it is finished, it cleans up the transaction. If an error occured it
// attempts to rollback, if not it commits.
SamWhited /
Last active December 21, 2020 12:21
Experience report about attempting to ensure compile time correctness of values using the type system

Faking Enumeration Types with Consts and Unexported Types

What I Wanted to Do

While working on an implementation of the wire protocol from a network standard, I needed to implement an error response. These errors may come in one of several flavors which is encoded and sent along with the error:

  • Cancel
SamWhited / .gitignore
Last active August 31, 2016 15:22
Jitsi Meet mod_token_auth ASAP test server
SamWhited / .block
Last active April 25, 2016 19:54
Go bcrypt benchmarks
license: gpl-3.0
SamWhited /
Created June 28, 2015 02:52
Keybase verification

Keybase proof

I hereby claim:

  • I am SamWhited on github.
  • I am samwhited ( on keybase.
  • I have a public key whose fingerprint is 9761 51DE E472 01CE 4A85 9F70 5408 3AE1 04EA 7AD3

To claim this, I am signing this object:

SamWhited / Makefile
Last active August 29, 2015 14:22
Print all cameras supported by the currently linked version of libraw
.PHONY: build
all: cameras
cameras: cameras.c
gcc -I/usr/include/libraw $< -o $@ -lraw
SamWhited / thinklight.go
Created May 30, 2015 22:38
Turn on or off the ThinkLight (or keyboard backlight) on various ThinkPad laptops
package main
import (
func btoi(n bool) byte {
if n {
SamWhited /
Created February 2, 2015 13:43
Ciphers supported in Android (Conversations prefered order first, then system ciphers)

Android 4.4:

02-02 08:40:53.293    2514-2530/eu.siacs.conversations D/conversations﹕ Using