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 Foundation | |
class SharedArray<T> { | |
var storage: [T] = [] | |
func append(_ value: T) { | |
storage.append(value) | |
} | |
} | |
public extension Sequence { |
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
func weakify<A: AnyObject, B>(obj: A, target: ((A) -> (B) -> Void)?) -> ((B) -> Void) { | |
return { [weak obj] value in | |
guard let obj = obj else { return } | |
target?(obj)(value) | |
} | |
} | |
class Actor { | |
var action: () -> Void |
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
// Generate all Ramanujan numbers: (a^3) + (b^3) = (c^3) + (d^3) | |
// Where 0 < a, b, c, d < n | |
let n = 1000 | |
let cubes = (0..<n).map({$0*$0*$0}) | |
let cubeCount = cubes.count | |
var sumsOfPairs = [Int: (Int, Int)]() | |
var ramanujans = [Int: [(Int, Int)]]() |
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
def fizzbuzz start, limit | |
(start..limit).to_a.map { |n| | |
printFizzBuzzForInput n | |
} | |
end | |
def printFizzBuzzForInput n | |
print "#{'fizz' * f(n)}" | |
print "#{'buzz' * g(n)}" | |
print "#{n.to_s * h(n)}" |
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
def fizzbuzz(start, limit) loop do puts "#{'fizz' * (((start % 3 / (start % 3 + 1.0)).ceil - 1) * (-1))}#{'buzz' * (((start % 5 / (start % 5 + 1.0)).ceil - 1) * (-1))}#{start.to_s * ((start % 3 / (start % 3 + 1.0)).ceil * ((start % 5) / ((((start += ((limit + 1) - start)/((limit + 1) - start)) - 1) % 5) + 1.0)).ceil)}" end 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
extension CGSize { | |
func scaled(byFactor factor: CGFloat) -> CGSize { | |
return CGSize(width: width * factor, | |
height: height * factor) | |
} | |
} | |
extension CGSize { | |
func scaled(toSize: CGSize, mode: UIImage.ScaleMode) -> CGSize { | |
let (widthFactor, heightFactor) = (toSize.width / width, toSize.height / height) |
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
#!/usr/bin/env ruby | |
require 'fileutils' | |
require 'optparse' | |
require 'json' | |
IPA_EXPORT_DIR = 'WFIPAExport' | |
ARCHIVE_DIR = 'WFArchive' | |
XCARCHIVE_NAME = 'WF-iOS.xcarchive' | |
IPA_NAME = 'WF-iOS.ipa' | |
PLIST_NAME = 'WF-iOS.plist' |
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
func scaleAndCropImage(_ image: UIImage, toSize newSize: CGSize) -> UIImage { | |
if image.size.equalTo(newSize) { | |
return image | |
} | |
// Find the ratios of the desired dimensions to the current dimensions, | |
// and use the larger one to scale the image to fill the desired size | |
let widthFactor = newSize.width / image.size.width | |
let heightFactor = newSize.height / image.size.height | |
let scaleFactor = max(widthFactor, heightFactor) |
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
// (command shift a) | |
if (selection.length() > 0){ | |
for (var i=0; i < selection.length(); i++) { | |
addExportSizes(selection[i]); | |
} | |
[doc showMessage:"Export Options Added"]; | |
} else { | |
var app = [NSApplication sharedApplication]; |
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 <CommonCrypto/CommonDigest.h> | |
#import <CommonCrypto/CommonHMAC.h> | |
+ (NSString *)signedUrlFromUrl:(NSString *)fullURL { | |
fullURL = [fullURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; | |
NSString *unmodifiedKey = [@"Your Google Maps for Work API Key" stringByReplacingOccurrencesOfString:@"-" withString:@"+"]; | |
unmodifiedKey = [unmodifiedKey stringByReplacingOccurrencesOfString:@"_" withString:@"/"]; | |
NSData *keyData = [[NSData alloc] initWithBase64EncodedData:[unmodifiedKey dataUsingEncoding:NSUTF8StringEncoding] options:0]; | |
NSData *urlData = [fullURL dataUsingEncoding:NSUTF8StringEncoding]; |
NewerOlder