Looking back to 8-bit computing to move forwards

In my third essay looking at increase breaches of personal information through malware and questionable security practices, I will now take a look at existing computing systems.

As security breaches have become common practice with companies and governments ‘loosing’ personal data, a new way of thinking and working with IT systems is required. There has been some recent high profile data losses, notably with eBay, Orange France, voice recording technology used by emergency services worldwide and the fallout from the Heartbleed bug in OpenSSL program’s code is still an unknown quantity.

Security researchers have complained about how the recent introduction of US Computer Fraud and Abuse Act (CFAA), is making it difficult to track down potential security vulnerabilities and exploits. The dichotomy of policy makers within government can be seen with another recent story where the “White House and NASA gear up for National Day of Civic Hacking”. Citizens are encouraged to find solutions to problems, technological or otherwise. This is at odds with government wanting to suppress security analysts from researching flaws through CFAA enforcement.

With the ever increasing threat from malware effecting modern operating systems of all flavours, should we all be looking at either not storing personal information on computing systems or returning to less complex operating systems? Should we be reviving 8-bit home computer booting practices to protect personal data?

I recently wrote about George RR Martin’s use of a DOS based computer running WordStar to write Game Of Thrones novels. The lack of connectivity and the use of a less advanced computer system protect Mr Martin’s work. I suggest in this article that maybe we should be looking back to the 1980s and early 1990s of 8bit and possibly 16bit home computing to look forwards again.

Due to the ever growing problems of malware (viruses) effecting boot sectors, EFI/UEFI (Unified Extensible Firmware Interface) was developed. While UEFI will reduce the threat on Windows and Unix/Linux (including Mac OS X) based operating systems, modern operating system’s vast complexity and predominately closed source code for Windows and Mac OS, provide challenges for security experts and dedicated bug hunters to find. Open source code also suffers from vulnerabilities due to the vast complex nature of programs, where bugs can be hidden within many thousands to millions of lines of code. The Heartbleed bug within OpenSSL open source code is a case in point.

So what could be done to mitigate the ever increasing threat from malware? I don’t think it would be a bad thing to have a modern UEFI firmware which boots into BASIC (computer language) command line interpreter interface with a limited operating system, something like CP/M or DOS, and not just for nostalgic reasons. Other computer languages could be used beyond BASIC if required, such as Pascal, Python, or one of the many flavours of C. However the simpler and less complicated, the better.

From the command line interpreter, extensible commands could be executed to load BASIC programs, or for switching over to an extended OS enabling other more advanced operating systems to be loaded, such as a full-blown modern OS (Windows, Mac OS, BSD/Linux), should it be required. Programs could be created from the UEFI boot-time programmable language interpreter (UEFI-BPLI) interface to run. The chosen language could have a positive impact in getting us all to understand more about the computing technology we use today.

To a certain extent this already exists with programmable microcontroller systems, such as with Arduino and add on systems to the Raspberry Pi. However with small pocket computers booting straight into an OS and not an interpreter interface, a trick is being missed. One can understand the commercial implications of why computers don’t boot into a BASIC interpreter today, most people would not know what to do and its selling potential as a startup project could be greatly diminished. But I do believe with the substantial threat of modern malware and the ability to run 350 billion guesses a second on a password hash file, there is not only the scope but also a need for UEFI boot-time programmable language interpreter (UEFI-BPLI) computer systems to exist, and not just for pocket computers but for all.

The interface does not have to be ‘jurassic’, it can have copy, cut & paste functions, contain a clipboard, a built-in text processor (Emacs, WordStar, WordPrefect or Scrivener) for writing documents and programs, and even run a built-in GUI based IDE (Integrated Development Environment) with all the necessary libraries available for the chosen programming language, for those who want a GUI to program in rather than use a built-in text processor, with this functionality all available within the firmware at boot-time from its initial command line interface, with a simple CP/M or DOS based OS; think modern ZX Spectrum, Acorn Electron or Commodore 64. To run the programming GUI one could type something like RUN “GOGUI”. To run the built-in text processor, one could type something like RUN “GOWP”. DOS commands would run directly from the CLI to load programs from disk, such as LOAD “PROGRAM”. All other clutter found on modern operating systems is removed, including network/Internet connectivity, until one chooses to boot to a full OS… LOAD “PC-DOS”, LOAD “WindowsOS” or LOAD “MacOS” or LOAD “LinuxBSD-OS”, etc.

