Category: tech
-
How a Swift file is compiled
First of all, this is not “how an iOS/MacOS app is built”. An app consists of a bunch of source code files, structured in modules/frameworks, each of which could be purely in swift/objective-c, or mixed and match…
-
What is Simpson's paradox?
If you’re from the world of statistics, you may have heard of it. Two doctors, Dr. Hibbert and Dr. Nick, both perform 2 types of surgeries: heart surgery and band-aid removal…
-
A misuse of Expectation
This post is to demonstrate a common use of expectation that is not correct. The example is excerpted from lecture 23 of MIT6_042J
-
Weight initialization - impact on layer distribution
This post covers some experiments to demonstrate the impact of weight initialization on the distribution of activations on each layer in neural network, especially the very last layers.
-
A dive into Histogram of Oriented Gradients (HOG)
In this post, we will dive into Histogram of Oriented Gradients (HOG), a common technique used to extract features of images… And then implement it in python (in order to comprehend it).
-
Create custom Xcode templates
Everytime we create a new file, Xcode suggests some built-in templates that may be useful. Luckily, we could also create our own templates. Technically, Xcode looks for templates in ~/Library/Developer/Xcode/Templates and /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates. Let’s call the first path P1 and the second path P2. A template could be iferred by a folder MY_TEMPLATE.xctemplate. Assume we gonna create a template for MVVM. It should create 3 files: [Feature]Model.swift, [Feature]ViewModel.swift and [Feature]ViewController.swift. Ex: LoginModel.
-
FAQ on ReactiveCocoa
This post highlights some Q&A related to ReactiveCocoa - a FRP framework specifically built for iOS.
-
Garbage Collection (GC) algorithms
As an iOS developer, I am quite familiar with Reference Counting. It is considered a fundamental knowledge regarding memory manangement that every iOS developers must acknowledge. Today, I figured out a few more algorithms of garbage collection. Fig 1. From left to right: Reference Counting, Mark-Sweep, Mark-Compact, Copying. Reference Counting (RC) This is simple & easy to implement. However, it has some major drawbacks one of which is not being able to deal with retain cycles.
-
Swift: ExpressibleByStringLiteral
It is a protocol in Swift 3 (which was StringLiteralConvertible in Swift 2). The name clearly reflects the meaning that an object of a class can be expressed by a literal string
-
Log events in ReactiveCocoa
I used to spend a lot of time reading documentations of ReactiveCocoa (Framework overview, design guidlines, basic operators…) but, unfortunately, missed this one…