Skip to content

Instantly share code, notes, and snippets.

Avatar
🚀
Doing new things

Wil Gieseler wilg

🚀
Doing new things
View GitHub Profile
@wilg
wilg / parallel_map.swift
Last active Jan 12, 2022 — forked from DougGregor/parallel_map.swift
Swift async/await implementation of a parallel map
View parallel_map.swift
import Foundation
// https://gist.github.com/DougGregor/92a2e4f6e11f6d733fb5065e9d1c880f
extension Collection {
func parallelMap<T>(
parallelism requestedParallelism: Int? = nil,
_ transform: @escaping (Element) async throws -> T
) async rethrows -> [T] {
let defaultParallelism = 2
let parallelism = requestedParallelism ?? defaultParallelism
View tasks.swift
extension Task where Success == Void, Failure == Error {
@discardableResult
/// A task that performs a non-throwing `operation`.
static func strict<S>(priority: TaskPriority? = nil, operation: @escaping @Sendable () async -> S) -> Self {
Task(priority: priority, operation: {
_ = await operation()
})
}
}
@wilg
wilg / omnisharp.json
Created Jul 26, 2018
C# for Unity OmniSharp and VS Code Formatting Settings
View omnisharp.json
{
"FormattingOptions": {
"NewLine": "\n",
"IndentationSize": 4,
"NewLinesForBracesInMethods": false,
"NewLinesForBracesInAccessors": false,
"NewLinesForBracesInAnonymousMethods": false,
"NewLinesForBracesInAnonymousTypes": false,
"NewLinesForBracesInControlBlocks": false,
"NewLinesForBracesInLambdaExpressionBody": false,
@wilg
wilg / asyncMap.swift
Last active Apr 17, 2020
A helper function to make error propagation for asynchronous operations easier in Swift.
View asyncMap.swift
/// `asyncMap` helps you with error propagation for asynchronous tasks.
/// - Parameters:
/// - onFailure: A closure that will be called in an error condition if in an error state.
/// - onSuccess: A closure that will be called with your success value if succesful.
/// - Returns: A closure that will call `onError` if it is passed a failing result, and that will execute `onSuccess` if it is successful.
func asyncMap<Success, NeverSuccess, Error: Swift.Error>(
_ onFailure: @escaping ((Result<NeverSuccess, Error>) -> Void),
_ onSuccess: @escaping (Success) -> Void
) -> ((Result<Success, Error>) -> Void) {
return { result in
@wilg
wilg / example.eson.js
Last active Sep 10, 2019
ESON (or: yet another stab at slightly improving JSON)
View example.eson.js
// ESON is like JSON.
// ESON files should use the `.eson` file extension and the `application/eson` MIME type.
// This is meant to be as close to JSON as possible (and backwards compatible), but having learned a few lessons.
{
// It's backwards compatible with JSON.
"key": "value",
// Obviously, the big feature is it supports comments:
@wilg
wilg / index.js
Last active Oct 31, 2018 — forked from tommoor/index.js
requirebin sketch
View index.js
const React = require('react');
const ReactDOM = require ('react-dom');
const Render = require('react-emoji-render');
// try swapping the commented lines below and hit "Run Code" in the top right
// to see another rendering style!
const Emoji = Render.Emojione;
//const Emoji = Render.Twemoji;
View gist:7313263
public Color GetInterpolatedPixel(float x, float y, float z) {
x = Mathf.Clamp(x, 0, size - 1);
y = Mathf.Clamp(y, 0, size - 1);
z = Mathf.Clamp(z, 0, size - 1);
int lowerX = Mathf.Clamp(Mathf.FloorToInt(x), 0, size - 1);
int upperX = Mathf.Clamp(lowerX + 1, 0, size - 1);
int lowerY = Mathf.Clamp(Mathf.FloorToInt(y), 0, size - 1);
int upperY = Mathf.Clamp(lowerY + 1, 0, size - 1);
View gist:3907894
class ExiftoolPatched < MiniExiftool
def initialize_from_hash hash
@@separator = ', '
super
end
end
View gist:3160745
jQuery ->
return unless $("#module-location-map").length > 0
window.overlays = []
# Setup Map
options = {
center: new google.maps.LatLng(34.1626653, -118.2518423),
zoom: 3,