Ask Unix Co-Creator Rob Pike
Today we return to our Slashdot interview roots with a "Call for questions" for Rob "Commander" Pike, who has been involved in the development of many modern programming concepts, GUI advances, character sets, and operating systems. We'll email 10 - 12 of the highest-moderated questions to Rob and post his answers as soon as he gets them back to us.
How do I get to my C:\ drive on a Unix box?
M
Plan 9 was supposed to go even further than Unix went, does it really looks like to you that it's been conceived according to a similar approach ???
Trolling using another account since 2005.
Gotta ask the question :-)
Dear Rob,
One question: do you like programming in Pike?
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
Why make unix when you already had Windows?
</joke>
Recently on the Google Labs Aptitude Test there was a question: "What's broken with Unix? How would you fix it?"
What would you have put?
Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose.
Looking back, what would you have done differently? Anything?
Curb CO2 emissions: Kill yourself today!
why was the 'e' ever removed from resolv.conf?!!?!?
What are your thoughts on Apple's use of Unix.
How do see the future of Unix and its offspring OSes?
What do you see in the far future of operating systems, now that great advances in the way we think about computers, such as quantum computing, have been made.
Is Linux "unix"? What did Unix get wrong, but was too late to change by the time that you realized it, that Linux can still get right, while it's still young?
--
make install -not war
When you were creating it, did you in your wildest dreams ever think that 30 years people would still be using it on a daily basis? Was it designed from the beginning to grow and be added onto?
"Leo Fender was in a 'state of grace' when he designed the Stratocaster." -- Paul Reed Smith
Do u beleive after 10 years, there will be Liux & Windows only (like Bill Gates)?? Will Linux dominate & will Microsoft vanquish into the night!
Hi Rob,
Based on your tremendous impact to the history of computing, I really can only think of one question for you.
Wouldn't you like to get a Totally Free iPod?!?!?!?
Pardon my ignorance, but I was under the impression that Dennis Ritchie and Ken Thompson created Unix (Unics), on disused hardware at Bell Labs.
Am I incorrect in this belief? Someone, kindly, clarify the matter.
Were you to start again today, would use use objects instead of an API to build the core OS components?
Hello!
Maybe this is an overly-asked question, but I still often ponder it. Does object-oriented design negate or diminish the future prospects of Unix's continuing popularity?
I've developed in C (which I still love), but lately, I've been doing a lot of purely object-oriented development in Java. Using things like delegation and reusable classes have made life so much easier in many respects. Since the *nixes are so dependent upon C, I was wondering what future you see in C combined with Unix. Like I said, I love C and still enjoy developing in Unix, but there has to be a point where you build on your progress and the object-oriented languages, in my opinion, seem to be doing that.
Thank you for all your contributions!!!
Zed's dead baby. Zed's dead.
What do you think of the Evil called SCO?
Just like google does in their googler test:
What's broken with unix? How would you fix it?
nt
What are your views on the free/OpenSource Unix like operating systems, such as Linux and the *BSDs ?
Is it possible to design a computer so you can backtrack in progress? A method where it records perhaps the last three minutes, and you could click on something, and rewind your computer just like a video? And the hard drive would be at that state? Perhaps with intervals of five seconds. This would go way beyond RAID. (Not sure if I explained this properly.)
The C programming language was written for and spread by the Unix operating system. While it's still a useful tool, and far better than the wholly untyped BCPL that preceded it, C is really starting to show its age. Is there an existing programming language that you would recommend for the implementation of operating systems? Would you recommend creating a new language for a new OS, as was done with Unix? Would you recommend the creation of new OS's at all?
How do you spell creat/create and do you agree with Ken that this is the biggest thing that needs fixing in Unix?
How many stock options did you get when you joined Google?
Why?
I want to delete my account but Slashdot doesn't allow it.
why?
With so many of your ideas being used with such ubiquity in modern operating systems, what is your stance on the issue of patenting of software and other "intellectual property" concepts? Assuming that business isn't going to let IP patents go away as they strive to build patent stockpiles reminiscent of the nuclear arms buildup during the cold war, how would you like to see the issue resolved?
UNIX? They're not even circumcised! Savages!
Has the Command Line Interface become outdated? What are your thoughts on the CLI and if you had to 'do it all again' would the CLI be as prevalent?
Rob, do you see in the near or even far future, the many different flavors of Unix (Sun Solaris, IBM AIX, etc) morphing back together?
Second part of the question, do you think that the different flaovrs "should" morph back together, or continue to grow apart?
"Work is the curse of the drinking class" Oscar Wilde
In your paper, systems software research is irrelevant, you claim that there is little room for innovation in systems programming, and that all energy is devoted to supporting existing standards. Do you still feel this way now that you're working at Google?
what modern OS reminds you the most of your old school OS hacking days? what OS do you think keeps closes to the *nix spirit?
vodka, straight up, thank you!
Given the nature of current operating systems and applications, do you think the idea of "one tool doing one job well" has been abandoned? If so, do you think a return to this model would help bring some innovation back to software development?
(It's easier to toss a small, single-purpose app and start over than it is to toss a large, feature-laden app and start over.)
I want to drag this out as long as possible. Bring me my protractor.
Were programmers treated as hot-pluggable resources as they are today? There seems to be a mystique to the programmer prior to about 1995. From reading the various netnews posts and recollections of older programmers, it seems like the programmer back then was viewed as something of a wizard without whom all the computers he was responsible for would immediately collapse. Has anything really changed or was it the same back then as it is now? I'm wondering how much of what I've read is simply nostalgia.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Mr. Pike, a few questions if you will...
There have been several quotes back in the era of "Big Unix" before the dilution of a certain company's intellectual property. Specifically, one relating to "Never underestimate the bandwidth of a station wagon full of backup tapes." My first question relates to this quote. To the best of your knowledge, was Unix source or object code ever backed up and transported via this method, possibly through Finland?
What are your feelings on Lucy's younger brother from the Peanuts(TM) cartoon?
Do you feel that the Communist Hippies in Berkley were involved in a mass conspiracy to doctor previously released copies of source code to attempt to dilute the value of the Unix operating system?
And finally, someone were to want to subpoena an individual very much like yourself, where and when would the best place to do so be?
Karma: SELECT `karma` FROM `users` WHERE `userid`=138474;
To what extent do you believe the success of Unix can be attributed to the early use of the BSD license, which allows anybody to use and re-distribute the code without placing restrictions on the actual use or re-distribution?
As a longtime Multics user (around 35 years), I've been hearing more and more about "Unix" over the past decades. Can you convince me to switch? In particular, I rely heavily on access control lists and PL/I code. What advantages can Unix offer me? My home computer is a GE-645, and at work we use Honeywell 6180-series machines.
Unless I'm very much mistaken, Mr. Pike, you aren't a Unix co-creator. Dennis Ritchie and Ken Thompson are the co-creators of Unix. If my very quick Google research serves, you joined Bell Labs in 1980 and worked a lot on Plan 9 and the first Bitmap window system for Unix.
So why is Roblimo wrong?
What do you think of the work Hans Reiser is doing with file systems? How does it differ from and/or improve upon Plan 9? What do you think of his theory that (nearly) all database functions should be done by the file system? What do you think about being able to treat files as directories in order to get to special (or not special) info? Is it useful to be able to treat a tarball as a file when you want to and as a directory when you want to? How about file metadata? Data forks? Do you think Linux, Windows, or Mac OS X will come up with the better database/search-enhanced file system?
Software sucks. Open Source sucks less.
What is your most recommended major programming change to the BSD's and Linux, especially for Theo de Raadt and Linus Travolds...anything from the Plan 9 OS?
How can search as a concept become better integrated into the desktop? Are projects like dashboard the next killer app?
http://neokosmos.blogsome.com
I have this problem that no-one takes seriously. I can't help it, it started when I was a kid.
But I like going to parks and touching the ducks. But in November a park keeper caught me fiddling with one, and called the police.
I had to lie and say I was rescuing it from drowning. They didn't believe me, I could tell, but they couldn't arrest me because it wasn't a crime. Anyway, some bastard told the local press, and I was in the paper. There was no picture but my name was in the same sentence as 'duck molesting.'
I'm so embarrassed, I'm going to lose my job because I'm a vet.
Once, someone bought a duck in that had been attacked by a dog. I asked everyone to leave the room so as not to shock it. Really I just wanted to touch it. It died not long after.
Anyway, I saw a shrink and told him but he laughed. He asked me why ducks? I said because they had chubby cheeks and looked cute. Also they are slippery when wet. I like that. I like squirrels too, but I've never tried to fiddle with one. I might soon if I don't get help.
Anyways, my question is: what should I do? This is going to be my ruin.
Unix and C a Hoax - is it true? ;)
Not since I patched my machines the first time to not be succeptible to the oldschool blaster/dcom styles.
After reading your presentation on the death of systems research, I was rather disappointed at the dismal situation presented. Has anything changed since you presented that talk, or have your thoughts changed about the matter? As someone who is interested in systems research, what do you think is the most promising direction that is emerging today?
"Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
The GNU movement started on old Unix computers, and was aimed in part at them; so why do you think it is that the first wave of unix users were so resistent to the concept of Open Source?
Do you find any role for Plan9 at Google? Does Linux (or Linux with whatever customizations, extensions, and metamorphoses Google imposes on it) do everything Google needs or wants out of an OS platform? Does your experience with operating systems research pay off directly in contributing to the shape of the Google platform, whether for individual machine OS's, or for co-operation and clustered operation on the network?
What will drive the next crop of OS'? Is it in hardware innovations, new programming languages?
it's not going to stop until you wise up, no it's not going to stop. so just give up.
Jeez, someone, click on the fuckin link in the post with his name. He's not a Unix co-creator. He worked a lot on Plan 9, and wrote a bitmap windowing system for Unix. But he's not a Unix co-creator. The creators of Unix are Dennis Ritchie and Ken Thompson.
The operating systems link goes to encyclopedia.thefreedictionary.com, which is a scam-site that steals articles from other sites, in this case from Wikipedia. The only thing they've added are ads. The original can be found at http://en.wikipedia.org/wiki/Plan_9
What exactly are you "Commander" of?
-- Nothing unusual happened today
...but you've certainly come to the right place to ask.
As *NIX and linux become increasingly popular in the business place people are looking to push Microsoft out of the field, replacing servers and workstations with free alternatives like Linux and some BSDs. This is causing kernels and OS designed for server performance to progress to desktop solutions. Do you feel that *NIX should stay in the server marketplace and focus solely on that market, or do you think moving the OS/kernel into a desktop role is "A Good Thing"??
Best FPS gaming site on the net... ok, well maybe not the best
subject says it all...
In your opinion, what are the key differences between the UNIX and Windows platforms from both a software developer's and an end-user's point of view?
Why stick up for big business?
Come on, I don't know how this was ever modded up (who am I kidding -- of course I know... just look at the buzzwords).
Anyways, it makes no sense whatsoever to ask "objects instead of an API". I won't explain what objects or APIs are here, but an API can obviously be object-oriented (need an example? the Java API).
The filesystem is the package manager
The more worms et. al. get into a computer, the more a basic user needs to be familiar with tinkering with stuff behind the smiling computer icon. cf. the section "MORLOCKS AND ELOI AT THE KEYBOARD" of "In the Beginning Was The Command Line."
Only mac users call the command line the 'CLI'...
Computing has advanced so much in the past ten years that it seems it's impossible to go back and correct any origional mistakes in the way we think about computers. With the amount of money behind the corporate machine, it really seems as if incredible ideas like Plan 9 and Xanadu are now things of the past--once good ideas that could have changed the way we approach computing, that simply missed their time. Do you see hope for these ideas and projects, or any other new or old computing paradigms that have potential for big change, but would require scrapping, say, the past several years of stagnant and unorigional work? -Ryan
He also worked on Version 8 Unix and (IIRC) came up with an early version of the /proc filesystem.
He's certainly a co-creator of what we now know as Unix.
-- Alastair
In the marketplace, monolithic OSes seem to be dominating, despite the advantages of microkernel OS design. I know this is straying into many other issues but from your point of view, why are monolithic OSes still viable in the marketplace - and why hasn't the public (ie, the 'programming public') demanded more?
"Powers. I have them."
How does it feel driving around in that little buggy only being able to respond to questions with a simple yes or no?
Disconnect your television. Do your own research. Draw your own conclusions. They're probably lying. Don't be a sheep.
Google employees are apparently allowed to work on their own projects 20% of the time. Given that you probably can't comment on what you're doing for Google, what are you doing to fill the other 20%?
Wikipedia article about Rob Pike...
End of the World, or not?
...that you wore at the Portland (Oregon) Usenix?
Which one is better? vi or emacs?
Mr. Pike,
I'm a fan of Plan 9 (along with the notion of what it could be), would you give us an idea of some creative uses for this OS.
Be as specific as possible.
Also, if you will, a link for (instructions) porting to Plan 9.
~hylas
Commander Pike, blink blink blink blink blink beep beep blink, blink blink beep?
Imagine this. Accidentally installing adware onto your computer in a horrible way. Imagine a quick click of the mouse, and you can reverse the effects, instead of spending hours to remove it all. As for one second intervals for the last three minutes, I guess that could be compared to having 180 hard drives hooked up to your computer using a type of RAID, or something.
...did you get a proper SCO license before you started your work on UNIX? I have a feeling a lot of your code will show up as an exact duplicate SCO's IP, and I think it's important we get this issue resolved!
that people don't do systems programming in Java. Or C++, for that matter.
Best Slashdot Co
Do you feel that with the current usage in "traditional" operating systems such as Linux and Windows that there is no place, or need, for a Distributed Operating System in the industry?
Can you comment on the speculation about a new Operating System being created by Google?
,,,did you decide to develop C and write Unix using that rather than using an existing language such as Pascal, etc.?
What would it take, in your opinion, to make UNIX more known to the personal computing public? Is it a good idea to bring UNIX to them?
Got MILF? It does a body good!
In today's computing environment, this isn't always strictly the case. Multi-CPU boards are becoming more common, and clusters are inexpensive and powerful. Devices are also (returning) to a more "intelligent" state, with higher-end peripherals having comparable computing power to the main processor.
It would seem logical, then, to have a kernel which was more evenly distributed over the system, rather than hogging one specific resource. However, many attempts to do this are crude. Beowulf and MOSIX clusters, for example, run the whole kernel on all the nodes in the cluster, rather than just the bits of the kernel that are actually needed. This eats resources and limits the scalability of such solutions.
Do you have any plans for a distributed Plan 9? And, if so, what would you do differently to the other solutions people have adopted?
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Do you see UNIX as a viable operating system for the home user on the desktop?
Most people graduating with computer science degrees are only familiar with Windows and a handful of UNIX-variants: Linux, BSD, OS X. Is it good that stable technology is becoming the standard, thus allowing developers to focus their attentions elsewhere, or was this tremendous reduction in variety premature?
What's the status of the Sam text editor ? Do you still use it ? Have you tried to apply some of its concepts to other editors ? I tried to use it , but the linux port did not work for me.
WhyCan'tYouHaveSpacesInWikiKeyWords?
Speak truth to power.
When Unix came out, it was written in the highest level language of any operating system: C. Why do you feel that operating systems are still implemented using the oldest, lowest-level languages?
With recent advances in high-level application languages like Java (low-latency garbage collection, dynamic inlining, etc), it seems to me that an operating system based on such a language would offer far more opportinuty for a vastly different kind of operating system more akin to an operating environment. Haven't attempts to add object-oriented features, such as in Plan 9 or to a limited extend Mach, failed due to the choice of implementation language?
It's just painful to see all the disgusting machinations necessary to implement a filesystem, network stack, scheduler, etc in C/C++...
Plan 9, Unix and so many other great things came out of Bell Labs. Since the crash of the internet bubble, telecom companies have suffered immensely. One of the results of this is that Lucent has systematically dismantled one of the worlds greatest industrial research facilities. You spent a great part of your career at Bell Labs. What are your thoughts about the history and future (if any) of Bell Labs, and how did the culture of the Labs influence the growth of Unix?
Download my free songs!
emacs or vi?
3D Printing Tips and Tricks at Zheng3.com
Your bio at bell labs and most other bios writen about you, mention that you won the silver medal in archery at the 1980 Olympics.
First, the US and Canada boycotted those olympics.
Second, Boris Isachenko, URS(BLR) won the silver medal at those olympics.
Is this an example of a joke that now has become folklore? Is it a way to "prove" to people that they should check their sources? Or is it just puffing up one's resume?
It seems strange in an era of quick and dirty research that you would still post this on your bio at bell labs. It only took a quick "I'm feeling lucky" google search on "1980 Olympics archery" to pull that info up.
So my question is, why do you keep that on your bio?
Among a certain crowd, Linux is viewed at the savior of computing--a young, hip operating system for the new century. But at the same time, there have been definite twinges of bitterness from a more old-school crowd, including people like Brian Kernighan, Jaron Lanier, and possibly even you. This bitterness appears to stem from the horror of a 25 year old operating system returning to the forefront of computing (for anyone vehemently disagreeing, consider if clones of VMS or OS/360 were suddenly all the rage). Who is right? What's your take?
I read somewhere that the space shuttle uses an intruptless realtime os... do you think this type of design will eventually replace the operating systems of today? will we ever see the end to dialog boxes halting progams waiting for user input, will the flow of data from devices actually flow and not be timesliced? also please explain to us the differences between a true realtime os and and interupt based os.
thank you for your time
fu-kung.
Rob Pike wasn't a "co-creator" of Unix. He came to the Labs in the early '80s, more than a decade after Unix was created. He's very important and influential, but not for that...
fork()||exec() was a great idea for its time, but recently the overhead of page table duplication has meant that supporting that model slows down or adds much complexity to operating systems. What are your feelings on this problem, and what other significant decisions made in UNIX do you think have aged particularly well or particularly poorly?
I'd also like to know particularly what you think is the current and future usefulness for treating devices, sockets and named pipes like files, for the UNIX threads/ processes model, and for UNIX signals, and of course anything that you think is interesting, or decisions that you would like to revisit based on current knowledge and current hardware.
Two questions:
Given two important facts:
- Windows NT is mostly written in C and C++, both Bell Labs innovations, and
- IE/Mediaplayer integration has turned the Windows NT codebase into a security disaster
How would you respond to Cutler's assertions, and how would you rate the code quality of the NT kernel (assuming that you might have perused the recent leaked NT4 source)?This is a frustrating situation for all of us. Do you see any possibility that major portions of UNIX and Plan 9 source being released under licensing that major distributions would find acceptable?
Please also accept my personal thanks for your work in the field of computer science. The influence of the community of researchers at Bell Labs will be felt for many generations to come.
but I like dreaming :-)
If you are to design a new OS(redesign Unix), would you implement a some sort of CORBA(COM etc) interface to the kernel and core system tools.
If you were just starting out with today's computers, what would you do differently or the same?
Are all of his answers going to take the form of a sequence of flashing lights mounted to his life-support washing machine?
How much do you think UNIX's success has been shaped by the relatively light restrictions placed on its use, distribution and modification?
The original UNIX, BSD, and now Linux seem to have been 'freeer' than other OSes of the time, do you think they would have been successful without this?
Finally... vi or Emacs? ; )
If you had to do it all over again, what would you do differently? Why?
"Can there be a Klein bottle that is an efficient and effective beer pitcher?"
Rob, When you were engineering UNIX, processors weren't as beefy, memory was grotesquely expensive, and storage was a premium. These days all of these resources have largely become commodities and can be frittered away wastefully by neglectful programmers. Do you think that in an alternate world where UNIX hadn't been conceived as early in the progression of hardware as 1970, rather had come along at this stage in the timeline where hardware vastly outpaces all but the most glaringly negligent software, it would have been as compact, fast and efficient? Thanks! -Alex R.
"Give away the stone, let the oceans take and transmutate this cold and faded anchor." - Maynard James Keenan
Captain Manwaring: "Dont tell him Pike!"
Just reminded me of one of the funniest lines ever written. For non-brits, check out the show "Dads Army"
What operating system to you use the most for your personal and/or work-related needs?
Please explain!
Someone please put together a good question about The HURD and his views on the project, if I do it, it won't get modded up, I'm bad at expressing myself in english.
Comment removed based on user account deletion
From your own words, Plan9 wasn't a "unix evolution", you didn't get a small subset of unix features and then start from there, you just started Plan9 from scratch.
While I agree that "starting from scratch" was much easier than "fixing unix", I think that fixing Unix is possible. Just much harder, but not impossible. I also agree with your "system software research" paper, although I'm not so pessimistic. Linux/BSD's may not be the perfect OS, but they're not subject to comercial companies, and making them evolute is not impossible.
I know, your paper claims that systems software research is dead, and the "right step" would be constructing a new operative system, not making linux/BSD's evolute. But code reuse is a research area, isn't it? "Evoluting" a operative system is also a valid research field IMHO, and switching a operative system like linux/BSD to new design concepts like those in Plan9 is much more interesting than writing Plan9 from scratch. Do you think it's possible to make linux/BSD's evolute? (take in the account that in your own paper you admit that Linux's strengh is the development model, so I don't think "it's a lot of work" is a valid excuse)
In which areas would you say is Plan9 (still) ahead of Linux/GNU and *BSD, the two operating systems which represent the most contemporary iteration of the original Unix design?
gopher://cramer.plaintext.cc http://cramer.plaintext.cc:70
The failure was not due to being a microkernel so much as being everything to everyone. The project, called Workplace OS was supposed to replace Windows, OS/2 and AIX and run on PowerPC and x86 machines. The teams woking on supporting different operating systems didn't talk to each other much, and the end product ended up being late, huge and slow, and not running any of the target systems very well. It was then cut back in scope to replace OS/2 only, and wasn't even very good at that. *two billion* dollars later, having shipped only two versions to a lukewarm (at best) reception, IBM decided to cancel Workplace OS and stop developing new operating systems. That project is the biggest single reason that IBM has adopted Windows and Linux so enthusiastically.
If you google for "workplace OS failure" you will find some papers analyzing the failure and describing how poorly the project was managed.
2. I've noticed that linux/unix software that is or was sold (before becoming open-source or free) generally is easier to install and configure probably because the company wished to keep support costs low. Additionally, 1st-time users don't care about the underlying OS and software, they just want to get their work done. For instance, I haven't run-across a GUI interface for setting up LDAP yet(Its just an example of many apps are typically setup manually or via scripting). It just seems like a GUI desktop version of www.tldp.org combined with applicable man-pages is in-order. ... something like a Unix Expert System. For those of us who enjoy 'tinkering' and customizing manually is great, however, what initiatives would help that 'lowest common denomiator' or newbie.
3a. According to your research in the original post, OS Research was pretty much dead before Windows. I would then take Windows to be a paradigm shift in the OS world. Do you see any other paradigms on the horizon that can/will change OSs? For instance, neural-learning algorithms that make users more productive, recommending breaks and/or alerting them to tasks and alternative methods, providing file/application links based on the user's current tasks similar to a 'virtual assistant/secretary'(analogous to the Linux Expert System)?
3b. How about integrating speech recognition (Similar to IBM's implementation on OS/2), and/or hand-writing recognition into the kernel for broadened appeal and useage of the OS and its applications?
4. How much more 'critical mass' (in terms of # of PCs running Linux) does the open source community need to entice mainstream manufacturers into providing better driver support for new products?
-Don
Take a look and feel free: http://www.PieMenu.com
What do you think of Mac OS X? Have you used it? Would you consider Mac OS X a 'version' of Unix? Would you consider using it as your main operating system? What do you loave about it? What do you hate about it?
This is very similar to the another post about OO. Clearly you don't understand OO. There's nothing stopping a C programmer from using OOAD. Language is only incidental. Now I understand that OO languages make OOAD easier, but there's nothing stopping you from using those languages on any platform. If you like Java, well you can develop Java ON UNIX. What exactly is your point about C? C is closer to the metal than most OO languages, which is why OS developers write in C, and many libraries are presented directly to C. But you don't understand the way languages work if you're asking the question, "why C?". Ultimately everything comes down to machine-level instructions, so language is almost completely irrelevant to the OS. Perhaps you mean to ask, "Does the rise of virtual execution environments like Java's or .NET's diminish the importance of the OS?"
Fail It
Do we have to ask yes/no questions so Commander Pike can answer them (one blink for yes, two for no)?
(mod as -1: Star Trek reference)
This message has been scanned for memes and dangerous content by MindScanner, and is believed to be unclean.
Is all of the current effort maintaining implementations of the UNIX way worth it? More specifically, when should we finally cut our losses and stop living with design desicions which were made decades ago for hardware and user constraints which are not nearly as relevant now as they were when they were made?
I was talking to my brother a few months back - we hadn't been in contact for several years, and were catching up. He's been in the Unix world for a very long time, and knows most of the old Unix guys personally.
He was really pleased when I told him I hate windows, and run Linux on my desktop, and that I admin Linux boxes for a living - when I told him I do most of my programming in Pike, he said "Oh god, that wasn't written by Rob was it? It would figure for that egotistical bastard to name it after himself."
He seemed a little relieved when I told him Pike was from Sweden, and started out as LPC.
How do you rate the chances of survival for this once proud company / organization?
As a current Lucent employee I see the family silver being sold off every day (closing the Holmdel library was a real kick in the teeth for many). Can the worlds best know research lab recover from the bubble and it's aftermath?
Sincerely
Pat (Posting as AC so not to annoy "the street")
Unix suffers today from a proliferation of file and output formats that makes integration between the CLI/config files and the GUI awkward at best. For example, a common idiom for Unix GUI tools is to parse output from a CLI program and present it visually. This would be greatly simplified and much smoother if those programs produced structured output rather than raw text. The same holds for programs that read configuration files, like resolv.conf. Do you think UNIX would benefit from standardization of formats that coalesce around XML? What do you think of the idea of developing schemas for OS objects? What about schemas for common application-level objects - the idea behind WinFS?
I realize the question needs work, but I hope you get the idea.
True. CLI is the equivalent of spoken or written language, and the GUI is the equivalent of pointing at something and grunting.
Spoken/written communication is much more powerful (easier, faster, more effective) when both parties understand the language, and the idea is a complex one ("I would like a job at your pie shop.")
Rudimentary communication is easier with point-and-grunt (answering the question "which pie would you like to purchase?" - you point to the one you want)
If the parties don't understand the same language, complex concepts are *much* harder. Learning to communicate by pointing is easier, but the true power of communication comes from spoken/written languages.
Think I'm wrong? Write a detailed response *without* using your keyboard.
My money would be on McBride. Not only is he too stupid to know when he's lost, his head is so thick it would be impossible to knock him out.
:o)
Hmm maybe the two are related?
How did it feel to win an Olympic medal in Archery? Could you describe your experience at the 1980's Olympics?
Failure to do so will result in Dom!
Don't Crease the Weasel!
>> Axiom of Transitivity of Inequalities (Rough) translation: The principle that a comparison of X objects can be concluded by observing the inequalities of their methods. Also, why is each word's first character uppercase, did you contrive that using an online thesaurus?
Boxers or briefs? Er, I mean Emacs or vi? And why?
I brought this up recently on another thread, because I am in favor of it also. One of the things I really liked about my previous mac experience. Are you (or anyone) aware of any linux distros that do packaging like this?
What operating system do you use on your home PC and why?
---
Those who can, do
Those who can't, teach
Those who don't know how, supervise
For pity sake try to remember, the guy can only blink once for yes and twice for no.
LLAP
The US (and to some extent, the EU) are facing mounting issues from Software Patents (The idea of patenting an idea opposed to an implementation). What do you think about the current state of Intellectual Property laws?
What limits should be placed on Software Patents? Should they be eliminated entirely? Should all patents be moved to a trademark like system where if they are not enforced, the holder loses the trademark?
What is the fix and what is needed to make it happen? Will it ever be fixed?
If you are out to describe the truth, leave elegance to the tailor - Albert Einstein
Rob, The media and UNIX/Linux boosters have been developing/promoting UNIX variants as a competitor to MS desktop OS's. Are UNIX and it's variants destined to have a significant share of the commercial desktop, or is it a compromise and will always be a small share (but doing most of the work!) OS compared to the star-studded MS lineup? What further steps do OS developers have to take to bring it to every desktop?
The quick brown fox jumped over the lazy dogs back 123456789
What would it be like. Would it still be unix like?
What would you write it in? I mean if you had the time, money , and a mandate to create the best OS ever and you did not have to care about backward compatability what would you come up with.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
... but what have you done for me lately?
(Alert for clueless mods: joking.)
Here is a very good article about the Lions book and how code was shared during the old days of Unix:
http://www.salon.com/tech/feature/1999/11/
"When in doubt, use brute force." Ken Thompson
You have been active in many areas of computer science from computational physics to user environments to operating systems. What are your current interests?
I heard all your interviews are actually responded to by Mark V Chaney and you only lip-synch. Is this true? And how will we know for sure?
Notice that a lot of calls take an "fd" as the first argument. This is the "object", and the call is the "method".
In fact Unix is far, far ahead of many other systems even today in being truly object-oriented. OO to be useful requires a "common base class", meaning the same method is useful on more than one type of object. In Unix a vast number (for the time) of different objects could be controlled with the read, write, and ioctl methods.
Contrast this to current systems like COM or Corba where the main claim for OO is that it uses C++ syntax: it is much less likely that you can take an arbitrary object and reuse it with code written for a different object. Your code to update the display object cannot be used to write to the file object. In Unix, back in 1970, the code to update the display *could* be used to write to a file!
What's the biggest mistake (design, paradigm, API) you've made that we're still suffering from. And I don't mean leaving the e off creat()!
Uh, what the frisk are you talking about?
Microsoft also shares source; but they're a long, long way from being open source. One notable point that differentiates GNU and modern OSS from the Unix/Microsoft models is that the former explicitly give you the right to modify and distribute the source. The original Unix licences most certainly did not give you the right to redistribute them.
Do you see X-Windows (in whatever form) as a viable platform for GUI technologies in the future or is it approaching the point of diminishing returns?
it's in the plan9 faqm l#pla n9design
http://www.ecf.toronto.edu/plan9/plan9faq.ht
Don't you feel you owe an appology to a decade of 80s UNIX novices for wasted hours before discovering you weren't talking about the shell *they* were using in "The UNIX programming environment"?
Not that I'm still bitter 20 years on...
Really, despite how old Unix is, old timers certainly remember Unix very fondly as a huge breath of fresh air: a fast, SIMPLE, complete, powerful, and SIMPLE (!!!!) operating system. The rules for file names were trivial with only the characters '/' and nul having meaning. There were no "file types" or various character encodings. You used the SAME calls to write files as to draw on the screen or punch a paper tape or read a mag tape! You could name a file anywhere in the system with a single string! You wrote a newline to a file by adding a single byte using the same call you used to write letters! And hundreds of other things that seem painfully obvious today, but at the time, compared to what else existed, this was absolutely amazing.
CP/M is mostly based on RSX-11M and RSTS/E from Dec, vastly more complex and painful systems to program. Windows is, despite all claims to the contrary, mostly based on CP/M. That is where drive letters and case-independent filenames and lack of names for devices comes from. Windows is based also on VMS, but VMS is the best-known source of record-based files where the program to copy one file to another was bigger than the entire operating system! This was jettisoned for Windows, but the bad taste remains...
It sure is too bad nothing better has become popular. I had huge hopes for Plan-9. But a good deal of Linux's success can be based on absolute disgust that Microsoft would bring back the horrors of pre-Unix operating systems that we had all hoped were dead and gone. So any hate for Linux is being directed many times more at Windows.
You stole the source code for UNIX from SCO, didn't cha?
Intolerance for ambiguity is the mark of the authoritarian personality.
Do you see a future for language-based operating systems like the old Smalltalk and LISP machines or the Newton?
I appreciate and largely agree with your presentation on the state of systems research, but one area where there are perhaps both academic and commercial points of interest is the security/reliability question.
(I should point out I consider these two things to be closely related, since a compromised system cannot be considered a reliable one.)
I agree people have largely decided how they want to use computers, but I don't think anyone can dispute that while computers and software today might provide people with the functionality they want they do not do it in a robust manner. I would think there are a great many interesting problems surrounding figuring out how to impliment a proven, uncrackable software system that provides the functionality people want today.
I had hopes that the EROS system might prove to be the first step in this direction, but research on it has slowed to virtually nothing. But in addition to designing from the ground up in a truly paranoid fashion, they used proof logic to verify key mechanisms of their security structure. I know there are distinct limits to this approach, but I have always wondered if, working within these limits, a system that provides today's expected functionality could be created.
(Note when I say functionality I refer primarily to end user applications like the spreadsheet, database, and word processor. Other types of change in the user environment, so long as they are changed for a reason where benefits are real to the end user, are fine.)
Could you comment on this as a possible future direction for computer research?
"I object to doing things that computers can do." -- Olin Shivers, lispers.org
Again you are wrong, the original Unix license allowed redistribution of source modifications among Unix licensees.
;)) "forgetting" tapes full of source code after visiting universities; or "accidentally" dropping a case full of tapes at certain places.
Not that it matters, because 1) the Unix developers had nothing to do with setting the license 2) the license was mostly ignored and code was shared freely by all Unix hackers.
Even when the lawyers tried to stop it people kept sharing code around anyway, there are various accounts of Bell Labs Unix developers(wont mention names
If what you want to know is why the legal department of AT&T were such jerks(just like the legal department of any other big company), you probably are better of asking someone else...(or reading about Unix history and informing yourself, there are plenty of speculations about the matter, including by DMR and some BSD guys).
What the hell is wrong with cursor control using the keyboard. I don't have three hands man!
That's easy: UNIX print services.
That is a restricted group; GNU software was the first to specifically allow access to anyone.
That's what that whole "free as in speech" bit was about, in contrast to the "free as in amongst-a-closed-group-of-licensees" culture of the time.
This is mainly an implementation issue; there are many *nix implementations which let you "force" an umount. That will usually nuke whatever process(es) had inodes on that filesystem open, but presumably that is considered an acceptable loss if one is using the "force" option in the first place.
"why the hell there is a 'D' run state that is completely uninterruptable"
D has been recon'ed to mean "uninterruptable sleep". It means that a process has made a syscall, and the scheduler is waiting for that syscall to return before it can wake the process back up. Processes sleep on syscalls all the time. The "uninterruptible" aspect generally indicates part of the system (such as an interrupt handler or bus master DMA hardware) needs to finish something before the syscall can return. For example, maybe a buffer in memory is going to be written to. You can't just kill the process off, then -- it's being used to track that resource.
The details of this are an implementation issue. Traditionally, *nix implementations have tended to schedule nearly all system processing as part of the user process which triggered the need for the system processing in the first place. This has a number of benefits (e.g.: keeps complexity down, uses fewer resources, makes resource tracking and accounting a lot easier). There's no userland API reason for this, though; you could handle everything using separate kernel threads and a lot more interfacing. Whether or not that is a Good Thing depends on the beholder.
"Another thing that I see as "broken" in UNIX is that there is no normal/standardized/sane way of installing software."
These days, when people say "Unix", they generally don't mean the AT&T(TM) Unix(TM) System (or whatever it's called today). They mean systems that derive code from AT&T or BSD Unix, or implement the same set of userland interfaces, or implement POSIX, or otherwise resemble all that. (I use the term "*nix*" for this meaning, avoiding the ambiguous "Unix".)
It is true that there is no standard package system that works over all *nix systems, but you have to look at what a huge field that is. There is also no standard package system that works on both Mac OS X and my Palm Pilot. You're asking a lot, more then human engineering is possible of providing, I think.
*nix actually does remarkably well. Within a particular implementation (say, Red Hat Linux, Debian GNU/Linux, OpenBSD, Sun Solaris), one generally finds there is a "native" package system. Quality varies, of course, but most work well.
Outside of the "native environment", where just about anything goes, the "five-step install" is surprising portable:Sure, it's not point-and-click, but compare that to, say, Windows or Mac OS, where every version of every programs uses its own install routine, shared system files are routinely trampled, and things are generally messy. Microsoft defines "portable" as "runs on more then one version of Windows". That's a fair bit less then what we have in the *nix world.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
dragonhawk@iname.microsoft.com
I do not like Microsoft. Remove them from my email address.
Rob gave a talk at ?Nashville Usenix showing off the 8.5 Windowing System. One of his comments was that "Ken and I spent 10 years learning what things windowing system shouldn't do and we've written one that doesn't do them." 8.5 (the ".5" is properly the Unicode "1/2" glyph...) is small and blazingly fast, firing up a windowing system in about the time you'd expect a normal carriage return to give you a shell $ prompt back on a 680x0 machine, and the Acme windowing user interface on it was also lean, mean, and very fast.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Whatever you say, my dear stupid ignorant zealot...
Ever heard about this thing called BSD?
And then there is this thing called GPL that does put _restrictions_ on redistribution, read the god damn license...
Got news for you, the Unix users didn't give a fuck about "Open Source" because that was the way they worked already and they weren't religious zealots and didn't care about licenses, they cared about code... and the development model was infinitely more open than anything comming from the FSF ever was or ever will be.
All in the FSF is controlled by RMS that is a control freak(just ask the GNU/TURD(sic) main developer that was kicked out just for commenting that the GFDL was not free at all, which is basically pointing out the obvious).
BTW, I'd like to see RMS hear you say that he has anything to do with "Open Source".
Get your facts straight before going around lecturing people with nonsense.
I remember Rob and Ken ranting against microkernels back in the day, but Plan 9 was smaller and cleaner than most of its competition, and things that were viewed as "hopelessly bloated" a decade ago are now comparatively small and under-featured. How do we get back to relatively small kernels and fast reliable operating systems without ditching all the useful things that have been added since then? Hardware support for PCs and connected devices including accelerated video cards and USB plugins are critical issues.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
If I ever want to lecture people with nonsense, I'll get you to do it instead. I can tell by your post you're much more adept at spewing nonsense and vitriol than I am.
The buzz around filesystems research nowadays is making the UNIX filesystem more database-ish. The buzz around database research nowadays is making the relational database more OOP-ish.
This research to me sounds like the original designers growing tired of the limitations of their "creations" now that they're commodities and going back to the drawing board to "do things right this time". I predict the reinvented versions will never catch on because they'll be too complex and inaccessible.
Of course, this second system syndrome isn't just limited to systems. It happens to bands, directors, probably in every creative art.
I think what we've got in the modern filesystem and RDBMS is about as good as it gets and we should move on. What do you think?
I think Rob would probably "spot him a 'J'", to which Darl would reply, "I knew that..."
> That is a restricted group;
Not that restricted. If your organization could afford a minicomputer, they could afford the quite reasonable fee for the AT&T tapes. For many years it was a flat fee for an entire site (like $10K for all of UC Berkeley).
GNU really didn't get going until there was per-CPU and per-user licences for UNIX.
What do you think of the various additions to Unix
after it left the Bell Labs- specifically Sys V IPC, STREAMS, Networking(TLI) etc.
Do you think Unix was become better or worse after it
left the Bell Labs?
Rob, given the glacial POSIX process to standardize system/user administration or even shells, what do you want to see prioritized in this area?
The major vendors are using such interfaces as selling-points, while the open OS's can't agree on such apparently simple matters as the arguments to cat let alone generalized administration.
insecurity asks the wrong question irritation gives the wrong answer
Ask any UK TV viewer about the "W-A-N-K-E-R-S" incident on countdown...
your campaign seems to have the momentum of a runaway freight train. Why are you so popular ?
Mainstream operating systems were designed when electronics were expensive and programs had to treat the computer system as a shared resource. Hence timesharing, multitasking, shared filesystems, and the rest, with all the combinatorial problems of N programs interacting with N other programs.
Now that CPU-plus-memory is so much cheaper, do you see a phase change coming where it is better/more secure/simpler to have one CPU per application? What impact would this have on operating system design?
rob: what's the phrase that used to be used after reading a fortune cookie?
What are the top three lessons that the community has learned from Unix? What are the top three lessons that the community has by and large FAILED to learn from Unix?
One of the Bell Labs Unix pioneers, I forget if it was Dennis Ritchie or someone else, when asked what he would do differently if he redid Unix, said "I'd spell creat() with an e at the end."
If you were to re-do the system today, would you base it on C++ instead of C? I see lots of opportunity for inheritance and virtual functions in the base code. There's plenty of copy-paste going on just to create a driver that's only slightly different from another existing driver.
Shouldn't Glenda (http://plan9.bell-labs.com/plan9dist/glenda.html) be an Angora rabbit (http://www.angorarabbit.com/)?
...was the birthplace of a lot of things fundamental (transistors, lasers, operating systems worth a darn). where are these things going to come from now that no single entity seems to think it's worth while spending money on activities not directly related to a bottom line?