Skip to content

Instantly share code, notes, and snippets.

View mkreyman's full-sized avatar
🏃‍♂️
Building cool stuff, serving customers, and enjoying every moment of it...

Mark Kreyman mkreyman

🏃‍♂️
Building cool stuff, serving customers, and enjoying every moment of it...
View GitHub Profile
@mkreyman
mkreyman / DynamoDbWriter.js
Created July 17, 2019 19:53 — forked from mike-hogan/DynamoDbWriter.js
Nodejs DynamoDB writer with exponential back off
"use strict";
var fs = require('fs');
var path = require('path');
var AWS = require('aws-sdk');
var util = require('util');
var stream = require('readable-stream');
var _ = require('lodash');
version: "3.3"
services:
neo4j:
image: neo4j:latest
tty: true
environment:
- NEO4J_AUTH=none
- NEO4J_dbms_unmanaged__extension__classes=org.neo4j.graphql=/graphql
- NEO4J_dbms_security_procedures_unrestricted=apoc.\\\*
- NEO4J_apoc_import_file_enabled=true
@mkreyman
mkreyman / donate-bitcoin.html
Created July 9, 2018 01:22 — forked from joar/donate-bitcoin.html
Quick and dirty bitcoin donation button, as seen on https://gobblin.se
<style>
.donate-button {
text-align: center;
}
.donate-button .bitcoin-address {
font-size: 1.5em;
}
</style>
<div class="donate-button">
@mkreyman
mkreyman / map_to_struct.ex
Last active June 23, 2018 04:04
Creating a struct from a map with string keys
def to_struct(kind, attrs) do
struct = struct(kind)
Enum.reduce Map.to_list(struct), struct, fn {k, _}, acc ->
case Map.fetch(attrs, Atom.to_string(k)) do
{:ok, v} -> %{acc | k => v}
:error -> acc
end
end
end
@mkreyman
mkreyman / pipe_debug.ex
Created June 22, 2018 17:09
Support the injection of inspect capabilities in an elixir pipe |> pipe stream.
defmodule Util.PipeDebug do
@moduledoc """
Support the injection of inspect capabilities in an elixir pipe |> pipestream.
Configuration:
The entire application can have PipeDebug enabled using the :logger configuration settings.
For the config/<env>.exs file for the environment in which you wish to enable PipeDebug, add the following
configuration key:
@mkreyman
mkreyman / find.ex
Created June 22, 2018 16:53
Find elements in given collections by pattern matching, i.e. all attachments in a POST request.
defmodule Find do
@moduledoc """
Implements methods to find elements in given collections by pattern matching.
"""
@doc """
Finds the first element in a list to match a given pattern.
"""
def first_match(collection) do
Enum.find(collection, fn(element) ->
{
"color_scheme": "Packages/Color Schemes/Solarized (Dark) - Modified.tmTheme",
"font_face": "Monaco",
"font_size": 15,
"ignored_packages":
[
"Vintage"
],
"tab_size": 2,
"theme": "Default.sublime-theme",
@mkreyman
mkreyman / gist:81fc4a6139af20a1ca5d94618ea4738f
Created February 14, 2018 21:47
Spiral traversal of a list of coordinates
# See https://gist.github.com/mkreyman/1891aaa70e41a3519a7487e7742a5eda
# for a spiral traversal of a matrix.
#
# coordinates =
# [
# {0, 0},
# {1, 0},
# {2, 0},
# {3, 0},
# {0, -1},
@mkreyman
mkreyman / gist:1891aaa70e41a3519a7487e7742a5eda
Last active February 15, 2018 19:01
Spiral traversal of a multidimensional list of characters
# Given a multidimensional list of characters, print out a spiral traversal of the lists.
#
# iex(1)> matrix = [~w(A B C D), ~w(E F G H), ~w(I J K L), ~w(M N O P)]
# [
# ["A", "B", "C", "D"],
# ["E", "F", "G", "H"],
# ["I", "J", "K", "L"],
# ["M", "N", "O", "P"]
# ]
# iex(2)> Spiral.traverse(matrix, [])