Skip to content

Instantly share code, notes, and snippets.

View blip2's full-sized avatar

Ben Hussey blip2

View GitHub Profile
@blip2
blip2 / keybase.md
Created April 30, 2023 14:26
keybase.md

Keybase proof

I hereby claim:

  • I am blip2 on github.
  • I am blip2 (https://keybase.io/blip2) on keybase.
  • I have a public key ASCQssv-dtTwySvFWNlvVQxn6rLKNTu02pqWm6gL-auidgo

To claim this, I am signing this object:

@blip2
blip2 / deepsea-nodered-v3.json
Created July 25, 2022 19:05
Node red export to poll a deep-sea generator using modbus TCP and push data out to MQTT
[
{
"id": "f6f2187d.f17ca8",
"type": "tab",
"label": "Generator Modbus",
"disabled": false,
"info": ""
},
{
"id": "d48f79b6327932c7",
@blip2
blip2 / Dockerfile
Created October 3, 2020 11:41
Docker Compose setup for Vue.js frontend, Django backend
FROM python:3.8 as pip-build
RUN pip install --upgrade pip
WORKDIR /wheels
COPY ./server/requirements.txt ./
RUN pip wheel -r requirements.txt
FROM python:3.8 as server-build
WORKDIR /server/
import os
import pip
import ctypes, sys
def is_admin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
import os
import pip
import ctypes, sys
def is_admin():
try:
return ctypes.windll.shell32.IsUserAnAdmin()
except:
return False
@blip2
blip2 / bluebeam_masher.py
Created February 23, 2018 04:39
Script for mashing data in and out of bluebeam PDFs
import glob
import re
import argparse
import csv
'''
Bluebeam Markup Masher
Takes all markup objects in a document with a subject that isn't "Text Box"
and exports the values to a CSV. A new value can be listedin the CSV
@blip2
blip2 / bax_zlib.py
Last active July 27, 2023 14:59
Bluebeam .bax Editing
# Updated to work with python3 and use codecs rather than binascii
hex_string = "789cad534d6fda4010fd2b2bf710a38a9dddb5f1578d23c041899a3411384d2a94c3621670e5afae9700fdf55d9ba6a2520f39d4960f33f33cf366de4c18423c3209228822b9419064856810652859f7e02681a91422110735e1795eed14c473735d952a401db03fab0a5e6a78ad3e21a5617d9e679b32c8c55a3b0a2e375919586d30cf4ad1df8a6cb35501b5b0d7fad22aaf64f081744f0f66f1628007a8fd2c86a94d998d3c1f3b03c7755f6072bb608e873dc7f7913d1860cb755dc4988d2de6b9c8d2409b11ffcce332ccb4e7051251d4e371755850dfc77e1b6336c136711073759e2ea143b1e7b6656eafe0be16e548ca6a0f89b91425deee9a461c7b309182abac2a63ae8419078c508f5036203e7198f791920b422e74171333bc3c14397a15b2d1e8a14131312ea37059ad8e4807ca2638acf9d0d82a550700fbfd1e6b1b5772034dba1505076df6575c71d07f8281b419a47ae6a254c9b11643a31d346c55919f62a3879baf6fb5c6f94e2c052f1ee2e94cbcee5a922e26989113b4a9453a34f4603425d4a863aeb37572fe6f358d53a77f75b9b7ba26b50a3e1c3afa51589fb3e8af7991e5c77332ff2ed5819beca7085aae4634e6326b1447f39aa702f591a62e79aad03ecb73b414488a1fbb4c8a5508