An Internet Alternate Reality

The AT&T project “True Experience” was a precursor to the internet, however the project never really got off the ground due to the suspicion that silicon valley was doing this sort of thing “bigger and better”.

It’s interesting to wonder how this would have impacted life had this been introduced to the public.  Would it have influenced the current internet as we know it?


Early Data Sharing Encryption

encryptionEarly encryption was one of the cornerstones of the earliest computer security measures back in the 1980’s.  As data sharing became more and more commonplace the need for security and increases in encryption were quite obvious.

It’s interesting to see just how those programs came about and how they developed.  As Bill Gordon of We Hate Malware suggests, early encryption was probably the only reason that the internet ever came about in the first place.  Had there not been the ability to have that level of security, the internet would have been stunted – growth would have ended as the ability to safely transmit data would have been nowhere to be found.

Check out this article excerpt from 1987 on a software program called Smartcom III:

Smartcom III (from Hayes Microcomputer Products, Atlanta, Ga.) has much in common with Relay Silver. It includes a fully featured language and other sophisticated features not found in most communications programs, and it is both easy to learn and easy to use.

Smartcom’s elegantly designed user interface includes pop-up menus (like 1-2-3 and Symphony menus, they allow you to point and press Return or type the first letter) and on-line, context-sensitive help that may eliminate the need to open the manual except to learn the script language.

Smartcom’s script language can handle anything from an automatic log-on, to creating your own bulletin board, to defining terminal emulations beyond the VT-102 and VT-52 emulations provided with the program. Because we used a prerelease version of the software for this review, a set of customized script files for on-line systems, which Hayes says will be provided with the final product, were not available for us to test.

The program’s learn mode can record log-on scripts, as can several other programs; what makes Smartcom III unique is that its learn mode also encrypts your password. Even if others copy your scripts, they won’t be able to use your passwords because only your copy of the program can decrypt them.

Smartcom III is one of the few programs that can maintain simultaneous communications links on two serial ports, enabling you to upload files on one port while you download them on another. Other sophisticated features include a data-compression scheme that can cut file-transfer time and a password-protected data-encryption scheme.

Smartcom III also includes keyboard macros and several variations on Xmodem, Ymodem, and Kermit protocols. For unattended remote operation, Smartcom III acts as a Kermit server, meaning that it will work with any program that can use Kermit protocol. There is no password protection or other restriction built in to Smartcom III’s unattended remote mode, but you can create any restrictions you like using the script language.

On file-transfer times, Smartcom III did better than most of the programs tested. In the direct-connect tests, it did better than any other program for text transfer and was only bested in Xmodem transfer by those programs that could maintain higher connect rates on the particular computers used.

Be aware that Smartcom III will work only with modems that are fully Hayes-compatible. Two important minuses for Smartcom III are size and speed. The program is too large to fit on two 360K floppy disks (you’ll need a hard disk), and because it is not entirely RAM-resident, you’ll notice it pause occasionally while it reads an overlay file from disk (so make that hard disk a fast hard disk). If you want a communications program for your PC or portable computer, look elsewhere. But for an XT or better, its sophisticated script language, data compression, and security features make Smartcom III a strong contender.”

Carlton, Tom, and Marc Davidson. “Software: seven communications programs.” Lotus 3.9 (1987): 134+


Bitcoin Cryptography

Bitcoins use mathematics and cryptography to build a new currency that is currently usable to buy goods and services in many countries.  Learn more about the blockchain here:


Define Computer Science

Quantum_ComputerThe definition of “Computer science” can be a little tricky to pin down.  There have been many variations over the years, and it’s interesting to see just how it had changed over time.  Here is a very interesting article from the 80’s on how that definition was delineated back in the day:

Mathematics is the underlying reality of computer science as an engineering discipline in the same sense that chemistry is the underlying reality of chemical engineering, and physics is the underlying reality of electrical and mechanical engineering. Computers are deliberately designed to perform mathematical operations. Programs work because of the laws of mathematics — the commutative law for addition, for example — in the same sense that oil refineries work because of the laws of chemistry.

Yet though the microstructure of computing is inherently mathematical, the macrostructure need not be. In other words, the immediate reality is of a different nature than the underlying reality. The concerns of chemical engineers are distinctly different from those of chemists, though chemical engineers do need to know a lot of chemistry. Similarly, the concerns of programmers are different than those of mathematicians, even though programmers need to know some mathematics (just how much is a matter of dispute). The immediate reality of programming is dominated by the nature of the application at hand, which may be concerned, for example, with business and accounting practices, or graphics, or linguistics, or the simulation of physical phenomena, or even mathematics itself (as in testing solutions to the four-color problem).

Although it is in vogue to play down the role of programming in computer science curricula, programming is central to computer science. The techniques and algorithms taught in computer science courses are really interesting only because they can be used in programs. Some examples are alpha-beta pruning in artificial intelligence, compiler optimization, convergence of numerical solutions to differential equations, hidden line elimination in graphics, and encryption methods.

Without yet having answered my first question by proposing a direct and concise definition of computer science, I turn to the second: assuming that we know what computer science is, what should we call it?

many in our field have been dissatisfied with calling it “computer science.” In Denmark, the name “datology” is popular; Europeans more generally seem to prefer “informatics.” These names seem unsatisfactory because they do not recognize that the central ideas of computer science concern, not information or data as a passive object, but what we can do with that object. In the Soviet Union “cybernetics” was at one time in vogue, but cybernetics as originally defined by Norbert Wiener was the study of control and communication, not of computing.

The accreditation body established by ACM and the IEEE Computer Society is called the “Computing Sciences Accreditation Board,” in explicit recognition of the view that computer science is not the only computing science. Accreditation of computer science is the domain of the “Computer Science Accreditation Commission,” expected to be just one of several such commissions.

In fact, “computer science” is a peculiar name for anything. It is hard to think of any other discipline whose name consists of an artifact suffixed by the word “science.” We have, for example, “aeronautical engineering,” not “airplane science.” The closest analogy I can think of is “library science,” but library science is concerned not with edifices but with the documents stored in those edifices. Indeed, librarians these days prefer to call their field “information science.” This creates a bit of a turf battle with those concerned with the application of computers to business, who also lay claim to the term. Yet “information science” is itself something of a misnomer, not being related in either of its senses to information theory, which deals in bandwidths and signal-to-noise ratios.”

Abrahams, Paul. “What is computer science?” Communications of the ACM June 1987: 472+.

So what do you think?  Do you think computer science is actually a science?  I think it is in the sense that it’s theoretical and mathematical, and wouldn’t you call math a science?  Or would you?

Let’s hear from you in the comments below: