Skip to content

Instantly share code, notes, and snippets.

@edrd-f
edrd-f / Dockerfile
Created September 2, 2022 20:21 — forked from macedd/Dockerfile
Docker X11 Forwarding
FROM debian:jessie
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install -y x11-apps
@edrd-f
edrd-f / Machinery.kt
Last active February 6, 2021 16:34
Cross-cutting concerns + dependency injection
package edrd
import java.util.WeakHashMap
import java.util.logging.Logger
import kotlin.random.Random
import kotlin.reflect.KClass
import kotlin.reflect.KProperty
import kotlin.system.measureTimeMillis
class Logging {
@edrd-f
edrd-f / FixedUUID.kt
Created November 27, 2020 14:54
Property delegator for generating fixed UUIDs for tests
import java.util.UUID
import kotlin.reflect.KProperty
/**
* Returns a UUID that's always the same for the given property.
*
* Sample usage:
*
* val someId by FixedUUID // --> UUID.nameUUIDFromBytes("someId".toByteArray())
*
class Configuration() {
private val allowedValueTypes = listOf(String::class, Int::class)
private val values = HashMap<String, Any>()
class InvalidArgumentError(override val message: String) : Exception(message)
fun set(name: String, value: Any) {
if (notAllowedValueType(value)) {
throw InvalidArgumentError("Type is ${value::class.simpleName}")
}
# Add a binding.pry call to the place to be inspected
binding.pry
# Check caller stack, keeping only application code
caller.grep_v(/\.rbenv/)
@edrd-f
edrd-f / strexp.zsh
Created September 22, 2018 14:16
ZSH String Expansion
typeset -A strExpansions=(
"rs" "rails server"
"rc" "rails console"
"be" "bundle exec"
"bi" "bundle install"
"gs" "git status"
"gl" "git log"
"gd" "git diff"
"gdh" "git diff HEAD"
"gpl" "git pull"
@edrd-f
edrd-f / live
Created September 13, 2018 15:26
Simple script based on `modd` to open a file in the editor which when saved will execute the given command.
#!/bin/bash
# Usage: ./live ruby script.rb
configFile=$(mktemp)
cat > $configFile <<END
$2 {
prep +onchange: $1 @mods
}
@edrd-f
edrd-f / note-toggle.js
Created June 4, 2018 14:33
Apple Logic MIDI script to toggle notes
var notesOn = [];
function isNotePlaying(event) {
for (var i = 0; i < notesOn.length; i++) {
if (notesOn[i] && notesOn[i].pitch == event.pitch) {
return i;
}
}
return false;
int THRESHOLD = 200;
void setup() {
Serial.begin(115200);
}
void loop() {
int lastValue = 0;
int sensorValue = analogRead(A0);
@edrd-f
edrd-f / clear-and-run
Last active March 24, 2018 22:11
nodemon for development with languages other than JavaScript
#!/bin/bash
clear
ruby app.rb