Other potential benefits would be running a word processor from firmware without additional clutter that comes with many modern GUI (and some non-GUI based) operating systems. Files could be saved to disk such as a USB flash drive with SAVE “FILENAME”. Applications could be run directly from using the computer’s firmware (UEFI) based boot-time programmable language interpreter (BPLI), rather than having to load a complex modern operating system first. With an option not to enable any form of network connectivity by default, documents could be worked on in a more secure environment and encrypted if additional layers of security were required.

One could even go further to include within the BPLI not just a text or word processor, but a whole office suite of applications, all throughly tested for security flaws before building the firmware. To some extent this happens with the likes of a tablet computer or mobile phone, but their focus is on Internet connectivity. The purpose of the BPLI is to have no Internet connectivity at boot time, and to use the programming interface, or the built-in word processor, with security at its heart.

Setting up web-based cloud storage systems so that no personal identifying information is stored on any public network, but only in private LANs with encrypted SQL (see essay Ubiquity and pervasiveness of SQL DBs) and secure web services running directly off a boot-time programmable language interpreter (BPLI) will also help to reduce the risk of data becoming compromised.

If changes are not made in how personal data is stored and accessed, governments and companies should return to using paper hard copies for confidential and personal information.

Additionally a BPLI based computer could be created where any file (whether it is a word-processed document, spreadsheet, a picture, audio, video, database, etc.) that contains personal or other sensitive information, incorporates tracking code into the document which is re-compiled each time on every BPLI system the document is accessed on, with preventative measures from opening on a non BPLI computer system. Within the document’s encoding is included not only the computer’s unique information (including processor information, network card & LAN IP address information where applicable for cloud based computing, board serial number, date & time, etc.) and GPS data, but also the bio data of every person who accesses that file is recorded and incorporated, while applying quantum encryption to prevent tampering. This will reduce the level of abuse to personal data and prevent multiple copies from finding their way out onto the Internet.

While this sounds a bit sci-fi like, it will not be too long before technology will be widely available to implement this idea. The “D:.Wave” computer has recently displayed signs of showing quantum entanglement.

If companies and governments want our personal data digitally they should make sure it is 99.999r% safe and secure. If not, they should go back to paper and filing cabinets. The simple truth is that today, a more secure computer system, is one that is not Internet or network connected in any way, and most likely runs an older (and obsolete) operating system with no bluetooth, Wi-Fi and no cabled LAN card. Going the Nth degree, computer systems should also be placed inside of a Faraday cage as seen in movie Enemy of the State and also locked in secured bunkers.

Without new ideas being developed as outlined within this essay, and previous essays, for example a boot-time programmable language interpreter (BPLI) which runs a DOS and GUI interpreter system with data and bio encoding, circumventing the need for more modern and increasingly highly complicated operating systems, malware’s influence will risk not only damaging the reputation of ‘the Internet’ as being safe to use, but also put the advancement of commerce and public use of networked computer systems such as ‘the Internet’ at risk. Ensuring that personal identifying information including associated meta data is securely locked away, including data used in financial transactions for commerce, is of paramount importance, else dissolution of Internet commerce could occur.

There are none so deaf death than those who clutch its straws.

Advertisements

As BASIC celebrates 50 years, a revival is needed

On the 1st May 1964 BASIC (Beginner’s All-purpose Symbolic Instruction Code) programming language was initiated when at 4 a.m. Professor John G. Kemeny and student programmer Thomas E. Kurtz (who later became a professor) simultaneously typed RUN on neighbouring terminals in the basement hall of Dartmouth College in New Hampshire. When they got back the correct answers to their programs, BASIC was officially born. This innovation implemented the concept of time-sharing on computer systems and set in motion a chain of events which would lead to computers becoming available to all.

At the time, computers were generally used by science and mathematics students, and required custom written software. Data and programs were often stored on punch-cards and paper tape [Footnote 1], with magnetic tape being introduced in 1951. During the 1970s there was rapid growth in different flavours of BASIC, additional functions were added with extra structuring keywords and advanced floating-point operation features.

