Here's a preliminary experiment to see how much memory is saved with the new copy-on-write friendly (bitmap marking) GC.
Calculated by memstats.rb https://gist.github.com/kenn/5105061 on Debian x86_64.
# ./memstats.rb 20547
# http://henrik.nyh.se/2008/12/git-dirty-prompt | |
# http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/ | |
# username@Machine ~/dev/dir[master]$ # clean working directory | |
# username@Machine ~/dev/dir[master*]$ # dirty working directory | |
function parse_git_dirty { | |
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*" | |
} | |
function parse_git_branch { | |
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/" |
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView | |
{ | |
if(_reachedEndOfFeed) return; | |
if(!_dynamicFeed) return; | |
DLog(); | |
if (!reloading) | |
{ | |
checkForRefresh = YES; // only check offset when dragging | |
} |
# When I posted the results of the Roman Numeral Calculator kata | |
# earlier this week, I said that I felt that the evolution of the code | |
# through TDD was much more interesting than the final result. Let me | |
# explain. | |
# | |
# First, some background. The goal of this Kata is to produce a | |
# RomanNumeralCalculator object that converts from arabic numbers to | |
# Roman numerals, and from Roman numerals back to arabic. | |
Then { calculate("1").should == "I" } |
// Copyright (c) 2012-2013 Peter Steinberger (http://petersteinberger.com) | |
// | |
// Permission is hereby granted, free of charge, to any person obtaining a copy | |
// of this software and associated documentation files (the "Software"), to deal | |
// in the Software without restriction, including without limitation the rights | |
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
// copies of the Software, and to permit persons to whom the Software is | |
// furnished to do so, subject to the following conditions: | |
// | |
// The above copyright notice and this permission notice shall be included in |
=begin | |
READ THIS FOR CONTEXT: | |
http://tenderlovemaking.com/2012/07/30/is-it-live.html | |
=end | |
strategy = |
nline void pspdf_dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_block_t block) { | |
dispatch_get_current_queue() == queue ? block() : dispatch_sync(queue, block); | |
} |
Here's a preliminary experiment to see how much memory is saved with the new copy-on-write friendly (bitmap marking) GC.
Calculated by memstats.rb https://gist.github.com/kenn/5105061 on Debian x86_64.
# ./memstats.rb 20547
// Taken from the commercial iOS PDF framework http://pspdfkit.com. | |
// Copyright (c) 2014 Peter Steinberger, PSPDFKit GmbH. All rights reserved. | |
// Licensed under MIT (http://opensource.org/licenses/MIT) | |
// | |
// You should only use this in debug builds. It doesn't use private API, but I wouldn't ship it. | |
// PLEASE DUPE rdar://27192338 (https://openradar.appspot.com/27192338) if you would like to see this in UIKit. | |
#import <objc/runtime.h> | |
#import <objc/message.h> |
source ~/.bash_profile | |
cd ${SRCROOT} | |
/path/to/xctool.sh -reporter json-compilation-database:compile_commands.json clean | |
/path/to/xctool.sh -reporter json-compilation-database:compile_commands.json build | |
oclint-json-compilation-database | sed 's/\(.*\.\m\{1,2\}:[0-9]*:[0-9]*:\)/\1 warning:/' |
#import "KWMatcher.h" | |
typedef BOOL (^FTKiwiCustomMatcherBlock)(id subject); | |
@interface FTKiwiCustomBlockMatcher : KWMatcher | |
// Your custom matcher block will receive the expectation ‘subject’ and must | |
// return `YES` if the expaction passes or `NO` if it fails. | |
- (void)be:(FTKiwiCustomMatcherBlock)block; |