Skip to content

Instantly share code, notes, and snippets.

View ruddfawcett's full-sized avatar

Rudd Fawcett ruddfawcett

View GitHub Profile
@zwaldowski
zwaldowski / TextRanges.swift
Last active January 28, 2017 09:50
Proper bridging for NSRegularExpression; Swift 1.2
import Foundation
// MARK: String
extension String {
func convert(#index: Int) -> Index? {
let utfIndex = advance(utf16.startIndex, index, utf16.endIndex)
return utfIndex.samePositionIn(self)
}
@austinzheng
austinzheng / CustomTextInputView.swift
Last active January 20, 2022 15:14
Simple UIKeyInput example
import UIKit
/// A very simple example view that can accept keyboard input and add or delete text from an enclosed label.
class CustomTextInputView : UIControl, UIKeyInput {
var label : UILabel?
override func canBecomeFirstResponder() -> Bool {
return true
}
@ruddfawcett
ruddfawcett / email-blacklist.json
Last active November 2, 2015 08:28 — forked from tbrianjones/free_email_provider_domains.txt
A list of free email provider domains. Some of these are probably not around anymore. I've combined a dozen lists from around the web. Current "major providers" should all be in here as of the date this is created.
["1033edge.com","11mail.com","123.com","123box.net","123india.com","123mail.cl","123qwe.co.uk","150ml.com","15meg4free.com","163.com","1coolplace.com","1freeemail.com","1funplace.com","1internetdrive.com","1mail.net","1me.net","1mum.com","1musicrow.com","1netdrive.com","1nsyncfan.com","1under.com","1webave.com","1webhighway.com","212.com","24horas.com","2911.net","2bmail.co.uk","2d2i.com","2die4.com","3000.it","321media.com","37.com","3ammagazine.com","3dmail.com","3email.com","3xl.net","444.net","4email.com","4email.net","4mg.com","4newyork.com","4x4man.com","5iron.com","5star.com","88.am","8848.net","888.nu","97rock.com","aaamail.zzn.com","aamail.net","aaronkwok.net","abbeyroadlondon.co.uk","abcflash.net","abdulnour.com","aberystwyth.com","abolition-now.com","about.com","academycougars.com","acceso.or.cr","access4less.net","accessgcc.com","ace-of-base.com","acmecity.com","acmemail.net","acninc.net","adelphia.net","adexec.com","adfarrow.com","adios.net","ados.fr","advalvas.be","aeiou.pt","aemail4u.com","aene
@graceavery
graceavery / harryPotterAliases
Last active September 20, 2024 22:13
bash aliases for Harry Potter enthusiasts
alias accio=wget
alias avadaKedavra='rm -f'
alias imperio=sudo
alias priorIncantato='echo `history |tail -n2 |head -n1` | sed "s/[0-9]* //"'
alias stupefy='sleep 5'
alias wingardiumLeviosa=mv
alias sonorus='set -v'
alias quietus='set +v'
@bnickel
bnickel / Queue Playground.swift
Last active June 23, 2020 16:33
Swift retry operation playground
import Foundation
protocol Completable {
func addCompletionOperation(on queue: OperationQueue, complete: @escaping (Self) -> Void) -> Operation
}
extension Completable where Self: Operation {
func addCompletionOperation(on queue: OperationQueue, complete: @escaping (Self) -> Void) -> Operation {
let completionOperation = BlockOperation {
@ruddfawcett
ruddfawcett / APIClient+PromiseKit.swift
Created April 30, 2020 23:32 — forked from DanielCardonaRojas/APIClient+PromiseKit.swift
Custom API Client Abstractions inspired by http://kean.github.io/post/api-client but with no third party dependencies. As a lib over here -> https://github.com/DanielCardonaRojas/APIClient
import PromiseKit
extension APIClient {
func request<Response, T>(_ requestConvertible: T,
additionalHeaders headers: [String: String]? = nil,
additionalQuery queryParameters: [String: String]? = nil,
baseUrl: URL? = nil) -> Promise<T.Result>
where T: URLResponseCapable, T: URLRequestConvertible, T.Result == Response {
return Promise { seal in
self.request(requestConvertible, additionalHeaders: headers, additionalQuery: queryParameters, success: { response in