Skip to content

Instantly share code, notes, and snippets.

View boneskull's full-sized avatar
💀

Christopher Hiller boneskull

💀
View GitHub Profile
@boneskull
boneskull / README.md
Last active March 30, 2025 15:33
workaround for Empyrion workshop subscription limit (bash/shell/WSL)

There are many threads about this, but in a nutshell, the problem is that only a relatively small number of subscriptions can be shown in the blueprint library. I found myself having subscribed to some 700-odd blueprints before I realized this.

The workaround is to just copy the workshop blueprints into the game's blueprints folder. Each workshop blueprint is in its own folder, and only the files in those folders should be copied. But with 700 blueprints, doing this manually is unappealing.

I did this with a Bash script instead. It can be done with a one-liner, but I've split it up a bit to hopefully make it more approachable. Maybe there's an easier way?

Before starting, you'll need to determine:

  • The workshop download directory for Empyrion. On my system this is C:\Program Files (x86)\Steam\steamapps\workshop\content\383120. You may have to do some poking around, since I'm not sure if the number is constant.
  • The blueprint directory. On my system this is `C:\Program Files (x86)\Steam\ste
@boneskull
boneskull / README.md
Last active November 8, 2021 20:07
appium 2 config system technical outline

Appium 2 Configuration System

Appium 2 supports configuration files. A configuration file is intended to have (nearly) 1:1 parity with command-line arguments. An end user can supply Appium 2 with a configuration file, CLI args, or both (the args have precedence over the config file).

This document will be a technical overview of how the configuration system works. It is intended for Appium contributors, but will also explain the system's fundamental features.

Reading a Config File

A config file is a JSON, JavaScript, or YAML file which can be validated against a schema. By default, this file will be named .appiumrc.{json,js,yaml,yml} and should be in the root of the project which depends upon appium. Other filenames and locations are supported via the --config <file> flag. For obvious reasons, the config argument is disallowed within config files.

@boneskull
boneskull / terraria-wld.tcl
Last active March 2, 2020 20:55
HexFiend template for Terraria .wld files
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
boneskull / nodejs.yml
Created August 13, 2019 23:17
sample node ci/cd config
name: Node CI
on: [push]
jobs:
build:
name: Test on node ${{ matrix.node_version }} and ${{ matrix.os }}
runs-on: ubuntu-latest
strategy:
matrix:
@boneskull
boneskull / readme.patch
Created June 27, 2019 04:59
patch file of CPC README.md reformatted with prettier action
From 3ad9624604c21f3b11000cdcdc4034e1cb45b26d Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Thu, 27 Jun 2019 04:44:25 +0000
Subject: [PATCH] prettier: lint fix
---
README.md | 64 +++++++++++++++++++++++++++----------------------------
1 file changed, 32 insertions(+), 32 deletions(-)
@boneskull
boneskull / README.md
Last active March 23, 2025 09:36
Run glances webserver as a user service (agent) on macOS

com.boneskull.glances-web

This launch agent will automatically start a glances web server

Installation

  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//
@boneskull
boneskull / README.md
Last active February 26, 2019 04:48
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
boneskull / README.md
Created January 8, 2019 23:00
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
boneskull / README.md
Created July 26, 2018 22:39
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
boneskull / README.md
Last active November 12, 2021 22:45
MicroPython on ESP32: MQTT and DS18B20 temperature sensor full example