Skip to content

Instantly share code, notes, and snippets.

View warrenburton's full-sized avatar

Warren Burton warrenburton

View GitHub Profile

Keybase proof

I hereby claim:

  • I am warrenburton on github.
  • I am warrenburton (https://keybase.io/warrenburton) on keybase.
  • I have a public key ASAJplvYevWlNaXwzNSeqBBAZVyaDsCkB7LqX0br4kDg6Ao

To claim this, I am signing this object:

@warrenburton
warrenburton / Portugal Birds.buttonskb
Created November 30, 2018 16:14
keyboard for buttons event recorder app
{
"name" : "Portugal birds",
"horizontalCount" : 3,
"buttons" : [
{
"name" : "wagtail ",
"color" : "#FFFFFF",
"index" : 4
},
{
@warrenburton
warrenburton / Button_PrivacyPolicy.md
Last active November 23, 2020 11:34
Privacy Policy for Buttons.app

Buttons Privacy Policy

2018-11-25

  1. Buttons collects NO data from the user. All keyboards and logs generated, remain within the owners document space.
  2. In the event you contact Digital-Dirtbag for issues relating to Buttons your email address is NOT stored. Any messages you receive will be directly related to the immediate conversation.
  3. Anonymous Crash Analytics is collected with Google Firebase for the purpose of application quality and cannot be connected to your user account.

Trout Privacy Policy

2021-06-09

  1. Trout collects NO data from the user. All diagrams generated, remain within the owners document space.
  2. File access is only used for generating Trout diagrams on the users personal computer.
  3. In the event you contact Digital-Dirtbag for issues relating to Trout your email address is NOT stored. Any messages you receive will be directly related to the immediate conversation.
  4. Crash data is recorded and sent to a third party but is not associated with your identity.
@warrenburton
warrenburton / PrivacyPolicy.md
Last active November 5, 2018 15:06
Privacy Policy for DevSketch App

DevSketch Privacy Policy

2018-11-05

  1. DevSketch collects NO data from the user. All diagrams generated, remain within the owners document space.
  2. File access is only used for generating DevSketch diagrams on the users personal computer.
  3. In the event you contact Digital-Dirtbag for issues relating to DevSketch your email address is NOT stored. Any messages you receive will be directly related to the immediate conversation.
@warrenburton
warrenburton / Uncrustify.cfg
Created June 25, 2018 14:32
Uncrustify.cfg for Objective-C
#
# Uncrustify Configuration File
# File Created With UncrustifyX 0.4.3 (252)
#
# Alignment
# ---------
## Alignment
@warrenburton
warrenburton / FindFile.swift
Last active June 9, 2018 10:11
Simple recursive file search utility.
import Foundation
/// An object to perform a case sensitive recursive directory search for a **file**
/// Will not enter packages/bundles
class FileFinder: NSObject {
private let filename: String
private let rootDirectory: String
var maxDepth: Int = 5
/// - parameter filename: File to find
@warrenburton
warrenburton / StoryBoardGUIDGenerator.swift
Created May 9, 2018 16:51
Generate the 3-2-3 pattern GUID used by an Xcode storyboard id attribute. Useful for templating.
import Foundation
class StoryBoardGUIDGenerator {
private let legalChars: [Character] = {
let lower = "abcdefghiklmnopqrstuvwxyz"
let upper = "ABCDEFGHIKLMNOPQRSTUVWXYZ"
let number = "0123456789"
let legal = lower+upper+number
return Array(legal)
@warrenburton
warrenburton / generate_icns.sh
Created December 11, 2017 16:55
generate ICNS file from master PNG image
#!/bin/bash
#Usage:
#generate_icns.sh /path/to/mastericon.png
if [ $# -ne 1 ]; then
echo "error: $# arguments expected 1"
echo "usage: generate_icns.sh /path/to/mastericon.png"
exit 1
fi
@warrenburton
warrenburton / String+Substitution.swift
Last active May 31, 2016 19:18
String substitution utility - pass a dictionary of substitution values to a tagged string to globally replace. Supports basic looping
extension NSRange {
func toStringRange( string:String ) -> Range<String.Index>? {
guard location != NSNotFound else { return nil }
return string.startIndex.advancedBy(location)..<string.startIndex.advancedBy(location + length)
}
}
extension String {
/**