Skip to content

Instantly share code, notes, and snippets.

Avatar

Timothy J. Wood tjw

View GitHub Profile
@tjw
tjw / OmniOutliner Transcribe WWDC Notes.applescript
Last active Jun 8, 2021
Transscribe WWDC video notes into OmniOutliner
View OmniOutliner Transcribe WWDC Notes.applescript
(*
With a QuickTime file open QuickTime Player, and an OmniOutliner file open that matches the title below, if this is invoked:
- If the QT file is playing, it is paused and the current playback speed is recorded (use option-click on the fast forward button to increase playing speed in QuickTime Player)
- If there is not a row starting with the right session number, one is created at the top level (with a link back to the QT file)
- A new row is added with the current time code and the insertion point to the right of it and OmniOutliner is activated.
- Otherwise, playing in the QT file is resumed a couple seconds before the point at which it was paused, with the playback rate restored, and QT is activated
- Setup:
View OmniOutliner Transcribe WWDC Notes.applescript
(*
With a QuickTime file open QuickTime Player, and an OmniOutliner file open that matches the title below, if this is invoked:
- If the QT file is playing, it is paused and the current playback speed is recorded (use option-click on the fast forward button to increase playing speed in QuickTime Player)
- If there is not a row starting with the right session number, one is created at the top level (with a link back to the QT file)
- A new row is added with the current time code and the insertion point to the right of it and OmniOutliner is activated.
- Otherwise, playing in the QT file is resumed a couple seconds before the point at which it was paused, with the playback rate restored, and QT is activated
- Setup:
@tjw
tjw / DispatchWriteSource.m
Created Mar 28, 2018
A dispatch write source that is connected to a UNIX domain socket with a full write buffer will fire forever, instead of waiting to fire until there is room in the buffer to write more data.
View DispatchWriteSource.m
//
// main.m
// DispatchWriteSource
//
// Created by Timothy J. Wood on 3/27/18.
// Copyright © 2018 The Omni Group. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <unistd.h>
@tjw
tjw / SetPrototype.swift
Created Feb 14, 2018
Regression in JSObjectSetPrototype for the global object in a context.
View SetPrototype.swift
/*
swift SetPrototype.swift
On 10.13.4, the result is 'undefined', but it should be '5'.
*/
import Foundation
import JavaScriptCore
var definition:JSClassDefinition = kJSClassDefinitionEmpty
@tjw
tjw / .swift-build-presets
Last active Oct 16, 2017
iOS swift preset file
View .swift-build-presets
# Trying to get the fastest incremental build times for small changes to the swift compiler.
# This still rebuilds the stdlib on each change to the compiler (no --skip option I see to avoid that).
[preset: ios]
release
debug-swift
ios
skip-build-ios-simulator
skip-test-ios-simulator
skip-build-osx
skip-test-osx
@tjw
tjw / steps.txt
Created Oct 15, 2017
Building swift for iOS?
View steps.txt
% ./utils/build-script --release-debuginfo --debug-swift
#### hours pass ####
% ../build/Ninja-RelWithDebInfoAssert+swift-DebugAssert/swift-macosx-x86_64/bin/swift -sdk /Applications/Xcode-9.1b2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk -target arm64-apple-ios11.1 /Users/bungi/Desktop/TransitiveAppExtensionAvailable/Example.swift
<unknown>:0: error: unable to load standard library for target 'arm64-apple-ios11.1'
@tjw
tjw / instantiate-from-class.swift
Created Jul 20, 2015
instantiate-from-class.swift
View instantiate-from-class.swift
protocol P {
static var name: String { get }
init(i:Int)
}
class A: P {
static var name: String {
get { return "A" }
}
required init(i:Int) {}
View dir-enum.swift
import Foundation
let u = URL(fileURLWithPath: "/tmp/missing-path", isDirectory: true)
let d = FileManager.default.enumerator(at:u, includingPropertiesForKeys: nil, errorHandler: {_,_ in return false})!
print("d \(d)") // --> d <NSURLDirectoryEnumerator: 0x100a01940>
// Crashes, unless the error handler above is replaced with nil
for _ in d {}
View objc-throwing-block.swift
import Foundation
/*
xcrun swift objc-throwing-block.swift
objc-throwing-block.swift:20:13: error: method cannot be marked @objc because the type of the parameter cannot be represented in Objective-C
@objc func access(accessor: Accessor) {}
^
objc-throwing-block.swift:20:30: note: throwing function types cannot be represented in Objective-C
View Swift on Pi 3.md