When we press the "A" key on our computer keyboard, an "a" appears on our screen almost simultaneously. In between those two points there are a number of layers of computer program which communicate with each other: The keyboard controller sends a message to the operating system which is interpreted by a word processor, which then returns a message to the operating system, which communicates with the video controller and the video board sends a message that it needs an "a" and this is mapped as a group of pixels which light up on the screen. Except that none of this actually happens. At the level of physical reality, all that happens is the shifting of magnetic fields and the passing of electrons. The electrons orbiting atoms slide from one atom to the next along wires, among silicon and metal. Entities like computer programs and operating systems are abstractions, layers of abstractions in fact, on top of a brute reality. In this paper I argue that this is the appropriate starting point for understanding the role of semiotics in negotiating reality. Taking examples from computer science, visual perception, and language, this inquiry considers what kind of abstraction we want semiotics to be. It is found that "the semiotic abstraction" allows us to understand semiotic systems as machines for creating differences, and semiotics itself as the primordial science of meaning.