Skip to content

Instantly share code, notes, and snippets.

View alexbosworth's full-sized avatar

Alex Bosworth alexbosworth

View GitHub Profile
@alexbosworth
alexbosworth / responder.js
Created September 9, 2011 01:21
Micro Express.js
exports.respond = function(req, res) {
var responders = [];
for (var i = 2, arg; arg = arguments[i]; i++) responders.push(arguments[i]);
var next = function() {
var responder = responders.shift();
if (typeof(responder) != 'function') return;
var request = require('request'),
ENDPOINT = 'https://www.googleapis.com/';
exports.save = function(opt, cbk) {
var auth = 'Bearer ' + opt.access_token;
opt.mimeType = opt.mimeType || 'application/octet-stream';
request.post({
@alexbosworth
alexbosworth / gist:5529907
Created May 7, 2013 02:41
Mixpanel auth signature generation
var params = _.extend({
api_key: MIXPANEL_KEY,
expire: Math.ceil(Date.now() / 1000) + 5 * 60
},
args.params);
var toSign = Object.keys(params)
.sort()
.map(function(key) { return key + '=' + params[key]; })
.join('');
@alexbosworth
alexbosworth / KeychainService.swift
Last active January 5, 2021 08:26
Swift Keychain Class
import UIKit
import Security
let serviceIdentifier = "com.company"
let accessGroup = "com.company.app"
let kSecClassValue = kSecClass as NSString
let kSecAttrAccountValue = kSecAttrAccount as NSString
let kSecValueDataValue = kSecValueData as NSString
let kSecClassGenericPasswordValue = kSecClassGenericPassword as NSString
var query = [String: String]()
if let queryString = url.query {
for q in queryString.componentsSeparatedByString("&") {
let pair = q.componentsSeparatedByString("=")
let value = pair[1]
.stringByReplacingOccurrencesOfString("+", withString: " ")
.stringByReplacingPercentEscapesUsingEncoding(NSUTF8StringEncoding)
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
@alexbosworth
alexbosworth / geohash.swift
Last active April 13, 2020 04:19
Swift Geohash
//
// Geohash.swift
// mn_ios
//
// Created by Alex Bosworth on 11/26/14.
// Copyright (c) 2014 adylitica. All rights reserved.
//
import Foundation
import MapKit
/** Determine if value is present in array
*/
func contains<T: Equatable>(array: [T], element: T) -> Bool {
for elem in array { if elem == element { return true } }
return false
}
let phoneNumber = "(408) 555-5270"
let cleanedPhoneNumber = phoneNumber.componentsSeparatedByCharactersInSet(NSCharacterSet.decimalDigitCharacterSet().invertedSet).reduce("", +)
// 4085555270