Semantic Versioning

My notes on Semantic Versioning

Carthage

My notes on Carthage

Framework

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

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.

Enumerating Cg Path

Notes on Parsing CGPath

Sorting

Sorting things in swift

Live Edit

In its simplest form you click a button and it loads a css and recursively calls setSkin on the UI.

Encode Decode

Encoding and decoding of text

Shell Testing

Some shell research

Cvdisplaylink

CVDisplayLink is a timer object that allows your application to synchronize its drawing to the refresh rate of the display. ==It’s highly useful when you want to combine animation with user interactions==, something that is not easily handled by transitions or stock animations.

Core Animation

My Research-notes on core animation

The Event System

A simple event system that propagates events through hierarchical classes

Gesture Research

Notes on gestures

Hit Testing Sub Views

Researching hit-testing of sub views

Asserting Class And Protocol

Great method that asserts if an instance is of a class type or of a protocol type

Chromeless Window

Customize a window with any design and behavior, everything is also animatable.

My Jekyll Workflow

As a programmer I sort and collect a lot of research, my problem has always been were do I store all this research?

Swift Regex Has No Conditional Backref

When you want to assert if a digit is a digit i used to use a simple conditional back referencing pattern.

Graphic Framework For Osx

A graphics framework built on Quartz

Dynamic Instance Creation

NOTE: it does require that each class extends the same protocol and that they have similar init method

Equality Between Protocols

Drop this in playground and your on your way:

Extracting Rgba Values From Nscolor

Extracting RGBA values from NSColor

Casting Arrays

**Casting Array to Array**

Printable Classes

This is a great way to add context to “data container classes” as it is then easy to debug all the variables in the instance

Equatable Protocol

My notes on the Equatable protocol in swift

Selectors In Swift

Pure Swift Implementation Of Comparing Types

Dynamic Class Types In Swift

Here is a pure swift implementation of dynamic class types. It does require the classes to extend the same protocol.

Swift Doesn't Do Named Capturing Groups In Regexp

But if you combine a swift enum with RegExp matches and add ($n ) to your capture groups you can simulate named capturing groups.

A Better Drawing Routine For Quartz

In order to support GradientLine it was necessary to go all the way down to the core , namely Quartz which is part of CoreGraphics. So currently implementing a routine to support GradientLine Directly.

Drawing A Gradient Line In Osx

There are a couple of ways to do it

Swift Event Research

Delegation vs NsNotificationCenter vs Custom Event system