With the introduction of 8-bit home computing, from the ZX-81, Commodore VIC-20, ZX Spectrum, Commodore 64, BBC Micro & Acorn Electron, Amstrad CPC 464 and other models and makes of the 1980s, versions of BASIC became widespread and were often integrated into the computer’s firmware (ROM chip) along with an interpreter and operating system commands. Cassette tapes were used for data storage and retrieval initially and later floppy disks.

ZX Spectrum BASIC example
ZX Spectrum BASIC example

Upon powering on a home micro an interpreter prompt would be displayed, this enable writing BASIC programs or executing commands built into that hardware platform’s operating system. For example, to load a word processor package (e.g., Tasword) one would type LOAD “” and press Enter. Then play the tape. Friends with attached Interface 1 + Microdrives or floppy disks with the later ZX Spectrum +3 (Amstrad) would be able to load data at a much faster rate than cassette tape.

With the growth of 8-bit home computing, complete source code for computer games and other programs were published in magazines and books. In the UK the BBC embarked upon a Computer Literacy Project using BBC BASIC. Over the years BASIC has continued to develop, notably with Microsoft’s Visual Basic. Some teaching guides such as the AQA A/AS Level Computing books still provide examples in Microsoft Visual Basic, however this version of BASIC is closer in structure to Python or Pascal rather than 8-bit computer BASIC.

ZX Spectrum Keyboard
ZX Spectrum Keyboard

Higher level languages such as Pascal and Python can be confusing to someone who has never seen program code before and absolute beginners could also start with Scratch. While BASIC was not liked by all programmers, I believe that it is still an excellent introductory path in learning how to program. Once one has got to grips with programming in a BASIC language, whether one is using ZX Spectrum, BBC, True or any other flavour of BASIC, the next step would be to move onto Pascal, Python or Microsoft Visual Basic.

There are many Integrated Development Environments (IDEs) available to write programs in, such as Microsoft Visual Studio on Windows, Xcode on Mac OS, or on Linux/BSD (and Windows & Mac) Code::Blocks and Qt Creator.

However if one wants to go retro and get to grips with coding, a ZX Spectrum or BBC Micro emulator could be loaded onto Windows, Mac or Linux/BSD based OS computer. Excellent resources to start with are World Of Spectrum and BBC BASIC. Alternative hardware platforms to desktop & laptop computers are available for learning how to program, notable the Raspberry Pi.

Programming will open a whole world of fun, thinking logically and aid in the learning of algorithms. Problem solving skills will be acquired along the way, and with the growth of coding clubs, opportunities are available to learn in a group.

While the days of the 8-bit home computer hardware with built-in BASIC interpreter have been superseded by more advanced processor technology, and some may believe that technology has progressed beyond BASIC programming,

the age of Basic programming has gone

this need not be the case. With 8-bit emulators (ZX Spectrum, BBC Micro, et al.) available to run on Windows, Mac OS, Linux/BSD operating systems, and RISC OS available for the Raspberry Pi, BASIC programming is available for all to start learning.

Footnotes.

[Footnote 1] 1. Magnetic drums were widely used during the 1950s-1960s for computer memory, which was superseded by magnetic-core memory. Later followed transistor memory, and with the invention of semiconductor circuits the first RAM chips were used during the late 1960s, becoming commercially available in October 1970 with the Intel 1103.

Resources.

BBC BASIC
World of Spectrum
Visual Basic
Code Club
Coding Club
Computing for teachers
Raspberry Pi

WordStar used to write Game of Thrones

BBC News reported on 14th May that Game of Thrones author, George RR Martin, still uses WordStar 4 on a DOS based computer.

The Game of Thrones author has revealed that he did not want a modern word processor amending his writing as he typed, did not fear a virus (malware) from deleting his work, or have auto-correction spell checker change words not recognised in a fantasy novel.

Mr Martin said:

“I actually like it, it does what I want a word-processing programme to do and it doesn’t do anything else. I don’t want any help, you know?

“I hate some of these modern systems where you type a lower case letter and it becomes a capital. I don’t want a capital. If I’d wanted a capital, I’d have typed a capital. I know how to work the shift key. Stop fixing it.”

