7 ms·
Rob Pike: Reflections on Window Systems (2008) [video]
- justin66 12y ago"To be honest, looking back on it, Unix today is worse than the systems that Unix itself was created to get away from."
- myg204 12y agoThat quote stood out for me as well. Great talk though, one of the best I've seen going over all the window manager issues he worked on over the years.
- fsck--off 12y agoHe said similar negative things about Unix in a 2004 interview with Slashdot. "I didn't use Unix at all, really, from about 1990 until 2002, when I joined Google. (I worked entirely on Plan 9, which I still believe does a pretty good job of solving those fundamental problems.) I was surprised when I came back to Unix how many of even the little things that were annoying in 1990 continue to annoy today. In 1975, when the argument vector had to live in a 512-byte-block, the 6th Edition system would often complain, 'arg list too long'. But today, when machines have gigabytes of memory, I still see that silly message far too often. The argument list is now limited somewhere north of 100K on the Linux machines I use at work, but come on people, dynamic memory allocation is a done deal! "I started keeping a list of these annoyances but it got too long and depressing so I just learned to live with them again. We really are using a 1970s era operating system well past its sell-by date. We get a lot done, and we have fun, but let's face it, the fundamental design of Unix is older than many of the readers of Slashdot, while lots of different, great ideas about computing and networks have been developed in the last 30 years. Using Unix is the computing equivalent of listening only to music by David Cassidy." http://slashdot.org/story/04/10/18/1153211/rob-pike-responds?nobeta=1 http://slashdot.org/story/04/10/18/1153211/rob-pike-responds...
- vidarh 12y ago> The argument list is now limited somewhere north of 100K on the Linux machines I use at work, but come on people, dynamic memory allocation is a done deal! This is a shitty argument. Dynamic memory allocation is a done deal, but it's trivial to bring down a system that doesn't limit it, and so you still need a limit beyond which users will still get errors. And usually, if you keep getting it, it's down to bad habits (globbing instead of find + xarg, the latter which lets you take full advantage of multiple processors)
- sp332 12y agoFind + xargs needs a lot more syntactic sugar before people start using it on a regular basis.
- Dewie 12y agoCan anyone here corroborate that there are better alternatives to operating systems than the Unix-likes? Maybe anyone that agrees with Rob Pike's view on this in particular? All I seem to hear is that Unix-y OSs are great, but I don't hear much about any potential alternatives. So I'm curious about them.
- wolfgke 12y agoWhat Rob Pike is refering to is of course Plan 9 and its derivatives (say Inferno). Whether you want to consider them Unix-likes or not is your choice (many HNers will say it's more Unix than Unix). If you look for desktop alternatives to Unix, OSes to look at are BeOS (an open source clone is developed under the name HaikuOS) and the Windows NT kernel (don't hurt me: the Windows NT kernel is IMHO far more elegant than, say Linux or Mach. What is crappy is especially the WinAPI; please look deep below the surface: Here Windows gets nice). The reason why you won't find many desktop/server alternatives to Unix can be read here: http://herpolhode.com/rob/utah2000.pdf http://herpolhode.com/rob/utah2000.pdf Thus lots of OS reserach is either focused on embedded stuff or virtualization instead of desktop or server. Accepting this, especially have a look at the L4 kernel family (a family of very small and fast microkernels). If you like highly secure designs, you'll probably like seL4, the first formally verfied kernel. Also QNX is worth a look (QNX is Unix, accepted; nevertheless a very elegant kernel design).
- pjmlp 12y agoWhile I agree with you regarding Windows. In respect to the WinAPI, OS/2 API shares part of the pain. And Xlib is way worse. I am looking forward to WinRT fixing some of the WinAPI issues.
- DanBC 12y agoBeOS http://en.m.wikipedia.org/wiki/BeOS http://en.m.wikipedia.org/wiki/BeOS Haiku https://www.haiku-os.org/ https://www.haiku-os.org/ Haiku http://en.m.wikipedia.org/wiki/Haiku_(operating_system) http://en.m.wikipedia.org/wiki/Haiku_(operating_system) Windows NT Kernel http://en.m.wikipedia.org/wiki/Architecture_of_Windows_NT http://en.m.wikipedia.org/wiki/Architecture_of_Windows_NT Windows NT Kernel http://blog.zorinaq.com/?e=74 http://blog.zorinaq.com/?e=74 (which references back to HN) L4 microkernels http://en.m.wikipedia.org/wiki/L4_microkernel_family http://en.m.wikipedia.org/wiki/L4_microkernel_family SEL4 http://sel4.systems/ http://sel4.systems/
- dobbsbob 12y agoPike also said: https://news.ycombinator.com/item?id=3075550 https://news.ycombinator.com/item?id=3075550 "..the Unix/POSIX/Linux systems of today are messier, clumsier, and more complex than the systems the original Unix was designed to replace. It started to go wrong when the BSD signal stuff went in (I complained at the time), then symlinks, sockets, X11 windowing, and so on, none of which were added with proper appreciation of the Unix model and its simplifications."
- _pmf_ 12y ago> "To be honest, looking back on it, Unix today is worse than the systems that Unix itself was created to get away from." That's my feeling about Go and C.
- mwcampbell 12y agoIn the middle of the talk, Pike said that the idea of a workstation in every office was one of the stupidest things he'd ever heard, but then decided not to digress and explain why. Has he discussed that at length in any other paper or recorded talk?
- tjgq 12y agoNot really "at length", but he goes a bit into why he thinks computation should be decentralized here: http://rob.pike.usesthis.com/ http://rob.pike.usesthis.com/
- deleted 12y ago[deleted]
- deleted 12y ago[deleted]
- smorrow 12y agoThey're more expensive first of all. and each one has to be administrated individually, especially if it has a local disk. If the kernel is kept locally, then you have to go around each machine every time you compile a new one. Same thing for applications. Same thing for let's say /usr/dict or something stupid. Plus it's another mechanical component which can fail. If the user directories are local instead of on a central box, then you 1) need to be at a specific one to get your stuff, and you 2) can't just cd into someone else's /usr/*/src and collaborate. The Labs word for timesharing was "communal" computing, if that helps. For a school or company, in which the computers are provided by the organisation itself, the Plan 9 way is very obviously better than insular systems. There's more, but it's another whole tangent. Since you asked, the main Plan 9 paper ("Plan 9 from Bell Labs", 1995) does say "the early focus on having private machines made it difficult for networks of machines to serve as seamlessly as the old monolithic timesharing systems. Timesharing centralized the management and amortization of costs and resources; personal computing fractured, democratized, and ultimately amplified administrative problems." but even more to the point would be: with a terminal, you just plug it in and turn it on.
- 12y ago
- bishop_mandible 12y agoThe Blit video he mentions: https://www.youtube.com/watch?v=emh22gT5e9k https://www.youtube.com/watch?v=emh22gT5e9k A similarly interesting talk by him on CSP-inspired languages (Occam, Erlang, Squeak, Newsqueak, Limbo, Alef, Go): https://www.youtube.com/watch?v=3DtUzH3zoFo https://www.youtube.com/watch?v=3DtUzH3zoFo Slides (not shown in the video): http://go-lang.cat-v.org/talks/slides/emerging-languages-camp-2010.pdf http://go-lang.cat-v.org/talks/slides/emerging-languages-cam... Interesting as well: From parellel to concurrent (on Sawzall and Go): http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/From-Parallel-to-Concurrent http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/Fro...
- bishop_mandible 12y agoWho's the guy at the end saying "let's forget where I work and where you work", asking the "hard" question?
- theoh 12y agoBill Buxton. He works for Microsoft now but used to work for Alias|Wavefront (also in Toronto as I understand it.)
- agumonkey 12y agoInteresting, I'm gonna watch this just for him. As a Maya user, I think the people at AW were as high end as a team can possibly be. They were doing magic to my poor pentiumII.
- vanderZwan 12y agoI don't know how famous he is in programming circles, but in HCI and Interaction Design he is a well-known and respected for his fantastic research on two-handed interfaces.
- theoh 12y agoI encountered him in a talk at Siggraph 2001. He is a charismatic guy and used a lot of creative examples of interface design. In particular he showed http://en.m.wikipedia.org/wiki/Ammassalik_wooden_maps http://en.m.wikipedia.org/wiki/Ammassalik_wooden_maps It is sad that Maya is now an Autodesk product: Autodesk is such a square, white bread, corporate outfit. The interface to their flagship AutoCAD is ludicrously clunky and antique, while something like Revit (another acquisition) is clever but really dumbed-down and limited in scope. Oh well.
- f2f 12y agoi loved plan9. i was into it before the 3rd edition was released and i built a small career out of it. it was and still is the most enjoyable system to work with. i'm happy it's getting its dues in retrospect and is now considered a cool thing, but i can't help but remember how just after the first open release everybody and their uncle kept complaining about trivia: "how can I become root?" "it doesn't do x11?" "its license isn't gnu-open?" rob is probably right: licensing killed plan9, but so did everybody who couldn't see the forest for the trees. the linux juggernaut was too popular back then.
- mercurial 12y agoI'm not sure licensing was the only reason. A pitch that goes "we work like X, but better" is unconvincing. Especially when it ends with "in an incompatible way."
- gcb4 12y agotheir motto if i recall was never that. they had two demos about being Unixier... one involved tar-ing a process in one machine, sending to another one (or mounting that machine cpu over the network, don't remember) untar-ing and the process continued from when it was first packaged with ui state and all.
- smorrow 12y agoThat was Plan B. I've never used it, or read the papers or the manual, but everything was centralised on a single box. The reason the tar thing works at all is because all it contains is pointers to your centralised state. In case anyone is trying to wrap their heads around the above comment. The closest Labs equivalent would be Protium, which is for writing programs like he mentioned with the sam/samterm split but with reattachability. Like all the most interesting application-level softwares for Plan 9, that actually do something for you, it wasn't released.
- qewrffewqwfqew 12y agoFor anyone else wanting to watch this on Android, or just have an mp4 and slides in pdf: the archive is linked near the bottom of http://genius.cat-v.org/rob-pike/ http://genius.cat-v.org/rob-pike/
- qewrffewqwfqew 12y agoand more talks from DGPis40 here (Pike's link to the event is broken): http://hciweb.cs.toronto.edu/DGPis40/webcasts.html http://hciweb.cs.toronto.edu/DGPis40/webcasts.html
- qnaal 12y agobut I guess we're stuck with it until we come up with a better way to install emacs
- robert_tweed 12y agoIs there a mirror of this somewhere that doesn't require Flash?
- zvrba 12y agoAn interesting bit of trivia about http://en.wikipedia.org/wiki/Plan_9_from_Outer_Space http://en.wikipedia.org/wiki/Plan_9_from_Outer_Space: The film's title was the inspiration for the name of Bell Labs' successor to the Unix operating system.