سنة حلوة يا جميل!
وقل رب زدني علماً
And pray, “My Lord! Increase me in knowledge”. Taha, 114
بين منطوق لم يقصد، و مقصود لم ينطق.. تضيع الكثير من المحبة
"Between what is said and not meant, And what is meant and not said, Most love is lost". ~ Kahlil Gibran.
شعار سبوتيفاي بالعربي
A concept of Spotify brand in farsi nastaliq typeface
مالي سوى قرعي لبابك حيلةٌ، فلئن رددت فأي باب أقرع
My only hope is knocking on your door, what other door can I knock on if I was turned down!
Build a habit of mastering 1 new word every day. Can't get any simpler!
A µFramework for showing alerts like the one used when copying from pasteboard or connecting Apple pencil.
Subscript with default arguments
Swift 5.2 added subscript with default arguments, it gets quite powerful for custom subscripts, but also default ones like in this example
Fontastic is the app for browsing and installing hundreds of custom fonts on your iPhone or iPad.
Multiple levels sorting with tuples
Use tuples to sort Comparable objects based on multiple properties. Example: sorting contacts by surname; then by name, to see all names from the same family in a row.
Generics in typealias
Use a generic type in type aliases to increase code reusability. Notice how the same type alias is used for all Post, [Post], and [Book] 😎
Relocating to Amsterdam
My experience from the moment I took the decision to immigrate to Amsterdam until this moment, and some tips and resources to bring some insights if you are considering relocating.
Enforce SSH instead of HTTP for Git Operations
Learn how to generate SSH keys, add them to your git website, and enforce the system to use SSH for all git operations.
Protocol Oriented Extensions
Use the power of protocols and generic types to avoid extension conflicts
Posts about software development, calligraphy,
coffee, and other stuff!
Copyright © 2021
. All rights reserved.