Mr Martin further expanded his explanation saying:

“I actually have two computers. I have the computer that I browse the internet with, that I get my email on and I do my taxes on. Then I have my writing computer, which is a DOS machine not connected to the internet. Remember DOS? I use WordStar 4.0 as my word-processing system.”

Prior to Mr Martin talking on the Conan O’Brien show about his use of WordStar 4 on a DOS based computer, he previously revealed in a blog posting in February 2011:

“I am a dinosaur, as all my friends will tell you. A man of the 20th century, not the 21st.”

Why should such revelations produce a mini media storm? Well possibly because many have bought into the idea of upgrade to the latest product and throw out the old. However newer does not always mean better, different, sometimes less complex, but generally more complex. Having used computers since the days of the 8bit home computer, from the ZX Spectrum onwards, it is refreshing to hear what I believe to be a positive IT story.

There is much about data loss, bugs and potential compromise in the news currently, almost on a weekly basis (and sometimes daily) it seems… Orange France, Heartbleed, PayPal and eBay… to mention a few recent stories.

An important issue of connectivity has been overlooked with this micro media storm. The very lack of connectivity and complexity George RR Martin employs for writing, is the very same thing which protects his work from malware, cyber espionage, buggy software and frustrating “features” found in many modern word-processing applications and IT.

However, Mr Martin is no ‘dinosaur’.

Why… George RR Martin’s use of WordStar 4 on a DOS system not internet connected, with no auto-correct or other such features is a sensible precaution for a well known writer and author. Mr Martin also uses a newer internet connected computer for email, internet browsing and other tasks.

Being able to word-process on a computer is a great leap over using a mechanical type writer with an ink ribbon in terms of easily redrafting material, although there is a loss in tactile feedback. In drafting this article I have chopped, changed, added and removed words, sentences and whole paragraphs, and corrected the auto-correct spell checking corrections. Note: this article was drafted using a word processor.

WordPrefect 5.1 DOS based Word Processor
WordPrefect 5.1 DOS based Word Processor

I remember using WordStar at college many moons ago on an Amstrad PC1512 running CPM/PC-DOS, using Pen Pal 1.5 and Final Writer on a Commodore Amiga (16bit home computer), and also using WordPrefect 5.1 on Windows 3.1x from a DOS shell; reveal codes was a very useful feature in WP5.1.

I do have nostalgic moments, more often as I get older and when reading about the latest “security breach” of a company’s servers. It maybe time to look back to older technology to move forwards from the spate of malware which can infect modern operating systems and applications.

A computer that boots into an enhanced command line or shell BASIC (computer language) interface from firmware, which can subsequently load a modern OS from a simplified DOS through to a modern GUI (Graphical User Interface) desktop if required, may not be a bad thing. Beyond nostalgia, booting to a shell running BASIC may also encourage computer users into learning BASIC programming language, like the ZX Spectrum or BBC Micro & Acorn home computers.

BASIC is still a taught computer language and a good place to start learning computer programming. BASIC programming language is popular on Microsoft platform in the form of MS Visual Basic, VB .Net and BASIC interpreters are available for many other platforms too. For an excellent Wiki site containing a vast repository of programming language information, please visit RosettaCode.org.

Turning on a modern mobile phone, tablet, laptop or desktop computer and using one’s WIMP (windows, icons menu, pointer) device or hand gestures to navigate, is all well and good and makes life sort of easier with modern operating systems. Having 24/7 internet connectivity with constant updates from social media sites maybe useful too at times. However…

Modern malware is exploiting complexities of modern operating systems, applications, social networking and other on-line connectivity, leaving many tech users in the dark. So should we be looking back to 8bit or 16bit computing, or a BASIC interpreter interface to be moving forward? We don’t need to throw the rubber duck out with the bath water, but creating a computer system which encourages the learning of how to programme, combined with at least a moderate understanding of how a computer works would not a bad thing.

ZX Spectrum celebrates 30 years

With a plethora of articles celebrating the launch of the ZX Spectrum,  a 8-bit home computer with 16K or 48K RAM models launched 30 years ago, I thought I would also mention the anniversary of such an iconic machine.

