Skip to content

Instantly share code, notes, and snippets.

@bitnetwork
bitnetwork / ps1.sh
Created September 12, 2019 02:25
A decently nice colored prompt. Drop this file somewhere and source it in your .bashrc.
PROMPT_COMMAND=_prompt_command
_prompt_command() {
local exit="$?"
PS1="$exit"
# Use unicode characters in prompt
ALTERNATE_CURVE=0
@bitnetwork
bitnetwork / ddn.json.gzip.b64
Last active July 11, 2019 06:53
Factorio decentralised train distribution network.
0eNrtXd2Oo0YWfpWRL3ftWeoPcGszUv9MpEjZXMzkLoosbDPdaLCxMJ5sK+oHyHvsvtg+yYJpu2moos4pCtw97Vykx6Yow6nzf7469edoHu/CTRqts9k8Sb6OLv58+mY7uvit8rG4Fi2Sdfn1NrpdB3HxXXa/CUcXoygLV6PxaB2sik9xskhWSRZ9C0cP41G0Xob/Hl2Qh7Hkxm9Rmu3yb473liMm15U7KerOnyt3MtSdP1Xu5A+/j0fhOouyKCzfef/hfrbereZhmr/O8e6CKlmwzib5S8+jdZAlaT71Jtnm9ybr4nfz+SbueHSf/8mpMFpGabgor/FxcXuWJvFsHt4F36L83vyGL1GchamC1qrH/1g8/iLZFYtFKmTPXyTazopf+xLE23A/aL0un2BbzEuK/6XhsvqaUf4pf+RFlC52Ubb/SIuZbtMwXOsHPjwUlK+RjB6feBkuomWYQijmvBcgkj1OOcuvLaPjq32J0m0207BrlCbrySYOsrCkYLmc+U8XH1abIN0/4MXoh/yWZJdtdpIZVYsSfgvT++wuWt+Wc2/uZ/slmn1Jk9UsWueTHdZFsTBSivM6xcfPLk/zFRiPKGxdiWK5GJLDee8cfqPgcIyQf5bOgVMxhVaUTsP2dAeKF/Eb66CQL8oUS8RxEsX7kygVqX61L1Kf+5Wko+RAhpOa4FHNZQ7TlAIpesKa6LVrxj27u0Iw11D6Li1IX7ku3cXPgZo3T7FKLk76xIuTvg8G0vfRVPokS0CVsidbr5osgbVn/UbCYfbPe3r1VRDHkzhYbSTLSp9kT7aOh186rqPBMl4+X0bSWMb88m4b5r8RJ4VgZ+kO4eYRpiSdqJNOZYj84yMHaZTdrcIsWrRLA0VJw9Os3QRiz73bsJhj9kTQSU7RZBPm9Nw/w+hvZnLx0MW1buN8p93bkzC0ypFwYKw/Pb7dKlxGu9UkjPOXSvM13SRxKFlN9kwIYJaXwp6leHskb7FeeavNRDZYqzCW4jl3Xf5yY8Bflyj+Ipo
@bitnetwork
bitnetwork / rail_book.json.gz.base64
Created July 5, 2019 07:38
Factorio rail blueprint book
0eNrcvc+SWzey7f0qjhqLDmQCG8Du2b23h2fW5446HIqSRMuMj1VSsFiKdjj8AP0g/WL9JJcs1R+K3NuV66c4X5uc2CHWBriZWAtAYmUmfrt6t75fft6sbrdv33369P9d/eW3l0/urv7y94N/7v+2ev/p9uvHd6uPt9fr/WfbXz8vr/5ytdoub67eXN1e3+z/tblera9+f3O1uv2w/MfVX+z3n95cLW+3q+1q+bX9wz9+fXt7f/Nuudk98Nzybrtr+/GX7eKhizdXnz/d7Vp9ut1/1a6nhZc3V7/u/l92vX9YbZbvv/7Rf39z0qnHO/VwpzneaQp3WsKdWg93OsQ7reFOa7zT+EC1eKfxgerxTuMDNYY7jY/T/uuDncbHyeKMio+TCYyKdxpmVHyYLEwo4T3DfBIMGqaTMPJhNgkQDZNJ4JKFySSw3sNkEuYnD5NJmEk9TCZhzvcwmYTVyeNsEgYqTCdlxX/h07vVx8VyvXt4s3q/+PxpvZya+IevPduu593O5vZr13f7P9v+P5vlh8PNymr3r9z2W5mPm+XydupPv/8+9Vbtm33R4nHvNPE++cfHN/Ifh29/bX14w+3m0/rtu+Uv119Wnzb7Vu9Xm/f3q+3b9+tPd8u3T5uyn6/Xd8s3z3/cLK8/PP9tu7lfzvzcyV/lfe5XHcwJN9fr9WJ9ffN56kfZtz/qD3/Gp9sPz41/Xm3utm9PNppfVpvt/YP5nr794YlFuvra+d32er9ZTft/3Hy+3lxv999x9e9//mv/wP3OTO8/rT9t7oAp2oEZHkbc5mzzMrXdLD+s7m9eheL4ZKSdtaZ6zClm7fFSjL2z7ZGxhxljZwsCMV0MEPuxbdKcbTxmm3YIv7OGTT42TZkzTRZNc/aM8lNGHX1Q52xVYrbqFwMjD88+g2ias4dROmXYm2MOztiqxmxVL8ZWs5ZoykYV7FO9zu5TfZblPbZPtfrn26bmce5HjSHM2eXw83hzUHzGNCWJu1RPr+xSS2wr5hezEyvH60SZI1e
@bitnetwork
bitnetwork / snap.py
Last active April 8, 2019 04:02
Recursively snap half of the frame's local variables in a fair and balanced way. This is not a practical module and will most definitly mess up your namespace.
def snap(amount=0.5, start_frame=None, self_snap=True):
"""
Recursively snap half of a frame local variables in a fair and balanced way.
Defaults to the callee's frame and also snaps self.
This is not a practical module and will most definitly mess up your namespace.
Self snap will have this module's scope also snap itself as to not discriminate.
"""
# imports are in this functions scope so they are deleted last
import inspect
import random
@bitnetwork
bitnetwork / unpack.py
Created February 24, 2019 02:48
A self unpacking python script.
"""
A self unpacking python script. Packs a tar archive into a python script, to be used in conjunction
with a standalone python compiler like PyInstaller, py2exe, py2app or cx_Freeze.
"""
import argparse
import base64
import sys
parser = argparse.ArgumentParser(
@bitnetwork
bitnetwork / ps1.sh
Last active October 30, 2018 05:25
My custom bash prompt and my bash run command script. ps1 should be sourced by your .bashrc
PROMPT_COMMAND=_prompt_command
_prompt_command() {
local exit="$?"
PS1="$exit"
# Use unicode characters in prompt
ALTERNATE_CURVE=0
@bitnetwork
bitnetwork / single-server.js
Created July 25, 2018 22:01
A barebone single file server.
const http = require("http");
const fs = require("fs");
const path = require("path");
const minimist = require("minimist");
let options = minimist(process.argv.slice(2), {
string: [
"file",
"port"
],
const minimist = require("minimist");
let args = minimist(process.argv.slice(2), {
string: ["id", "state", "details", "large", "small", "largetext", "smalltext"],
alias: {
i: "id", // client id
D: "state", // line 2 / state
d: "details", // line 1 / details
L: "large", // large image
S: "small", // small image
l: "largetext", // large tooltip

tmux cheatsheet

As configured in my dotfiles.

start new:

tmux

start new with session name:

class Pixel {
constructor(options = {}) {
this.character = options.character || null;
this.color = options.color || null;
this.background = options.background || null;
}
merge(pixel) {
if (pixel.character !== null) {
this.character = pixel.character;