Skip to content

Instantly share code, notes, and snippets.

@sgtsquiggs
sgtsquiggs / UIImage+PDFDocument.swift
Created November 2, 2017 20:46
UIImage extension for PDF documents
import UIKit
extension UIImage {
convenience init?(pdfDocument: CGPDFDocument, pageNumber: Int = 1) {
guard let page = pdfDocument.page(at: pageNumber) else { return nil }
let size = page.getBoxRect(.mediaBox).size
UIGraphicsBeginImageContextWithOptions(size, true, UIScreen.main.scale)
let context = UIGraphicsGetCurrentContext()!
context.saveGState()
@sgtsquiggs
sgtsquiggs / random_investigator
Last active March 19, 2019 14:00
Arkham Horror Investigator Randomizer
#!/usr/bin/env python
import sys
import getopt
import random
def main(argv):
investigator_type = 'all'
full_team = False
pick_two = False
@sgtsquiggs
sgtsquiggs / Observable+BindCollection.swift
Last active July 12, 2018 06:06
Bind an observable to a collection of observers at once.
import RxSwift
extension ObservableType {
func bind<O>(to observers: [O]) -> Disposable where O: ObserverType, Self.E == O.E {
let shared = self.share()
let disposables = observers.map(shared.bind(to:))
return CompositeDisposable(disposables: disposables)
}
}
import RxSwift
extension PrimitiveSequence where TraitType == SingleTrait {
public func asMaybe() -> PrimitiveSequence<MaybeTrait, Element> {
return self.asObservable().asMaybe()
}
public func asCompletable() -> PrimitiveSequence<CompletableTrait, Never> {
return self.asObservable().flatMap { _ in Observable<Never>.empty() }.asCompletable()
import CocoaLumberjack
extension DDLogFlag {
public var level: String {
switch self {
case DDLogFlag.error: return "❤️ ERROR"
case DDLogFlag.warning: return "💛 WARNING"
case DDLogFlag.info: return "💙 INFO"
case DDLogFlag.debug: return "💚 DEBUG"
case DDLogFlag.verbose: return "💜 VERBOSE"
Log uploaded on Sunday, November 13, 2022, 12:00:37 PM
Loaded mods:
Harmony(brrainz.harmony)[mv:1.5.0.0]: 0Harmony(2.2.2), HarmonyMod(1.5.0)
Core(Ludeon.RimWorld): (no assemblies)
Royalty(Ludeon.RimWorld.Royalty): (no assemblies)
Ideology(Ludeon.RimWorld.Ideology): (no assemblies)
Biotech(Ludeon.RimWorld.Biotech): (no assemblies)
Bionic icons(automatic.bionicicons): BionicIcons(1.0.0)
HugsLib(UnlimitedHugs.HugsLib)[ov:10.0.1]: 0Harmony(av:2.2.2,fv:1.2.0.1), HugsLib(av:1.0.0,fv:10.0.1)
Better Pawn Control(VouLT.BetterPawnControl)[ov:2.4.1.2]: BetterPawnControl(av:1.9.2,fv:1.0.0)