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
ole / combine-urlsession.swift
Last active Nov 7, 2019
Combine with URLSession.dataTaskPublisher
View combine-urlsession.swift
import Combine
import Foundation
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
/// JSON format:
ole / x-by-y-operator.swift
Created Oct 29, 2019
Using × as a custom operator for creating "x-by-y" values such as CGPoint or CGSize.
View x-by-y-operator.swift
precedencegroup XByYPrecedence {
associativity: left
higherThan: MultiplicationPrecedence
infix operator ×: XByYPrecedence // U+00D7 MULTIPLICATION SIGN
// ------
import CoreGraphics
ole / let.swift
Created Sep 9, 2019
A replacement for let bindings in Swift function builders
View let.swift
import SwiftUI
func `let`<Value, Return>(_ expression: Value, body: (Value) -> Return) -> Return {
struct ContentView: View {
var body: some View {
GeometryReader { geometry in
`let`(geometry.size.width / 2) { lineWidth in
ole / Atomic.swift
Created Jun 6, 2019
Atomic as a property wrapper
View Atomic.swift
import Dispatch
import PlaygroundSupport
struct Atomic<A> {
private var _value: A
private let queue = DispatchQueue(label: "property wrapper")
init(initialValue: A) {
_value = initialValue
ole / mount.txt
Created Jun 6, 2019
macOS Catalina mounts the read-only system volume at / and the read-write data volume at /System/Volumes/Data
View mount.txt
% mount
/dev/disk1s6 on / (apfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk1s5 on /System/Volumes/Data (apfs, local, journaled, nobrowse)
/dev/disk1s4 on /private/var/vm (apfs, local, journaled, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
% ls /System/Volumes/Data
Device Users
ole / load-misaligned.swift
Last active Jun 25, 2019
Load misaligned data from a blob of bytes. I don't know if this is correct.
View load-misaligned.swift
import Foundation
let data = Data([0, 0, 0, 0, 0, 0x11, 0x22, 0x33, 0x44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
extension UnsafeRawBufferPointer {
func loadUnaligned<T>(fromByteOffset offset: Int, as: T.Type) -> T {
// Allocate correctly aligned memory and copy bytes there
let alignedPointer = UnsafeMutableRawPointer.allocate(byteCount: MemoryLayout<T>.stride, alignment: MemoryLayout<T>.alignment)
defer {
ole / date-format-strings.swift
Last active Apr 29, 2019
Type-safe date format strings using string interpolation. Requires Swift 5.0.
View date-format-strings.swift
// Type-safe date format strings using string interpolation
// Requires Swift 5.0.
import Foundation
enum DateFormatComponent {
case era(AlphaStyle)
case year(MinimumDigits)
case yearForWeekOfYear(MinimumDigits)
case quarter(AlphaNumericStyle)
ole /
Created Jan 23, 2019
Swift Community Podcast Episode 1: Transcript (autogenerated with the Amazon Transcribe service)

John Sundell Welcome to the very first episode of the Swift Community Podcast. A show for the Swift community by the Swift Community. I am one of your hosts, John Sindel. And with me, I have two wonderful co hosts, the first of which you might know as the host of the Swift coders podcast. Mr. Garric Nahapetian. How's going Garric?

Garric Nahapetian Excellent. Thank you so much for having me. How you doing?

John Sundell I'm doing great. And we also have our third and final co host for this episode. And it's none other than the creator of Swift itself. Mr Chris Lattner. How's it going, Chris?


ole / objc-extension-override-without-dynamic.swift
Created Jan 11, 2019
Overriding at-objc methods defined in extensions without the dynamic keyword
View objc-extension-override-without-dynamic.swift
// Paste this into an iOS playground in Xcode and run
// Expected output:
// ParentVC: handled in ParentCoordinator
// ChildVC: handled in ChildCoordinator
// UIViewController: accountLogin() not handled
import UIKit
NSSetUncaughtExceptionHandler { exception in
print("Exception: \(\(exception)")
View headAndTail.swift
// Challenge: Fill out this extension
// I have a solution for this return type:
// var headAndTail: (head: Element, tail: AnySequence<Element>)?
// I don't think it can be done with tail: SubSequence.
extension Sequence {
/// Destructures `self` into the first element (head) and the rest (tail).
/// Returns `nil` if the sequence is empty.
You can’t perform that action at this time.