Skip to content

Instantly share code, notes, and snippets.

View gist:4ab72b61da602cfdaa767d07f56feeb3
### Keybase proof
I hereby claim:
* I am jamesmacaulay on github.
* I am jamesmacaulay (https://keybase.io/jamesmacaulay) on keybase.
* I have a public key ASDnKw1JsZHofgcB89uvNLIux6FkTNSz64gv8aS99WWGXgo
To claim this, I am signing this object:
@jamesmacaulay
jamesmacaulay / packit.rs
Created Feb 21, 2019
A 3D bin packing algorithm in Rust
View packit.rs
pub type V3 = [usize; 3];
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct PositionedVolume {
dimensions: V3,
position: V3,
}
// mutable stack of sub-containers, initialized with input container
// mutable vec of remaining items, initialized with all input items
View idletime.bash
#!/bin/bash
lastlast=$(last --time-format=iso -1 -R | head -1 | awk '{ print $3 "\n" $5 }' | xargs -n1 date +%s -d 2> /dev/null)
lastuserinputs=$(who -s | awk '{ print $2 }' | (cd /dev && xargs stat -c '%X'))
events=$lastlast$'\n'$lastuserinputs
sincelatestevent=$(echo "$events" | sort -rn | head -1 | awk '{ print '"$(date +%s)"'-$1 }')
uptime=$(cat /proc/uptime | sed -n 's/\([0-9]*\).*/\1/p')
durations=$sincelatestevent$'\n'$uptime
idletime=$(echo "$durations" | sort -n | head -1)
echo "$idletime"
View DQuery.idr
module DQuery
import Record
namespace Json
data Json
= JsonString String
| JsonBool Bool
| JsonInt Int
| JsonObject (List (String, Json))
@jamesmacaulay
jamesmacaulay / MoneyCoderExample.elm
Last active Nov 9, 2017
Json.Bidirectional.Coder hoisting subset of object's fields into a tuple https://ellie-app.com/h5Sb2g8b4a1/0
View MoneyCoderExample.elm
module Main exposing (main)
import Html exposing (Html, text)
import Json.Bidirectional as Json
import Json.Decode as Decode
import Json.Encode as Encode
import String
import Tuple
@jamesmacaulay
jamesmacaulay / .editorconfig
Last active Oct 20, 2016
Visual Studio Code settings and keybindings
View .editorconfig
root = true
[*]
indent_style = space
indent_size = 2
[*.elm]
indent_size = 4
View Query.elm
module GraphQL.Query exposing (..)
import Json.Decode as Decode exposing (Decoder, (:=))
import Array exposing (Array)
type SelectionSet
= SelectionSet (List Selection)
View rainbow-lambda.elm
-- paste into http://elm-lang.org/try and click "compile"
-- http://imgur.com/gallery/W6TwgZw
import Graphics.Collage exposing (..)
import Graphics.Element exposing (..)
import Text
import Color exposing (..)
import Time
import Signal
View explicit_state_transducers.cljc
(ns explicit-state-transducers)
(defn take-with-explicit-state
"A stateless rewrite of the `c.c/take` transducer that requires its state to
be provided as part of each input"
[n]
(fn [rf]
(fn
([] (rf))
([result] (rf result))
View elm-random-gif-translation-to-redux.js
// Elm code from https://github.com/evancz/elm-architecture-tutorial#example-5-random-gif-viewer
//
// type Action
// = RequestMore
// | NewGif (Maybe String)
//
//
// update : Action -> Model -> (Model, Effects Action)
// update msg model =
// case msg of