2018

See all years

55 posts

Bundles and Packages

The article clarifies the distinction between bundles and packages on Apple platforms, often confused due to overlapping use cases.

Development

CharacterSet

The article introduces CharacterSet, a Foundation type in Swift for manipulating Unicode scalar values, distinct from Set<Character> despite its name, as it conforms to the SetAlgebra protocol rather than storing Character values directly.

Development

Monthly update #0343 • November 2018

Monthly update 343 • November 2018 • 2018-11-01 - 2018-11-30

Monthly Updates

SecKey

SecKey provides one time passwords to be used with the two factor authentication of Dropbox, Google, Facebook, GitHub, Proton Mail and many more.

Projects

Past Tense by Lee Child

Past Tense follows Reacher to his father’s New Hampshire hometown, uncovering family secrets, while two Canadians face a deadly trap in a rural motel.

Books

Locale

Internationalisation (i18n) means building your app so it can support many regions and languages. Localisation (l10n) means actually translating and adapting it for a specific market.

Development

The User Experience of Chatbots

I absolutely hate chatbots! So much that I added a rule to Quiet to hide/block chatbots from websites.

Development

Monthly update #0342 • October 2018

Monthly update 342 • October 2018 • 2018-10-01 - 2018-10-31

Monthly Updates

It is time to leave the Facebook universe!

I left Facebook on 1 January 2012. I never used Instagram and stopped using WhatsApp on 30 April 2017. I have not missed them for a second. People often ask why I abandoned these platforms.

Essays

FileManager

On Apple platforms, the FileManager class in the Foundation framework provides a robust abstraction for file system operations like creating, reading, moving, copying, and deleting files and directories, using paths or file URLs.

Development

DateComponents

The article introduces DateComponents, a versatile Foundation type in Swift for representing either a specific calendar date or a duration of time, emphasising its use over hardcoded time intervals like 60 * 60 * 24 for a day.

Development

REPL Support for Swift Packages

The swift run command now includes a --repl option. This lets you start the Swift REPL and import library targets from a package.

Development

The Fox by Frederick Forsyth

In Frederick Forsyth’s thrilling modern espionage novel, The Fox, a British teen with Asperger’s, Luke Jennings, turns out to be a cyber-genius who can hack into the world’s most secure systems, like the Pentagon, NSA, and CIA.

Books

Monthly update #0341 • September 2018

Monthly update 341 • September 2018 • 2018-09-01 - 2018-09-30

Monthly Updates

How Mirror Works

Swift provides runtime type inspection through the Mirror API. This allows developers to examine arbitrary values and traverse object graphs without prior knowledge of types at compile time.

Development

Swift 5.0 Release Process

Swift 5.0 aims to achieve ABI stability to enable a stable runtime for operating systems, with module stability as a key focus that may land in this release or a later 5.x update.

Development

Swift 4.2 Released!

Swift 4.2 is a major update that enhances compile times, debugging, the standard library, and moves closer to binary compatibility, while maintaining source compatibility with Swift 4 and 4.1 but marking the last release to support Swift 3 compatibility.

Development

Remembering Opi

Opi, the father of my father, died today. He was born in March 1936 and lived to the age of 82 years. He worked as a pastor for many years.

Remembering

CMDeviceMotion

The Core Motion framework in Swift simplifies access to iOS and watchOS device sensors, enabling innovative user interactions beyond touch by leveraging a dedicated motion coprocessor for efficient accelerometer, gyroscope, and magnetometer data processing.

Development

CMMotionActivity

The Core Motion framework’s CMMotionActivityManager on iOS and watchOS uses a device’s motion coprocessor to process sensor data from accelerometers, gyroscopes, and magnetometers, determining user activities like walking, running, cycling, automotive travel, or being stationary with varying confidence levels.

Development

Monthly update #0340 • August 2018

Monthly update 340 • August 2018 • 2018-08-01 - 2018-08-31

Monthly Updates

NSDataDetector

NSDataDetector finds dates, links, phone numbers, addresses, and transit details in natural language text. It is a subclass of NSRegularExpression.

Development

NSDataAsset

Asset catalogs in Xcode let you store not just images but also data files like JSON. This helps apps load faster on first launch by avoiding network calls.

Development

Experience Rot

Steve Jobs once said, “You have to pick carefully. I’m actually as proud of the things we haven’t done as the things I have done. Innovation is saying ‘no’ to 1,000 things.”

Development

NLLanguageRecognizer

Apple’s Natural Language framework (iOS 12+) finally lets developers use the same powerful language-detection technology that powers Siri and system features.

Development