Skip to content

Instantly share code, notes, and snippets.


Karol S. Mazur ksm

View GitHub Profile
ksm / gist:da1dd59f38babe929c44
Created Nov 23, 2014
Allow a view to capture touches while it is animating (e.g. for interactive animations and transitions)
View gist:da1dd59f38babe929c44
// Presentation Layer Hit Test
// Source: WWDC2014 Session 236
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
CGPoint pointInSuperview = [self convertPoint:point toView:self.superview];
CGPoint presentationLayerPoint = [self.layer.presentationLayer convertPoint:pointInSuperview fromLayer:self.superview.layer];
return [super hitTest:presentationLayerPoint withEvent:event];
View machine.js
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
View Game.js
import React, { Component } from "react";
import Board from "./Board";
export default class Game extends Component {
constructor(props) {
this.state = {
xIsNext: true,
stepNumber: 0,
history: [{ squares: Array(9).fill(null) }],


👨‍💻 Technologies I Use Day-to-Day
JavaScript, Flow for JavaScript, Ruby, Swift
React, React Native, Ruby on Rails, Apollo, GraphQL
Jest, RSpec
VSCode, Xcode, Git
Yarn, CocoaPods, Carthage

| 🎓 What I'd Like To Get Better At or Learn |

ksm / UIBarButtonItem+Closure.swift
Last active Sep 13, 2019 — forked from BeauNouvelle/UIBarButtonItem Closure 1.swift
Slightly improved version of Beau Nouvelle's UIBarButtonItem closure extension. I hid all the helper classes within the extension and made them private, so as not to pollute the global namespace. Original article:
View UIBarButtonItem+Closure.swift
import Foundation
import UIKit
public extension UIBarButtonItem {
public typealias TargetClosure = (UIBarButtonItem) -> ()
public convenience init(title: String?, style: UIBarButtonItem.Style = .plain, closure: @escaping TargetClosure) {
self.init(title: title, style: style, target: nil, action: nil)
targetClosure = closure
ksm / gist:3689424
Created Sep 10, 2012
NSOperation cancel pattern and retain cycle avoidance
View gist:3689424
Source: Building Concurrent User Interfaces on iOS
WWDC2012 Session 211 by Andy Matuschak
NSOperationQueue *queue = [[NSOperation alloc] init];
NSBlockOperation *op = [[NSBlockOperation alloc] init];
__weak NSBlockOperation *weakOp = op;
[op addExecutionBlock:^{
for (int i = 0; i < 10000; i++) {
ksm / UINavigationController+Fade.h
Created Feb 14, 2012
UINavigationController custom pop/push transition animation
View UINavigationController+Fade.h
Copied and pasted from David Hamrick's blog:
@interface UINavigationController (Fade)
- (void)pushFadeViewController:(UIViewController *)viewController;
- (void)fadePopViewController;
ksm /
Last active Feb 14, 2019
A sample file

Use this file to track all dependencies required by this project.

Added via Carthage


  • Added because of its MultipartFormData implementation
  • License: MIT

Added via Drag & Drop

ksm / gist:593faea8f0ab408dc071eea4e05c8dc1
Created Dec 20, 2018
Carthage failing build log for GRDB.swift
View gist:593faea8f0ab408dc071eea4e05c8dc1
*** xcodebuild output can be found in /var/folders/pz/zn0ztb8n4kl2ts0cd4thqxxh0000gq/T/carthage-xcodebuild.vWS3Sz.log
*** Building scheme "GRDBiOS" in GRDB.xcworkspace
*** Building scheme "GRDBCipheriOS" in GRDB.xcworkspace
*** Building scheme "GRDBCustomSQLiteiOS" in GRDB.xcworkspace
Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -workspace /Users/karol/Desktop/portfolio-ios/Carthage/Checkouts/GRDB.swift/GRDB.xcworkspace -scheme GRDBCustomSQLiteiOS -configuration Release -derivedDataPath /Users/karol/Library/Caches/org.carthage.CarthageKit/DerivedData/10.1_10B61/GRDB.swift/v3.6.1 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/pz/zn0ztb8n4kl2ts0cd4thqxxh0000gq/T/GRDB.swift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/karol/Desktop/portfolio-ios/Carthage/Checkouts/GRDB.swift)
This usually indicates that project itself faile