School of Informatics

'Did You Know?' Series #1

Issue 1 of the 'Did You Know?' Series, with School of Informatics Historical trivia.

Editor-77

Two researchers based in Edinburgh came up with a solution for a notorious text editor problem that was later used in Word prototype Bravo by its developer Charles Simonyi.

The researchers were J Moore and Bob Boyer.

J explains: A problem confronting any software designer is how to store the data so that it can be manipulated.  Disks are slow but allow the storage of lots of data.  Memory is fast but limited in the amount of data that can be stored.  This problem was particularly acute in the 1970s when memories were small and very expensive.

Boyer and I confronted this problem when we were at Edinburgh in the early 1970s.  We solved it by using a chain of memory locations to point to text on disk. This allowed us to write a text editor that could rapidly manipulate very large documents while using a very small memory.  It also supported undo.  In addition, our method allowed meta-data to be stored with changes, which was eventually exploited (at PARC - Palo Alto Research Center) to track changes, provide fonts and styles, etc.

I left Edinburgh in 1973 and joined PARC. Charles Simonyi was just beginning to imagine Bravo but was stymied by the memory problem.  I told him our solution and implemented a prototype for him.

Charles eventually left PARC (in 1981), joined Microsoft and created Word there.

The Editor Moore and Boyer developed was named "the 77-Editor" after the number of the disk track on which it was stored. It dates from 1971-72.

A manual (called memo 62) for the editor written in early 1973 has been recently uncovered.  Memo 62 just describes how to use the editor, not the "magic" that makes it possible.

Algorithmic Skeletons

In 1988 a concept of Algorithmic Skeletons was founded by then Edinburgh PhD student Murray Cole. It has become of global significance as a result of its contribution to the challenge of making highly parallel computing accessible to the mainstream software industry.

Many parallel programs can be expressed as instances of more generic patterns of parallelism, such as pipelines, stencils, wavefronts and divide-and-conquer. These patterns are captured as algorithmic skeletons. Providing a skeleton API simplifies programming: the programmer only has to write code which customizes selected skeletons to the application. This also makes the resulting programs more performance portable: the compiler and/or run-time can exploit structural information provided by the skeleton to choose the best implementation strategy for a range of underlying architectures, from GPU, through manycore, and on to large heterogeneous clusters.

You can find an image of the cover of the book "Algorithmic Skeletons: Structured Management of Parallel Computation" via Google images. The book was a reworking of my PhD thesis.

Freddy the Robot

Freddy the Robot’s full name was FREDERICK: Friendly Robot for Education, Discussion and Entertainment, the Retrieval of Information and the Collation of Knowledge. It was capable of assembling objects (cars, ships) automatically from a heap of parts. It moved objects to unobscure them or aid grabbing. It was world leading then and is still unsurpassed in some respects. You can go and see Freddy in the Chambers St Museum, it’s on display as part of Explore on Level 1 of the Science and Technology galleries.

Virtual University

University of Edinburgh has its virtual equivalent which is up there with the U.S. Department of Defense, the Smithsonian, and the Michigan State University. Founded in 2005, the Virtual University of Edinburgh (Vue) is a virtual educational and research institute, bringing together all those within the institution interested in the use of virtual worlds for teaching, research and outreach. Virtual worlds, like Second Life, are used in teaching and research activities.

Austin Tate, whose research interest cover virtual worlds, is the coordinator of Vue and you can read about the latest developments on Austin’s blog.

Many thanks to: J Moore for telling me about Editor-77 and some of his other theories, Murray Cole for the summary of Algorithmic Skeletons, Alan Bundy for everything he told me about the history of AI in Edinburgh and Austin Tate for showing me the virtual art work in VUE and telling me all about the history of AIAI.

If you’re interested in contributing to future articles about the history of the School, please contact infcomms.

Contact Infcomms

Further Reading

The Boyer-Moore Fast String Searching Algorithm

Murray Cole

Freddy the Robot

Vue

Austin Tate