Skip to content

Instantly share code, notes, and snippets.

@statonjr
statonjr / service-checklist.md
Created September 12, 2016 18:58 — forked from acolyer/service-checklist.md
Internet Scale Services Checklist

Internet Scale Services Checklist

A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."

Basic tenets

  • Does the design expect failures to happen regularly and handle them gracefully?
  • Have we kept things as simple as possible?
Verifying that +statonjr is my blockchain ID. https://onename.com/statonjr
@statonjr
statonjr / keybase.md
Last active August 29, 2015 14:21
keybase.md

Keybase proof

I hereby claim:

  • I am statonjr on github.
  • I am statonjr (https://keybase.io/statonjr) on keybase.
  • I have a public key whose fingerprint is 899B 6EF0 1970 57F8 AA41 A7F9 3D1A C5AF 2290 3D2D

To claim this, I am signing this object:

@statonjr
statonjr / edn.bnf
Last active August 29, 2015 14:21 — forked from bjeanes/edn.bnf
EDN ::= Whitespace (Comment | (Discard Whitespace)? (Tag Whitespace)? (List | Vector | Map | Set | String | Number | Keyword | Symbol | Nil | Boolean | Char) Whitespace Comment?)
Nil ::= "nil"
True ::= "true"
False ::= "false"
Boolean ::= True | False
Symbol ::= (Namespace "/")? ("/" | (Alphabetic Alphanumeric*)? (("-" | "." | "+")? Alphabetic | ("*" | "!" | "_" | "?" | "$" | "%" | "&" | "=")) (Alphanumeric | "#" | ":")*) /* FIXME: very inaccurate */
Keyword ::= ":" Symbol
/* Whitespace */
@statonjr
statonjr / datomic-dynamic-find-clause.md
Last active April 14, 2021 22:28
Datomic Dynamic Find Clause

We're working on a project that uses the Datomic Pull API to pull specific attributes out of Datomic entities. Here's an example of query that uses the Pull API:

(d/q '[:find [(pull ?e [:sales/deal_number :sales/deal_close_date :sales/state]) ...] 
       :in $ ?date 
       :where [?e :sales/deal_close_date ?d _ _] [(> ?d ?date)]] 
       db 
       (days-ago-at-midnight 1))
---
language: objective-c
before_script:
- ./scripts/travis/add-key.sh
after_script:
- ./scripts/travis/remove-key.sh
after_success:
- ./scripts/travis/testflight.sh
env:
global:

Project

Description: What does this project do and who does it serve?

Project Setup

How do I, as a developer, start working on the project?

  1. What dependencies does it have (where are they expressed) and how do I install them?
  2. How can I see the project working before I change anything?
@statonjr
statonjr / gist:128dfbe60240311faf97
Created August 21, 2014 00:58
Summing digits in Factor
: sum-digits ( n -- n ) number>string [EBNF rule=[0-9]+ EBNF] [ 1 swap <string> string>number ] map 0 [ + ] reduce ;

Keybase proof

I hereby claim:

  • I am statonjr on github.
  • I am statonjr (https://keybase.io/statonjr) on keybase.
  • I have a public key whose fingerprint is 5017 2133 BC35 DD9A 8CBD A997 3869 FC94 42C2 D6ED

To claim this, I am signing this object:

@statonjr
statonjr / Makefile
Created March 20, 2014 18:20
Using a Makefile to package a Datomic-backed Clojure app on Immutant
# target: dist - Archive and deploy to local Immutant VM
dist:
lein immutant archive && \
scp target/charon.ima local@172.16.12.105:apps/ && \
scp resources/deployment/local.clj 'local@172.16.12.105:.immutant/current/jboss/standalone/deployments/charon.clj' && \
ssh -t local@172.16.12.105 "touch ~/.immutant/current/jboss/standalone/deployments/charon.clj.dodeploy"
# target: help - Display callable targets.
help:
egrep "^# target:" Makefile