Skip to content

Instantly share code, notes, and snippets.

@klmr
klmr / Makefile
Last active July 3, 2024 05:54
Self-documenting makefiles
# Example makefile with some dummy rules
.PHONY: all
## Make ALL the things; this includes: building the target, testing it, and
## deploying to server.
all: test deploy
.PHONY: build
# No documentation; target will be omitted from help display
build:
@ibrahima
ibrahima / dash-listen-3.py
Last active July 14, 2017 17:36
Amazon Dash Button ARP listener script (not written by me)
import socket
import struct
import binascii
# Written by Bob Steinbeiser (https://medium.com/@xtalker)
rawSocket = socket.socket(socket.AF_PACKET, socket.SOCK_RAW,
socket.htons(0x0003))
MAC = '74c24671971c'
@karpathy
karpathy / min-char-rnn.py
Last active June 28, 2024 06:13
Minimal character-level language model with a Vanilla Recurrent Neural Network, in Python/numpy
"""
Minimal character-level Vanilla RNN model. Written by Andrej Karpathy (@karpathy)
BSD License
"""
import numpy as np
# data I/O
data = open('input.txt', 'r').read() # should be simple plain text file
chars = list(set(data))
data_size, vocab_size = len(data), len(chars)
@mperham
mperham / gist:5f492a2233ed44d1bb2b
Last active April 16, 2024 12:31
Golang high-level crypto APIs

Go has a number of low-level crypto APIs which check off marketing bullet-points (got FIPS supprt, check!) but is missing an high-level API usable by mere mortal programmers. Imagine you want to create a document, sign it and verify that document later. Now check out Go's crypto APIs and give up in frustration after an hour of Googling.

The API should encapsulate a half-dozen common operations and make them as easy as possible. Avoid choice where possible, just pick something reasonably secure in 2014 for me and use it! I'm speaking specifically of a few basic actions (yes, this API is very naive/non-idiomatic), call it crypto/easy:

  • Create me a public/private key pair and save it to the filesystem.
// create and persist a keypair to the current directory.
// this is just a one-time operation, now we have a keypair to use.
easy.CreateKeyPair()
package main
import (
"net/http"
"database/sql"
"fmt"
"log"
"os"
)
@patriciogonzalezvivo
patriciogonzalezvivo / GLSL-Noise.md
Last active July 5, 2024 10:29
GLSL Noise Algorithms

Please consider using http://lygia.xyz instead of copy/pasting this functions. It expand suport for voronoi, voronoise, fbm, noise, worley, noise, derivatives and much more, through simple file dependencies. Take a look to https://github.com/patriciogonzalezvivo/lygia/tree/main/generative

Generic 1,2,3 Noise

float rand(float n){return fract(sin(n) * 43758.5453123);}

float noise(float p){
	float fl = floor(p);
  float fc = fract(p);
@marcedwards
marcedwards / Vinyl vs CD vs digital audio
Last active June 28, 2019 10:45
Vinyl vs CD vs digital audio
# Vinyl vs CD vs digital audio
I thought I’d provide some feedback on this discusion.
At one point in my career, I thought I was going to be a music producer, and I’ve spent about 20 years writing, recording and producing music. Writing mostly electronic music played by DJs, and given the timeframe we’re talking about, I actually started mixing (as in the audio engineer definition) while vinyl accounted for close to 100% of sales, so everything we did ended up being mastered for vinyl.
As part of this process, we’d send every single release off to be mastered for vinyl, and receive an acetate (a one off copy), a test pressing (initial pressings using the vinyl master), or the final release pressing and be able to compare it to not only a 16bit/44.1khz master of the exact same recording, but we were also often able to compare directly to a 24bit/44.1khz master and 24bit/44.1khz pre-mastered version of the exact same song. And all typically on studio nearfield masters and really nice headphones.
Keep in mi
@NYKevin
NYKevin / accounting.sql
Last active June 19, 2024 16:58
Basic double-entry bookkeeping system, for PostgreSQL.
CREATE TABLE accounts(
id serial PRIMARY KEY,
name VARCHAR(256) NOT NULL
);
CREATE TABLE entries(
id serial PRIMARY KEY,
description VARCHAR(1024) NOT NULL,
amount NUMERIC(20, 2) NOT NULL CHECK (amount > 0.0),
-- Every entry is a credit to one account...
@jpetazzo
jpetazzo / gist:6127116
Created July 31, 2013 23:21
Debian/Ubuntu containers protips, thanks to @spahl
# this forces dpkg not to call sync() after package extraction and speeds up install
RUN echo "force-unsafe-io" > /etc/dpkg/dpkg.cfg.d/02apt-speedup
# we don't need and apt cache in a container
RUN echo "Acquire::http {No-Cache=True;};" > /etc/apt/apt.conf.d/no-cache
@abhishekdev
abhishekdev / com.edb.launchd.postgresql-9.1.plist
Created March 2, 2012 19:56
Disable/Enable PostgreSQL Autostart on Mac OS X Lion
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<false/>
<key>Label</key>
<string>com.edb.launchd.postgresql-9.1</string>
<key>ProgramArguments</key>