Skip to content

Instantly share code, notes, and snippets.

View randomstep's full-sized avatar

Step Christopher randomstep

  • WinTriad
View GitHub Profile
@alkavan
alkavan / gource-commands.txt
Created April 11, 2010 16:41
Gource and ffmpeg Commands
################################
gource commands
################################
# basic command for big and long projects
gource --max-user-speed 500 --seconds-per-day 0.05 --file-idle-time 10 -e 0.005 -f --max-files 300 --hide-files
# some easy to understand commands
# for output file
--output-ppm-stream ~/ppm/ppm-kohana
@stevenharman
stevenharman / git-noton
Last active December 15, 2015 11:59 — forked from searls/git-unmaster
A git command for logging all the commits on the current branch that are not on another branch as of your nearest common ancestor. Additional git-log flags come along for the ride (e.g. `git unmaster --oneline`)
#!/bin/sh
if [ $# -eq 0 ]; then
echo "Please specify the base branch"
exit 1
fi
BASEBRANCH=$1
shift
@eternalstorms
eternalstorms / Apple Evangelists.txt
Created June 12, 2013 09:07
Apple Evangelists (WWDC 2013)
UI- and App Frameworks Evangelist - Jake Behrens, [email protected], twitter: @Behrens
- What's new in Cocoa
- Accessibility in iOS
- Building User Interfaces for iOS 7
- Getting Started with UIKit Dynamics
- What's new in Cocoa Touch
- What's New With Multitasking
- Best Practices for Cocoa Animation
- Improving Power Efficiency with App Nap
- Introducing Text Kit
@XueshiQiao
XueshiQiao / gource.sh
Last active November 10, 2019 15:56 — forked from cgoldberg/gource.sh
Generate a MP4 Video for your Git project commits using Gource!
# 1.install gource using HomeBrew
$ brew install gource
# 2.install avconv
git clone git://git.libav.org/libav.git
cd libav
# it will take 3-5 minutes to complie, be patient.
./configure --disable-yasm
make && make install
@aras-p
aras-p / preprocessor_fun.h
Last active July 14, 2025 13:08
Things to commit just before leaving your job
// Just before switching jobs:
// Add one of these.
// Preferably into the same commit where you do a large merge.
//
// This started as a tweet with a joke of "C++ pro-tip: #define private public",
// and then it quickly escalated into more and more evil suggestions.
// I've tried to capture interesting suggestions here.
//
// Contributors: @r2d2rigo, @joeldevahl, @msinilo, @_Humus_,
// @YuriyODonnell, @rygorous, @cmuratori, @mike_acton, @grumpygiant,
@nicklockwood
nicklockwood / Hacking UIView Animation Blocks.md
Last active August 24, 2024 17:08
This article was originally written for objc.io issue 12, but didn't make the cut. It was intended to be read in the context of the other articles, so if you aren't familiar with concepts such as CALayer property animations and the role of actionForKey:, read the articles in that issue first.

Hacking UIView animation blocks for fun and profit

In this article, I'm going to explore a way that we can create views that implement custom Core Animation property animations in a natural way.

As we know, layers in iOS come in two flavours: Backing layers and hosted layers. The only difference between them is that the view acts as the layer delegate for its backing layer, but not for any hosted sublayers.

In order to implement the UIView transactional animation blocks, UIView disables all animations by default and then re-enables them individually as required. It does this using the actionForLayer:forKey: method.

Somewhat strangely, UIView doesn't enable animations for every property that CALayer does by default. A notable example is the layer.contents property, which is animatable by default for a hosted layer, but cannot be animated using a UIView animation block.

@andymatuschak
andymatuschak / CollectionViewDataSource.swift
Last active February 12, 2021 09:44
Type-safe value-oriented collection view data source
//
// CollectionViewDataSource.swift
// Khan Academy
//
// Created by Andy Matuschak on 10/14/14.
// Copyright (c) 2014 Khan Academy. All rights reserved.
//
import UIKit
@mbrandonw
mbrandonw / transducer-type.swift
Last active October 18, 2020 16:56
How to get a transducer type without higher kinds
import Foundation
// A bunch of convenience things
func const <A, B> (b: B) -> A -> B {
return { _ in b }
}
func repeat <A> (n: Int) -> A -> [A] {
return { a in
return map(Array(1...n), const(a))
}
@jeremy-w
jeremy-w / list-big-files.fish
Created November 19, 2015 21:02
fish script to list big files. Helpful in combating Massive View Controller.
function list-big-files --description 'list-big-files 250 swift dir/: list .swift files under dir having >250 lines'
set -l big_linecount 250
set -l extension swift
set -l root .
switch (count $argv)
case 0:
;
case 1:
set -l root $argv[0]
case 2:
import UIKit
extension UIViewController {
func afterCurrentTransition(_ handler: @escaping(Void) -> Void) {
guard let coordinator = transitionCoordinator else {
return completion()
}
coordinator.animate(alongsideTransition: nil, completion: { _ in