Skip to content

Instantly share code, notes, and snippets.

View fewlinesofcode's full-sized avatar
🏠
Working from home

Oleksandr Glagoliev fewlinesofcode

🏠
Working from home
View GitHub Profile
import XCTest
extension XCTestCase {
func trackForMemoryLeaks(_ instance: AnyObject, file: StaticString = #filePath, line: UInt = #line) {
addTeardownBlock { [weak instance] in
XCTAssertNil(instance, "Instance should have been deallocated. Potential memory leak.", file: file, line: line)
}
}
}
@fewlinesofcode
fewlinesofcode / GLSL-Noise.md
Created October 11, 2020 17:12 — forked from patriciogonzalezvivo/GLSL-Noise.md
GLSL Noise Algorithms

Generic 1,2,3 Noise

float rand(float n){return fract(sin(n) * 43758.5453123);}

float noise(float p){
	float fl = floor(p);
  float fc = fract(p);
	return mix(rand(fl), rand(fl + 1.0), fc);
}
@fewlinesofcode
fewlinesofcode / PageIndicator.swift
Last active September 11, 2023 09:02
SwiftUI Page Indicator implementation
//
// PageIndicator.swift
//
// Created by Oleksandr Glagoliev on 6/24/20.
// Copyright © 2020 Oleksandr Glagoliev. All rights reserved.
//
import SwiftUI
// MARK: - Dot Indicator -
// Twitter: @fewlinesofcode
var angle = 1.0;
var angularSpeed = 0.01;
var internalRadius = 130;
function setup() {
createCanvas(600, 600);
noStroke();
background(255);
const w = 500;
const h = 500;
const numWalkers = 1000;
let walkers = [];
function setup() {
createCanvas(w, h);
background(255);
@fewlinesofcode
fewlinesofcode / pillow_p5.js
Created June 19, 2020 14:51
p5 Pillow drawing
const s = (p) => {
const w = 400;
const h = 400;
// Center coordinates
const x0 = 200;
const y0 = 200;
// Radius
const r = 150;
@fewlinesofcode
fewlinesofcode / StructCompareUsingMirror.swift
Created April 2, 2020 17:56
Example of structure comparison in Swift
import Foundation
protocol KeyPathListable {
var allKeyPaths: [String: PartialKeyPath<Self>] { get }
var keyPathsList: [PartialKeyPath<Self>] { get }
}
extension KeyPathListable {
private subscript(checkedMirrorDescendant key: String) -> Any {
Mirror(reflecting: self).descendant(key)!
import UIKit
public extension CGPoint {
func distance(to point: CGPoint) -> CGFloat {
let xDist = x - point.x
let yDist = y - point.y
return (xDist * xDist + yDist * yDist).squareRoot()
}
}
import UIKit
extension UIBezierPath {
private static func addCorner(
_ path: UIBezierPath,
p1: CGPoint,
p: CGPoint,
p2: CGPoint,
radius: CGFloat,
isStart: Bool = false
@fewlinesofcode
fewlinesofcode / UIBezierPath+Chaikin.swift
Created March 22, 2020 15:03
Implements Chaikin corners rounding algorithm on ordered set of points
import UIKit
extension UIBezierPath {
private static func midpoint(_ a: CGPoint, b: CGPoint) -> CGPoint {
CGPoint(
x: (b.x + a.x) / 2,
y: (b.y + a.y) / 2
)
}