Skip to content

Instantly share code, notes, and snippets.

View Galeas's full-sized avatar
🇺🇦
#standwithukraine

Evgeniy Branitsky Galeas

🇺🇦
#standwithukraine
View GitHub Profile
@Galeas
Galeas / DiffableDatasource.swift
Last active December 9, 2025 16:49
Generic, boilerplate-reducing base classes for UIKit Diffable Data Sources
import UIKit
public protocol DiffableDatasource: AnyObject {
typealias Snapshot = NSDiffableDataSourceSnapshot<Section, Item>
typealias SnapshotProvider = () -> Snapshot
associatedtype View
associatedtype Datasource
associatedtype Section: Hashable & Sendable
associatedtype Item: Hashable & Sendable
# -----------------------------------------
# Create permanent environment variable
#
# $1 - variable name
# $2 - variable definition
# @requires: '~/.zshrc' or '~/.bashrc'
# -----------------------------------------
function new_env_var {
local detected_shell="$(ps -o comm= -p $$)"
local rcfile=$(echo "${HOME}/.${detected_shell//-/}rc")
@Galeas
Galeas / git_cleanup.sh
Created May 26, 2025 16:19
The script checks for remote-less local branches and prunes it
#!/bin/zsh
# Git branch cleanup script - removes local branches whose remotes were deleted
# Usage: ./git_cleanup.sh [path-to-git-repo]
set -e
# Handle path parameter
if [ $# -gt 1 ]; then
echo "Usage: $0 [path-to-git-repo]"
@Galeas
Galeas / joke
Created December 13, 2021 09:37
English: A dog.
Swedish: What?
English: The dog.
English: Two dogs.
Swedish: Okay. We have: En hund, hunden, Två hundar, hundarna.
@Galeas
Galeas / DispatchOnce.swift
Created October 15, 2020 17:18
Swift 3+ GCD's dispatch_once
extension DispatchQueue {
private static var _onceTracker = [String]()
func once(file: String = #file, function: String = #function, line: Int = #line, _ block:() -> Void) {
let token = file + ":" + function + ":" + String(line)
once(token: token, block)
}
/// Executes a block of code, associated with a unique token, only once. The code is thread safe and will
/// only execute the code once even in the presence of multithreaded calls.
@Galeas
Galeas / sockd.conf
Created April 17, 2018 11:23
Dante config
#logoutput: /var/log/socks.log
logoutput: stderr
# socks clients interface and port
internal: eth0 port = 1080
# external interface and port
external: eth0
#internal: x.x.x.x port = 1080
#external: x.x.x.x
@Galeas
Galeas / sockd
Last active April 17, 2018 11:21
Dante run script
#! /bin/sh
### BEGIN INIT INFO
# Provides: sockd
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start the dante SOCKS server.
# Description: SOCKS (v4 and v5) proxy server daemon (sockd).
# This server allows clients to connect to it and
CGFloat hue = ( arc4random_uniform(256) / 256.0 ); // 0.0 to 1.0
CGFloat saturation = ( arc4random_uniform(128) / 256.0 ) + 0.5; // 0.5 to 1.0, away from white
CGFloat brightness = ( arc4random_uniform(128) / 256.0 ) + 0.5; // 0.5 to 1.0, away from black
UIColor *color = [UIColor colorWithHue:hue saturation:saturation brightness:brightness alpha:1];
@Galeas
Galeas / KeyboardAdjuster.h
Last active March 20, 2018 11:32
iOS AutoLayout Keyboard Adjuster
@import UIKit;
typedef void (^KeyboardAdjustingBlock)();
@interface KeyboardAdjuster : NSObject
@property (nonatomic, assign) BOOL activated;
@property (nonatomic, nullable, weak) IBOutlet UIView *targetView;
@property (nonatomic, nullable, weak) IBOutlet NSLayoutConstraint *targetConstraint;
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser