Ictech | The evolution of TECO and Emacs - Hands on demo

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello my name is lars sprinkov i'm here to hold a presentation about the evolution of tico and emacs and it's going to be a hands-on demo of some of the programs during this evolutionary path so let's get started with the demo um i'm going to use the navigator for the presentation itself this is a pdp-10 emulator so i'm logging in and here's the title so i'm going to talk about the tico and emacs text editors tik was a text editor created at mit for pdb10 sorry one computer in 1962. it was initially made to edit the tape tapes so it loads one page at a time into the computer memory and you can edit and when you're done with that page you punch it out and read the next page and so on unfortunately unfortunately we don't have that version anymore apparently has been lost but the next version for a pdp-6 computer is available so i'm going to show that now so i'm going to turn to some kind of a teletype emulator i already have a program running here for loading programs so i'm going to load tco and as you can see it's very spartan user interface which is actually very good because teletype is usually quite slow so here we are we can edit text the buffer is empty so let's insert some text that's the i command and you end with typing escape twice which echoes us dollar so now we should have some text if you want to see what's in there we can use the t command and we can specify a range of characters the h character means the full buffer and t so we can type out the contents uh we can move forward backward let's say let's move forward five characters oops uh that didn't work so well oh we may be at the uh let's move to the beginning first b stands for beginning and j for jump now five c and we can insert something there and we can see that something happened in the buffer particular isn't just a normal text editor it's known to be a programmable text editor so we have things like registers for example we can type the number 65 which is which is ascii for the letter a and we can insert that using the u command in any register which is a variable with a that's pitch 8 so we have the register 8 loaded with the value 65 so we can fetch that value with the q command and have that inserted in buffer yes we did get an a and we also have some simple programming constructs like loops so we can for example add sorry we can repeat five times some code and we see we got a lot of b's in there so that's a little flavor of chico editing so the next step is that tico was ported to the ids operating system which is operating system at again at mit it's known for its hacker community and among other people richard stallman worked with igs so something that happened with hiku was that a hacker named carl nicholson he added the control r mode which is uh real time editing so uh when you type you can actually see the text being inserted into the buffer in real time and then richard stallman improved a lot about that and he invented the feature to bind macros to keys so macros that's just a short pre-recorded sequence of tico commands and whenever you type a key you can have that macro run so when this happened a lot of people they used these technologies to make their own tico macro packages uh tech mac tmax r mode and several others so there was there were many incompatible editors based on tico so now i'm going to show the slightly updated tico i'm going to log in from another terminal emulator and i'm going to start tico this is a version from 1974. so to load the file we type er we don't get the commands at the bottom of the screen and my pre prepared file is the good demo and as a result we get a little file listing where's the text you wonder well we have to get the first page so why or yank and that's the first page as i said before this tick was a page oriented editor so you would only get one page at a time and they're separated by a control l or form feed character so we can do a little edit here i guess so i meant to type some text but i made a typo but that's okay we can remove subcharacters minus two and d for delete so this is still isn't a real-time editing by the way this is the old way of using tco so let's insert t and now we have the correct text in there i want to save this file so i'm using the ew command to specify output file let's say output file let's try that again let's say disk that's better and we skin still get that little file listing we let's say we're done with this page then we use p to punch it out it's even though it's you working with files now it's still called punching a page hmm looks like my ew command didn't work after all this is what happens in demos rights i wonder if that worked better let's try p again not sure hm where did my text go oh apparently it disappeared sorry about that let's get it again oops okay we did get the first page and we are it's page two that's better all right i wanted to talk about macros i wanted to show you an actual macro being inserted and used so i want to delete this page the h for full buffer and k for killing all of it that is erasing so let's do something simple uh let's do the loop again sorry i insert five yes so that's a little tico code repeat five times insert ascii character 66 so we want to insert this text into a register again h for all of it x for uh putting it in reducer let's take a so that's fine and we can run this by typing uh m for calling the macro and a for the register we want we used before so that's five b's seems to work and at this point i also want to show the new real-time editing mode control r so this is actually quite a bit like e-max already because we have the standard emacs key bindings ctrl f for forward b backwards ctrl n next page and we can use type and get the text right into the buffer so that's already quite modern let's move to the next page with the p command and there's the last page so again we use another command to actually save the file and have it stored in a proper file let's hope it's there somewhere not quite sure where it went but we do have this file something strange happen but anyway you're supposed to be able to save two files so back at the presentation right uh so one of those chico macro packages was called r mode uh if you heard of text adventure game maybe heard of the zork sock was written using r mode so that's maybe it's claim to fame and i'll use another this a little bit more modern terminal emulator so i'm going to start r mode and left to load the file it's if you remember t co it's er but this is ctrl e then r so that's quite similar so i loaded this file and right at the beginning beginning we can see there's an important difference because we can see two pages from the file so that's already an improvement and the commands are control characters like tco and emax so you can use ctrl f to move forward backwards is ctrl r and typing is just typing as usual uh but there is another invention and that's the mode if you know about emacs uh you may know the tests a lot of programming modes and various modes for very kinds of texts and our mode has this as well so right now at the beginning we have a chunk the word mode set so we can move by word as well control n moves chunk forward and p backwards and uh we also have another mode called s expression that's for least like lists so now we're moving by a list structure so ctrl f should move us ahead of the no sorry control n moves for the next item in the list so it jumps over that list and ctrl p moves backwards and ctrl d moves down into the least structure and control up u moves up so that's clearly a step ahead in the evolution okay that's it for our mode so now we arrive at e-max itself it was started as a way to unify various incompatible tico macro sets it was started by guy steele in 1976 at first it was called the question mark because they didn't know what to name it so kind of question mark max for the macros but eventually they arrived at a more convenient name e macros for e-max so i'm going to show a version from late 1976 and there we have the first emacs it's very unassuming so we may want to try some emax commands those are known emacs know that loading a file is ctrl x and then ctrl f but that didn't work it just blinked the screen so apparently it's something else but emacs words very friendly you can type question mark to get some help let's view all sub commands so if we search down this list we can see control r is read file so that's what we want so let's try that again control x control r now we get some weird thing at the top this is a mini buffer it's a special buffer with a little bit of code in it the code inside is actually actually tco code it's put there in place for us to just type the file name i'm loading the file emacs demo and since this is sticker now we just type escape twice to execute the command so there's my file loaded so one of the large large improvements in emacs is the use of the help system so we have control c question mark brings up a lot of help and we can tell this is a very early version of e-max because there's no meter x for extended commands uh if we type escape to try to use the meta prefix we just get a mini buffer so what we do we do instead well that's the utica mm command so we can try uh the one i have already written here mm list commands so this is kind of instead of typing meet x list commands so we get a list of commands but other than that many things are quite the same we just type the keys to insert text like we used to and all the control p previous line control n next line ctrl f forward ctrl d backwards and so on that's just like in emacs rights until today so back in the presentation the next thing that happened was that the emacs was very popular it was implemented for many different machines and maybe most importantly the top 20 machine was very popular on our planet so many people had the inspiration to make their own emacs implementation which led to james gosling of java fame making his oh sorry his unis emacs but before that i'm going to show the latest emacs on ideas i'll just type emacs so this is the latest amex at least we have a little bit of announcement at the top so we have many of the conveniences we know from modern emacs we have meter x to type an extended command we have for example the directory editor where you can move around in the directory and for example delete the file we have the infohelp system with lots of information about the its system and of course we have the emacs manual online and we also have some convenience for interactive lisp editing oops sorry not enlist yet so i have a little cheat here um this t uh lisptico actually but we're using emacs so we get an emax editor and here we can start adding some lisp code small uh add function so type meta z to get that back in lisp and we can use that right way and we can go back and continue editing so we can make it a little bit different i'm sorry i missed a c to go back and now it does something different did i do away with my presentation maybe so that's the latest its e-max so e-max on unix the most famous version was written by james gosling in the early 80s so i have that on another another emulator running at bsd unix on the backs so i installed that in the file system i have two various two versions of emacs here this one is the goslingy max and we can see it's starting to look a lot of like a normal modern e-max of course typing is all the same and all the usual emax commands on there this was probably inspired by the top 20 emacs which is also a pdp 10 machine like ats its uh we all will have the uh meet x commands uh we probably have some kind of info system but it doesn't work yet because i don't know how to install everything we also have a list like extension language but it's a little bit different i think it looks something like this so it's called mclis because it's not quite properly but it looks a bit like the lisp and you can write libraries for your editing yes so uh what happened was that rita stallman the original emacs hacker he wanted to start his new project and he wanted an emacs editor so he based it on ghostly emacs but basically rewrote everything so i have a very early version from 1985 so this looks almost like emacs from today we have the mode line at the bottom and some announcements at the top uh let's finish quickly we have meet x still no info properly installed here but anyway it looks pretty much like normal emacs today and we can write emacs lisp right in this buffer and test it right away right i have to evaluate this first so i get five that looks right and that basically marks the beginning of the modern e-max era and that's all i have as far as demos go any questions the early editors were they primarily used for like hacking code or do they had like documents or well they did have documents but uh of course much of the computer activities at that time was programming but they also wrote like memos and papers and things like that because i wonder why like lis for instance is quite integrated in the character itself yes this was important language especially at mit where it was invented okay thank you great
Info
Channel: Ictech
Views: 782
Rating: undefined out of 5
Keywords:
Id: GvxZ7wfKj8E
Channel Id: undefined
Length: 27min 57sec (1677 seconds)
Published: Wed Oct 06 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.