Skip to content

Instantly share code, notes, and snippets.

#import <UIKit/UIKit.h>
@interface IntrinsicTableView : UITableView
@end
@sibljon
sibljon / pre-push.sh
Last active September 18, 2015 17:17 — forked from lyoshenka/pre-push.sh
Git pre-push hook to prevent force-pushing or deleting a special branch (e.g. master)
#!/bin/bash
# Requires git 1.8.2 or newer
# Prevents force-pushing or deleting a special branch (e.g. master).
# Based on: https://gist.github.com/pixelhandler/5718585 and https://gist.github.com/stefansundin/d465f1e331fc5c632088
# Install:
# cd path/to/git/repo
# curl -fL -o .git/hooks/pre-push https://gist.githubusercontent.com/lyoshenka/158cfff41d09e1dcf029/raw/pre-push.sh
# chmod +x .git/hooks/pre-push
@sibljon
sibljon / UIImageView+HTUIImageCategoryNamespaceConflictResolver.h
Created July 9, 2013 14:43
A solution to resolve a namespace collision between UIImageView categories in SDWebImage and AFNetworking
//
// UIImageView+HTUIImageCategoryNamespaceConflictResolver.h
// HotelTonight
//
// Created by Jonathan Sibley on 7/9/13.
// Copyright (c) 2013 Hotel Tonight. All rights reserved.
//
@interface UIImageView (HTUIImageCategoryNamespaceConflictResolver)
#!/bin/sh
# name this .git/hooks/pre-commit
# chmod +x .git/hooks/pre-commit
# enjoy
# so it will work on empty repos
if git-rev-parse --verify HEAD >/dev/null 2>&1; then
against=HEAD
else
against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
@sibljon
sibljon / commig-msg.rb
Created September 17, 2013 23:09
git commit-msg hook to prepend commit messages with a JIRA ticket number
#!/usr/bin/env ruby
#
# Jon Sibley, Sept 17 2013, based on this gist: https://gist.github.com/hakanensari/4194831
#
# A minimal commit message hook that extracts a JIRA ticket number from the branch
# name and appends it to the commit message.
#
# The commit message remains unchanged if the branch name doesn't include a
# ticket number or the message already includes a reference to it.
#
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
let url = navigationAction.request.URL?.absoluteString
let hostAddress = navigationAction.request.URL?.host
// To connnect app store
if hostAddress == "itunes.apple.com" {
if UIApplication.sharedApplication().canOpenURL(navigationAction.request.URL!) {
@sibljon
sibljon / .bash_profile
Last active February 13, 2017 15:14
Bash Settings
# Add `~/bin` to the `$PATH`
export PATH="$HOME/bin:$PATH"
# Python 3.5 packages
export PATH="$PATH:~/Library/Python/3.5/bin"
# Sublime Text - http://stackoverflow.com/a/16495202
export EDITOR='subl -w'
# Load the shell dotfiles, and then some:
@sibljon
sibljon / load.m
Created November 19, 2012 00:20
Storing data to a file
// Fetch NSDictionary containing possible saved state
NSString *errorDesc = nil;
NSPropertyListFormat format;
NSString *plistPath;
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES) objectAtIndex:0];
plistPath = [rootPath stringByAppendingPathComponent:@"SavedState.plist"];
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
NSDictionary *unarchivedData = (NSDictionary *)[NSPropertyListSerialization
propertyListFromData:plistXML
@sibljon
sibljon / states_hash.json
Created October 10, 2017 22:03 — forked from mshafrir/states_hash.json
US states in JSON form
{
"AL": "Alabama",
"AK": "Alaska",
"AS": "American Samoa",
"AZ": "Arizona",
"AR": "Arkansas",
"CA": "California",
"CO": "Colorado",
"CT": "Connecticut",
"DE": "Delaware",
const exportedGoogleContacts = [...]
const updatedContacts = jonsContacts.map(contact => {
let modifiedContact = {}
Object.keys(contact).forEach(key => {
const value = contact[key]
if (!value) {
return
} else if (String(value).length > 10 && String(value).replace(/[^0-9\+]/g, '').length >= 10 && value.length < 20) {
const formattedPhone = formatNumber(value);