Skip to content

Instantly share code, notes, and snippets.

View cppforlife's full-sized avatar
👉
building Kubernetes tools in https://github.com/k14s

Dmitriy Kalinin cppforlife

👉
building Kubernetes tools in https://github.com/k14s
View GitHub Profile
@cppforlife
cppforlife / gist:03fcc812373c02a9740e
Created November 19, 2014 20:15
s3 bucket policy
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
@cppforlife
cppforlife / gist:745ee834e039487b21a3
Created October 30, 2014 01:26
gem install --local trying to connect to internet
| |-bosh-agent,675 -I aws -P ubuntu -C /var/vcap/bosh/agent.json
| | |-bash,1583 -x packaging
| | | `-gem,12126 /var/vcap/packages/ruby/bin/gem install --local --verbose --no-ri --no-rdoc -w -n/var/vcap/package
| | | `-{gem},12127
[#<Thread:0x007fd5f0382660 sleep>]
eval:1:in `backtrace'
eval:1:in `block in connect'
/var/vcap/packages/ruby/lib/ruby/2.1.0/net/http.rb:879:in `initialize'
/var/vcap/packages/ruby/lib/ruby/2.1.0/net/http.rb:879:in `open'
@cppforlife
cppforlife / quick-require-debug.rb
Created March 31, 2014 08:05
Quick require debug
$require_indent = 0
$require_times = []
$require_abs_start = Time.now.to_f
def putz(*args, &blk)
puts(*args, &blk)
end
module Kernel
alias_method :old_require, :require
@cppforlife
cppforlife / example.rb
Last active December 13, 2015 16:49
Safer mock objects
MockClass.define(:MockGateway, Gateway) do
overrides :create do |name, type, otps={}|
# noop
end
end
@cppforlife
cppforlife / gist:3773954
Created September 24, 2012 02:59
instrumentObjcMessageSends
setenv("NSObjCMessageLoggingEnabled", "YES", 1);
instrumentObjcMessageSends(YES);
instrumentObjcMessageSends(NO);
grep -v '\- DVT' __FILE__ | grep -v '\- NS' | grep -v '\+ NS' | grep -v '\+ DVT' | grep -v '_NS'
@cppforlife
cppforlife / gist:3731529
Created September 16, 2012 08:12
menu items for NSApp
- (void)_listMenuItems {
NSMenu *mainMenu = [[NSApplication sharedApplication] mainMenu];
for (NSMenuItem *item in [mainMenu itemArray]) {
NSLog(@"Menu %@:", [item title]);
for (NSMenuItem *subitem in [item.submenu itemArray]) {
NSLog(@"\t%@\n\t\t%@ - %@ - %@\n",
[subitem title],
NSStringFromSelector([subitem action]),
subitem.target,
@cppforlife
cppforlife / gist:3731520
Created September 16, 2012 08:09
log all notifications going through NSNotificationCenter
void MyCallBack (CFNotificationCenterRef center,
void *observer,
CFStringRef name,
const void *object,
CFDictionaryRef userInfo)
{
NSLog(@"---\n name: %@\n info: %@", name, userInfo);
}
CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(), NULL, MyCallBack, NULL, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
@cppforlife
cppforlife / FakeRunLoop.h
Created November 9, 2011 08:21
FakeRunLoop class useful in specs when code under test relies on NSRunLoop
#import <Foundation/Foundation.h>
typedef void(^VoidBlock)(void);
@interface FakeRunLoop : NSObject
+ (void)run:(VoidBlock)block;
@end
@cppforlife
cppforlife / gist:1269501
Created October 7, 2011 05:09
objective-c debugging env variables
[schwa@ungoliant] ~$ export OBJC_HELP=1
[schwa@ungoliant] ~$ /Applications/Safari.app/Contents/MacOS/Safari
objc[10559]: Objective-C runtime debugging. Set variable=YES to enable.
objc[10559]: OBJC_HELP: describe available environment variables
objc[10559]: OBJC_PRINT_OPTIONS: list which options are set
objc[10559]: OBJC_PRINT_IMAGES: log image and library names as they are loaded
objc[10559]: OBJC_PRINT_LOAD_METHODS: log calls to class and category +load methods
objc[10559]: OBJC_PRINT_INITIALIZE_METHODS: log calls to class +initialize methods
objc[10559]: OBJC_PRINT_RESOLVED_METHODS: log methods created by +resolveClassMethod: and +resolveInstanceMethod:
objc[10559]: OBJC_PRINT_CLASS_SETUP: log progress of class and category setup
@cppforlife
cppforlife / gist:1266570
Created October 6, 2011 05:13
Run OCUnit application tests from the command line
// Run application tests from the command line:
// xcodebuild -project project.xcodeproj -target projectTests -configuration Release -sdk iphonesimulator4.3 -arch i386 TEST_HOST= BUNDLE_LOADER= TEST_AFTER_BUILD=YES build
// (How to set up: http://pivotallabs.com/users/dmitriy/blog/articles/1879-run-ocunit-application-tests-from-the-command-line)
#import <SenTestingKit/SenTestingKit.h>
#import <objc/runtime.h>
@implementation NSBundle (MainBundleHijack)
static NSBundle *mainBundle__ = nil;