Skip to content

Instantly share code, notes, and snippets.

View ZevEisenberg's full-sized avatar

Zev Eisenberg ZevEisenberg

View GitHub Profile
@ZevEisenberg
ZevEisenberg / PrintAllCharacters.swift
Last active October 31, 2015 02:33
A script that prints all the Unicode characters. I would have uploaded the output as well, but it’s 50 MB and GitHub can’t handle my scale.
import Foundation
func describeCharsInRange(range: Range<Int>) -> String {
return range.map {
let swiftCharacter = Character(UnicodeScalar($0))
let string = String(swiftCharacter)
let hexString = NSString(format: "0x%.6X", $0) as String
// Optional in theory, but in this case it always returns a value
let name = string.stringByApplyingTransform(NSStringTransformToUnicodeName, reverse: false)!
@ZevEisenberg
ZevEisenberg / iOS 9 system font properties.json
Created August 13, 2015 22:26
Result of calling CTFontCopyFeatures on the system font in iOS 9 beta 5
[
{
"CTFeatureTypeIdentifier" : 0,
"CTFeatureTypeName" : "All Typographic Features",
"CTFeatureTypeNameID" : -100,
"CTFeatureTypeSelectors" : [
{
"CTFeatureSelectorDefault" : true,
"CTFeatureSelectorName" : "On",
"CTFeatureSelectorNameID" : -101,
@ZevEisenberg
ZevEisenberg / gist:d95cde83055f6c707050
Created July 10, 2015 20:03
Function to open the GitHub page of the current repo
function gh
{
local remoteURL=`git remote -v | grep fetch | awk -F ' ' '{print $2}'`
if [[ ! -z $remoteURL ]]; then
local isGitHubURL=`echo $remoteURL | grep -i github\.com`
if [[ ! -z $isGitHubURL ]]; then
local regex=".*github\.com[:/](.*)/(.*)\.git"
if [[ $remoteURL =~ $regex ]]; then
local owner=$match[1]
local repoName=$match[2]
@ZevEisenberg
ZevEisenberg / Ad Blocker Comparisons.md
Last active August 29, 2015 14:23
Unscientific Ad Blocker Comparisons

Safari tests run on a Mac mini late 2012, 2.6 GHz Core i7, 16 GB RAM. Didn't bother to reboot or disable these other extensions, so the test is less than scientific:

  • Fireballed
  • ExifExt
  • TinEye
  • Instapaper
  • Smile
  • 1Password (beta)

If you visit any of these URLs, there is a text field where you can paste any other of these URLs to see a comparison report

@ZevEisenberg
ZevEisenberg / gist:d29476094201e4076c03
Last active August 29, 2015 14:21
Localized Hours Range String
NSDateComponents *comps = [[NSDateComponents alloc] init];
comps.year = 2015;
comps.month = 5;
comps.day = 12;
comps.hour = 21;
NSDate *startDate = [[NSCalendar currentCalendar] dateFromComponents:comps];
comps.day = 13;
comps.hour = 0;
2015-01-26 18:02:31.223 Invaluable iOS[29323:1139622] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '{objective 0x7ff55b678f30: <251:-343, 250:915> + <250:5.96046e-08>*0x7ff55d81f580.marker{id: 7363} + <250:-2.98023e-08>*0x7ff55db73220.marker{id: 7364} + <250:2>*0x7ff55fa3e030.marker{id: 9313} + <250:2>*0x7ff55fd01060.negError{id: 9018} + <250:-2>*0x7ff55fd01060.posErrorMarker{id: 9017} + <250:-2>*0x7ff55fd018b0.marker{id: 9032}}: internal error. Setting empty vector for variable INVTriColumnPriceView:0x7ff55fe35160.minX{id: 8877}.'
*** First throw call stack:
(
0 CoreFoundation 0x00000001085ddf35 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010546cbb7 objc_exception_throw + 45
2 CoreFoundation 0x00000001085dde6d +[NSException raise:format:] + 205
3 Foundation 0x00000001060cf45e -[NSISObjectiveLinearExpression setPriorityVector:forKnownAbsentVariable:] + 76
@ZevEisenberg
ZevEisenberg / keyboardShortcuts.sh
Last active January 2, 2020 12:22
Keyboard Shortcut Shell Script Magic
function addCustomMenuEntryIfNeeded
{
if [[ $# == 0 || $# > 1 ]]; then
echo "usage: addCustomMenuEntryIfNeeded com.company.appname"
return 1
else
local contents=`defaults read com.apple.universalaccess "com.apple.custommenu.apps"`
local grepResults=`echo $contents | grep $1`
if [[ -z $grepResults ]]; then
# does not contain app
@ZevEisenberg
ZevEisenberg / Solarized Light.crtheme
Created October 14, 2014 18:13
Solarized Light.crtheme
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BackgroundColor</key>
<string>#fdf6e4</string>
<key>CharColor</key>
<string>#6c71c4</string>
<key>ClassColor</key>
<string>#29a198</string>
@ZevEisenberg
ZevEisenberg / resetAllSimulators.sh
Last active November 30, 2022 09:27
Reset all iOS simulators with this one weird trick
osascript -e 'tell application "iOS Simulator" to quit'
osascript -e 'tell application "Simulator" to quit'
xcrun simctl erase all
@ZevEisenberg
ZevEisenberg / gist:8442a144040a7298a85a
Created April 29, 2014 20:12
Braindead stupid method to return a string representing bitmask values in a UIFontDescriptorSymbolicTraits
- (NSString *)stringForTraits:(UIFontDescriptorSymbolicTraits)traits
{
NSMutableString *string = [@"traits:" mutableCopy];
if ( traits & UIFontDescriptorTraitItalic ) { [string appendString:@", UIFontDescriptorTraitItalic"];}
if ( traits & UIFontDescriptorTraitBold ) { [string appendString:@", UIFontDescriptorTraitBold"];}
if ( traits & UIFontDescriptorTraitExpanded ) { [string appendString:@", UIFontDescriptorTraitExpanded"];}
if ( traits & UIFontDescriptorTraitCondensed ) { [string appendString:@", UIFontDescriptorTraitCondensed"];}
if ( traits & UIFontDescriptorTraitMonoSpace ) { [string appendString:@", UIFontDescriptorTraitMonoSpace"];}
if ( traits & UIFontDescriptorTraitVertical ) { [string appendString:@", UIFontDescriptorTraitVertical"];}