Skip to content

Instantly share code, notes, and snippets.

View BrianHicks's full-sized avatar

Brian Hicks BrianHicks

View GitHub Profile
Name Editor
Hidden
click edit -> Visible
Visible
click cancel -> Hidden
Idle
click submit -> Submitting
[package]
name = "montage"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
async-graphql = { version = "5.0.10", features = ["chrono", "chrono-duration", "chrono-tz", "tokio", "tracing"] }
async-graphql-warp = "5.0.10"
https://github.com/obmarg/graphql-ws-client/issues/51
#!/usr/bin/env python3
"""
Build an Elm app, but isolate the working directory so that multiple Elm
compiler invocations can run in parallel without corrupting `.elmi` files.
"""
from argparse import ArgumentParser, ArgumentTypeError
import json
import logging
import os
import os.path
@BrianHicks
BrianHicks / SketchSystems.spec
Last active February 15, 2022 15:11
Deployment Controller
Deployment Controller
Free
Waiting for Push Event
push event -> Building Push Events
reserve -> Reserved
Building Push Events
Building Only Item
finish build -> Waiting for Push Event
cancel build -> Waiting for Push Event
@BrianHicks
BrianHicks / SketchSystems.spec
Created September 2, 2020 19:41
Guided Draft
Guided Draft
Example Closed
Never Saw Example
open example -> Example Opening
Saw Example
open example -> Example Open At Previous Scroll Position
Example Opening
finish scrolling animation -> Example Open At Previous Scroll Position
Example Open At Previous Scroll Position
close example -> Saw Example
@BrianHicks
BrianHicks / SketchSystems.spec
Last active September 7, 2023 11:45
Comment
Comment
Absent
highlight -> Empty
Present&
Composing
Empty
type -> Non-Empty
cancel -> Absent
unfocus -> Absent
Non-Empty

Non-Deterministic Testing Overview

Background/motivation: After working through the Unison tour, in particular the section on testing, I feel a little weird about caching property test results. I raised this on the Unison Slack, and we decided that it would be helpful for me to write up an overview of non-deterministic testing as a way to contribute. So, here goes!

Non-deterministic tests generally fall into two categories:

  1. property tests, where random values are fed into a function to assure a property holds (e.g. to assert that a function is idempotent by checking fn a == fn (fn a).) Examples: QuickCheck (Haskell/Erlang), Hedgehog (Haskell/F#/C#/R/Scala), Hypothesis (Python), elm-test (Elm)
  2. fuzz tests, where a random bytes are given to a program to make sure it behaves properly in the face of malformed input. These tests usually start with a corpus of inputs and mutate them using a genetic algorithm guided by co
{
"id": "custom-833cffe0-8447-4941-b97e-bdd4870bdeef",
"name": "QGMLWY",
"version": 1,
"keys": {
"KeyQ": {
"default": {
"base": "q",
"shift": "Q"
}
module Slice exposing
( Slice, slice
, Multiple, Position(..), before, after, getList
, Single, first, last, get, map
)
{-| Bisect a `Todos` in whatever way.
# initializing a slice