This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
internal extension SequenceType where Element: Hashable { | |
/** | |
Returns a modified djb hash of all of the elements in a list. | |
Reference: http://www.eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx | |
*/ | |
internal var hashValue: Int { | |
get { | |
return reduce(0) { (x, element) -> Int in | |
return 33 * x ^ element.hashValue | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (void) performMagic:(Incantation) incantation interruptingCurrentSpell:(BOOL) immediately { | |
switch ((int)immediately) { | |
case NO: | |
[self _magic:incantation]; | |
break; | |
default: | |
dispatch_async(wand_queue, ^{ [self _magic:incantation]; }); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
git log master..HEAD --merges --format="%h" | tr '\n' '\0' | xargs -0 -n1 git rev-list --parents -n 1 | awk '{print $(NF)}' | tr '\n' '\0' | xargs -0 -n1 git log --pretty=oneline -n 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
infix operator ?? : Branching | |
precedencegroup Branching { | |
associativity: left | |
lowerThan: ComparisonPrecedence // also accounts for NilCoalescingPrecedence | |
} | |
/// Ternary-y operators without an else clause | |
/// | |
/// - Parameter lhs: The Boolean value to evaluate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 1. copy file to $PATH somewhere | |
// 2. chmod a+x it | |
// 3. run with `tttt` or `tttt [task to track]` | |
// 4. check out ~/Desktop/todo.txt | |
#!/usr/bin/env swift | |
import Foundation | |
let dateFormatter = DateFormatter() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set -x | |
set -k INTERACTIVE_COMMENTS=1 # treats everything after # as being a comment | |
# vars | |
export XCODE_RELEASE_PATH="/Applications/Xcode-11.5.app" | |
export XCODE_BETA_PATH="/Applications/Xcode-12-beta.app" | |
export XCODE_FRAMEWORKS_PATH="Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks" | |
export OUTPUT="${HOME}/Desktop/iosapidiff" | |
mkdir "${OUTPUT}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#import <CoreMedia/CoreMedia.h> | |
#import <CoreVideo/CoreVideo.h> | |
#import <UIKit/UIKit.h> | |
// https://developer.apple.com/library/content/qa/qa1702/_index.html | |
+ (UIImage * _Nullable)imageWithSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer { | |
UIImage *returnValue = nil; | |
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer); | |
CVPixelBufferLockBaseAddress(imageBuffer, 0); { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// license: i dunno. pick one that works for you. Apache 2.0? that seems reasonable. Let me know if it doesn't work for some reason. | |
import Foundation | |
import Compression // https://developer.apple.com/library/mac/documentation/Performance/Reference/Compression/ | |
public enum Compression { | |
public enum Algorithm { | |
case LZFSE | |
case LZ4 | |
case LZMA |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@interface NSUserDefaults (idk) | |
@property (nonatomic, copy) NSString *jam; | |
@end | |
@implementation AppDelegate | |
- (void)applicationDidFinishLaunching:(NSNotification *)notification { | |
[NSUserDefaults standardUserDefaults].jam = @"strawberry"; | |
NSLog(@"%@", [NSUserDefaults standardUserDefaults].jam); | |
} | |
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
extension UIBezierPath { | |
// reference: https://github.com/erica/iOS-6-Cookbook/blob/master/C01%20Gestures/08%20-%20Smoothed%20Drawing/UIBezierPath-Points.m | |
var points: [CGPoint] { | |
var bezierPoints = [CGPoint]() | |
cgPath.applyWithBlock { (element: UnsafePointer<CGPathElement>) in | |
if element.pointee.type != .closeSubpath { | |
bezierPoints.append(element.pointee.points.pointee) |
OlderNewer