5 ms·
For those wondering what ITS is. It's an operating system that was developed at MIT for the PDP-6 and later PDP-10 starting in the mid 60s. The last ITS system
by aap_ 10y ago
For those wondering what ITS is. It's an operating system that was developed at MIT for the PDP-6 and later PDP-10 starting in the mid 60s. The last ITS system was shut down in 1990. A very cool thing about ITS is that DDT, the debugger, is the user interface to the OS. You can load files, examine and change memory of your current job (and also DDT itself!), and of course also start programs. ITS is also where EMACS was written on. It started out as a set of macros for the TECO editor (a crazy beast).
EDIT: The linked repo currently builds an ITS runnable on a KS10 (emulated by simh and klh10). Eventaully we want to get it running on an emulated KA10 too. Getting it to run on a PDP-6 would probably only be possible if we get an older version of the source from somewhere (MIT might still have it). Another goal would be to get the 10-11 interface (a connection between a PDP-10 and -11) working so that we can try emulating the Knight TV system.
- digi_owl 10y ago> the TECO editor (a crazy beast). Makes ed look almost benign... https://en.wikipedia.org/wiki/TECO_%28text_editor%29 https://en.wikipedia.org/wiki/TECO_%28text_editor%29
- deleted 10y ago[deleted]
- Groxx 10y agoThose example programs... holy cow. After that, I don't know if I'll ever feel bad about my code being unreadable.
- userbinator 10y agoIt looks like a language that someone used to the APL family would have no problems with.
- mveety 10y agoActually it's not as bad as it looks at first glance. At least on OpenVMS, you normally use it like sed, and its not much worse than writing some regex, normally. Granted, writing a text editor in regex sounds awful.
- Groxx 10y agoYeah, the actual editing looks fine. The programs though. 0uz ! clear repeat flag ! <j 0aua l ! load 1st char into register A ! <0aub ! load 1st char of next line into B ! qa-qb"g xa k -l ga -1uz ' ! if A>B, switch lines and set flag ! qbua ! load B into A ! l .-z;> ! loop back if another line in buffer ! qz;> ! repeat if a switch was made last pass !
- DonHopkins 10y agoI remember running across a Turing machine emulator implemented in TECO in Minsky's home directory that I'd REALLY love to get ahold of. https://news.ycombinator.com/item?id=10161159 https://news.ycombinator.com/item?id=10161159 hga 515 days ago | parent | favorite | on: The most obsolete infrastructure money could buy –... Ask and yea shall receive: MSG: APL 1 DISTRIB: *BBOARD EXPIRES: 03/17/81 23:08:54 MINSKY@MIT-MC 03/11/81 23:08:54 Re: too-short programs APL is compact, I suppose. So is TECO. When I wrote the following Universal Turing Machine, which works, I actually understood it. [ I've interpolated the non-printing characters as displayed by (Gnu) EMACS, escape is ^], ^^ is one character, as is \356: ] i1Aul qq+^^0:iqm^[29iiq\356y0L1 00L1 11L2 A1L1 y0L1 0yR2 1AR2 AyR6 yyL3 00L0 1AL3 A1L4 yyL4 0yR5 11L7 A1L4 yyR5 0yL3 1AR5 A1R5 yyR6 0AL3 1AR6 A1R6 y0R7 0yR6 11R7 A0R2 ^[j<sR^[;-d-2ciql-^^^[ci"ed^^^[cii^[ciuq'^[> j<sL^[;-d-2ciql-^^^[ci"ed^^^[cii-2c^[ciuq'^[>jxblx1lx2lx3lx4lx5lx6lx7hk iyyAyyAyy^[32<i0^[>ji110101110000010011011^[ 1uq<htmbqq=> I do not advise attempting to understand this code, which is almost as bad as that for the Universal Turing machine. ADDED: or http://ancell-ent.com/share/minsky-TECO-turing-machine.txt http://ancell-ent.com/share/minsky-TECO-turing-machine.txt Please ack receipt of this and/or send me email (in my HN info); for others, note this is ITS TECO, which I was told was by far the most powerful version of it (fortunately, by the time I showed up learning it was no longer really necessary).
- jf271 10y agoIf I remember right the first (and maybe only) comment in the TECO source code was "Abandon all hope, ye who enter here".
- wglb 10y agoI still have some muscle memory for TECO.