Skip to content

Instantly share code, notes, and snippets.

Anton Jonsson antonjn

Block or report user

Report or block antonjn

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
@antonjn
antonjn / DebuggingOverlay.m
Created Nov 26, 2017 — forked from IMcD23/DebuggingOverlay.m
UIDebuggingInformationOverlay for iOS 10 & 11
View DebuggingOverlay.m
// Used for swizzling on iOS 11+. UIDebuggingInformationOverlay is a subclass of UIWindow
@implementation UIWindow (DocsUIDebuggingInformationOverlaySwizzler)
- (instancetype)swizzle_basicInit {
return [super init];
}
// [[UIDebuggingInformationOverlayInvokeGestureHandler mainHandler] _handleActivationGesture:(UIGestureRecognizer *)]
// requires a UIGestureRecognizer, as it checks the state of it. We just fake that here.
- (UIGestureRecognizerState)state {
View example_block_swizzling.m
@implementation UILabel (SwizzlingExamples)
+ (void)load
{
SwizzleSelectorWithBlock_Begin(self, @selector(initWithFrame:))
^(UILabel *self, CGRect frame) {
if ((self = ((id (*)(id, SEL, CGRect))_imp)(self, _cmd, frame))) {
// ...
}
return self;
View Solarized (Dark).tmTheme
<?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>name</key>
<string>Solarized (dark)</string>
<key>settings</key>
<array>
<dict>
<key>settings</key>
@antonjn
antonjn / find_largest_folders_and_files
Last active Aug 29, 2015
Find largest folders and files
View find_largest_folders_and_files
du -h / | sort -n | grep -E '^(\d+?| \d+?|\d,\d)G'
View sniff_objc_exception_throw.py
import lldb
def GetFirstArgumentAsValue(target, frame):
# Note: I assume the PC is at the first instruction of the function, before the stack and registers have been modified.
if target.triple.startswith('x86_64'):
return frame.regs[0].GetChildMemberWithName("rdi")
elif target.triple.startswith('i386'):
espValue = frame.regs[0].GetChildMemberWithName("esp")
address = espValue.GetValueAsUnsigned() + target.addr_size
return espValue.CreateValueFromAddress('arg0', address, target.FindFirstType('id'))
View MJPlaceholderView.h
#import <UIKit/UIKit.h>
// IB_DESIGNABLE means that the view will be
// rendered live in Interface Builder.
IB_DESIGNABLE
@interface MJPlaceholderView : UIView
// IBInspectable means that the property
@antonjn
antonjn / vcf_merge_all_contacts.sh
Last active Jan 2, 2016
Merge .vcf contacts to one with all of them (for import to Google Contacts).
View vcf_merge_all_contacts.sh
#!/usr/bin/env bash
# Merge all contacts for easy import, ex. to google contacts.
set -e
name='_all_as_one.vcf'
GLOBIGNORE="${name}" # Skip the merged file.
cat */*.vcf *.vcf > ${name}
echo "Merged all contacts to ${name}!"
@antonjn
antonjn / detect_special_characters.py
Created Aug 16, 2012 — forked from basecode/detect_special_characters.py
'no-break space' detection plugin for Sublime Text 2
View detect_special_characters.py
# encoding: utf-8
import sublime, sublime_plugin
class DetectSpecialCharacters(sublime_plugin.EventListener):
def on_load(self, view):
sublime.status_message("detect_special_characters is active")
def on_modified(self, view):
# find no-break space
special_characters = view.find_all(u"\u00A0")
@antonjn
antonjn / get_shell()
Created Apr 22, 2012
Which shell do I use? (mac)
View get_shell()
# get_shell
#
# This will work when called in a function and in functions calling functions etc.
# The function uses ps(1) to find out which shell is used. The following table
# shows the shell names used to distinguse them (mac osx).
#
# Shells: bash | bash | sh | ksh | csh | tcsh | zsh |
# Shells (ps): bash |-bash | sh | ksh | -sh | -csh | zsh |
#
get_shell() {
You can’t perform that action at this time.