Skip to content

Instantly share code, notes, and snippets.

@jnjosh
jnjosh / fizzbuzz.hs
Last active December 10, 2015 14:49
Learning Haskell for fun. This gist is a log of changes I make to the fizzbuzz while learning. The revision history is the interesting part.
-- details: standard fizzbuzz, n % 3 = fizz, n % 5 = buzz, n % 15 = fizzbuzz
-- usage: ghci> fizzbuzz [1..100]
checkFizzbuzz :: Int -> String
checkFizzbuzz n
| mod n 15 == 0 = "fizzbuzz"
| mod n 5 == 0 = "buzz"
| mod n 3 == 0 = "fizz"
| otherwise = show n
@jnjosh
jnjosh / jnjosh.zsh-theme
Created January 6, 2013 01:21
My slightly modified zsh shell
# prompt style and colors based on Steve Losh's Prose theme:
# http://github.com/sjl/oh-my-zsh/blob/master/themes/prose.zsh-theme
#
# vcs_info modifications from Bart Trojanowski's zsh prompt:
# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt
#
# git untracked files modification from Brian Carper:
# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt
function virtualenv_info {
@jnjosh
jnjosh / gist:4589854
Created January 21, 2013 21:56
MPMediaItem issue...
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 / WebKit-OmniFocus.applescript
Last active December 11, 2015 18:59
AppleScript for grabbing the title/url of the current tab in webkit and create an OmniFocus inbox item
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
jnjosh / OmniFocus-QuickEntry.applescript
Created January 27, 2013 01:16
Applescript to show the OmniFocus Quick Entry
tell application "OmniFocus"
tell quick entry
open
make new inbox task
tell application "System Events" to keystroke tab
activate
end tell
end tell
@jnjosh
jnjosh / gist:5062277
Created March 1, 2013 03:28
List Fonts
for (NSString *family in [UIFont familyNames]) {
NSLog(@"Family: %@", family);
for (NSString *font in [UIFont fontNamesForFamilyName:family]) {
NSLog(@" => Font: %@", font);
}
}
@jnjosh
jnjosh / BothCommandKeysPressed.xml
Created April 2, 2013 17:09
## 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
<?xml version="1.0"?>
<root>
<item>
<name>Alt keyboard with Command_L + Command_R</name>
<item>
<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 { -->
@jnjosh
jnjosh / JNJObserver.h
Last active March 23, 2017 20:49
Reading http://chris.eidhof.nl/post/63590250009/lightweight-key-value-observing I got curious about using an observer object for KVO. It is an interesting idea.
//
// JNJObserver.h
//
// Created by Josh Johnson on 10/10/13.
// Copyright (c) 2013 jnjosh.com. All rights reserved.
//
#import <Foundation/Foundation.h>
typedef void(^JNJObserverActionHandler)(id changingObject, id oldValue, id newValue);
@jnjosh
jnjosh / xcode_build_settings.rb
Last active December 30, 2015 13:39
Script that gets the path to your built product from an Xcode workspace no matter your build location (Derived Data or Legacy Build Directory)
#
# 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/MyProject.app
#
@jnjosh
jnjosh / TWTHasselhoffImageProtocol.h
Created May 18, 2014 19:43
TWTHasselhoffImageProtocol
//
// TWTHasselhoffImageProtocol.h
// TestURLProtocol
//
// Created by Josh Johnson on 5/9/14.
// Copyright (c) 2014 Two Toasters, LLC. All rights reserved.
//
@import Foundation;