Skip to content

Instantly share code, notes, and snippets.

View HusamAamer's full-sized avatar
👨‍💻
Developing Great Apps

Husam Aamer HusamAamer

👨‍💻
Developing Great Apps
View GitHub Profile
@roman-wb
roman-wb / Sample.swift
Created March 27, 2019 10:30
Horizontal CollectionView with paging and center content inset (with shadow) (Variant 2: Cell with subview)
import UIKit
class CollectionCell: UICollectionViewCell {
static let reuseIdentifier = "CollectionCell"
var card: UIView!
var label: UILabel!
var isInstalled = false
@Deub27
Deub27 / UIStackView+removeAll.swift
Created November 25, 2017 14:00
Remove all arranged subviews from UIStackView at once
import UIKit
extension UIStackView {
func removeAllArrangedSubviews() {
let removedSubviews = arrangedSubviews.reduce([]) { (allSubviews, subview) -> [UIView] in
self.removeArrangedSubview(subview)
return allSubviews + [subview]
}
@rjz
rjz / crypto-aes-256-gcm-demo.js
Last active November 7, 2025 10:28
example using node.js crypto API with aes-256-gcm
const buffer = require('buffer');
const crypto = require('crypto');
// Demo implementation of using `aes-256-gcm` with node.js's `crypto` lib.
const aes256gcm = (key) => {
const ALGO = 'aes-256-gcm';
// encrypt returns base64-encoded ciphertext
const encrypt = (str) => {
// The `iv` for a given key must be globally unique to prevent
@samsonjs
samsonjs / KeyboardLayoutGuide.swift
Created July 19, 2017 15:02 — forked from myell0w/KeyboardLayoutGuide.swift
A UILayoutGuide that follows the Keyboard on iOS
import Foundation
import UIKit
/// Used to create a layout guide that pins to the top of the keyboard
final class KeyboardLayoutGuide {
private let notificationCenter: NotificationCenter
private let bottomConstraint: NSLayoutConstraint
@brennanMKE
brennanMKE / directoryExistsAtPath.swift
Created April 20, 2017 22:23
Directory Exists at Path in Swift
fileprivate func directoryExistsAtPath(_ path: String) -> Bool {
var isDirectory = ObjCBool(true)
let exists = FileManager.default.fileExists(atPath: path, isDirectory: &isDirectory)
return exists && isDirectory.boolValue
}
@technoknol
technoknol / users_migration_and_database_seeder.php
Created April 20, 2017 09:18
Lumen 5.4/Laravel 5.4 Users migration and database Seeder
<?php
// Migration file
// database\migrations\create_users_table.php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersTable extends Migration
{
@edamov
edamov / index.php
Created October 18, 2016 15:52
PHP token-based (JWT) push notifications to APNS via HTTP/2
<?php
require_once 'vendor/autoload.php';
use Jose\Factory\JWKFactory;
use Jose\Factory\JWSFactory;
$key_file = 'key.p8';
$secret = null; // If the key is encrypted, the secret must be set in this variable
$private_key = JWKFactory::createFromKeyFile($key_file, $secret, [
@keithnorm
keithnorm / UICollectionView+ScrollViewAnimateable.swift
Created May 25, 2016 14:45
enable animating a scroll view's contentOffset property with custom easing
//
// UICollectionView+ScrollViewAnimateable.swift
// persimmon
//
// Created by Keith Norman on 5/24/16.
// Copyright © 2016 Good Eggs. All rights reserved.
//
/// Based on https://github.com/plancalculus/MOScrollView. This allows animating contentOffset with a timing function. It's not possible to animate contentOffset via a CAAnimation. It is possible to animate bounds but then scrollview delegate methods don't get called which may be an issue if the animation exposes new cells in a table view or collection view and you expect those cells to render when the scroll into view.
@kristopherjohnson
kristopherjohnson / firstDifferenceBetweenStrings.swift
Last active July 19, 2024 19:08
Swift code to find differences between strings and display them in a readable way, useful for displaying unit test results
import Foundation
/// Find first differing character between two strings
///
/// :param: s1 First String
/// :param: s2 Second String
///
/// :returns: .DifferenceAtIndex(i) or .NoDifference
public func firstDifferenceBetweenStrings(s1: NSString, s2: NSString) -> FirstDifferenceResult {