From a CLI task to a run (main) loop
Intro to Apple Samwise Prudent Intro to Apple Samwise Prudent

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.

Read More
Exploring Swift - Creating a simple CLI tool
Intro to Apple Samwise Prudent Intro to Apple Samwise Prudent

Exploring Swift - Creating a simple CLI tool

Although it’s not the primary use of the language, Swift can be used to accomplish a wide range of tasks, from cli tools to macOS and iOS applications, to web servers. In this section, we are going to explore how to build a very simple cli in Swift, while also looking at Swift’s package manager and build tools.

Read More
The Journey of a Touch - Part V
Intro to Apple Samwise Prudent Intro to Apple Samwise Prudent

The Journey of a Touch - Part V

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.

Read More
The Journey of a Touch - Part IV
Intro to Apple Samwise Prudent Intro to Apple Samwise Prudent

The Journey of a Touch - Part IV

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.

Read More
Starting with the basics - Part III
Intro to Apple Samwise Prudent Intro to Apple Samwise Prudent

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.

Read More
Starting with the basics - Part II
Intro to Apple Samwise Prudent Intro to Apple Samwise Prudent

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. Learn how to explore the user space on MacOS, as well as how to use Instruments on a Mac.

Read More
Starting with the basics - Part I
Intro to Apple Samwise Prudent Intro to Apple Samwise Prudent

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.

Read More
Taking the first byte
Samwise Prudent Samwise Prudent

Taking the first byte

All journeys have to start somehow, somewhere. This post and this space are as good as any…

Read More