Skip to content

Instantly share code, notes, and snippets.

View qmchenry's full-sized avatar

Quinn McHenry qmchenry

View GitHub Profile
@qmchenry
qmchenry / AUNTiOption.swift
Created April 22, 2016 20:17
Function to compute priorities for all AUNTiOptions and return a sorted Array of options and priorities
static func priorities(values: AUNTiValues) -> [(priority: Float, option: AUNTiOption)] {
return all.map{ (priority: values.priority(forOption: $0), option: $0) }.sort{ $0.priority > $1.priority }
}
@qmchenry
qmchenry / ThinCache.swift
Last active April 18, 2016 18:37
Lightweight generic cache
//
// ThinCache.swift
// Planned
//
// Created by Quinn McHenry on 4/10/16.
// Copyright © 2016 Quinn McHenry. All rights reserved.
//
final class ThinCache<T> {
@qmchenry
qmchenry / ThinCache.swift
Created April 14, 2016 18:59
Lightweight generic cache
//
// ThinCache.swift
// Planned
//
// Created by Quinn McHenry on 4/10/16.
// Copyright © 2016 Quinn McHenry. All rights reserved.
//
final class ThinCache<T> {
@qmchenry
qmchenry / ThinCache.swift
Created April 14, 2016 18:59
Lightweight generic cache
//
// ThinCache.swift
// Planned
//
// Created by Quinn McHenry on 4/10/16.
// Copyright © 2016 Quinn McHenry. All rights reserved.
//
final class ThinCache<T> {
case .missedPillYesterday: // "You didn’t log yesterday’s pill! If you missed it, be sure to take both yesterday and today's pill."
return 92 * dayIsToday * isOnMethodPill * renewableNotEnteredToday * renewableNotEnteredYesterday * !isPillPlaceboYesterday * hasBeenOnMethodAtLeastOneDay
case .missedPillYesterdayProgestinOnly: // "Hey there, did you take yesterday's pill on time?"
return 93 * dayIsToday * isOnMethodProgestinPill * renewableNotEnteredToday * renewableNotEnteredYesterday * !isPillPlaceboYesterday * hasBeenOnMethodAtLeastOneDay
@qmchenry
qmchenry / NotificationHandler.swift
Last active October 12, 2015 13:08
NSNotification handler protocol extension
public protocol NotificationHandler {
var name: String { get }
func post(object: AnyObject?, userInfo: [NSObject : AnyObject]?)
func observe(observer: AnyObject, selector: Selector, object: AnyObject?)
func remove(observer: AnyObject, object: AnyObject?)
static func remove(observer: AnyObject)
}
public extension NotificationHandler {
func post(object: AnyObject? = nil, userInfo: [NSObject : AnyObject]? = nil) {
@qmchenry
qmchenry / gist:4bf7c7734e3df5f2ccc4
Last active September 24, 2015 14:56
highlight cmd line syntax for keynote presenatiosn
My version of https://gist.github.com/jimbojsb/1630790 which amazingly still works four years later
highlight -O rtf File.swift --line-numbers --font-size 32 --font SourceCodePro-Regular -V -J 96 -j 2 --syntax swift --style darkslategray | pbcopy
@qmchenry
qmchenry / QButton.swift
Last active November 23, 2021 18:18
Swift UIButton subclass that implements toggle and backgroundColor for states
import UIKit
class QButton: UIButton {
var isToggle: Bool = false {
didSet {
if isToggle {
self.addTarget(self, action: Selector("touchUpInside:"), forControlEvents: .TouchUpInside)
} else {
self.removeTarget(self, action: Selector("touchUpInside:"), forControlEvents: .TouchUpInside)
}
Before pngnq: 143.8MB
After pngnq: 136.6
Without be_bc: 116.3
---
Overnight run from 22:19 - 06:24 on Be carousel ipad mini 1g
2014-11-20 22:19:01.581 PrincessCelebrate-iOS[993:156048] cocos2d: surface size: 1024x768
Cocos2d: cocos2d: cocos2d-2.0-rc2-x-2.0.1
2014-11-20 22:19:02.467 PrincessCelebrate-iOS[993:156048] [HockeySDK] WARNING: HockeySDKResources.bundle is missing, will send reports automatically!
2014-11-20 22:19:02.469 PrincessCelebrate-iOS[993:156048] [HockeySDK] WARNING: HockeySDKResources.bundle is missing, make sure it is added!
@qmchenry
qmchenry / gist:fa0a0ab7bbb9f3d1dea2
Created November 19, 2014 22:03
iphone4 with purge audio cache
2014-12-13 11:01:02.556 PrincessCelebrate-iOS[257:d303] Used: 81.863281 MB out of 504.953125 MB (16.212055%)
2014-12-13 11:01:03.061 PrincessCelebrate-iOS[257:d303] fileno: 40
2014-12-13 11:01:03.063 PrincessCelebrate-iOS[257:d303] Used: 81.863281 MB out of 504.953125 MB (16.212055%)
2014-12-13 11:01:03.581 PrincessCelebrate-iOS[257:d303] fileno: 40
2014-12-13 11:01:03.583 PrincessCelebrate-iOS[257:d303] Used: 82.500000 MB out of 504.953125 MB (16.338150%)
2014-12-13 11:01:04.095 PrincessCelebrate-iOS[257:d303] fileno: 40
2014-12-13 11:01:04.097 PrincessCelebrate-iOS[257:d303] Used: 82.484375 MB out of 504.953125 MB (16.335056%)
2014-12-13 11:01:04.601 PrincessCelebrate-iOS[257:d303] fileno: 40
2014-12-13 11:01:04.604 PrincessCelebrate-iOS[257:d303] Used: 82.484375 MB out of 504.953125 MB (16.335056%)
2014-12-13 11:01:05.120 PrincessCelebrate-iOS[257:d303] fileno: 40