Skip to content

Instantly share code, notes, and snippets.

Josh Johnson jnjosh

Block or report user

Report or block jnjosh

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile

Keybase proof

I hereby claim:

  • I am jnjosh on github.
  • I am jnjosh ( on keybase.
  • I have a public key ASBonVU4HBox2F61fNe_kewxSiugPmfAUV_2kG0BeBkKfQo

To claim this, I am signing this object:

jnjosh / TWTHasselhoffImageProtocol.h
Created May 18, 2014
View TWTHasselhoffImageProtocol.h
// TWTHasselhoffImageProtocol.h
// TestURLProtocol
// Created by Josh Johnson on 5/9/14.
// Copyright (c) 2014 Two Toasters, LLC. All rights reserved.
@import Foundation;
jnjosh / xcode_build_settings.rb
Last active Dec 30, 2015
Script that gets the path to your built product from an Xcode workspace no matter your build location (Derived Data or Legacy Build Directory)
View xcode_build_settings.rb
# Usage:
# app_path = product_path :workspace => "MyProject.xcworkspace",
# :scheme => "MyProjectScheme",
# :configuration => "Debug",
# :sdk => "iphonesimulator"
# puts app_path //=> /Users/yourusername/Library/Developer/Xcode/DerivedData/MyProject-bltlcokzhdicjggqmcrwibpdgdcp/Build/Products/Debug-iphonesimulator/
jnjosh / JNJObserver.h
Last active Mar 23, 2017
Reading I got curious about using an observer object for KVO. It is an interesting idea.
View JNJObserver.h
// JNJObserver.h
// Created by Josh Johnson on 10/10/13.
// Copyright (c) 2013 All rights reserved.
#import <Foundation/Foundation.h>
typedef void(^JNJObserverActionHandler)(id changingObject, id oldValue, id newValue);
jnjosh / BothCommandKeysPressed.xml
Created Apr 2, 2013
## Remappings for KeyRemapForMacBook (while being in the Dvorak layout) - BothCommandKeysPressed.xml remaps the home row to [{()}] when BOTH command keys are pressed - RightCommandVimBindings.xml remaps HLJK to the arrow keys when ONLY the RIGHT command key is pressed
View BothCommandKeysPressed.xml
<?xml version="1.0"?>
<name>Alt keyboard with Command_L + Command_R</name>
<name>Rebind all keys when both command keys are pressed</name>
<identifier vk_config="true">notsave.smp_alt_keyboard</identifier>
<autogen>__KeyToKey__ KeyCode::A, KeyCode::MINUS</autogen> <!-- A to [ -->
<autogen>__KeyToKey__ KeyCode::SEMICOLON, KeyCode::EQUAL</autogen> <!-- S to ] -->
<autogen>__KeyToKey__ KeyCode::S, KeyCode::MINUS, ModifierFlag::SHIFT_L</autogen> <!-- O to { -->
View gist:5062277
for (NSString *family in [UIFont familyNames]) {
NSLog(@"Family: %@", family);
for (NSString *font in [UIFont fontNamesForFamilyName:family]) {
NSLog(@" => Font: %@", font);
jnjosh / OmniFocus-QuickEntry.applescript
Created Jan 27, 2013
Applescript to show the OmniFocus Quick Entry
View OmniFocus-QuickEntry.applescript
tell application "OmniFocus"
tell quick entry
make new inbox task
tell application "System Events" to keystroke tab
end tell
end tell
jnjosh / WebKit-OmniFocus.applescript
Last active Dec 11, 2015
AppleScript for grabbing the title/url of the current tab in webkit and create an OmniFocus inbox item
View WebKit-OmniFocus.applescript
tell application "WebKit"
set aTitle to name of current tab in front window
set aURL to URL of current tab in front window
end tell
tell application "OmniFocus"
set aTask to aTitle
set aNote to aURL
tell default document to make new inbox task with properties {name:aTask, note:aNote}
jnjosh / gist:4589854
Created Jan 21, 2013
MPMediaItem issue...
View gist:4589854
MPMediaItem *item = ...; // From the Media Query
NSURL *url = [item valueForProperty:MPMediaItemPropertyAssetURL];
AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
NSError *readerError = nil;
AVAssetReader *assetReader = [AVAssetReader assetReaderWithAsset:asset error:&readerError];
if (! assetReader) {
NSLog(@"reader error for URL: %@ \r\n error:%@", url, [readerError localizedDescription]);
jnjosh / jnjosh.zsh-theme
Created Jan 6, 2013
My slightly modified zsh shell
View jnjosh.zsh-theme
# prompt style and colors based on Steve Losh's Prose theme:
# vcs_info modifications from Bart Trojanowski's zsh prompt:
# git untracked files modification from Brian Carper:
function virtualenv_info {
You can’t perform that action at this time.