Skip to content

Instantly share code, notes, and snippets.

@msanders
msanders / pair.sh
Last active August 29, 2015 14:06
Pair session setup
#!/usr/bin/env sh
# From http://collectiveidea.com/blog/archives/2014/02/18/a-simple-pair-programming-setup-with-ssh-and-tmux/
set -eu
HELP=false
for flag in "$@"; do
case "$flag" in
-h|--help) HELP=true;;
esac
done
@msanders
msanders / Archivable.swift
Last active June 3, 2016 00:20
NSCoding in Swift
import Foundation
import Mapper
protocol Archivable: Mappable {
func encode(archive: Archiver)
}
final class Archiver {
private var mapping: [String: AnyObject] = [:]
required init(_ object: Archivable) {
import Nimble
import Quick
import SwiftCheck
final class StringTransformSpec: QuickSpec {
override func spec() {
describe("chopPrefix<Int>") {
it("should remove prefix of given length") {
property("result is of expected length") <- forAll { (string: String) in
@msanders
msanders / ArbitraryExtensions.Swift
Last active March 3, 2017 19:10
ArchivableSpec.swift
//
// ArbitraryExtensions.swift
// InstaShopper
//
// Created by Michael Sanders on 6/18/16.
// Copyright © 2016 Instacart. All rights reserved.
//
import Curry
import Mockingjay
#import <Foundation/Foundation.h>
int main() {
NSNumber *a = @1;
NSNumber *b = @2;
NSNumber *c = @200;
NSLog(@"%d", a < b); // Prints 1 (true)
NSLog(@"%d", a < c); // Prints 1 (true)
}
@msanders
msanders / example.py
Last active March 3, 2017 19:12
Optional argument in click
import click
def set_global_domain(ctx, param, value):
if value:
ctx.params["domain"] = "NSGlobalDomain"
return value
@click.group()
def cli():
pass
class Promise<X> {
map<B>(onValue: (x: X) => B): Promise<B> {
AS.assertParameter(onValue, "onValue");
return new Promise<B>((resolve, reject) => {
this.parsePromise.then(x => {
resolve(onValue(x));
}, e => {
reject(e);
return Parse.Promise.as();
});
static fromPromise<S>(promise: Parse.Promise<S>): Parse.Promise<Maybe<S>> {
return promise.then(x => Maybe.fromValue(x));
}
// Example
Maybe.fromPromise(
this.stack.moment.tz(today, timezone).isoWeekday() === 1 ? generateWeeklyDigest(today) : Parse.Promise.as()
)
import UIKit
extension UIImage {
convenience init?(uncachedName name: String) {
let deviceScale: Double = Double(UIScreen.mainScreen().scale)
let scaleFactors = [1.0, 2.0, 3.0].sort { x, y -> Bool in
let distanceA = abs(x - deviceScale)
let distanceB = abs(y - deviceScale)
return distanceA == distanceB ? x > y : distanceA < distanceB
}
import Foundation
final class GCDLock<Value> {
var value: Value
let queue = DispatchQueue(label: "")
init(value: Value) {
self.value = value
}
func read() -> Value {