11 ms·
Y Combinator's Xerox Alto: restoring the legendary 1970s GUI computer
- dom96 10y agoMy first impressions of it are that the portrait oriented monitor actually looks very stylish. There is something almost futuristic about it.
- krylon 10y agoThese days, some displays allow you to rotate them between landscape and portrait orientiation. At work, I have a 24 inch TFT in portait mode which I use mostly for coding (and other tasks where vertical space is valuable). It is very nice, because e.g. in text processing, a whole page fits the screen nicely. In a way, we have that with tablets and phones, too.
- brudgers 10y agoOperating systems and drivers will allow rotation of most monitors and it mainly comes down to a matter of mounting hardware if autorotation isn't a big deal. Monoprice has a stand for about $20. http://www.monoprice.com/product?c_id=108&cp_id=10828&cs_id=1082808&p_id=5970&seq=1&format=2 http://www.monoprice.com/product?c_id=108&cp_id=10828&cs_id=...
- jsheard 10y agoThere is an non-obvious caveat to using vertical monitors on Windows though - ClearType font rendering doesn't support vertical subpixel arrangements, so you're stuck with naive anti-aliasing.
- J_Darnley 10y agoTurn it off. It looks better anyway.
- mappu 10y agoColor subpixel font hinting is on its way out. Windows 8 and 10 stopped using it for UWP (including the start menu / start screen); DirectWrite doesn't use it (font rendering in Edge and Firefox); Office 2013 doesn't use it. Certainly screen rotation (with windows tablets and phones) would involve a lot of inefficient re-rendering. But i think the official reason was that since the subpixel colouring effect depends on the background colour, it's hard to animate transitions efficiently. On a high-DPI screen, you'd be hard-pressed to notice the difference compared to greyscale hinting. Colour subpixels were a great hack, but high-DPI is the proper solution to this issue.
- semi-extrinsic 10y agoFor years I've used an old 19" LCD in portrait mode next to a new-ish 24". The display heights (after rotating the 19") are identical, and the vertical resolutions are almost identical (1080 vs 1024). It's a cheap/free way of getting a wider screen. Usually I keep some paper or reference document on the 19" and have two side-by-side terminals on the 24".
- mattkevan 10y agoOne of the first Macs I ever saw back in the early 90s had a Radius pivot display which could be switched between landscape or portrait. As it was mostly used for DTP it made loads of sense.
- salgernon 10y agoI worked on screen saver engines that had to support these - We did a lot of direct access to the bit mapped display for speed, at the cost of compatability. That being said, there were OS hooks that made responding to the rotation easier. The problem came in when running applications that didn't respond correctly to the configuration changes - since we had patched the os (transparently, particularly when not actually driving the display) we got blamed for a lot of application crashes and ended up debugging and sending very explicit bug reports to other software vendors. When the iPhone came out, I was deathly afraid of the screen rotation for about 6 months, convinced as I was that 50% of the apps wouldn't respond gracefully. (And I personally have never found one that failed here.)
- to3m 10y agoI've got 3 Dell 24" monitors that can be used in portrait mode. (U2412M - 95dpi 1920x1200 eIPS - not expensive. But many Dell monitors come with this sort of stand.) When I had a desktop PC with 2 GPUs I had them lined up that way in a row. It have to say it was a bit menacing at first - it's about a 48" diagonal. But, you know... you make do. I took a few pictures at the time but the only one I've got handy is it running Doom: http://ffe3.com/pics/.3monitors/IMG_1327.JPG http://ffe3.com/pics/.3monitors/IMG_1327.JPG In the end I missed the horizontal space often enough that I've now settled on having at least one full-size - i.e., not laptop display - landscape display in the setup. (Currently I've got my laptop, 1 x landscape in front of me, and 1 x portrait to the side.) If you're going to do this, I guess you want to buy IPS-type monitors to minimize colour discrepancies due to the wide range of viewing angles you'll be using. eIPS is supposed to have a 170° viewing angle, but the colours on mine still aren't quite consistent from side to side (or top to bottom as it is once rotated). If you've got a TN-type display I imagine it will be even worse. Also might be worth buying all your monitors at once. I bought mine over a couple of years; the colour temperature is very slightly different on each one, even when using the factory-calibrated settings, and one has a noticeably different anti-glare coating.
- e12e 10y agoAt some point (I believe Windows 7), Windows started allowing the use of ctrl-alt-arrowkey to rotate the display. I think it depends a bit on the graphics drivers, but I also think most "standard" drivers (ie: Intel, Nvidia, AMD) supports it out of the box. It can be a bit confusing if you hit ctrl-alt-downarrow (invert screen) by surprise... (ctrl-alt-uparrow is the shortcut for standard mode).
- 50CNT 10y agoThat happened to me when I was 11 using Windows XP. Since I couldn't figure out what I did I resorted to turning my monitor on its head for about a week.
- Aloha 10y agoThose CRT Monitors are probably the weakest part of the system in terms of durability.
- krylon 10y agoTotal envy! There is an Alto in the Heinz-Nixdorf-Museum, but it is not functional. Seeing one of these machines in action would be awesome. (Is there an emulator available?)
- kens 10y agoThe Living Computer Museum in Seattle has a running Alto, but I haven't seen it. I've used the Salto emulator: https://github.com/brainsqueezer/salto_simulator https://github.com/brainsqueezer/salto_simulator
- Aloha 10y agoI have seen it, and used BravoX on it. I even gave a demo to standers by once I figured it out. Its a very interesting system, one that is clearly not too removed from a modern word processor.
- EvanAnderson 10y agoThis emulator looks interesting: http://toastytech.com/guis/salto.html http://toastytech.com/guis/salto.html
- pjmlp 10y agoThis was a great system. The more I research into Xerox's papers and manuals for Interlisp-D, Smalltalk and Mesa/Cedar systems, the more I become convinced it was a big step back to the industry the adoption of inferior systems like UNIX. Thankfully many traces of those ideas are now in Windows, Mac OS X, Android and iOS, Language Playgrounds and many IDE workflows.
- Joeri 10y agoMass market products are rarely best in class, they are all about offering 'good enough' at commodity prices. Unix won because it was cheap, widely available and got the job done.
- kens 10y agoThe famous article "The rise of 'Worse is Better'" describes the victory of Unix/C over the "right thing" style of design : https://www.dreamsongs.com/RiseOfWorseIsBetter.html https://www.dreamsongs.com/RiseOfWorseIsBetter.html Edit: I've changed the link. Thanks for letting me know about the bad redirect, golergka. The jwz link looked fine to me; it's pretty obnoxious if the site does a NSFW redirect.
- progman 10y agoThere is a lot of documentation about the Alto. Are there also complete circuit diagrams? I am just curious because the processor was made in TTL at a time before the 6502 and Z80 were born. Sooner or later the last functional Xerox Alto will cease to work (sadly). In that case it could make sense to replace the dysfunctional parts with modern retro circuits. I wonder if a project to build a functional Alto clone (with TFT as screen) would make less effort than the famous monster 6502 which was presented recently.
- abritinthebay 10y agoAs it's a TTL (with 4 74181 MSI chips) wouldn't it be possible to just grok it from the circuit board..?
- orionblastar 10y agoI'm sure if they can make an adapter to use SIMM or DIMM RAM chips and bypass the bad memory chips. Use a SDCard instead of hard drives to store the OS and programs on. I guess someone could just write an emulator for the Raspberry PI and Linux or something based on the design of the Xerox Alto and how the chips function. It seems there are emulators or simulators for Xerox Alto out there already: http://toastytech.com/guis/salto.html http://toastytech.com/guis/salto.html http://altogether.brouhaha.com/ http://altogether.brouhaha.com/ To help out would be the source code to the Xerox Alto: http://www.computerhistory.org/collections/catalog/102706061 http://www.computerhistory.org/collections/catalog/102706061 It was released and I am sure the team can make modifications to it to make it run with modern retro hardware.
- kens 10y agoAll the Alto schematics are available at Al Kossow's Bitsavers [1]. If you want to understand how it works, start with the hardware manual [2]. The Alto processor could probably be kept running indefinitely, since it uses standard parts that can be replaced. The monitor is more difficult; the Living Computer Museum made some new monitor boards for their Altos, cloning the existing boards. The disk drives are another potential maintenance nightmare; I wonder if it would be possible to build a flash-based disk emulator. Making a FPGA-based Alto clone would be a possibility. [1] http://bitsavers.org/pdf/xerox/alto/schematics http://bitsavers.org/pdf/xerox/alto/schematics [2] http://bitsavers.org/pdf/xerox/alto/AltoHWRef.part1.pdf http://bitsavers.org/pdf/xerox/alto/AltoHWRef.part1.pdf
- gumby 10y agoI used the Alto at MIT (and for fun when I worked at PARC -- we had more powerful machines by then). There are two other things about the alto that have really stuck in my mind. First, the whole thing uses only 300 SSI and MSI TTL chips! No higher order chips (no LSI, much less VLSI). The other is that the bus bandwidth was only 3/2 the screen update rate. Updating the screen was really important: this was a user-centered, IO-focussed machine which was super radical for its time. If you wanted to do a lot of computation you could steal cycles from the screen update, causing it to go black (in just the bottom half or so IIRC which I probably don't). Error in the article: I do believe the Alto was the origin of the BITBLT instruction, but it was based on the PDP-10 (PDP-6) block transfer instruction BLT, and the expression blitting was current before the Alto was developed. In fact PARC had a PDP-10 which was the standard research computer at the time -- homemade as well (clones) because at that time Xerox was in the computer business and wanted PARC to use an SDS. (Again this is before my time though MAXC was still running when I was there -- with an Alto as its front end!) Also contrary to what the article says, the Alto display was not unusual in being portrait mode -- most glass TTYs (think ADM-3A, Hazeltine, VT-52, and I believe the 3270 as well) were taller than they were wide, like a piece of paper. The Alto display was unique, as mentioned, by being bitmapped and black on white. Because of the Alto, bitmapped portrait mode was standard for workstations such as the CADR lisp machines, Bell's BLT terminal, three rivers PERQ, and of course the later PARC computers we used, Dolphins, Dorados (all ECL logic!), Dandelion (sold as the Star). I remember vividly the first landscape machine I used, the Symbolics 3600 in 1985. I didn't, and still don't appreciate the wasted space of landscape displays. Three-button mice with the mouse buttons arrayed horizontally was also standard because of the Alto. The first time I saw the Macintosh mouse in 84 I was shocked: how could someone use only a one-button mouse? There was a lot of mouse (originally called the "bug") experimentation in the 70s on button count and layout. The microcode of the alto was compatible with the DG nova as that was the computers used at PARC before the Alto was developed (before my time!). edit: forgot to mention the origin of blitting.
- kens 10y agoThanks for the info, gumby. As you point out, the amount of bus bandwidth consumed by the display is a big thing. It seems a bit crazy that the processor was running microcode to copy all the pixels to the display in 16-word chunks, 30 times a second. (In a "normal" system, the video hardware fetches characters or pixels from memory. But in the Alto, the processor was running instructions to feed the pixels to the display over and over as they were being sent to the screen.) I'm confused about your portrait vs landscape comments, though. The ADM-3A, Hazeltine 2000, VT-52, 3270, as well as Datapoint, Four Phase, Viatron, etc had a horizontal display, not a portrait display.
- Animats 10y agoI haven't used one of those in a long time. Stanford had several Alto machines, but they didn't have Smalltalk, due to some licensing issue. They just ran standalone Mesa programs. When I was at Stanford, few people wanted to use the obsolete Altos, so time on them was available. So I did a small project on them. Bravo was used as both the text editor and the word processor. The file format was plain text, then a control-Z, then the formatting info. The compiler stopped at control-Z. So you could use bold and italic in your programs, and make the source code look good. As in the picture shown, the Stanford machines had the keyboard and display on top of the computer. This isn't required, and it's really annoying to type on. The keyboard is great; it's a massive casting around clicky keys. Altos talk PUP, Parc Universal Protocol, over 3MB coax ethernet. Stanford had gateways to connect this to the wider world. I think I still have some of the Alto manuals. The vision statement for the Dynabook is in "Personal Dynamic Media"[1] This is worth re-reading every few years. [1] http://www.newmediareader.com/book_samples/nmr-26-kay.pdf http://www.newmediareader.com/book_samples/nmr-26-kay.pdf
- Animats 10y agoI just looked in some boxes I haven't opened in decades. I have "Mesa Language Manual, Version 5.0, April 1979". If the people with the Alto need this, let me know. If the world had used Mesa instead of C, computing would have been far less buggy. Mesa was a hard-compiled language, but it had concurrency, monitors, co-routines ("ports", similar to Go channels), strong type safety, and a sane way to pass arrays around. In the 1970s. (I should donate this stuff to the Computer Museum. I just found the original DEC Small Computer Manual, many 1960s UNIVAC mainframe manuals, and a reel of UNIVAC I steel magnetic tape.)
- eschaton 10y agoPlease, both of you, get in touch with Al Kossow at the Computer History Museum about preserving these important pieces of our heritage.
- kens 10y agoI'll second eschaton's comment about preserving these old documents. Al Kossow has already preserved a lot of Alto documents at bitsavers [1] and I've found them extraordinarily useful for understanding how the Alto works. [1] The Alto docs are at http://bitsavers.org/pdf/xerox/alto/ http://bitsavers.org/pdf/xerox/alto/ - I recommend the hardware reference (AltoHWRef.part1.pdf ) and the schematics (schematics/) The Mesa manual mentioned earlier is at http://bitsavers.org/pdf/xerox/mesa/5.0_1979/documentation/CSL_79-3_Mesa_Language_Manual_Version_5.0_Apr79.pdf http://bitsavers.org/pdf/xerox/mesa/5.0_1979/documentation/C...
- dang 10y agoWe've all been fans of Ken's blog for years, so were thrilled that he took an interest in this project. Not only is Ken doing these amazing writeups, he gathered together the master restorers and engineers, some of whom worked on Altos at the time, who are now working on this one. Seeing them set to it, inspecting the Alto and figuring out what would be needed, was a real lesson in self-organization. I felt honored just to watch from the side. We have two goals. One is to have the restoration chronicled as it goes along, in a way the HN community can discuss and participate in. Obviously we hit the jackpot there, with one of the best technical bloggers in the world. The other goal is to do something with the Alto that the community will find interesting once it's running. A couple ideas are to make it fetch and render the front page of HN (we'd happily write whatever code was needed to serve it in a suitable format, since HTML is probably a bridge too far), or if we could find a second Alto to communicate with, play Maze War on them (http://www.digibarn.com/collections/games/xerox-maze-war/#maynard http://www.digibarn.com/collections/games/xerox-maze-war/#ma...). But we'll be eager to hear any suggestions the community comes up with!
- ScottBurson 10y agoI have a Symbolics XL-1200 that I've been wondering what to do with. Would YC like it? It worked the last time I turned it on, but that was 4 or 5 years ago, probably. It's like triple-pizza-box size, not a refrigerator nor even the size of the Alto.
- rjsw 10y agoWasn't the pizza-box one the XL-1201 ?
- ScottBurson 10y agoWhoops, you're right, it is an XL1201 (without the dash, so I made two mistakes :-). The legend on the case is "XL1201 Compact".
- dang 10y agoI think the answer to that is very likely: hell yeah! But we should wait until the Alto is running. Can we keep in touch about this?
- kabdib 10y agoWe had some Altos (and a laser printer) at the Bureau of Standards, when I interned there in the late 1970s and early 80s. They had a number of games; one of them was written in SmallTalk, which you could break into, and then muck around in. Some screenshots from BYTE and a few papers gave us syntax hints, and we were off. At one point we had some questions about SmallTalk-76 and called up Xerox PARC. Managed to get hold of Adele Goldberg, who answered our questions but was not terribly amused. I think Alan Kay would have been friendlier to us kids :-)
- protomyth 10y agoThere are so many points in the computer industry where one or a small group's decisions changed everything. After listening to "Dealers in Lightning" you wonder about quite a lot of decisions. One of the later ones got me to thinking, what would have happened if Xerox had not got rid of its pre-IPO Apple stock and allowed the Lisa team to license Smalltalk? I wonder the sequence at that point with the Mac.
- jecel 10y agoXerox did license Smalltalk-80 to Apple. It was one of the products promised at Lisa's launch, but it was never delivered. It was ported to the Mac and became available to registered developers (I got version 0.7 through a friend who was a developer). In 1996 this evolved into Squeak and Apple was able to release it as free software thanks to its license from Xerox. Some people complained about the Squeak license, so in 2006 Apple re-released its part of Squeak under the Apache license (and the rest was re-released under the MIT X11 license by each part's author). Xerox gave the same license to Tektronix (which launched its 4404 and 4406 Smalltalk computers), HP (which created Distributed Smalltalk) and DEC. The DEC license was extended to UC Berkeley.
- protomyth 10y agoAccording to 'Dealers in Lightning' they did not license it when Apple asked the first time. They did when they licensed it to everyone else. This was all pre-Squeak.
- jecel 10y agoThe first Smalltalk-80 tape was delivered to Apple, Tektronix, HP and DEC on February 17, 1981. So in a way, they all had licenses at this point though it was more a contract to review the system and the book that was being written as well as dedicating at least two engineers each to try to implement it. Three more tapes followed (the last one probably early in 1982). When Smalltalk-80 Version 2 was released all four companies got a free license for it which allowed them to do anything they wanted, including re-release it under a different license. Which is what Apple did (three times) with Squeak. The Version 2 license is from 1982 while the Squeak licenses are from 1996 and 2006. But you are right - Xerox did not give Apple any special treatment compared to the other three, though it did compared to the world in general. Note that Apple had several Smalltalk users involved in the development of the Lisa and the Macintosh, but they felt Smalltalk was too much for the machines they were creating. Steve Jobs felt that was still the case when developing the NeXT, which is why they used the Smalltalk/C hybrid Objective-C.
- fabled_giraffe 10y agoThe original Macintosh really seems like it borrowed a lot aesthetically, in addition to the similarity in operation: http://lowendmac.com/1984/macintosh-128k/ http://lowendmac.com/1984/macintosh-128k/ http://www.righto.com/2016/06/y-combinators-xerox-alto-restoring.html http://www.righto.com/2016/06/y-combinators-xerox-alto-resto...
- protomyth 10y agoWell, Xerox got pre-IPO Apple stock, so I would hope Apple got something for the money.
- kens 10y agoI'm not seeing the aesthetic similarity between the Mac and the Alto, except that they're both beige, have a mouse, and are taller than wide. What specifically do you see in common?
- fabled_giraffe 10y agoMonitors back then were wide then and the Alto turned the screen on its side. The Mac somewhat similarly had a screen that wasn't wide. The Mac mouse is also copied from the Alto's if you look at the shape.
- setpatchaddress 10y agoWhat Mac are you talking about? The classic Mac screen was wider than it was tall.
- kens 10y agoI'm not following you here - the Mac had a wide monitor, standard 4:3 CRT, totally unlike the Alto's portrait display. The Mac's mouse had one button, while the Alto's mouse had three buttons. Both had a rectangular shape, but that's the obvious shape to use (see Engelbart's mouse).
- acd 10y agoDid the Alto have a graphical chat system?
- kens 10y agoAs far as I can tell, no. The Alto had a program called Chat, but this was more like telnet/ssh, allowing you to connect to a remote computer, rather than communicate with a person.
- kilroy123 10y agoMy uncle worked at PARC when this was being made. I probably wouldn't of gone into tech, if it weren't for him. This makes me want to message him and ask him about his time there.
- intrasight 10y agoXerox Alto brings back some memories indeed. I used one at CMU as a frosh to do engineering drawings for the Terragator (http://gizmodo.com/5072167/25-years-of-strange-and-wonderful-carnegie-mellon-field-robots http://gizmodo.com/5072167/25-years-of-strange-and-wonderful...). Being new to computers, I didn't really get that a mouse and GUI were revolutionary. It just seemed so obvious. But that is the beauty of innovation done right - that to users it just seems obvious and natural.
- e12e 10y ago> The disk drive at the top of the cabinet takes a removable 2.5 megabyte disk cartridge. The small capacity of the disk was a problem for users, but files could also be accessed over the Ethernet from file servers. (...) > The Alto was introduced in 1973. 2.5 megabytes of removable/swappable storage ? In the 70s? I'm amazed that users found it constraining! That's more than even the Amiga managed to fit on 3.5" floppy disks (Unlike the PC which generally were only able to format for 1.44 MB, the Amiga generally fit ~1.8 on the raw 2MB HD 3.5" floppies).
- pjmlp 10y agoAs Alan Kay states on his talks, for doing this type of research one needs to imagine how the hardware will look 15years from now and build such hardware, regardless how much expensive it might be.
- dang 10y agoThis point is so important that Alan has emphasized it as one thing we're mostly missing. The Alto was not meant to be a personal computer but a "personal supercomputer"—hardware so far ahead of the curve that it could run the software of the future. In other words, not a personal computer but a machine for inventing personal computing with, which of course they proceeded to do. Having such hardware is what makes it possible to figure out what the software of the future needs to be. If you can't run it, you can't create it. For me this sheds light on a couple of Alan's famous lines: that the best way to predict the future is to invent it, and that people who are serious about software need also to be serious about hardware. Such advanced hardware is necessarily costly but should still be within the reach of a properly funded research lab. It seems to have been an enormous frustration to Alan and his colleagues that they were unable to persude hardware vendors to make such hardware at any price, especially the Alto's microcode-driven style of hardware. Among other things, that was what had enabled the PARC researchers to make the most of the limited memory they had, since when a task was consuming too much memory they could implement it in microcode, pushing it down to the hardware (at least from the software's point of view) and freeing up RAM for software.
- pmarin 10y agoThe restoration is also being documented in Marc's youtube channel. https://www.youtube.com/user/mverdiell https://www.youtube.com/user/mverdiell