Skip to content

Instantly share code, notes, and snippets.

View marshall's full-sized avatar

Marshall Culpepper marshall

View GitHub Profile
marshall /
Last active November 6, 2020 19:39
Dump a Brave extension's LevelDB json data from command line
set -e
EXTENSION=${EXTENSION:-odbfpeeihdkbihmopkbjmoonfanlbfcl} # default is Crypto Wallets
PROFILE=${PROFILE:-"$HOME/Library/Application Support/BraveSoftware/Brave-Browser-Nightly"} # default nightly profile
if which jq 1>/dev/null 2>/dev/null; then
marshall /
Created October 16, 2020 22:54
Brave + BitGo rebase notes
marshall / kubos_cargo.zsh
Created June 5, 2019 21:48
get_cpu_count() {
python -c 'import multiprocessing as mp; print(mp.cpu_count())'
kubos_cargo() {
# NOTE: this assumes we're building something that's a subdir of $HOME/Code
typeset -a o_target
o_projects=(--project "$PWD")
marshall /
Last active March 28, 2019 19:51
KubOS Linux CLA

Harmony Individual Contributor Assignment Agreement

Thank you for your interest in contributing to Kubos Corporation (“We” or “Us”).

This contributor agreement (“Agreement”) documents the rights granted by contributors to Us. To make this document effective, please sign it and send it to Us by mail, email, fax, or electronic submission, following the instructions at This is a legally binding document, so please read it carefully before agreeing to it. The Agreement may cover more than one software project managed by Us.


“You” means the individual who Submits a Contribution to Us.

marshall /
Last active November 27, 2018 12:09
Tupper's self referential formula K-value generator from any bitmap

I blame Sunil

Explanation on Numberphile

$ ./ kubos-logo.jpg
Tupper K: 4851370081043797069526117009366050436467169751191993569135606414438862155770371453584241289040123540835764290480748106579297469000745823841698473083200214756261314470995838411716498141137319883748891932220617163646559245337601667812194386638446130000791689630544645547109043549304112488869690412062712162943919296994357984460429601612633008740350419376958008239159705920690443436571886095990169981093140964956940930188836731629337704527351542629178213799422991411377275182604582346155731146214167261974801893205797483642065625014903535782819823

Test your number here!

For reference, my company's logo (the test above) looks pretty cool in monochrome!

diff --git a/hal/kubos-hal-stm32f4/source/malloc_check.cmake b/hal/kubos-hal-stm32f4/source/malloc_check.cmake
new file mode 100644
index 0000000..3f8ea04
--- /dev/null
+++ b/hal/kubos-hal-stm32f4/source/malloc_check.cmake
@@ -0,0 +1,3 @@
+check_c_source_compiles("#include <reent.h>\nvoid __malloc_lock(struct _reent *r){}\n void __malloc_unlock(struct _reent *r){}int main(){return 0;}" USE_MALLOC_LOCK)
diff --git a/hal/kubos-hal-stm32f4/source/syscalls.c b/hal/kubos-hal-stm32f4/source/syscalls.c
marshall /
Created May 17, 2016 16:18
Anarduino MiniWireless RF96W prototype

Requires installation of the RadioHead library into Arduino IDE 1.7 to talk to the HopeRF chip embedded on the Anarduino MiniWireless-96-433

Before trying to program the board, in the Arduino menu, select Tools > Board > Arduino Pro or Pro Mini

#!/usr/bin/env python
# poor man's "lsusb -d" for Mac OS X
import argparse
import plistlib
import subprocess
import sys
devices = []
def add_device(item):
if '_items' in item:
marshall /
Last active August 29, 2015 14:20
Links from my Austin IoT presentation
marshall / example.js
Last active August 29, 2015 14:03
All FxOS apps as JSON
var schemes = {
"app:": "A",
"http:": "H",
"https:": "S",
"file:": "F"
var domains = {
"": "G"