
From a CLI task to a run (main) loop
In this short for post, we are going to explore the basic mechanisms by which you can create a very basic application, which keeps running until you close it. The idea is to explore how a rudimentary loop can be used to control the lifecycle of an application. This technique is foundational to almost every application you would run and build, from iOS apps to browsers to video games.

The Journey of a Touch - Part II
Having explored the way an SPI-based digitizer would be integrated into a iOS, we can now explore the mechanisms through which the operating system would transfer the touch event to the relevant application running on an Apple Device.

The Journey of a Touch - Part I
To deliver even the most basic functionality to your end users, a large number of systems needs to work well, in concert. This is, of course, without even diving into Apple’s numerous frameworks. This time, we’ll explore the mechanisms through which a touch event on a phone’s screen reaches the Operating System.

Starting with the basics - Part III
Soon, we’re going to explore how an input event, such as a touch on an iPhone screen, is eventually translated into User Interface events. To make it all possible, however, the Operating System needs to be able to talk to hardware input devices. This post will focus on Apple’s Drivers Frameworks and it will briefly explore the modern approach to User Level driver development.

Starting with the basics - Part II
In the previous post, I covered some of the core concepts behind operating systems, in general. To better understand how these systems fit together, it’s useful to see them in action.

Starting with the basics - Part I
During a conversation at work, it became apparent just how disconnected modern software development is from the underlying hardware, or even from the Operating Systems the application processes run on. Coincidentally, I was getting ready to finish up my first SwiftUI introductory book. I decided to push the release of that book a bit farther, and capture the information I wanted to convey in that conversation, in a better articulated manner and through the lens of Apple’s systems.