Skip to content

Instantly share code, notes, and snippets.

@bitwit
bitwit / BasicMarkdownParserExample.js
Last active November 25, 2015 20:18
A functional javascript approach to a basic markdown parser. Inspired by a real interview question.
var _ = require('underscore')
var lines = [
"#The test",
"###Hello World",
"This is a new paragraph.",
"It has a second line",
"",
"This is my new paragraph"
];
@bitwit
bitwit / Int+ARKitMetricConversions.swift
Created August 7, 2018 16:27
Easy metric conversions for ARKit Floats using Int extensions
import ARKit
// Example usage:
// let twentyCentimeters: Float = 20.cm
// let twoMeters: Float = 2.m
// let oneMillimeter: Float = 1.mm
// let extent: float3 = float3(20.cm, 10.cm, 1.m)
extension Int {
var mm: Float {
@bitwit
bitwit / Playground.swift
Created December 19, 2020 19:40
Conservation of Mass Jump
import UIKit
import PlaygroundSupport
import SwiftUI
struct ContentView: View {
var jumpAmount: CGFloat {
CGFloat(-time * time + time)
}
var scaleX: CGFloat { 1/scaleY }
@bitwit
bitwit / gist:af3e12304a88f18ccee566540cf25cb0
Last active January 31, 2021 18:55
animation stack change after size class changes
import SwiftUI
final class SizeClassNotifier: ObservableObject {
@Published var currentSizeClass: UserInterfaceSizeClass =
.compact
func updateSizeClass(sizeClass: UserInterfaceSizeClass?) {
DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
self.currentSizeClass = sizeClass ?? .compact