Skip to content

Instantly share code, notes, and snippets.


Christopher Hiller boneskull

View GitHub Profile
boneskull / terraria-wld.tcl
Last active Mar 2, 2020
HexFiend template for Terraria .wld files
View terraria-wld.tcl
proc tile_entity {} {
set tile_entity_type [uint8]
int32 "ID"
int16 "x"
int16 "y"
if {$tile_entity_type == 0} {
int16 "Target Dummy"
} elseif {$tile_entity_type == 1} {
itemstack ""
} elseif {$tile_entity_type == 2} {
boneskull / nodejs.yml
Created Aug 13, 2019
sample node ci/cd config
View nodejs.yml
name: Node CI
on: [push]
name: Test on node ${{ matrix.node_version }} and ${{ matrix.os }}
runs-on: ubuntu-latest
boneskull / readme.patch
Created Jun 27, 2019
patch file of CPC reformatted with prettier action
View readme.patch
From 3ad9624604c21f3b11000cdcdc4034e1cb45b26d Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
Date: Thu, 27 Jun 2019 04:44:25 +0000
Subject: [PATCH] prettier: lint fix
--- | 64 +++++++++++++++++++++++++++----------------------------
1 file changed, 32 insertions(+), 32 deletions(-)
boneskull /
Last active Jun 20, 2019
Run glances webserver as a user service (agent) on macOS


This launch agent will automatically start a glances web server


  1. Install Homebrew.
  2. Install glances. Execute brew install glances.
  3. Copy the .plist file in this gist into ~/Library/LaunchAgents/.
  4. EDIT the .plist: change /Users/boneskull/ to /Users/<you>/
boneskull /
Last active Feb 26, 2019
OpenVPN client + Deluge daemon setup

This is my setup which automatically binds Deluge to the IP assigned by the OpenVPN server.

Assumes OpenVPN client uses the tun0 interface.

It's theoretically subject to race conditions, but have not had problems so far. There's probably a better way to do this, but I'm no systemd whiz.

Requires sponge be present (apt-get install sponge); was running into permissions problems when allowing sed to create a temp file.

Suggestions welcome!

boneskull /
Created Jan 8, 2019
sorts working copies into subdirs by GitHub org name

Given a directory full of working copies, like ~/projects, this script helps sort them into subdirectories based on org name. It inspects Git remote names and URLs to do so.

Currently doesn't handle forks very well, because git doesn't know what a fork is.

NOTE TO SELF: Hub is helpful. Use hub clone and hub fork --remote-name=origin rather than clicking the big green "Fork" button, as this sets up origin/upstream remotes properly.

boneskull /
Created Jul 26, 2018
How to Use an ESP8266 w/ Johnny-Five

How to Use an ESP8266 w/ Johnny-Five by boneskull

Prerequisite Software

  • Node.js v8.x
  • Arduino IDE v1.8.5
  • CP2104 driver (found linked here)

A toolchain to build native modules may be required. windows-build-tools may be the quickest way to get setup on Windows. macOS users will need to install XCode; Linux users will need to install build-essential, python, and likely some other stuff.

Add ESP8266 Board Support to Arduino IDE

boneskull /
Last active May 17, 2021
MicroPython on ESP32: MQTT and DS18B20 temperature sensor full example

In this tutorial we're going to build a set of parser combinators.

What is a parser combinator?

We'll answer the above question in 2 steps

  1. what is a parser?
  2. and.. what is a parser combinator?

So first question: What is parser?

boneskull / .babelrc
Created Dec 11, 2017
minimal mocha + babel setup to show import/export working
View .babelrc
"presets": ["env"]