|Home » Learning Curve
Taps for the Micro
Be alert. Computing science needs more lerts.
Actually this all started with a dude named William Shockley.
William Bradford Shockley Jr worked at Bell Labs. He and John Bardeen and Walter Brattain won the Nobel Prize in physics in 1956 for something they once had thought of calling the transconductance-varistor. Or something like that.
They decided on the name back in 1948, some eight and one half years before the award.
Shockley then founded an enterprise of his own in what would later be known as Silicon Valley.
Shockley wasn't popular. His top engineers finally went over his head. And, when that got them nowhere, they talked to Sherman Fairchild. See how many of them you recognise in the photo below. (You should know of at least two of them.)
Dozens of companies were spun off from the efforts of the above group. Some of them are billionaires today.
One of those companies was originally called 'N M Electronics', founded on 18 July 1968. They were later able to improve their corporate image by buying a brand name from a hotel chain.
They were later able to create the world's first complete one-chip processor, the 4004 (4-bit buses, 4-bit registers). They continued with the 8008 (8-bit buses, 8-bit registers). Then the 8080 (more of the same). Then some of their top engineers jumped ship, as Shockley's did a generation earlier, and their new flagship product, the 8/8 Z80, designed by the same Italian physicist who'd headed the 4004 project, took the world by storm, with the help of a disk operating system (CP/M) designed for their former employers.
The brilliance of CP/M was that it was designed in two layers, one interfacing with application software (the 'API') and the other with the hardware. Any ISV could build applications for CP/M, knowing their products would run on anyone's compatible hardware, and vice-versa.
Some rich-ass brat from Seattle, a Harvard dropout prolific at beer and poker and notorious for rummaging in the bins in the computer room, got busted driving Daddy's Porsche while his partner was upstairs of the town's cathouse doing the programming.
IBM, increasingly perturbed at and resentful of the inexplicable and annoying success of an eighth dwarf trying to market a 'portable' [sic] computer with 56 KB RAM, monitored the burgeoning Z80 CP/M market closely. Everything in that market went against Big Blue's most sacred principles. Their MO was to build vertical monopolies, keep everything hush-hush and proprietary, and build in unnecessary interfaces to protect them from intrusive thieving plagiarists, but the 'home computer' market thrived on open architectures and the enthusiastic support of independent software vendors.
But no one had ever trespassed onto their territory like Digital Equipment Corporation, and even though they eventually gained 51% of the new minicomputer market, DEC still had 49%. Outflanking the upstarts with an even smaller computer could be a way to crush them at last.
IBM sent a team down to a defunct factory in Boca Raton Florida. Their assignment? Design a microcomputer (even smaller than the mini) with 'off the shelf' components, leaving only the BIOS as a plausible speed bump. Design it to be compatible with existing Z80 CP/M software. Visit the major software houses (eg Wordstar) and help them port their products to the new platform.
Somehow they made their way to Seattle, where the brat and his foundling MicroSoft had moved. They were interested in licensing his BASIC interpreter. They were on their way to chat with the creator of CP/M too, but they ran into trouble there, and so returned to Seattle to get help.
The brat finally found someone calling himself Seattle Computer Products who had a cross-assembled 8086 (16/16) system. The system was primitive but exactly what MicroSoft had been looking for. They were able to sell it to IBM on a non-exclusive licence.
[The original author of that system was later able to exact USD 400,000 and a more or less steady paycheque out of the brat. Good times. Ed.]
Rodnay Zaks, writing in his seminal From Chips to Systems, declared these early processors to be 'the end of the line'. Better than 8-bit was physically impossible, and better than 16-bit was even more impossible.
Apple's first product used the 8-bit MOS 6502, as did its successors. but the Macintosh, introduced in 1984, used processors from the Motorola 68000 line, initially a 32/16 and later a 32/32 architecture, thus breaking the limitations foreseen by Zaks.
IBM released their 5150 'Personal Computer' in 1981 and Apple used the NY Times to tell them 'welcome'.
Microsoft established control of the PC market with version 2.11 of their MS-DOS. Bill Gates caused a ruckus at COMDEX in 1983, claiming to have a 'GUI' under development [ahem]. Microsoft finally introduced 'Windows' in December 1985, with its 'remarkable' 'MS-DOS Executive' graphical interface. Nothing moved about onscreen, as they still hadn't mastered the art of bit-blitting.
[Their macro for overlapping windows exists to this day but is now given a zero (meaningless) value. Ed.]
Intel lagged way behind Motorola in almost all possible aspects. Intel was still in the 16-bit world where it's impossible to run true preemptive multitasking. Microsoft lucked out in getting Dave Cutler from DEC's Seattle lab, and Cutler started work on a followup to his successful VMS for Intel 860 machines.
[Motorola also had dozens of on-board registers where Intel had but four. The successor Power was able to perform everything, including memory access operations which for Intel took 12 clock cycles, in a single cycle. CPU speed with Intel is misleading. Ed.]
Microsoft then brought in Susan Kare, who'd worked in Apple's Macintosh project, conceptualising and designing the icon. Kare continued to Redwood City to join Steve Jobs when he left Apple to found NeXT, thereafter joining Microsoft to create the icons for their second watershed Windows version: 3.1.
Windows 3.1 led to Windows for Workgroups, led to Windows NT which lured in the background since 1988. Unix houses flocked to NT because of Open Database Connectivity which cut expensive Sun workstations out of the loop.
And, down the coast, Apple collapsed. Board member Gil Amelio was brought in to fix things, put a production stop on everything, and Michael Dell recommended the company refund shareholders and close the doors for good.
Amelio bought Steve's NeXT for $429 million, Steve being paid in Apple stock (he had only one share left). By July of the following year, Amelio and his secretary were gone, as were others, and Steve was back in charge. For $1 per year.
Steve's spinoff of NeXTSTEP took five years to get to market. In the meantime, Windows for Workgroups successor Windows 95 created the 'web revolution', with Windows 98 (and especially Windows 98SE) consolidating Microsoft's market dominance (and the brat's billions). Steve choose to keep a 'dongle' on his new OS, thus condemning it to a low single-digit market share.
Apple bought technology to create the iPod, and managed to cut a deal with the music industry. OS X 10.2 'Jaguar' was succeeded by 10.3 Panther, then by 10.4 Tiger, and, unknown to most, Steve began work on a product that would turn telco upside-down.
Previewed by a legendary keynote in early 2007, Apple's 'smartphone' turned telephony topsy-turvy. The new gadget, known as the 'iPhone', was indeed smart, combining revolutionary technologies that blew people's minds, and catered to ordinary computer users who perhaps found even user-friendly personal computers daunting.
All was eventually sealed away. Tapping - not tinkering - became the number one activity.
Today, revenue streams from iPhone count for 2/3 of the wealth of the world's first company with a market cap of over USD one trillion. Tim Cook's latest adverts ask saucily 'what's a computer', and Cook says himself that he doesn't know what they're good for.
Mojave and Beyond
This is Xcode, version 10, for macOS 'Mojave'. Xcode is the successor to both NeXT's Project Builder and their Interface Builder. The two apps used to work together by communicating with one another. Now they're under the same roof.
Xcode is extraordinarily complex today. Not necessarily from the point of view of the user, but certainly from that of the designers.
This is the tool used to develop iPhone applications, but obviously it can't be run or used on an iPhone.
This app, as pictured in the screenshot above, is also being run in Apple's new 'Dark Mode' for macOS 'Mojave', and it is testing an interface (for Rixstep's access control editor ACL) in Dark Mode.
Word has it that Apple no longer have a dedicated team for macOS. Yet the work that's gone into the 'Dark Mode' feature is considerable.
The palette on the right should give you some idea.
The 'system' colours, near the top of the list, are designed specifically to work well in both light mode and dark mode.
They're not defined with ordinary RGBA values, but are calculated by the system at runtime (and whenever the screen 'mode' changes) to always find something suitable, no matter the context or background.
The names for other colours hint at their use in the interface, and indicate when they'll vary according to the mode.
And that's not even looking at tints and 'vibrancy'.
But macOS is about more than colours and modes. This is surprising, given the stated lack of attention given to this workhorse.
The underlying compiler is more lean and mean than ever.
Binaries get more and more compact. Simultaneously, requirements on application code become more stringent.
The built-in code editor parses and analyses your code asynchronously, often offering useful tips, and immediately adjusting to improvements you've made.
There's a move on to outlaw all GUI access from secondary threads. This seems a bit arbitrary, as some system calls can still 'get through', whilst the great majority are caught in new exception traps placed in the framework code.
An upside to this is use of dedicated APIs that place messages in a particular thread. For whilst your standard messages will dutifully wait for the called method to exit, these don't need to.
Some operations, such as Xstrings' export function, go by so fast that all the user can get to see is the final 'exported' status.
System scans, for example by macTag, Tracker, XaBatch, and Xscan, are so fast they'll knock you over.
Above all, you'll be impressed by the interface itself. Dark Mode uses a subtle double piping around windows and borders, and, although there can be unwanted intersections in some cases, the overall effect is stunning.
Not many can beat Apple when it comes to graphics, and no one beats them when it comes to good taste. Safari may have been bloated at times, file systems can have been corrupted, but Apple will always be the 'standard-setter' when it comes to good taste, and their applications remain a yardstick, both in appearance, behaviour, and functionality.
Moving into Mojave's Dark Mode isn't always a walk in the park. Apple recommend just rebuilding 'as is' for starters. That should give you a good idea of what needs to be changed. Use Xcode's colour palette, and use its code editor to watch out for those dreaded 'deprecations'.
(Yes, they seem to go overboard here - compare with Microsoft's WS_OVERLAPPED which has been out of use for over thirty years, yet is still recognised and in no way 'deprecated'. Platforms are supposed to do all in their power to support existing software, not yank out the rug every second month on a whim.)
The ACP and Beyond
Only for this 2018 holiday season, for all you new macOS adapters out there, prices for the full Rixstep ACP Collection (yes it's yuge) and the file management Xfile Collection have dropped - drastically. Please keep in mind that this is a time-limited offer.
√ Single-user licence for the ACP Collection: $59 + support for one year;
√ Single-user licence for the Xfile Collection: $39 + support for one year.
Now a brief look at some of the 70+ applications that can be yours today.
1. ACL, pictured above in Xcode.
ACL stands for access control list, yet another type of file protection found on all macOS systems. Unfortunately, it's hard to get at, and quirky behaviour can be caused by ACLs without your knowing it.
The thing about ACLs is that they don't complement ordinary file permissions, they supersede them. So a file that appears to be accessible may not be. And so forth. Standard tools that accompany your macOS setup don't cover ACLs adequately.
2. ASM, the ACP Services Manager. This is stuff that fits nicely (seamlessly, automatically) in your system to let you change text anywhere (literally anywhere) and to act on that text for web searches.
3. ASMX, the ACP Services Manager Pro. So you can edit not only your own text and web services shortcuts, but anybody's.
This stuff is very powerful, and it's not something you'll give up once you've become accustomed to it. The facility for these services has been built into your system for at least twenty years.
4. CandS, 'Clean and Seal'. macOS drops too many XAs on files these days. This app takes care of that.
In one fell swoop (a simple drag-drop) CandS removes all XAs and seals off the file(s) from further 'contamination'. Files marked 'read-only' can still be saved, thanks to Apple's circumvention of the file permissions system.
5. Clipothèque. A way to collect, store, edit, and act on clips of all sorts, shapes, and sizes. Of course including YouTube clips, but also myriad other types.
6. GDE. Stands for 'get dir(ectory) entries', the low level directory enumeration API for Unix filesystems. The higher level readdir is often used instead. readdir filters out unnecessary information, such as files slated for complete unlinking. But it was Apple policy for years to use this discrepancy to hide anomalies in their own HFS filesystems.
Apple's new filesystem does not sort on disk, unlike the earlier HFS variants, so GDE can render directories both in their 'natural' form and as sorted according to filename (rightmost column).
getdirentries is not allowed for 64-bit inodes on Mojave, and it's not yet known what will supersede it.
7. Lightman. A general depository for all kinds of esoteric system information. Shown here is the Network tab, with data on protocols, RPC servers, ports, and services. Other tabs include a listing of running applications in realtime with the ability to shut down or terminate them, as well as changing their execution priority, listings of character encodings, error numbers and their explanations, and signal numbers and their explanations; a complete list of user and global defaults; miscellaneous data including system uptime, even in nanoseconds, user account data, volume mount paths, AppKit and Foundation credentials, memory configuration stats, window data, Quartz status, environment settings, filesystem attributes, multiprocessing statistics and hardware architecture. Lightman also hooks in promiscuously to notifications systems, for both distributed notifications and workspace notifications, keeps track of data on the various system pasteboards, reports on the dynamic array of command paths in use, and keeps track of virtual memory.
8. macTag. This screenshot is dramatically reduced in size, originally having a width of nearly 1400 pixels. macTag is one of the apps that benefits greatly from the threading used in Mojave and the ACP. Scans and searches are so fast they're dizzying.
What macTag does is tag files for you - tags files, directories, symlinks, sockets, you name it - making it easier for you to find them later. The most straightfoward use is for your media files, where the standard default directory architecture with Documents, Movies, Music, and Pictures fits perfectly.
macTag is a hybrid and extension of Xfile and Xscan (see below). The concept took a long time, the design too, and the implementation went only slightly faster. But it's rapidly become one of those utilities Mac users can't do without. And in Dark Mode on Mojave it looks simply brilliant.
9. Xscan. Again, a reduced image. This is a view of the complete Xcode hive for version 10 on Mojave. 355,717 items.
Xscan also checks for typical Unix file system vulnerabilities and weaknesses - in lurking access control entries, empty files, empty folders, extended attributes, special user and system file flags, multi-linked (hard linked) files, set group items, set user items, and world-writeable files. As with macTag which uses quite a bit of its technology, Xscan takes advantage of the threading architecture in Mojave and the ACP to make things blisteringly fast.
The hybrid architecture of Xscan (and thereby macTag) is very important for its speed. It combines standard Foundation object architecture with low-level memory management to achieve this. Which is partly the reason its binary is, even today, a mere 33,460 bytes, unbelievably enough.
10. Xfile. The flagship. The standard-setter. This was the app that convinced us that application development was needed on the new OS X platform. Borrowing heavily from NeXTSTEP paradigms, and studiously keeping things as simple and secure as possible where others tended to go in the other direction, Xfile remains the tool of choice for programmers and admins to 'get the job done'. And yes, it looks great on Mojave!
To get an appreciation for what's going on here:
- The man3 directory (normally found at /usr/share/man/man3 but now embedded in the Xcode hive) is just an ordinary directory, yet most file managers, including and especially Finder and several noted offshoots, will have issues rendering it adequately.
- Even expanding directories in a hive is something these other file managers find impossible, resorting instead to aborting user interface interactions so as to not cause a complete meltdown.
- None of the other file managers can offer as much data anyway, and they take much too long to give you the little data they have (if they even finish such a task).
Xfile's philosophy is to give you, the user, access and control over all data available for your filesystem, and not just a few of the parts that someone arbitrarily decided they'd try to support. Xfile's philosophy is also to keep 'particulars' (parts not generic and standard file management) in separate ancillary applications, which is the genesis of the so-called 'Xfile System'.
The key to the ACP's flexibility lies in no small part with being able to circumvent the 'Xcode assets' paradigm used at Apple. For a company of their size, and factoring in the additional complexity they have in mind, those 'assets' files are the way to do it, despite redundancy. But for an enterprise such as ours, with only 70 or so Cocoa applications to maintain, our 'image-free' solution makes a lot more sense, and gives us the 'bare metal' 'lean and mean' style we prefer.
Beyond the Beyond
A few observations.
- IBM will always be IBM. IBM left the micro market donkeys years ago, concentrating solely on the mainframe sector. Perhaps they were happy, once they'd sent DEC packing.
- A quick perusal of MacSurfer turns up 15 references to 'iOS' but only 3 references to 'macOS'.
- The big headlines at MacSurfer today are about whether Apple finally got into trouble. They're not a one-trick pony per se, they're more like a one-and-one half-trick pony. But if mobile bottoms out, what then?
- Most people are always going to prefer a mobile play-toy to a laptop. The mobile offers a lot of incidental functionality. Computers are for more specialised needs, and for the key players who like to tinker (such as ourselves).
- Mobile devices aren't bootstrap systems. They're more like device driver development environments.
- Apple's development tools are geared to mobile software development (and they've really upped their game).
- That being said, offices still exist, and people will be using real computers there.
- Mobile systems developers need real computers for development.
- Despite what Tim Cook thinks, the computer isn't going away.
Stockholm/London-based Rixstep are a constellation of programmers and support staff from Radsoft Laboratories who tired of Windows vulnerabilities, Linux driver issues, and cursing x86 hardware all day long. Rixstep have many years of experience behind their efforts, with teaching and consulting credentials from the likes of British Aerospace, General Electric, Lockheed Martin, Lloyds TSB, SAAB Defence Systems, British Broadcasting Corporation, Barclays Bank, IBM, Microsoft, and Sony/Ericsson.
Rixstep and Radsoft products are or have been in use by Sweden's Royal Mail, Sony/Ericsson, the US Department of Defense, the offices of the US Supreme Court, the Government of Western Australia, the German Federal Police, Verizon Wireless, Los Alamos National Laboratory, Microsoft Corporation, the New York Times, Apple Inc, Oxford University, and hundreds of research institutes around the globe. See here.
All Material and Software © Rixstep All Rights Reserved.