Skip to content

Instantly share code, notes, and snippets.

View neonichu's full-sized avatar
🤬
GitHub, cancel your contract with ICE!

Boris Bügling neonichu

🤬
GitHub, cancel your contract with ICE!
View GitHub Profile
@neonichu
neonichu / update_xcode_plugins
Last active September 18, 2019 14:09
Update DVTPlugInCompatibilityUUIDs for installed plugins from Xcode 5.1 beta to final
#!/bin/sh
#ID='A16FF353-8441-459E-A50C-B071F53F51B7' # Xcode 6.2
ID='992275C1-432A-4CF7-B659-D84ED6D42D3F' # Xcode 6.3
PLIST_BUDDY=/usr/libexec/PlistBuddy
function add_compatibility() {
"$PLIST_BUDDY" -c "Add DVTPlugInCompatibilityUUIDs:10 string $2" \
"$1/Contents/Info.plist"
@neonichu
neonichu / issues.py
Created March 30, 2014 16:40
Get a list of issues to act on for the CocoaPods Bug Bash.
#!/usr/bin/env python
from github3 import login, GitHub
gh = login('user', 'password')
repo = gh.repository('CocoaPods', 'CocoaPods')
for issue in repo.iter_issues():
if issue.is_closed():
continue

Keybase proof

I hereby claim:

  • I am neonichu on github.
  • I am neonacho (https://keybase.io/neonacho) on keybase.
  • I have a public key whose fingerprint is B9E8 141C 6924 9896 9911 7D94 AD0B A760 2CAD 97ED

To claim this, I am signing this object:

@neonichu
neonichu / Circular.m
Created April 23, 2014 08:41
NSKeyedArchiver with circular arrays
NSMutableArray* bar = [@[] mutableCopy];
NSArray* foo = @[ bar ];
[bar addObject:foo];
//NSLog(@"%@", foo);
NSString *fileName = [NSString stringWithFormat:@"%@_%@",
[[NSProcessInfo processInfo] globallyUniqueString], @"file.data"];
NSURL* tempfileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory()
stringByAppendingPathComponent:fileName]];
@neonichu
neonichu / unretinify.sh
Created June 16, 2014 13:48
Create 1x versions of all images in the CWD.
#!/bin/sh
#
# Create 1x versions of all images in the CWD.
#
IFS=$'\n'
for file in `ls *@2x*`
do
new_file=`echo $file|sed 's/@2x//g'`
@neonichu
neonichu / fauxpas2puncover.rb
Last active August 29, 2015 14:06
Convert JSON generated by Faux Pas to a format understood by PuncoverPlugin.
#!/usr/bin/env ruby
require 'rubygems'
require 'date'
require 'json'
input = JSON.parse(ARGF.read)
output = { 'meta' => { 'timestamp' => DateTime.now.strftime('%Y-%m-%d %H:%M:%S.%6N') } }
symbols = {}
@neonichu
neonichu / coverup.rb
Last active August 29, 2015 14:06
Retrieve latest code coverage statistic from coveralls.io
#!/usr/bin/env ruby
require 'json'
require 'net/http'
exit 1 if ARGV.nil? || ARGV.count == 0
project = ARGV[0].gsub(/(http(s)?:\/\/)?(github.com\/)?(.*?)(.git)?/, '\4')
coveralls_uri = URI("https://coveralls.io/r/#{project}.json")
@neonichu
neonichu / implementationWithBlock.swift
Created September 29, 2014 08:17
How to use imp_implementationWithBlock in Swift
import Foundation
import ObjectiveC.runtime
let myString = "foobar" as NSString
println(myString.description)
let myBlock : @objc_block (AnyObject!) -> String = { (sself : AnyObject!) -> (String) in
"✋"
}
@neonichu
neonichu / fix.rb
Created September 30, 2014 15:39
Fix build settings of Pods.xcodeproj in case of use of legacy build output directory.
#!/usr/bin/env ruby
def build_option(option_name)
output = `xcodebuild -showBuildSettings 2>/dev/null`.split("\n")
output = output.select { |line| line[/#{option_name}/] }
output.map { |line| line.split(' ')[2..-1].join(' ') }
end
require 'xcodeproj'
@neonichu
neonichu / DynamicFunctions.swift
Created October 7, 2014 21:50
Using dlopen / dlsym to call C functions from Swift
import Darwin
let handle = dlopen("/usr/lib/libc.dylib", RTLD_NOW)
let sym = dlsym(handle, "random")
let functionPointer = UnsafeMutablePointer<() -> CLong>(sym)
let result = functionPointer.memory()
println(result)