Skip to content

Instantly share code, notes, and snippets.

View mmcc's full-sized avatar
📺
Movin vidja bits

Matthew McClure mmcc

📺
Movin vidja bits
View GitHub Profile
@mmcc
mmcc / install-docker-mint.sh
Last active October 17, 2022 19:52 — forked from sirkkalap/Install-Docker-on-Linux-Mint.sh
Install Docker on Linux Mint 17
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sh -c 'echo deb https://apt.dockerproject.org/repo ubuntu-trusty main > /etc/apt/sources.list.d/docker.list'
# Install docker
sudo apt-get update
sudo apt-get purge lxc-docker
sudo apt-get install linux-image-extra-$(uname -r)
sudo apt-get install docker-engine
sudo service docker start
@mmcc
mmcc / authed_conn_case.ex
Last active October 26, 2023 00:05
Elixir test macros
defmodule AppWeb.AuthConnCase do
alias AppWeb.Router
use ExUnit.CaseTemplate
import Phoenix.ConnTest, only: [dispatch: 5, json_response: 2]
@doc """
Allows you to call the same set of tests with the same describe block
Setups is an array of named setups, i.e. [first_setup: [:setup_conn, :thing], second_setup: [:different_setup, :neato_setup]]
## Examples
@mmcc
mmcc / access.ts
Created March 29, 2018 22:52
Simple example to show an issue with array index access.
interface IGenericThing {
bop: [string, string, string];
[key: string]: string | number | [string, string, string];
}
const foo: IGenericThing = {
bar: '#0000ff',
baz: 123,
bat: ['a', 'b', 'c'],
bop: ['d', 'e', 'f'],
@mmcc
mmcc / elixir-example.ex
Last active January 31, 2019 19:55
Node & Elixir Updates
# These examples assume you have your token id and secret in your Mix config:
# config :mux, token_id: 'your-token-id', token_secret: 'your-token-secret'
# Same as above, first we'll create a token with defaults: 7 day expiration for video
video_token = Mux.Token.sign('your-playback-id')
# https://stream.mux.com/your-playback-id.m3u8?token=#{token}
gif_token = Mux.Token.sign('your-playback-id',
type: :gif,
expiration: 60 * 60 * 3 # 3 hours
@mmcc
mmcc / saga.ts
Last active June 28, 2019 22:48
Redux Confirmation Modal Examples
function *deleteAsset (action: Action<'AssetDeleteRequested'>) {
const { payload: { id }, meta: { callbackAction } } = action;
yield put({ type: 'ConfirmAction', payload: { actionType: action.type } });
const { canceled } = yield race({
confirmed: take('ActionConfirmed'),
canceled: take('ActionCanceled'),
});
if (canceled) {