The ZX Spectrum’s 30th anniversary coincided with St. George’s Day 2012 in England. Google produced a Google ‘doodle’ to commemorate both events on Monday 23rd April.

Google doogle of ZX Spectrum 30th anniversary on St. George's Day
St. George & ZX Spectrum 2012 – Image © Google

I have previously mentioned the ZX Spectrum in articles about the Raspberry Pi and computer programming. I remember loading games such as Atic Atac, JetPac, Knight Lore, Manic Miner, Chuckie Egg, et. al., through a compact cassette tape (a thin plastic ream magnetically coated to record sound on) which stored computer programmes, as well as entering thousands of lines of code to create programmes supplied in books and computing magazines such as Sinclair User. The ZX Spectrum still lives on, thanks to coders who produce emulators like Fuse.

For me as for many Brits I would guess, the Sinclair ZX Spectrum, Acorn Electron/BBC Micro and many other 8-bit computers started a revolution through home computing; something that one hopes the Raspberry Pi will kick-start again after a 16 year hiatus within the UK, and I suspect many other countries around the world since the rise of the PC.

If you have ordered a Raspberry Pi or are on a waiting list, you may like to check out a collaborative ‘fanzine’ offering called MagPi!

Model B of Raspberry Pi on general release

With the launch of the Raspberry Pi earlier today 29th February 2012 (6 AM GMT), I found myself being flabbergasted and happily amazed in equal measure. It took me over an hour to get onto Premier Farnell‘s website early this morning and about 20 minutes to access Radio Spares Components. I initially held off ‘registering an interest’ for a RasPi on RS as Premier Farnell had stock today, however @Raspbery_Pi twitter-sphere soon indicated Farnell had sold out in just over an hour and RS were not selling today. Soon after I ‘registered an interest’ for the Raspberry Pi on RS.

For Farnell and RS it might have seemed like a co-ordinated DDoS as requests flooded in due to demand for Model B RasPi. For me not being able to get onto these sites (as for many I suspect) has been both frustrating and exciting, as this signals the start of an exciting journey for the Raspberry Pi from 1st generation onwards. This also demonstrates a success story not just for computing technology enthusiasts, hobbyists and experts alike, but exemplifies a thirst for learning, imagination and creativity for many, due to the scope an inexpensive pocket computer running an open-source OS (Linux) can be used for.

While the media is currently focusing on programming aspects of Computer Science, the RasPi opens up computing technology for many not just in learning programming, but also for understanding how stuff works as well as for fun. With accessories such as the Gertboard due to follow later this year, the RasPi can also be put to use in other science and engineering projects, from designing robots through to controlling them.

A frenzy of excitement and anticipation has been slowly built-up over the past 9 months. I first came across the Raspberry Pi project via BBC’s Click 4th June programme where David Braben speaks with Peter Price about the Raspberry Pi prototype; you can see Eben Upton in the video setting up the prototype. With announcements of the Raspberry Pi Model B’s imminent release from November 2011 through to February 2012, anticipation has grown and word on the RasPi has spread. Necessary delays to the initial projected first consumer release have crept in due to improvements and testing, however I think the wait has been worth while.

With production of the RasPi now entering into licensed manufacture with British companies Premier Farnell and RS Components, it shouldn’t be too long before the rest of us get our hands on a RasPi… I am waiting excitedly! One of the big unknowns for the Raspberry Pi Foundation and computer enthusiasts alike was how the RasPi will be received? The initial RasPi Model B release for around £22 ($35 US) can be seen as a success with available devices quickly selling out. I don’t think this time around for the successor of the Acorn Electron (BBC Micro) they shall have stock left in warehouses, just the opposite.

I wonder if the RasPi will eventually end up being sold on the shelves of WHSmith stores, as the ZX Spectrum and Acorn Electron did back in the 1980s?

Postscript: For all those lucky enough to have their hands on a RasPi, if you would like to know where to download a Linux distribution, please point your browser at http://elinux.org/RPi_Community, and for an example of how to write the image file to your SD memory card using a Unix or Linux based OS, please see http://wp.me/p1KP49-3v. The example I provide is for Mac OS X users, however these instructions are translatable for any *NIX OS.