Skip to content

Instantly share code, notes, and snippets.

Samuel Giddins segiddins

Block or report user

Report or block segiddins

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
View sort_imports
#!/usr/bin/env ruby
require 'pathname'
code_files = ARGV
code_files.each do |file|
file = Pathname(file)
contents =
contents.gsub!(/(^#import .*\n)+/) do |imports|
imports = imports.split("\n")
imports.sort.uniq.join("\n") << "\n"
View TypeErasure.swift
protocol Typed {
typealias Element
func elem() -> Element
struct Concrete<T>: Typed {
typealias Element = T
let e: T
func elem() -> T {
return e
segiddins / app
Last active Aug 29, 2015
A tiny app launcher
View app
#!/usr/bin/env ruby
app = requested = ARGV.shift
unless File.executable?(app)
escaped_app = app.gsub(/(.)/, '\\\\\1')
app = Dir.glob("/Applications/#{escaped_app}.app/Contents/MacOS/{#{escaped_app},*}").first
Process.detach Process.spawn([app, requested], *ARGV, err: '/dev/null', out: '/dev/null')
segiddins / each_ruby
Last active Aug 29, 2015
Run a shell command in each rbenv version installed
View each_ruby
versions = `rbenv versions --bare`.split("\n").map(&:strip)
warn "rbenv not installed" && exit(1) unless $?.success?
versions.each do |v|
puts "rbenv shell #{v}"
system({"RBENV_VERSION" => v}, ARGV.join(' '))
puts '-' * 80
segiddins / evil.m
Created Apr 18, 2015
I swear, I only did this for an experiment
View evil.m
#import <objc/runtime.h>
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
@autoreleasepool {
IMP imp = imp_implementationWithBlock(^id(id self, id block, id arg){
NSLog(@"self: %@, arg: %@", self, arg);
return self;
class_addMethod([NSObject class], @selector (foo), imp, "@@:@");
View reflection_test.swift
#!/usr/bin/env cato 1.2
import Foundation
class OptCls: NSObject {
dynamic var s: String?
dynamic var nos: String = ""
dynamic var nss: NSString?
dynamic var ius: String!
dynamic var i: Int = 0
View drop.swift
func drop<S: SequenceType, T where S.Generator.Element == T>(sequence: S, count: Int) -> GeneratorOf<T> {
var generator = sequence.generate()
for _ in 0..<count {
return GeneratorOf<T>(generator)

Keybase proof

I hereby claim:

  • I am segiddins on github.
  • I am segiddins ( on keybase.
  • I have a public key ASBUfziuAe8qODgXz8UeuEIre6ZlOV8BdSUn4RcyApdEYAo

To claim this, I am signing this object:

View gems_to_molinillo_specs.rb
require 'json'
require 'open-uri'
gems = %w(rails capybara bundler)
specs = []
segiddins / update_shared
Last active Nov 1, 2015
Update web repos' shared submodule
View update_shared
#!/usr/bin/env ruby
SHARED_PATH = 'shared'
Dir.glob('*').each do |repo|
Dir.chdir repo do
unless `command git status` =~ /working directory clean/
puts "The working directory for #{repo} is dirty"
pull = ''
shared_sha = ''
You can’t perform that action at this time.