Skip to content

Instantly share code, notes, and snippets.

View ethagnawl's full-sized avatar
🐢

Pete Doherty ethagnawl

🐢
View GitHub Profile
@ethagnawl
ethagnawl / foo.yml
Created March 27, 2019 20:09
dynamic tmux_options
# /home/peter/.config/tmuxinator/foo.yml
name: foo
root: ~/
tmux_options: -f <%= args[0] %>
windows:
- one:
- echo logs
- two:
- echo left
@ethagnawl
ethagnawl / gist:a65e5b0f43f182a34cc432624325f6dd
Created February 28, 2019 19:32
Django Reverse for ... with arguments not found
You may see the following (confusing) error message when using trying to create an entity URL for an entity which uses an `AutoField` primary key
`Reverse for 'foo_update' with arguments '('',)' not found. 1 pattern(s) tried: ['foos/(?P<pk>[0-9]+)/edit/$']`
So, in your view:
`<a href="{% url 'foo_update' foo.id %}">edit</a>`
... should be:
`<a href="{% url 'foo_update' foo.foo_id %}">edit</a>`
@ethagnawl
ethagnawl / decode.elm
Created February 12, 2019 18:45
non-trivial elm decode example
-- adding example here for posterity's sake
-- original example can be found at: https://ellie-app.com/jHzNw9Qjqca1
-- source material can be found at: https://developing.enectiva.cz/2017/05/31/custom-flags-decoder-in-elm/
module Main exposing (main)
import Html exposing (Html, text, programWithFlags)
import Json.Decode
@ethagnawl
ethagnawl / input.rc
Created December 21, 2018 20:25
super__mario's inputrc
# https://old.reddit.com/r/vim/comments/a65qfe/do_you_use_bash_vi_mode/ebsd4bu/
set completion-ignore-case On
#TAB: menu-complete
Tab: complete
set editing-mode vi
# operate-and-get-next allows you to navigagte to history
# and then keep executing commands successively from
# that point onwards
@ethagnawl
ethagnawl / build.sh
Created December 18, 2018 21:05
pull data from airtable
#!/usr/bin/env bash
set -euo pipefail
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
echo "DIR: $DIR"
SRC="$DIR/../src/program.js"
DEST="$DIR/../build/data-$BUILD_ID.js"
echo "SRC: $SRC"
echo "DEST: $DEST"
@ethagnawl
ethagnawl / index.html
Last active December 18, 2018 16:27
more gatsby/elm fun
<!DOCTYPE html>
<html>
<head>
<meta charSet="utf-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="generator" content="Gatsby 2.0.68" />
<link as="script" rel="preload" href="/component---src-pages-index-js-ac2364b3c7ba3836ce1f.js" />
<link as="script" rel="preload" href="/app-b7a4b847d9bcda823daf.js" />
@ethagnawl
ethagnawl / SceneComponentElm.js
Created December 18, 2018 03:46
gatsby-plugin-elm-demo
const Elm = require("react-elm-components");
const React = require("react");
const ElmApplication = require("./src/Main.elm");
const ScenesComponentElm = ({scenes}) => (
<Elm
flags={{ scenes: scenes }}
src={ElmApplication.Elm.Main}
/>
);
@ethagnawl
ethagnawl / start-pi-hole.sh
Created November 16, 2018 20:02
start pi-hole
IP_LOOKUP="$(ip route get 8.8.8.8 | awk '{ print $NF; exit }')" # May not work for VPN / tun0
IPv6_LOOKUP="$(ip -6 route get 2001:4860:4860::8888 | awk '{for(i=1;i<=NF;i++) if ($i=="src") print $(i+1)}')" # May not work for VPN / tun0
#IP="${IP:-$IP_LOOKUP}" # use $IP, if set, otherwise IP_LOOKUP
IP="192.168.1.125" # use $IP, if set, otherwise IP_LOOKUP
IPv6="${IPv6:-$IPv6_LOOKUP}" # use $IPv6, if set, otherwise IP_LOOKUP
DOCKER_CONFIGS="$(pwd)" # Default of directory you run this from, update to where ever.
echo "### Make sure your IPs are correct, hard code ServerIP ENV VARs if necessary\nIP: ${IP}\nIPv6: ${IPv6}"
docker run -d \
--name pihole \
@ethagnawl
ethagnawl / format-comic-list-entries.viml
Last active September 11, 2018 05:07
format comic list entries
function! InsertHyphensAndUnderscores()
execute "normal! i- wi_f#gea_"
endfunction
function! InsertEmptyLines()
silent g/.\n\n\@!/norm o
endfunction
function! FormatComicListEntries()
execute "normal! gg^VG:sort\<CR>"
@ethagnawl
ethagnawl / decode.md
Created September 7, 2018 03:27 — forked from yang-wei/decode.md
Elm Json.Decode tutorial and cheatsheet

When receiving JSON data from other resources(server API etc), we need Json.Decode to convert the JSON values into Elm values. This gist let you quickly learn how to do that.

I like to follow working example code so this is how the boilerplate will look like:

import Graphics.Element exposing (Element, show)
import Task exposing (Task, andThen)
import Json.Decode exposing (Decoder, int, string, object3, (:=))

import Http