Skip to content

Instantly share code, notes, and snippets.

@astoeckel
astoeckel / mount.qcow2
Last active May 9, 2025 18:49
Mounts a LUKS encrypted QCOW2 image
#!/bin/bash
QCOW2_ACTION="$1"
QCOW2_FILENAME="$2"
QCOW2_MOUNTPOINT="$3"
if test -z "$QCOW2_ACTION" || test -z "$QCOW2_FILENAME" || test -z "$QCOW2_MOUNTPOINT"; then
echo "Usage: mount.qcow2 <mount|unmount> <FILENAME> <MOUNTPOINT>";
exit 1
fi

How to setup a practically free CDN using Backblaze B2 and Cloudflare

⚠️ Note 2023-01-21
Some things have changed since I originally wrote this in 2016. I have updated a few minor details, and the advice is still broadly the same, but there are some new Cloudflare features you can (and should) take advantage of. In particular, pay attention to Trevor Stevens' comment here from 22 January 2022, and Matt Stenson's useful caching advice. In addition, Backblaze, with whom Cloudflare are a Bandwidth Alliance partner, have published their own guide detailing how to use Cloudflare's Web Workers to cache content from B2 private buckets. That is worth reading,

@redmcg
redmcg / kubedf
Last active September 5, 2025 15:25
Bash script to show k8s PVC usage
#!/usr/bin/env bash
NODESAPI=/api/v1/nodes
function getNodes() {
kubectl get --raw $NODESAPI | jq -r '.items[].metadata.name'
}
function getPVCs() {
jq -s '[flatten | .[].pods[].volume[]? | select(has("pvcRef")) | '\
@guedressel
guedressel / postgres-privileges-cheat-sheet
Last active September 24, 2021 19:31
Boilerplate DCL statements handy for PostgreSQL databases
CREATE DATABASE test OWNER postgres;
# connect to db test and stay connected for rest of statements in this file.
\c test
# prevent unauthorized access
REVOKE ALL ON DATABASE test FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM PUBLIC;
# create "groups" (read: ROLES)
@abhi9bakshi
abhi9bakshi / tincan_moodle_learninglocker_setup.md
Last active June 1, 2022 08:15
Setting Up TinCan API with Moodle LMS and Learning Locker LRS in Ubuntu 16.04

#Setting Up TinCan API with Moodle LMS and Learning Locker LRS

#Part 1: Virtual Container

Before we get our hands dirty with the entire setup, it is necessary to ensure we do not mess with the existing installation. Setting up and configuring a local server is tricky and may sometimes break your existing configuration rendering other programs which rely on it useless. So we will use LXC to create a virtual container, where we will do all good stuff. You can read the official LXC documentation here or a brief introduction about LXC here or get started right away with the commands below.

sudo apt-get install lxc lxd-client
sudo lxc-create -t download -n LMSprototype
@bitdivine
bitdivine / inf_refresh_recursive.sql
Last active October 14, 2019 04:38
Refresh postgres materialized views recursively
-- Refresh materialized views recursively
-- DEPENDS:
-- List the tables that a view depends on.
-- Thanks to Dave: http://stackoverflow.com/questions/4229468/getting-a-list-of-tables-that-a-view-table-depends-on-in-postgresql
create or replace function inf_view_dependencies(v text)
returns table (kind text, name text) as $$
SELECT cl_d.relkind::text as kind
, cl_d.relname::text AS name
FROM pg_rewrite AS r
@nemotoo
nemotoo / .gitattributes
Last active December 2, 2025 14:40
.gitattributes for Unity3D with git-lfs
## Unity ##
*.cs diff=csharp text
*.cginc text
*.shader text
*.mat merge=unityyamlmerge eol=lf
*.anim merge=unityyamlmerge eol=lf
*.unity merge=unityyamlmerge eol=lf
*.prefab merge=unityyamlmerge eol=lf
@btroncone
btroncone / ngrxintro.md
Last active November 22, 2025 23:04
A Comprehensive Introduction to @ngrx/store - Companion to Egghead.io Series

Comprehensive Introduction to @ngrx/store

By: @BTroncone

Also check out my lesson @ngrx/store in 10 minutes on egghead.io!

Update: Non-middleware examples have been updated to ngrx/store v2. More coming soon!

Table of Contents

@mattyb149
mattyb149 / GroovyJsonToJsonExample.xml
Last active January 21, 2019 23:23
An Apache NiFi template to transform a JSON document from one schema to another
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><template><description>This template illustrates how to use the ExecuteScript processor with Groovy to perform JSON-to-JSON transformations</description><name>GroovyJsonToJsonExample</name><snippet><connections><id>09e8aa98-c9b8-43f0-afbd-513f1d417061</id><parentGroupId>67fb1165-c100-47df-bde3-aa0a4f57af67</parentGroupId><backPressureDataSizeThreshold>0 MB</backPressureDataSizeThreshold><backPressureObjectThreshold>0</backPressureObjectThreshold><destination><groupId>67fb1165-c100-47df-bde3-aa0a4f57af67</groupId><id>8e8aa799-d1ab-4f97-ab35-b06a5a104ae2</id><type>PROCESSOR</type></destination><flowFileExpiration>0 sec</flowFileExpiration><labelIndex>1</labelIndex><name></name><selectedRelationships>success</selectedRelationships><source><groupId>67fb1165-c100-47df-bde3-aa0a4f57af67</groupId><id>b52a6649-9570-4db5-8541-d5c0302007c0</id><type>PROCESSOR</type></source><zIndex>0</zIndex></connections><connections><id>b032a9c3-c1d7-4e62-9646-25fe680a0957</id><p
@issacg
issacg / vlt-aws2consul.js
Last active February 25, 2016 21:48
Script to replicate vault storage from S3 to consul. Expects consul-agent on localhost:8500 and for AWS credentials to be set via environment/credential file/EC2 role
var _ = require('lodash'),
Promise = require('bluebird'),
consul = require('consul'),
logger = require('log4js').getDefaultLogger(),
AWS = require('aws-sdk');
var bucket = 'my.vault.main',
prefix = '',
region = 'us-west-2',