Besher Al MalehThe Nested Closure TrapRevisiting [weak self] to avoid retain cycles with this common scenario that involves nested closures in SwiftMar 12, 20202Mar 12, 20202
Besher Al MalehConcurrency Visualized — Part 3: Pitfalls and ConclusionThis last part of the series covers some common challenges that you might encounter with Grand Central DispatchJan 29, 20206Jan 29, 20206
Besher Al MalehConcurrency Visualized — Part 2: Serial vs ConcurrentA detailed look at serial and concurrent queues in Grand Central DispatchJan 29, 20204Jan 29, 20204
Besher Al MalehConcurrency Visualized — Part 1: Sync vs AsyncAn in-depth comparison of synchronous and asynchronous execution in Grand Central DispatchJan 29, 20202Jan 29, 20202
Besher Al MalehMy first Swift projectI mentioned in my earlier posts how personal projects helped me stay motivated while I was learning programming. In this post I will talk…Mar 27, 2019Mar 27, 2019
Besher Al MalehHigh performance drawing on iOS — Part 2This article covers two different ways to perform 2D drawing while leveraging the GPU hardwareJan 19, 20196Jan 19, 20196
Besher Al MalehHigh performance drawing on iOS — Part 1How I optimized 2D drawing for my game, including what worked and what didn’t workJan 17, 20194Jan 17, 20194
Besher Al MalehHow I built my first open source libraryLast week I published my first open source library, QuickTicker. It’s a Swift library that lets you create simple ticker animations using…Nov 1, 2018Nov 1, 2018