Skip to content

Instantly share code, notes, and snippets.

View finestructure's full-sized avatar

Sven A. Schmidt finestructure

View GitHub Profile
@finestructure
finestructure / version.sh
Created November 24, 2011 15:15
Bash script to report a git repositories version for further use like embedding as a version string
#!/bin/bash
git status
version=$(git describe --tags --dirty)
# version can be empty when there are no tags, use rev-parse in that case
# to log the last commit id
if [[ -z "$version" ]]; then
diff=$(git diff)
version=$(git rev-parse --short HEAD)
@finestructure
finestructure / Globals_init
Created March 12, 2012 12:39
Globals initializer
- (id)init {
self = [super init];
if (self) {
valuesSerialQueue = dispatch_queue_create("de.abstracture.valuesSerialQueue", NULL);
self.values = [NSMutableDictionary dictionary];
[[NSArray arrayWithObjects:
@"A", @"B", @"C", @"D", @"E", @"F", nil]
enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
@finestructure
finestructure / valueForKey
Created March 12, 2012 12:52
Blocking valueForKey:
- (NSString *)valueForKey:(NSString *)key {
__block NSString *result = nil;
do {
// keep polling until there's a value
dispatch_sync(valuesSerialQueue, ^{
result = [self.values objectForKey:key];
});
} while (result == nil);
return result;
}
@finestructure
finestructure / SenTestCase+Async.h
Created August 6, 2012 11:37
Async test for SenTestCase
//
// SenTestCase+Async.h
//
// Created by Sven A. Schmidt on 2012-08-06.
//
#import <SenTestingKit/SenTestingKit.h>
@interface SenTestCase (Async)
@finestructure
finestructure / try.swift
Last active August 29, 2015 14:17
Attempt at a wrapper for NSError** parameter calls (as typically seen when calling objc APIs)
// https://gist.github.com/feinstruktur/2f427934e171a8ab13af
import Foundation
public class Box<T> {
let unbox: T
init(_ value: T) { self.unbox = value }
}
public final class SmartPointer<T> {
public let pointer: UnsafeMutablePointer<T>
private let destructor: (UnsafeMutablePointer<T>) -> Void
public init(pointer: UnsafeMutablePointer<T>, destructor: (UnsafeMutablePointer<T>) -> Void) {
self.pointer = pointer
self.destructor = destructor
}
deinit {
@finestructure
finestructure / randomized_response.ipynb
Created June 20, 2016 13:31 — forked from uncommoncode/randomized_response.ipynb
Randomized Response Function for Differential Privacy
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@finestructure
finestructure / Error.swift
Created August 2, 2016 09:26
posix_spawn based system call (swift 3.0-p1-ish, WIP)
/*
This source file is part of the Swift.org open source project
Copyright 2015 - 2016 Apple Inc. and the Swift project authors
Licensed under Apache License v2.0 with Runtime Library Exception
See http://swift.org/LICENSE.txt for license information
See http://swift.org/CONTRIBUTORS.txt for Swift project authors
*/
@finestructure
finestructure / pre-commit
Created October 21, 2018 12:32
pre-commit hook to generate LinuxMain.swift via Sourcery
#!/bin/sh
./update_linux_tests.sh &>/dev/null
if [[ -n $(git diff) ]]; then
echo "Linux tests were out of date."
echo "Files have been updated, please review add them to the commit."
exit 1
fi

Keybase proof

I hereby claim:

  • I am finestructure on github.
  • I am finestructure (https://keybase.io/finestructure) on keybase.
  • I have a public key whose fingerprint is 215B 3D32 5FF1 5AA4 4EB9 843E A138 F568 B059 543D

To claim this, I am signing this object: