Skip to content

Instantly share code, notes, and snippets.

View mikebirdgeneau's full-sized avatar

Mike Birdgeneau mikebirdgeneau

View GitHub Profile
@mikebirdgeneau
mikebirdgeneau / alberta_covid19_wastewater.R
Created October 3, 2023 17:24
Alberta COVID19 Wastewater Chart in R
library(data.table)
library(jsonlite)
library(ggplot2)
library(jsonlite)
library(glue)
tmpfile <- tempfile(fileext = ".json")
download.file("https://chi-covid-data.pages.dev/aplWasteWaterAbData.json",tmpfile)
json_data <- jsonlite::read_json(tmpfile)$data
@mikebirdgeneau
mikebirdgeneau / cbe_education_funding_2013_2022
Created April 21, 2023 15:26
Calgary Board of Education Funding
# CBE Funding (2015-2023)
library(data.table)
library(httr)
library(readxl)
library(ggplot2)
cbe_funding <- data.table()
# https://cbe.ab.ca/about-us/budget-and-finance/Documents/Budget-2022-23.pdf
cbe_funding <- rbindlist(list(cbe_funding,data.table(year=2022,revenue=1371098, goa_revenue=1237391+50783)))
@mikebirdgeneau
mikebirdgeneau / README.md
Created May 8, 2022 14:15 — forked from pamolloy/README.md
Ubiquiti USG configuration for Wireguard

Download the latest ugw3 package from https://github.com/Lochnair/vyatta-wireguard/releases and install it on your USG using dpkg -i wireguard-ugw3-<version>.deb.

cd /config/auth
umask 077
mkdir wireguard
cd wireguard
wg genkey > wg_private.key
wg pubkey < wg_private.key > wg_public.key
@mikebirdgeneau
mikebirdgeneau / ha_dynamic_lighting_blueprint.yaml
Last active March 21, 2022 14:33
HomeAssistant Dynamic Lighting Blueprint
blueprint:
name: Smart light dimmer w motion
description: |
Version 0.1
Dim or turn off light based on the value of a light sensor & motion
source_url: https://gist.github.com/mikebirdgeneau/70fc7aa307a17a34bc7eb92e158c2128
domain: automation
input:
light_sensor_entity:
name: Light Sensor
@mikebirdgeneau
mikebirdgeneau / output-v0.log
Last active January 23, 2021 19:29
Native Instruments - Archlinux Wine Install
❯ wine .wine/drive_c/Program\ Files/Native\ Instruments/Native\ Access/Native\ Access.exe >> native_access_wine.log
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
00f4:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (000000000021FB40 1 C) semi-stub
00f4:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (000000000021FBF8 1 C) semi-stub
00f4:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (000000000021FCD0 1 C) semi-stub
00f4:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented.
00f4:fixme:ntdll:NtQueryInformationToken QueryInformationToken( ..., TokenElevation, ...) semi-stub
00f4:fixme:file:NtLockFile I/O completion on lock not implemented yet
00f4:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (000000000021CCB0 1 C) semi-stub
library(gstat)
library(sp)
library(lattice)
library(data.table)
library(ggplot2)
# Create Data Points (Random)
n <- 50
data3D <- data.frame(x = runif(n), y = runif(n), z = runif(n), v = rnorm(n))
coordinates(data3D) = ~x+y+z
@mikebirdgeneau
mikebirdgeneau / keybase.md
Created September 19, 2017 12:04
Keybase

Keybase proof

I hereby claim:

  • I am mikebirdgeneau on github.
  • I am mikebirdgeneau (https://keybase.io/mikebirdgeneau) on keybase.
  • I have a public key ASBq5JoSE_gmzc7c_R7AsWNZv4X0nd6hN2-Y1qZDrNai8wo

To claim this, I am signing this object:

@mikebirdgeneau
mikebirdgeneau / mvtbetapert.R
Created December 22, 2016 14:34
Multivariate Beta Pert Distribution
#' Multivariate Beta PERT distributions
#'
#' @description Generates random deviates from correlated (modified) pert distributions.
#' this is performed by remapping correlated normal distributions to the beta pert
#' distributions using quantiles.
#'
#' @param n Number of observations. If length(n) > 1, the length is taken to be the number required.
#' @param min Vector of minima.
#' @param mode Vector of modes.
library(data.table)
library(sp)
library(ggplot2)
library(broom)
library(gridExtra)
set.seed(1)
# Set-up Dummy Data (for example)
n <-
@mikebirdgeneau
mikebirdgeneau / 3d_kriging_cgs.R
Created September 20, 2016 13:08
3D Kriging with Conditional Gaussian Simulation in R
library(gstat)
library(lattice)
# Create Data Points (Random)
n <- 50
data3D <- data.frame(x = runif(n), y = runif(n), z = runif(n), v = rnorm(n))
coordinates(data3D) = ~x+y+z
# Create empty grid to krige
range1D <- seq(from = 0, to = 1, length = 20)