Advance Json Parsing Pt1

My notes on adding Codable support for classes such as UIColor and UIFont which doesn’t support Codable by default

Mac Status Bar App

My notes on making a status-bar-app

Local Frameworks

Sometimes you want to make an app that isn’t using SPM4

Swift Package Manager 4

My notes Swift Package Manager 4

Adding Icons To Xcode

My notes on how you can create and add an .icns to your xcode mac app project

Throwing Simple Errors

When do you write throws methods and when do you write methods that return optional. What makes you decide to go for throwing methods? I see some people on github write throwing methods all over the place and others use them less frequently.

Decodable Codable

My notes on Decodable and Encodable in swift

Git Tagging

My notes on tagging

Regex Replace With Closure

My notes on adding closure support to swifts RegEx class

Bundle Files In Xcode

My notes on bundling and reading files in an XCode project

Swift Style Guides

My notes on swift style guides

Prototyping In Playground

Prototyping UI/UX with XCode Playground and Animator


My notes on ForceTouch in macOS

The Holy Grail Of Swift Animation

My notes on user interruptible animation in swift

Hierarchical Spatial Algorithm

An algorithm that positions tree structured data items as an inverted tree. Originally written in swift

Dispatch Group

My notes on DispatchGroup

Associated Types

Notes on associatedtype

Mosby Swift

Notes on mosby in swift

Gesture Hud

Notes on GestureHUD

Pop Vs Oop

I always felt OOP was far superior to POP. On the premise that JavaScript used POP because they never got far enough to implement true OOP. Ref Dart which is JS w/ OOP but hasn’t caught on. value types doesn’t have OOP inheritance. So they have to use POP. Functional programming uses POP. Multithreaded apps favour value types because they are easier to work with when designing multiprocessor apps. CPU’s are not getting faster anytime soon, so we have to use many processors to achieve speed gains. Enter POP. Swift makes POP easier to do with it’s extension system, which can be thought of as a sort of light version of code injection.

Protocol Inheritance

My notes on Protocol Inheritance

Protocol Ambiguity

How to differentiate protocol ambiguity

The Ultimate Xcode Workflow

Spend zero time managing dependencies

Faster Xcode With Spm

How you can speed up compile times in XCode with Swift Package Manager

Spm And Ci Travis

My notes on Swift PM + CI Travis

Spm And Nested Frameworks

My notes on Swift package manager + XCode + Nested frameworks

Xcode And Spm

Here is how you use Swift package manager in your XCode app projects

Carthage And Nested Frameworks

A few workflows concerning Carthage and nested framework

Two Finger Swipe

Notes on implementing two finger swipe for macOS


Notes about the Switch component

Bar Graph

Notes on creating a Bar graph

Playground And Framework

Notes on adding external .framework files to playground.

Swift Package Manager

Notes on Swift package manager

Semantic Versioning

My notes on Semantic Versioning


My notes on Carthage


Some notes on swift .framework

Swift 3 Migration

After manually migrating 35.000 lines of swift 2.2 into swift 3.0 code.

Background Thread

UI on the Main-thread everything else on a background thread

Dictionary Reflection

Reflection and UnWrapping now has Dictionary support

Binary Search

Binary search implementation in swift


NSTask lets you run command-line calls in your app

Git Log

Notes on different log outputs that Git provides

Git Workflows

Overview of basic Git workflows

Git Resources

A collection of Git learning material

Git Concepts

Overview of basic git concepts

Git Commands

Overview of basic git commands

Creating An App Icon

Creating an app icon that can be use for macOS apps

Optimizing The Style Manager

parsing all the macOS Sierra GUI styles takes between 5-10secs on a 4-core 2013 MacBook Pro Retina. To make it faster

Circle Tangent To 3 Lines

Fitting a circle Given 4 points. p1,p2,p3,p4

Dynamic Method Call

Reducing for-loops is a great way to maintain readability and maintain code modularity. “Data science” methods like map, flatMap, filter and reduce are awesome building blocks for functional programing in swift, but you can also build your own custom methods that do similar things.