Skip to content

Instantly share code, notes, and snippets.

Ole Begemann ole

Block or report user

Report or block ole

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 NSArray+BinarySearch.h
// NSArray+BinarySearch.h
// BinarySearch
// Created by Ole Begemann on 19.04.10.
// Copyright 2010 Ole Begemann. All rights reserved.
#import <Foundation/Foundation.h>
ole / CDStructures.h
Created Oct 1, 2012 class dump from the iOS 6.0 Simulator
View CDStructures.h
* Generated by class-dump 3.3.4 (64 bit).
* class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2011 by Steve Nygard.
#pragma mark Named Structures
struct CGPoint {
float _field1;
ole / FunctionalBankAccount.m
Created Feb 11, 2013
FunctionalBankAccount: a simple implementation of a blocks-based object model in (Objective-)C, inspired by a similar Scheme implementation in "Structure and Interpretation of Computer Programs". See for an explanation.
View FunctionalBankAccount.m
#import <Foundation/Foundation.h>
typedef id(^BankAccount)(char *cmd);
typedef id(^CurrentBalanceMethod)(void);
typedef id(^DepositMethod)(double);
typedef id(^WithdrawMethod)(double);
BankAccount CreateBankAccount(double initialBalance)
// Initialization
ole /
Last active May 9, 2018
Automatically extract translatable strings from Xcode storyboards and update .strings files. Original version by MacRumors forum user mikezang ( Slightly updated by Ole Begemann. NOTE: this Gist moved to a regular repo at
# (File moved to
ole / osm_cycle_routes.xml
Created Apr 22, 2013
A query script for the Open Street Map API explorer at to render all the cycle routes in the current map bounding box.
View osm_cycle_routes.xml
<query type="relation" into="hr">
<has-kv k="route" v="bicycle"/>
<bbox-query {{bbox}}/>
<query type="way" into="hrp">
<recurse from="hr" type="relation-way"/>
<bbox-query {{bbox}}/>
<item set="hr"/>
ole / geocode_coordinates.rb
Created Jan 23, 2014
Geocodes addresses on the command line and print the geo coordinates (latitude and longitude). See for more info on how I am using this script.
View geocode_coordinates.rb
#!/usr/bin/env ruby
# Determines the coordinates (latitude and longitude) of the places or
# addresses passed as arguments (either on the command line or via stdin)
# and prints the results.
# This script requires the Ruby Geocoder gem by Alex Reisner
# (
# To install the gem, run this command from a Terminal session:

Keybase proof

I hereby claim:

  • I am ole on github.
  • I am olebegemann ( on keybase.
  • I have a public key whose fingerprint is 8110 7FC7 27F7 56F5 3693 BA7A 90C7 D328 64A1 CEDF

To claim this, I am signing this object:

ole / RSSReaderExample.swift
Last active Aug 29, 2015
Equatable protocols in Swift. A reply to Brent Simmons’s post "Secret Projects Diary #2: Swift 2.0 Protocols" (
View RSSReaderExample.swift
//: Playground - noun: a place where people can play
import Cocoa
protocol Feed : Equatable {
var url: String {get}
protocol Folder {
// This is new:
ole / stack.swift
Created Sep 8, 2016
Compiler segmentation fault in Xcode 8 GM using ExpressibleByArrayLiteral
View stack.swift
// Save this to stack.swift, then run
// $ xcrun swift stack.swift
// Does it compile or does the compiler segfault?
struct Stack<Element> {
var elements: [Element] = []
ole / CharacterArray.swift
Last active Oct 24, 2016
Two options for converting character ranges into arrays
View CharacterArray.swift
// We can't use `Character` or `String` ranges directly because they aren't countable
// Create a countable range of ASCII values instead
let range = UInt8(ascii: "a")...UInt8(ascii: "z") // CountableClosedRange<UInt8>
// Convert ASCII codes into Character values { Character(UnicodeScalar($0)) } // Array<Character>
// → ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
You can’t perform that action at this time.