Skip to content

Instantly share code, notes, and snippets.

View zwave-js-hank-scn04-4-button-remote.yaml
blueprint:
name: Hank Four-button Scene Controller
description: Create automations for Hank Electronics / Technisat 4-button remote using the ZWave-JS integration
domain: automation
input:
hank_scn04:
name: Hank Four-button Controller
selector:
device:
@rduplain
rduplain / grub_iso.sh
Last active Jul 23, 2021
Bootloader configuration for multiple .iso files on a USB drive.
View grub_iso.sh
#!/bin/sh
# Use grub to boot .iso files directly from /boot/iso.
#
# This file lives at /etc/grub.d/25_iso and is executable.
#
# Open .iso files to inspect internal /boot files for grub config hints.
# /boot is on the third partition of a gpt-partitioned USB drive.
ISO_PART_UUID="0a5086cd-8fdf-4ae0-a248-67411ebbbb18" # UUID of /boot `blkid`.
ISO_PART_NUMBER=3
@rduplain
rduplain / keybase.md
Created Jun 10, 2020
keybase.io GitHub identity
View keybase.md

Keybase proof

I hereby claim:

  • I am rduplain on github.
  • I am rduplain (https://keybase.io/rduplain) on keybase.
  • I have a public key ASBpT-VcyhSXJu1CXyxN0b1TgOZANozAJFVXKVeZSPaxjQo

To claim this, I am signing this object:

@rduplain
rduplain / dash.py
Last active Apr 22, 2020
Amazon Dash→LIFX Power
View dash.py
#!/usr/bin/env python
# Detect Amazon Dash button network broadcast, toggle LIFX power based on MAC.
#
# Usage, with Amazon Dash buttons connected to LAN WiFi (see below for setup):
#
# 0. Configure `BUTTONS` with MAC to LIFX selector & `LIFX` with token.
# 1. Configure network firewall to block WAN out from dash MAC.
# 2. Install dependencies with `pip install requests scapy` on Python 3.
# 3. Run as root.
#
@rduplain
rduplain / README.md
Last active Nov 28, 2019
Vagrantfiles for testing configuration management (Ansible).
View README.md

Vagrantfiles for testing configuration management (Ansible).

Overview

Configuration management that runs over SSH, namely Ansible, benefits in having test machines available on the network. The enclosed Vagrantfiles provide multiple virtual machines to run as guests on the developer's machine. The guests appear as hosts on the LAN, providing a local ephemeral cloud.

The virtual machines here are similar, but different. One provides **Ubuntu

@rduplain
rduplain / refresh-hosts.bash
Last active Nov 8, 2019
Refresh /etc/hosts file with unpublished IPv4 aliases.
View refresh-hosts.bash
#!/usr/bin/env bash
# Refresh /etc/hosts file with unpublished IPv4 aliases.
#
# Set /etc/hosts.alias with domain/alias pairs, one pair per line:
#
# example.com server-alias
# example.net another
#
# https://github.com/rduplain/hosts
@rduplain
rduplain / Vagrantfile
Last active Oct 18, 2019
Simple FreeBSD vagrant.
View Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.guest = :freebsd
config.vm.box = "freebsd/FreeBSD-11.3-RELEASE"
config.vm.box_version = "2019.07.05"
config.vm.box_check_update = false
@rduplain
rduplain / nginx-site-include.conf
Last active Nov 8, 2019
Configuration files for qwerty.sh deployment on a single server.
View nginx-site-include.conf
# qwerty.sh nginx configuration
#
# gzip is enabled, but only used by clients requesting it:
#
# curl -H 'Accept-Encoding: gzip,deflate' -sSL qwerty.sh
server {
listen 80;
server_name qwerty.sh www.qwerty.sh;
@rduplain
rduplain / becamp-2018-brand-refresh.md
Last active Sep 18, 2018
beCamp 2018 guest blog post for ButterCMS
View becamp-2018-brand-refresh.md

beCamp: Charlottesville's Annual Unconference (now using ButterCMS)

beCamp is like any of the best conferences you've attended. Multiple sessions at a time take place throughout the day, with a generous lunch break. The topics are relevant, current, and thought-out, whether presentations or round-table discussions. The differences? It's local to Charlottesville, it's free to attendees--including refreshments and meals--thanks to sponsors, and the entire agenda was created the night before by conference attendees.

That evening, 100+ optimists show up to meet each other, often for the first time, and pitch ideas. It works, every time. Attendees leave the event with inspiration unlike anything they expected, better than anything they expected.

Two things happen when attendees organize the agenda:

  1. Whatever topic of most interest to the room is the one currently in discussion.
  2. Whoever has perspective on the topic has an opportunity to take the floor.
View ClojureScript - Native Executables.ipynb
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.