Published inBetter ProgrammingiOS: Protecting against TLS Bypass attacksThe cat and mouse game against hacker never ends. While we can never fully prevent against hackers modifying our runtime binaries and…Nov 4, 2023179Nov 4, 2023179
An impossible plan for peace in PalestineI’ve been learning more and more about the history of the region, and I am by no mean an expert. I am not Palestinian. I am not Israeli.Nov 2, 202387Nov 2, 202387
Published inBetter ProgrammingiOS Mobile App Security TipsI’ve been working in the software industry for well over twenty years touching all levels of security requirementsOct 16, 20231732Oct 16, 20231732
Published inSwift2GoViewRep-Intent StateMachine iOS architectureI love state machines, they are easy to reason about, they are predictable.Aug 30, 20231322Aug 30, 20231322
Published inSwift2GoSwiftUI Opinion: ViewModel doesn’t belong in PreviewsSwiftUI Previews are key to making SwiftUI development fast and easy. However, if your views require a ViewModel, you are impeding your own…May 22, 20222175May 22, 20222175
Using ~ instead of .rawValueThere’s a super handy little prefix I started using in several of my projects.May 18, 20223May 18, 20223
Published inITNEXTSwiftUI Case Study: Data modelling of Brotherhood AlchemistSwiftUI is relatively new and many of us in the iOS development community are still adapting to this declarative language. There are many…Apr 22, 2022371Apr 22, 2022371
Published inITNEXTType Enforced UserDefaultsOn iOS the UserDefaults is a persistent dictionary stored and managed by iOS that survives the application runtime. It can be used to store…Mar 25, 202228Mar 25, 202228
Published inITNEXTIntroducing SwiftEmailValidatorValidating 99% of North-American emails takes less than 5 minutes of efforts, but validating 100% of valid email addresses world-wide can…Jan 28, 2022116Jan 28, 2022116
Published inSwift2GoSecure JSON handling in SwiftWhen storing/reading data to/from disk, or when performing API calls, is your app’s only validation of data making sure the JSON can be…Jan 15, 2022265Jan 15, 2022265
Published inSwift2GoSwift DI using struct Dependencies {}How to define dependencies for an inherited code base. Using simple struct to allow for unit tests and mocking. Junior dev friendly Swift.Mar 31, 20214Mar 31, 20214
Published inSwift2GoUnit Testing Swift NotificationWhen writing unit tests for Swift applications, it is inevitable that at some point you will need to confirm that a Notification is…Mar 13, 2021Mar 13, 2021
Swift Quick Tip: Default Parameter ValuesInstead of creating multiple variations of a function supporting various number of arguments, consider defining a default value in your…Aug 6, 2019Aug 6, 2019
Published inSwift2GoMinimal Swift API clientSample API client library in Swift using URLSession, Generics and CodableFeb 21, 20191Feb 21, 20191
Published inSwift2GoSwift 4 UITableView Tips & TricksOver the past few years I’ve picked up a few habits which to me seems to simplify my development and ease maintenance when dealing with…Aug 24, 20181Aug 24, 20181
Published inITNEXTExploring the universe of TDDI’ve been doing software development for over 20 years now, and somehow in all of that time I got pulled in projects which for some reason…Aug 24, 2018Aug 24, 2018
Published inITNEXTCreating an infinite grid on iOS — Using UICollectionViewAs a follow-up to my previous tutorial “Creating an infinite grid on iOS”: https://itnext.io/creating-an-infinite-grid-on-ios-2bd6db28c581…Aug 21, 20181Aug 21, 20181
Published inITNEXTCreating an infinite grid on iOSI recently came across a StackOverflow question (https://stackoverflow.com/questions/51544588/drawing-an-infinite-grid-in-ios) in which the…Aug 10, 20183Aug 10, 20183