Systems Research Is Dead?
Manoj writes "Rob Pike of Bell Labs (Yes, that [Rob Pike]) says that systems
software research is irrelevant. At a time when computing is almost the definition of innovation, research in both software and hardware at universities and much of industry is becoming insular, ossified, and irrelevant. Where is innovation? At Microsoft, mostly. Exercise: compare MS software in 1990 vs MS software today. He states that Microsoft has been working hard, and that on many (not all) dimensions, their products are superior technically. Linux is the hot new thing, but it is merely a copy of the same old stuff. And anyway, the exciting thing about Linux is the development model, and researchers contributed little to that. He states that the excitement, the art, of systems research is gone. "
okay, cheif; if "the Internet is one big phreaking
standard" than where can i find the definition for
it? what body regulates this standard? c'mon... i'm
begging for you to point me to all those RFCs out
there. my good man, those are most definatly NOT standards
documents. go read some IEEE or ANSI documents. now
those are standards documents. and you don't see it
as a potential problem that new ideas need to be tailored
to existing ideas? you (well, maybe not you,
but someone inteligend) could make the arguement that
everyone benifits from _real_ standards, sure. and
lots of people ARE complaining that the internet could
benefit from some _real_ standards, or that there's
lots of other problems with it, or its current structure;
you simply choose not to hear them.
oh, and "The computer is an appliance now"... really?
what sort of computer are you using? my mother can
connect a TV and a toaster... give her a computer and
she's lost. and ever set up networking on a Win32 box?
_that's_ an appliance? bah. you _can't_ be that dumb.
i speak for myself and those who like what i say.
uh, GCC is the crowning achievement of free software?
god help us all. i love this: "gcc is among the most standards-compliant compilers in existence"
um, sorry, but you're just plain wrong. unless you're refering to
GNU C as a standard. gcc is an almost-ANSI C
compiler... much less so than Sun's comercial C
compiler. and the original comment was about inovation,
not functionality. what about gcc makes it innovative?
we've had cross-compilers before, we've got faster,
smaller, better-optimizing compilers (not all at once),
we've had portable compilers. if you're talking about
functionality, GIMP is far more impressive than gcc.
or groff, maybe. both re-implementations of existing
ideas. neither's particularly innovative.
i speak for myself and those who like what i say.
your comment about Emacs is, i think, a good example
of much of what Rob's talking about. you want a platform
that runs Emacs. regardless of whether the platform
enables you to build far more innovative things than
other platforms. regardless of whether or not it has
something far superior to Emacs for whatever you use
it for. Acme, for example, is a absolutely wonderful
environment for developing programs, editing text docs,
composing/editing/reading mail, and so on. but it's
certainly NOT Emacs. therefor, based on your own comments,
you wouldn't like it. i believe it is this attitude
that has rob feeling a little less than enthusiastic
about the state of OS research.
also, despite your summary, i don't think rob's complaining
about "computer scientists" as a whole using the "crufty
old tools" you mention. i think maybe he's a bit upset
that folks doing OS research are so attached to those
tools. without a doubt, the tools you do influence
the types of ideas you come up with, or at very least
which ones you implement, and how they end up looking.
i speak for myself and those who like what i say.
Jason Earl, in his quite finite wisdom, said: "Give me an example of an innovation that would be impossible to implement on Unix and perhaps I might change my mind."
um, have you ever used Plan 9? here: rio and acme, just for starters. you also might want to take a look at section 4 of the Plan 9 manual (available online at http://plan9.bell-labs.com/sys/man).
the third edition of Plan 9 is due out "any day now"... i suggest you take a look at it when it does pop up.
specifically in Plan 9, the existance of dynamic, per-process, user/process-modifiable namespaces makes a whole range of applications possible that you just can't do on Unix.
and before you point to 9wm or Wily as Unix implementations of rio or acme (respectivly), note that the authors of each specifically state they are not such things. they are designed to take the look and feel, but they are different things.
also, there's more in question here than whether or not something's doable under a given platform. the platform influences what ideas you will work on.
there is, for example, a reason why X (even before the popularity of Linux) had so many different window managers, while MS, which you can sort of do the same thing to, has three, to the best of my knowledge.
i speak for myself and those who like what i say.
Wow, all three of your quotes are wrong.
The Patent Officer and Bill Gates ones are both urban legends. The other one was from DEC not IBM.
Yes. Apple innovated in the hardware sphere in a number of ways.
They were one of the first to recognize that they could sell a new computer to each customer every other year, by always using trendy 'industrial design' so any Macintosh would look tired within two years.
They were one of the first hardware vendors to recognize that they could steer their user base by pre-emptive elimination of features (i.e. elimination of the floppy diskette drive).
They were the first to have a machine with the innovative 'data key' method (bent paper clip) for extracting floppy diskettes.
And other good stuff that I am sure we can all remember with great fondness (or not).
Mr. Pike is just upset because his beloved innovative Plan 9 is being completely and totally eclipsed by Unix-like operating systems like Linux and FreeBSD.
He bemoans the fact that computer scientists still tend to use such crufty old tools as Unix, Emacs, and TeX, despite the fact that these tools are still very capable and that they grow more capable every day. The Novelty that Mr. Pike is so obsessed with is only useful when it constitutes an improvement over what is currently in use.
Perhaps the most absurd part of Mr. Pike's lament was his comments on Standards. He states that "With so much externally imposed structure, there is little slop left for novelty." Clearly, however this is both untrue and unfair. Mr. Pike could easily create his own little completely novel computer world. He undoubtedly has the talents. However, unless this new system allows the end user to do the things that they traditionally use their computer for what's the point? Why would I want an innovative new system that can't send email or surf the web (or run Emacs for that matter)? I wouldn't, no matter how novel it might be.
More importantly it is certainly possible to innovate within the standards that he complains about. Napster, Gnutella, and FreeNet are all innovative ways of sharing files, yet all of them rely on existing standards. Mr. Pike also totally belittles the success of scripting languages like Perl, Tcl, and Python. I certainly don't use C or C++ on my new development projects. These languages all represent innovation, but they probably aren't available for Plan 9, so they don't count.
If Plan 9 were in Linux's position you can bet that Mr. Pike would be singing a different tune, even if all Plan 9 were being used for was to run Emacs, TeX, and Netscape.
They gave us a new UI to Windows 3.1 and called it Windows 95.
-They created NT by adding features of VMS and Unix to Windows 3.1.
Now wait a second, let's not get carried away. I'm sure you realize these statements (especially the second one) are false. Windows 95, as horrific as it is, isn't just Windows 3.1 with a new UI. About all you can say is they borrowed some of the code. They are different.
And NT has about 0 to do with Windows 3.1. Hell, Dave Cutler (the architect of NT) didn't want *any* compatibility with Win16 or DOS. The compatibility exists now as a layer on top of NT.
--GnrcMan--
Microsoft often doesn't get much credit from this community, and they certainly don't receive praise from me too frequently. But, I think Rob Pike deserves credit for having the guts to talk about their research in positive terms. Microsoft has improved the state of end-user computing in a number of ways, even if many of us disagree with them on their design decisions.
--
Dave Aiello
-- Dave Aiello
Your comments bear out Pike's insularity premise very well.
For instance, the dining philosophers problem is interesting in a nice, clean, theoretical sense. Practice is seldom, if ever, that clean. The behavior of a concurrent program often cannot be understood without also understanding the eight or nine different overlaid and interacting concurrency and synchronization models that are used in any real world machine/OS/interpreter stack. Hence, making tweaks to dining philosophers isn't a burning issue, so no one in the biz world pays any attention to them.
I couldn't even sell a tool that analyzes systems for deadlock, unless I worked for either Microsoft or Rational. And they don't need to, so they don't put any time into developing such tools.
As someone who's gone all the way up the academic ladder, I would strongly advise anyone who's contemplating such a move to bail out while there's still time. Pike is right that the problem exists and wrong in assuming that it is fixable. Research is unneeded and unwanted in industry and is a Potemkin village in academia.
Here are some random features I want to see in an operating system.
- You turn on the computer and it works instantly.
- Whenever you feel like stopping you turn off the computer.
- You never have to save your files, you always work with up-to-date information
- You never have to drag or resize a window
- My mom can store her weaving project ideas on it without any help
- You never have to remember obscure names, everything is built out of a small set of simple blocks
- You never think about "connecting to the internet", you just work with data that happens to be located somewhere else
- The kernel continually decides how to configure itself for maximum efficiency for the task at hand
- There are never any library problems -- library specifications are written in a formal mathematical language, which can be verified against the library code
nojwAlthough you realize that the large complainer to do-er ratio may also have something to do with it?
P.S. Political Correctness Rocks! (Of course, I'm just saying that because everyone on Slashdot says it, right?)
Is this some post generation X thing? We Gen-X'ers don't get it.... But then we seem to have dropped off everyone's radar. Anyhow...
They gave us a new UI to Windows 3.1 and called it Windows 95.
Fluff... Not systems research....
They created NT by adding features of VMS and Unix to Windows 3.1.
Bolted UI fluff onto ancient systems that worked better than NT does. Systems research? Hmmm... No... At Pike's level, this was an engineering exercise. One that reminds me of something Thomas Edison once said... and I have to paraphrase, but it went something like "Why yes, I've learned quite a bit. I know of several thousand things that won't work!".
streaming media? Java? Voice recognition? PDAs? Crusoe?
App, language, app, hardware..., and hardware. You bring up some good examples, but none of these are systems research. Ok, I'll ceede PDA OS development, but that's minor really.... However, all of these should enable new systems research, and I think that's one of the things he's complaining about. We have some really cool new stuff that should enable new and exciting systems reseach. But nobody's doing it.
I guess WWW doesn't count?
I think you've hit the nail on the head. Pike is taking a too narrow view of the definition of "system". Although I can certainly see his points. In the larger picture, and its a bit of a streach, can we consider the WWW as a "system" in and of itself? Of course that would make Taco a "systems researcher"... Hmmm... Gonna have to think about that... does not compute... does not compute... (smoke... flames...) :-)
Temkin
First of all, MacOS X Server has been shipping for, I believe, a year now. If you regard Jobs as being Apple, then Jobs has been shipping preemptive multitasking since before OS/2 had a GUI (which is before Windows had preemptive multitasking too), and he's been working on bringing that back to Apple since '96.
Further, Apple hasn't delivered yet because they're more ambitious. They've gone through several attempts that simply didn't live up to their standards. If you want to look at places that innovate with backwards compatibility, look at Apple -- architecture change, no problem. Complete replacement of everything from the kernel to the userland, your old programs will still work. MacOS X is really innovative; it's more modern than UNIX, more stable than Windows NT or OS/2, and easier to use than anything.
--Matthew
... who makes his opinions available via Postscript instead of HTML. 'Nuff said. Those guys at Lucent need to pull their noses away from their 21" black and white monitors and take a fresh look at what's current...
-- ultra1
SCO (yes, SCO) has had virtual consoles since at least 1987 with the Xenix 2.2 system. Which, incidentally ran on a 286 (it used swapping, not paging).
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
But that isn't systems research.
Pike is observing that there isn't effort going into finding the abstractions and combinations thereof that can provide systems that might be downright better than UNIX.
Making Linux more "user friendly" may be a worthy enough goal, but that falls into the category of "Development," not "Research."
If you're not part of the solution, you're part of the precipitate.
He states that the excitement, the art, of systems research is gone
That sounds.. horrible to my ears! I really enjoy digital electronics/CPU/system software development. That's what I studied at the Uni, and I dream of working in that field. Please do't tell me it's too late!
Sigged!
Where was this obtained from? It just seems too dubious a presentation! Neither email, nor a proper document ready for publishing!
Mathematics was essentially recreated in the '50s and the '60 with the work of Grothendieck. Serre, Weil, Deligne, essentially carried the torch he had lit. The programme that he had charted is nowhere near completion.
Similarly Hoermander's work essentially provided a new foundation for Analysis.
There `programmes of research' in other areas as well, notably number theory. Stochastic Analysis, is still in its infancy, even though it has been around for the last 25 years or so. In many areas, especially in PDE's people are beginning to look again at `applied' problems, which had been neglected since the '50s, as there was this mania for abstraction.
Much needs to be done still, it is certainly an exciting time to be a Mathematician. Yes, much of Hilbert's original programme appears to have been taken care of, but some problems still remain. The Riemann Hypothesis is still unproved, and I think there is a long way to go.
I forget which Mathematician it was who said it, but `the golden age of Mathematics was not of Euclid, but it is ours.'
--Sanatan
Theory of Programming Languages (PL)
Complier Design
Natural Language Processing
Theory and Design of Operating Systems (OS)
Complexity Theory
Algorithm Design and Implementaion
Computer Architecture
I think a simple and effective test to determine whether a field is stagnant is to enquire whether an '80 (or '70s) textbook is sufficient for the subject. If the answer is yes, then the field is stangnant, else no.
I think Pike believes that an '80s or '70s text would be good enough for PL and OS.
--Sanatan
The best analysis I've seen yet, and the scariest.
How many centuries until the new Rennaisance(sp)?
How much does modern civilization owe to the monks in their cells dutifully hand copying the wisdom of the ages.
One bright note. The horse collar was invented in the "dark ages".
Linux is the hot new thing, but it is merely a copy of the same old stuff.
Mr. Pike is a tad bit hypocritical on this point. Linux was created because Bell Labs/ATT made UNIX proprietary and prohibitively expensive.
Of course Linux "is merely a copy of the same old stuff." The "same old stuff" that Bell Labs/ATT charged a large amount of money to use and restricted access to only the wealthiest corporations and their employees.
Linux and *BSD made Unix available to the masses. `;^)
I point you to
http://www.research.microsoft.com/labs/cam.asp
I know, and have worked with, some of these people and they know their systems stuff, and don`t do much else. CJC
I see much misinterpretation of the term "systems programming." It has become a euphemism for low-level bit tiwddling and device driver hacking. In fact, the term is quite literal, meaning "the programming of complete systems." If you look back at the original UNIX, it was an OS, a user-environment, and a programming language, all of which were developed to work together.
A goal of systems programming is the usability of the entire package. This is one of the stumbling blocks for what Linux has grown into. The basic command line environment is comparable to the original UNIX in this regard. Cryptic, but powerful for a certain type of user and application. But that's where the plan stops. GNU tools tend to be messy critters, with way too many command line options. Look at the man page for ls, you'll see a note about how the man page is no longer maintained (use texinfo instead). X Windows feels like a giant hack to bring UNIX into the bitmapped age. The desktop environments for Linux all feel like attempts to bring Microsoft Windows into the realm of free sofware, but they're duplicating the same mistakes: too many gadgets, too many meaningless icons, too much focus on fiddling, too many questionable interface descisions. In the end, we have an interface that's not sure what it wants to be, outside of a slap at Microsoft's market share, put on top of a byzantine graphics system that is gernerally unliked, on top of of mostly unrelated early 1970s era nuts and bolts. It is free, and this is good, but it can be viewed as a way of keeping programmed running in circles until something truly new comes along and makes everyone re-assess their goals.
It is also worth considering that the era of big operating systems is coming to a close. Who could have believed that a Palm, with it's little 68K chip, would be so bloody useful? Or that the Game Boy is closing in on 100,000,000 units (that's 100 million)? You could argue that web browsing and word processing and coding are outside the realm of such toys, but is that really true? There's a cool little Forth for the Pilot, that's probably the slickest programming system I've seen in years. And there's going to be cool stuff in the future from other non-desktop hardware. Is trying to tack Windows onto Linux really such a worthwhile endeavor?
Is there even one core product on the Microsoft line that is an original Microsoft innovation?
Of course there is. Bob.
--GnrcMan--
Maybe they should close it down now, because they can't tell an invention from hot grits poured down their pants.
But ask yourself this; where are all those companies which invented most of this (if not all) new technology today? Consumed by Microsoft. Take the most recent example; Microsoft is now a major player when it comes to voice control in the software. Surprise, surprise; I happen to remember a company in Belgium which was (very) small but a very strong player on this market sector. And they started an alliance with Microsoft. Today that company is no more and Microsoft presents a new technology.
Innovation? Yeah right... But not in the market sector we are talking about now.
He states that the excitement, the art, of systems research is gone.
And you are truly surprised? C'mon, where lies the fun if all your hard work will be swallowed by one massive "monster" and you can do absolutely *nothing* about it? And to prove this, IMHO, very narrow minded statement totally wrong: If this were true, why is it that there are a lot of people out there who still enjoy developing stuff and actually make progress? Dunno about you guys but I call stuff like finding out how to operate DVD's (read: black boxes) pretty excessive when it comes to system research. If this was no fun, like mentioned, this could not be.
Systems development is less visible to the general public of computer users, but it Does go on, and is Not irrelevant. Psion, the PalmOS, Amos, Qnx, and BeOS are just examples of alternative systems being developed - many exist in the private embeded market and aren't even known outside ther respective niches, such as OS-9. Microsoft's products are feature rich, but I do not think anyone would classify them, as a whole (there are always exceptions!), as being technologically superior. Yes Windows has a good gui, but so does Mac, so does (did?) Amiga, BeOS, and many others. Under the hood, windows 9x is LESS sophisticated in many ways then linux. WinNT/2k is more complex and is built upon a different model then win9x or *nix, but that model itself is not very sophisticated or 'technologically superior' compared to many systems available... just different, and feature rich.
If we were to equate piled on features with sophistication, then a swiss army knife is sophisticated...
If we were to equate piled on features with technological superiority, then the warner brothers special edition mini-van is technologically superior to a turbo charged italian sports car <insert favorite brand here>...
just some thoughts from someone in the trenches.
man is machine
zealotry aside, its important to recognize "what" happened on a larger scale: they brought the computing power of a spreadsheet to the masses. they made the technology that was so powerful and sharp around the edges home to millions of PCs.
true they didn't invent the internet (thanks Al!) or the browser, or a lot of the technology that they sell, but they found a way to bridge the gap between the uninformed computer user and some impressive computing. this is apparent when you compare simple tasks such as word processing 5 or 10 years ago to now; its within reach for a lot of PC users.
without a pretty interface, most of the people that bought PCs simply wouldn't have, and things would be a lot different.
in every story there are good guys and bad guys, depending upon your point of view, but it is both sides of the struggle that in one way or another contribute to the end result.
-------------- insert [signature] here
Yes.
I'd submitted this story a while back, and HTMLized it for easy viewing. HTH.
Get off your stupid soapbox about amiga!
;-) /usr/dict/linux.words' will do!
If anyone should Be on a Soapbox bragging about innovative OSes, it should Be someone who's talking about a high-caliBer OS. Behold the one true Multimedia Befitting OS. Benchmarking shows that this OS Belongs among the Best OSes in performance. Of course, I'm speaking on Behalf of...
darn I forgot!
Of course, the company essentially took a briBe by ditching their desktop platform. Now we have to scriBe on a emBedded version if we even want to Begin to use this OS.
(Please don't laBel me a BeOS fan, I just thought this was funny
It's amazing what: 'grep be
Most of these "IT" curriculums are a "learn the latest language" crap that can be outdated in a couple of years. You end up with zombies that don't understand the fundamentals, and just know how to script/code certain things.
Good computer science curriculums focus on theory, and theory is something that last a lot longer than learning language X. I can't stand the amount of people coming out of school, claiming to compete in this field and they barely know what an algorithm is , not to even tell how to analyse it. (O complexity, what ???)
To think of it, we had so much theory we didn't even get formally introduced to programming in C. It was just expected of you to pick it up. Same with Ada and other languages.
- sigs are for wimps.
If it aint broke, then don't fix it!
As far as I'm concerned, the parts of Unix that Linux copies are for the most part, good.
I do think that Microsoft has come a long way with there line of products. This is a product of having a huge market share and constantly increasing it by adding new features and expanding into new markets. It's easy for large corporations to spend money making their products better (or at least making them look better).
Now it is time for Linux to show the power of a huge base of developers. Since the '90s Linux has had the power of many programmers putting there not nessecarily marketing skills into a product that they like and use.
It is apparent that Microsoft has put a lot of money into products when you look at what they did/do. They started with some existing technology and continuously morphed it with new technology. With lot's of money/market share they were willing to add new features without always ensuring that the existing features were refined well. Having a large developer population on the other hand means that you don't necessarily have as much capital, i.e. you're not as willing to invest in new 'features'. Concentration is focused on making things work smoothly. Ideas are not purchased, they are discovered/invented. Sure, Linux is almost Unix, but that sure was a good place to start.
It'll be great to see where the current Linux momentum takes us. Will there be a large new generation of coders, all willing to contribute to the open-source movement?
--
Scientists who work in the natural world are always bringing new technology (i.e. hardware!) to bear on "old" problems and discovering new things. This seems to me to be little different from updating UNIX to run on new microprocessors. It's not invitation-to-Stockholm research, certainly, but it is research. I'm surprised at Pike's attitude. Perhaps he was one of those folks who urged their Bell Labs colleagues Penzias and Wilson to stop working on that old radio telescope microwave noise problem and do something new for a change. And I really think that research into multiprocessor high-performance computing *is* thriving, ongoing systems research into new things. I don't mean to say people shouldn't try and develop radical new approaches to systems, that would be great I agree, but it's also exciting to explore new heights in old systems as well.
I am quite civilized, and I should be brought a beer immediately. -- Bruce Sterling
Things will continue to stagnate on the research front until new technology comes along, and then we'll probably be pulling out Knuth as a starting point.
"Stop whining!" - Arnold, as Mr. Kimble
Hey, Linux has come a long way since 1990. In fact, 100% of the features in the new 2.4 kernel did not exist then.
He does have a bit of a point that Linux has mostly been about copying others. But that's not necessarily the rule. ReiserFS is pretty innovative.
Any sufficiently advanced civilization is indistinguishable from Gods.
Basically he has been around for a long time, seen a lot, and done a lot. That makes his opinions and commentary not to be discarded lightly, whether or not you agree with where he is coming from.
I don't mean to take anything away from Unix or C, but seriously, if after 30 years, castrated multics is the acme of the state of systems research, it has to be incredibly embarrasing.
Did they really invent COM? Or did they get the idea from someone else?
They did not invent the IDE either I remember using pascal and C ide's way before Microsoft did anything with an IDE. I thought Borlan had it's ide's way before Microsoft.
Other than COM, I cannot think of anything that was not already in existance that all they did was extend and embrace.
send flames > /dev/null
Only 'flamers' flame!
What is a content-addressable file system? Is your paper available online?
Step 1: View source of file in tect editor
Step 2: Replace all "("s--open paren with an open script html tag.
Step 3: replace all ")"s -close paren with a break tag then a end scrpit tag.
Step 5: save the file as filename.html and view in a browser.
The output is reasonably legible.
Now, this is amusing.
Pike was talking abouty innovation in operating system design, and I think we can all agree that a browser is not an integral part of any OS.
Well, except for Microsoft, who argue explicitly that the browser is part of the OS. Now, you might claim that the argument that "the browser is the OS" is innovative, except that then it's not clear that Sun (with the HotJava browser, and the idea that Java was a platform) wasn't the first to make that claim.
On the other hand, I have to agree with Pike that there has been relatively little innovation on the operating systems research front, or at least innovation that has had any commercial success. I'm not an expert on the topic, but it's very possible that things like COM, maligned as much as they may be around here, are about as innovative as anything else. (Or not, but that will be a separate post from me...)
Babar
There are no ugly women, only dudes with burly right arms.
I'm sorry. Our college had ugly women, some of which could be mistaken for ugly guys.
the good ground has been paved over by suicidal maniacs
My biggest beef is that he treats Unix (and Linux) as if they were a static entity that never changes, but nothing could be further from the truth. Linux (and most Unices) have embraced the results of all new operating systems research. In fact, most research is actually done using Unix as a base, even thoutgh the technologies are by no means Unix-specific. SMP, threads, IPv6, journaling and global filesystems, real-time extensions, just to name a few.
The point is that Unix is that it is so modular that you can rip out entire pieces of it and replace it with something better. After all, at the core, what really is unix? Do you define it as the V7 system call set? Or do you define it as the implementation by a specific vendor?
What really gets my goat is the statement comparing MS software in 1990 to 2000. That's trivial because MS completely ignored the fruits of the research of the previous 20 years. It wasn't until the advent of NT that they even began to try to do things right. But even then they blew it by integrating the GUI into the core of their OS. Grrr...
The statement of "twenty years ago, students would be exposed many operating systems each with good and bad points" is pretty much bunk for the same reason. Over the past 20 years, Unix has tried to ammend the bad points, and incorporate much of the best. Is this a bad thing?
Lambasting gcc and emacs in favour of Visual Studio? I'll stick with my current tools, thank-you-very-much! VS may look pretty, but what does it really do that I haven't been able to do with my current tools for the past 10 years? Ok, except lock me into a one very specific platform that I cannot customize. And what's this cor to do with operating system research in the first place?
Statements like Linux's [GUI] interface isn't even as good as Windows are what really get my goat. Rob, what were you thinking when you wrote this? Surely you know that the only interaction with Linux is by system calls to the kernel. What is the GUI? Well, in most cases that would be a glob of X/Windows, and a desktop package running on top of that. But gee, take a look... People are developing all sorts of new interface paradigms that do not use X or look anything like what is currently being used. And where do the run? Yes! Linux and other Unix platforms.
Yeah, sure, I'll agree that the number of OS research breakthroughs has been dwindling on the past decade, but that's the be expected. Much of the easy, obvious, and general stuff has been well researched and documented. What's left is the really hard esoteric stuff; the stuff that most people just do not have enough background to understand.
Maybe Unix (or Windows, or the presentation to the user of each) has become like the automobile of the transportation industy. Most automobiles are pretty similar. Mostly they have four wheels and are powered by an internal combustion engine. In fact, in most general respects, they are remarkably similar to the machines produced at the turn of the century. Does this mean that they have reached the pinnacle of design? Or maybe it just means that the concept has reached a fundamentally usable point.
Now, let's take the automobile analogy to the next level. Most people can learn to drive a car in about an hour. Most cars will run for years with little to no service. Can the same be said of computers? Of course not. Does the user really care that billions of dollars of research have gone into making the car 10% more efficient? Not really.
Are computer's as usable by the general population? Hardly. I'd make a strong case that what is under the hood is pretty much irrelevant at this point if most people can't figure out how to take the machine out of the garage.
And this statement applies equally well regardless of whether you prefer Windows or Linux or anything else.
-p.
(sorry for the ramble... too busy even to be writing this...)
The Kerberose One Click License
134340: I am not a number. I am a free planet!
Linux's supposed crowning achievement -- GNOME
Alright, I take massive issue with that. I won't pick at the possessive here, I'll just assume you meant "open source" or "free software" 's greatest achievement.
But in the case of open source, I would say that the original BSD is the crowning achievement. Berkeley pretty much built what we have today as the internet. It was original and forward thinking -- not a copy. What of the internet itself? It pretty much sprung from the same community.
What about Apache, and PERL? Apache grew out of NCSA, and PERL (sort of) grew out of sed and awk, but it's not as if they were knock-offs of other products.
When it comes to free software, I would have to say that gcc takes the crown. Writing a C compiler isn't the most original thing in the world, but gcc is among the most standards-compliant compilers in existence, and as a result we enjoy a new level of portability. It was a rude surprise for me when I went from Linux / Solaris with gcc to Solaris / IRIX with stock system compilers. Suddenly my ANSI C code just plain broke.
Linux the kernel, nice as it is, is certainly derivative. The desktops are most certainly derivative (and I'd say KDE is more of an achievement than GNOME). Apps like GIMP, KWord, and Evolution are undeniably free software knock-offs of existing, commercial packages. But there are definately innovative> pieces of free software as well. They don't spring up very often, but they are glorious when they do. Innovation in any field is a precious quantity, please don't disregard the innovation that is there.
Sorry, I just couldn't let this one slip by...
--Lenny
The heated job market makes students wants to graduate ASAP, and start making money. There is no drive to do any significant research. To make it worst, many universities (bowing to industry) do not require thesis as part of the requirement for graduate students anymore. Greed & the proliferation of intellectual (mostly idiotic) properties and their legal power is somwhat counterproductive to the advancement of research It might be that the economy has to turn sour first, for the science to start growing again. I think at this point we all just concentrating on doing small thing (and market it big time) to gain monetary advantage. At sometime this should saturate, at least that is what I am hoping.
Is there even one core product on the Microsoft line that is an original Microsoft innovation? How about the flight simulator? Maybe they did that first.
The Microsoft Flight Simulator was purchased from Bruce Artwick's Sublogic corp..
So I guess that just leaves Bob (tm). Unless somebody else knows why they can't even claim to have innovated *that* piece of carp.
--
Life's a bitch but somebody's gotta do it.
An object oriented operating system? Give me a break! MS is to enamored of VB. They just barely got a little bit of object based (not object oriented) stuff into VB6 that is really only a cover for ActiveX/COM stuff. Not object oriented at all. InProc COM as an attempt at an OO system? Sort of but not really. InProc grew out of DLL stuff which I was using back in 1985 or so when IBM/Microsoft were playing with OS/2. You can use it as part of an OO OS but it is certainly not the whole enchilda nor will it make it happen by itself.
Innovators? Like having VB6 a single thread for IDE, debugger, program which means any real error will blow the entire misbegotten thing out of the water? Don't make me laugh. MS has mainly been working out possibilities of DLLs and ActiveX plus some UI work. That is not exactly major innovation. Some of their component stuff is only beginning to catch up with things that have been part of CORBA world for some time now. They finally, for instance, came out with a publish and subscribe MOM. About freakin time.
Feedback? When you have to pay to even get a bug report filed and dealt with? Never mind actual feedback on features and design. Those go nowhere but, if you're very lucky, into Microsoft's list of things to maybe someday do with no credit to you and to charge you big bucks for. BAH.
Wrong.
It took me until mid-1987 to realize it, and until 1990 to be able to articulate it, but Computer Science was a terrible field to study if you were interested in writing software that people actually used. Of course, research that came out of these environments gave us UNIX and a lot of the fundimental networking technologies that are the basis of our world today. But these breakthroughs were the exceptions.
After 10 successful (and profitable) years in the consulting business, I firmly believe that the universities themselves are not the problem -- it's the classical CS pedagogy. There are ways to learn skills at universities that will help you produce usable software. But the best field of study is not likely to be CS for many of the reasons that Rob Pike suggested.
A lot of schools, including Rensselaer, are coming up with Information Technology curricula that blend the core science and engineering courses with business school courses, humanities courses, and fundimental programming and application architecture. You may laugh, but these IT curricula stand a much better chance of graduating productive software developers who can think outside the box than even the most reformed CS programs do.
--
Dave Aiello
-- Dave Aiello
Just because someone wrote a paper 13 years ago and people have spent the time since then implementing it in the real world and then going on to improve it, doesn't make it stagnant technology. In 1890, what if people said "Alexander Graham Bell wrote that paper on the telephone 13 years ago, it's stagnant technology"? Here it is, 125 years after those initial papers and a lab still bearing Bell's name is doing cutting edge R&D in the same field. The goal is supposed to be that you learn something from one idea, and use that knowledge to pose questions that the initial person could never dream of (like fiber optics and cell phones). People who claim that anything besides punch card storage is "stagnant" don't have a good enough imagination.
-B
When I think of 'systems', I think of kernels and services, not GUI's. MACH microkernel is 'systems software'. AFS is 'systems software'. Java is 'systems'. The Win95 GUI, Office -- these are end-user niceties. They provide interface to sevices, not services.
;)
Anyway, here are some of my personal favorite systems research endeavors of recent years:
IOLite (1999)- makes IO incredibly fast because you never have to make copies of buffers, even across the user/kernel boundry!
Rio Vista (1997)- combine clever virtual memory tricks + a UPS to get persistent RAM (which is pretty damn cool), and transaction processing (and the semantics that go with it) become both trivial (as in 100 lines of code) and ultra fast.
These are innovations, they are without a doubt system related, and they were done in acadamia. What has MS done that's comparable? NetBeui? NTFS?
As to the linux question - as long as Linux continues to 'copy' the best ideas, then who cares if it was a kernel developer who invented the idea? It, as a system, is changing rapidly. What more could you want.
I'm not applying a double standard. His contention was that MS innovates while Linux copies. I'm saying the former is untrue, while the latter is true but not bad. If MS copied half as well as linux, then I might have never made the switch.
The enemies of Democracy are
In other words, cars are not being developed to manuever in three independant dimensions. The engine of a car (cpu of a computer) is continually being refined. The console and driving instruments (UI of an OS) are continually being refined. The fact that the car travels on land is not being altered (the fact that an OS coordinates the hardware) is not being changed.
ACTUALLY - there are people out there working on alternatives to our current 2-dimensional automobiles. Check out the Solotrek and the Moller M400 velocitor - a couple of my favorite, root-for-the-underdog, hope-they-make-it concepts.
Now THAT's innovation.
I love vegetarians - some of my favorite foods are vegetarians.
Systems software research will become more relevant when there are no more tricks to be pulled out of the faster-hardware bag. That's what motivated it in the days of the minicomputer and mainframe (one cpu, many users) model.
The clearance system sounds logical. It is not. It is completely arbitrary. -- John Bolton
NT was architected by the same cat who architected VMS. I forget his name... Dave something I think.
I really don't see the similarities between them, except that I don't enjoy using either. They simply feel too rigid and over-engineered.
M$ released the first version of DOS when ? About 1980 ? The first version of Linux was what, 1993 ? In terms of usability (for your average user), Linux is almost at the stage of being able to compete with Windows.
That is an amazing achievement.
Linux has done in seven years what it took M$ twenty to do, and at a fraction of the cost !
And you are complaining, because Linux doesn't do much more (yet) than other proprietry Unixes. OK so show me another unix that has a window manager as good as say, Enlightenment.
Even as short ago as three years, Gnome and KDE didn't exist - Linux had some really basic, dull window managers.
Linux development has been frankly, staggering, and I'm pretty sure it hasn't and won't, suddenly stop and stagnate.
Thats what I just used. Read everything between the "()"s. Not a real intellectual discussion, just someone disgusted with be marginalized out on the bleeding edge. Lots of valid points though.
Protected memory and preemptive multitasking were old technologies in 1984. Doing them again wouldn't have changed much. Doing a usable window, icon, mouse, and pointer computer system (in 1983) and again for an affordable price in 1984 _did_ change the world. Yes, they had to make tradeoffs to meet the market, and those 1984 tradeoffs leave their legacy today (although the legacy will be gone with MacOS X early next year). I think this is Pike's point: don't just redo the old stuff, do something new and innovative.
Well done. I would mmoderate you up but I seem to have lost the freedom to mederate
Moderation is a privledge, not a right.
DrLunch.com The site that tells you what's for lunch!
Rob Pike is a bit in his own world, and that has always given him a bit of an edge in the research world, but let's face it: Linux is just more of what's gone before?! Since when did UNIX involve putting graphics acceleration in the kernel? Since when did UNIX involve httpd acceleration in the kernel? What's the best way to accomplish those two things? What's that I hear? You'd need to do research to figure that out...
Let's try a few more examples:
XML-based run-time UI loading in GNOME
Truely distributed file sharing using gnutella
Robust HTTP acceleration through caching and load-sharing (squid)
Adding alpha layers and antialiasing to X (XFree)
If these aren't valid research projects for any given CS student/researcher/hacker then I've obviously been in a different industry for the last 12 years.
hey were the first to have a machine with the innovative 'data key' method (bent paper clip) for extracting floppy diskettes.
SUNs cheapo Ultra10 (and 5s probably) are the first SUN machines I know of that removed this capability.
Software eject floppies are a brilliant idea, as it allows you to work from a floppy with good save speeds, as the data is cached, and the floppy can't be prematurely ejected, potentially destroying data.
Mechanical eject is a throw back to the dark ages, and unfortunately, PCs continue to show their dark ages roots in still using them.
Pike's claim was that nothing was coming out of research departments. Are all those examples from research departments, or are they commercial efforts? He didn't say commercial entities weren't innovating, only that research entities weren't making ripples in the ocean.
--
Marc A. Lepage (aka SEGV)
--
Marc A. Lepage
Software Developer
I disagree that there's no more work to do, even that all the mainstream OS's are stuck in the past.
Where is my object oriented file system? Where is multi-level security? Plan9 style compute servers?
These are the topics of reseach past. Proven useful, still not available outside of research OS's.
In a sense, he's right that OS reseach has become irrelevent. Very little of it reaches the desk top these days. So what's the point?
In any case, I think he says a number of exciting and salutary things. But the KEY thing seems to have been buried in the comments so far, in his suggestions of things to build:
Indeed, the world is not devoid of new GUI ideas, its just that we are all trying so hard to be Microsoft-killers that we spend all our energies trying to do a better version of Windows.
Jef Raskin's recent book, "The Humane Interface," introduces many new and old ideas that deserve a great deal of attention.
I think building a novel (not just better) GUI is probably one area with the greatest degrees of freedom for researchers. Unlike OS, it is not burdened by requisite (albeit there are de-facto) standards, and there is desperate need to improve on the status quo, and some reason to believe that the status quo's problems may be inherent.
Jef suggests one way to do this. There are certainly many other ways.
Build a novel GUI. Give a great Demo. These are the best words I took away from Rob's writing.
Sure they do that kinda stuff, but were're talking about system research. Are they really doing this. OK, W2K spooks through my head, but never the less, all those years the only thing they did was increasing sales. Not increasing stability.
Distributed internet solutions: Will it take another 20 years ? ;)-
Being facetious... So is EVERYTHING we do as a species, isn't it?
The whole point of everything we do, from throwing rocks at rabbits to e-Commerce, is about survival and procreation.
A journaling file system is still a file system - nothing new there. 64 bits is an extension to the 32 bit deal we're used to. Are you saying that if it's not revolutionary, it isn't an innovation? Please, just about everything we have now can be traced beckwards, down an evolutionary path, in tiny little increments of development.
I think Mr. Pike is/was a revolutionary when the world changed really rapidly. I think this comes across in his statement. (If you have a handy PS reader for NT, please send it my way, I'll be glad to read the article -- truly innovative of Mr. Pike to send out his treatise on the lack of innovation in an old, and non-ubiquitous format)
I'm sure Ben Franklin would be devastated by the lack of innovation shown in our current government - well, that's a poor point, as what HE had was probably much better than what we have now.
There still are flashes of brilliance in the industry, they are just few, and if they can not show immediate profitability, they are squelched by their funding managers. It's a pitty.
Where was Pike when the Web caught fire? Where was he when PalmOS and the Palm devices exploded? Where is he as cable internet touches more homes each day? Networking has become so huge a function of the OS as to be considered a "systems level" function. Yeah, the bright guys of yesterday came up with the routing algorighms back then, but IP6 is still something that's looming, and implementing it in the backbones is DEFINITELLY system level work.
There's plenty of innovation happenning in the world - I think the issue is that Mr. Pike isn't the one doing it - Where's OS9 from outer space anyway?
Pike's hidden point seems to be that UNIX (as a concept) hasn't changed much over the years. So what? So a few guys in the 70's hit the nail on the head.
Is distributed.net not innovative? Is it not systems programming?
-- What you do today will cost you a day of your life.
So get an IDE LS-120 drive. Does floppies faster, with caching, less CPU usage, and does soft ejects (both from the OS and the button). You can boot from it, or use it as easy quick xfer (like a zip).
The choices are out there.
IDE is a dark age, however. SCSI is still god...
"It's tough to be bilingual when you get hit in the head."
Flame me, but I agree. When people decry Microsoft's lack of innovation, they forget, although not really major accomplishments, Microsoft's innovations here and there. Take the browser for instance: Customizable toolbars...auto-completion...images with alt tags that appear in popups. These aren't really great things to begin with, but yet were quietly copied in almost every current browser.
I think some of the unix/open source world is sometimes stuck in the rut of "We're right/better so we don't HAVE to innovate". Take traditional file systems and security mechanisms. These are really feeling the strain when scaled up to a global network with thousands of users and terabytes of data.
To fend off some flames - open source DOES lead to great innovation in many areas. Mozilla, Gnome, KDE, and a slew of other projects obviously are doing new and very cool things. We have to be careful not to think that "just" because open source is better, that means we don't have to aggressively innovate. Unfortunately for most users, ungraced by Stallman's philosophical ideals, a proprietary product that fulfills or exceeds their requirements is better than a "pure" and free one which does not.
It's 10 PM. Do you know if you're un-American?
the slide i find most interesting is the one titled "standards." there are a host of externally-imposed constraints that any new OS must meet to earn a seat at the table. they constraint future OSes more tightly than they've been constrained before. while we deeply explore one region of the possible OS space, our tunnel vision keeps us from seeing other, radically different solutions to the problem of managing a computer's resources.
this seems related to christopher alexander's idea -- at least back in the 1970s -- that any artifact constrained too-tightly from the beginning by an externally-suppplied master plan (i.e., set of of standards) will suffer from at least two problems.
first, it will alienate users, for by definition their freedom to adapt the artifact to meet their personal needs will be minimal. mr. pike clearly feels chafed by this.
second, any such design is by its very nature brittle. you can't anticipate the future fully, and minor design decisions you make now will wind up as insurmountable bottlenecks in the future. and then what are you gonna do? the master plan will offer no help.
i read mr. pike as sounding a relatively early warning call. it's not so much that your beloved OS ??? stinks as it is advice to reduce the growth rate of "must have" external constraints to allow more time to contemplate radical refactorings or reorganziations of current systems.
Am I the only one who felt this was just an official way for some unrecognized researcher to whine? I mean, most of the points he makes are just silly.
Now INRS(I'm no research scientist), but I don't understand the basis for these complaints. Here's what I gathered from his arguments:
'There's no reason to innovate because everything out there is just a copy of something older. While many of the things out there are improvements of older things, that doesn't really matter, they're still copies. We need new operating systems, not for the sake of innovating, but for the novelty sake. Because, well, you know... things used to be that way. Back in the good ol' days. And I think they should be that way now too. Basically, I just want to see other things so I'm not so bored. If I can stay interested in a new OS or something, maybe I won't have to leave and get a job.'
Is it just me?
..but if there is one word that I could go the rest of my life without hearing, it is 'innovation'.
so maybe we've learned some things. progress does mean that the frontier looks different, even that the frontier is gone. in concrete terms, 30 years of Unix has given us wonderfully practical systems; wasn't that the point? after all, this is an applied field, not purely abstract, nor purely artisanal.
Research is definitely not dead.
Just take _modern_ functional languages like Haskell or Clean as an example. It is amazing how easy things can be done with these (compared to C or whatever). A lot of research is done in this area. By using these new techniques I learned to improme the quality of my programs drastically.
YOU too should not be narrow-minded and have a look at it. Because we have to admit that most Linux-technologies were invented the 70s or 80s (apart from non very deep generalizations). This isn't bad, but we should keep on looking for new better things.
Interestingly, Microsoft does a lot of research in this promising area (look at http://research.microsoft.com/research/ ppt/). In this respect the comment we are talking about here seems to be true.
So don't let Mircosoft get intellectual world leadership too(buh!?!), do research yourself and don't insist on thing u are used to (without reasoning about it).
> its important to recognize "what" happened on a larger scale: they brought the computing power of a spreadsheet to the masses.
That's funny, I thought that was Visicalc on the Apple II?
> they found a way to bridge the gap between the uninformed computer user and some impressive computing
Gee, I thought that was Apple (or really Xerox, from whom Apple got the technology).
Yep, microsoft "innovation" - copy & steal from elsewhere. I heard some of their guys talk recently about their latest "research innovation" - IPv6 - coming soon to an OS near you! (ignore the IPv6 Experimental in Linux 2.2.)
BTW: Internet: Built on Unix. Innovative? Make your own decision, but what has changed the world of computing recently?
Asking single line questions doesn't really expand anyones understanding of any subject.
To answer your question however:
Though I am not a "purist" as I make my living as a benevolent parasite (ie tech support/analyst) for Microsoft products, I really do enjoy an have a lot of respect for Linux.
Mr. Pike has some good points, but I don't think he is completely right in every respect. First off, stable operating systems are somewhat new (linux/freebsd being among them). For all its "innovation" I'd like to see windows 2000 still run after a hard drive crash (a friend just recently told me how his hard drive crashed but bsd kept going with the processes that were still in memory... my friends, THAT is innovation).
I would also say that the idea of customizability/infite choice in OS is an innovation that even microsoft is picking up. The fact that you can tweak almost everything about an OS is relatively new (thanks to the Open Source Model).
Sure, we have a long way to go, but I think the very open nature of Open Source/Free Software encourages even more research (especially in areas of application) instead of less. You have to consider that Linux (et al) have spent thier time getting the right things done first (like stability and versatility) and now are beginning to branch out.
Yes, GNOME/KDE may be copies of prexisting things, but the wonderful thing is that they have ability to be extended in a myriad of ways by anyone (hello, Eazel). These projects are perfect examples of people accomplishing feats that were previously dismissed. Now, with the education and experience gained from overcoming the hurdles to get these things running, they can now extend those capabilities as far as thier imaginations can take them. I, personally, can't wait to see the new developments in store for KDE and GNOME. I have a feeling that they are going to prove Mr. Pike wrong.
What an appallingly formatted document. If he'd done a bit more research, he would have been able to find that Achtung has been in serious development and would have been far more preferable than troff. (Or (since he mentions it) (La)TeX, seminar style). Oh... and he willfully ignores the HURD too (the designers of which have been influenced by Plan9, I understand).
Yes there is. Spill them to someone elses RAM across a fast network. A lot of the time they aren't using all their RAM, and it's a LOT faster to do that than write it to disk.
>Give me a faster general purpose index (or for that matter, OS-specific purpose) than a B-tree.
Easy: skip lists
>Until there is a new and radical type of hardware (other than storage, input, and output) there is little need to change what and OS does or how it does it radically. Rather, as mentioned way above, the techniques used now are optimized for a particular piece of hardware and/or software.
You don't need new hardware in fact.
As the relative performances of the various components change you get sudden points of inflexion where you discover that doing something entirely different suddenly is worth doing. The Internet being a burgeoning example...
Another example: for a short while OS manufacturers wrote compression routines in the file system. Suddenly the disks went faster- phoom the compression was actually slower again- so they took it out...
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"I think the point the author misses is that all the research in advanced OS technologies is absolutely useless for production use until it is refined and tested for stability and robustness. The Linux kernel is designed conservatively and that in part gives it its stability. The BSDs are based on an even older codebase, and they are arguably even more stable than Linux.
To understand where innovation in computer systems has occured, one might be inclined to look at this timeline of the history of microcomputers.
One may easily draw their own conclusions, but to me it seems that ms has easily been just as much of a follower as the open source movement is often described as. (which I believe is incorrect in many ways)
While he does raise a few good points, I think the manner in which he does so is more grandstanding than anything else. It actually distracts from the main message. Reminds me of the time at a Usenix about 15 years ago that he delivered a paper while dressed in a harem girl outfit.
Yes, in some ways Linux is playing "catch up" -- it has to, it didn't magically spring into existence fully formed. But in other ways (eg, look at some of the details of the kernel architecture) it is leading edge. At least with respect to real-world software, as opposed to academic exercises like Version 8 Unix or Plan 9.
As for MS innovation -- well, they've boldly copied the UI from such as Mac and NeXT, and they've boldly gone where no sane software designer has gone before -- dissolved the barrier between application and OS making such wonderful features as ILOVEYOU.vbs and a whole plague of viruses and BSODs possible. If that's innovation, I'll take playing catch-up, thanks.
-- Alastair
All these areas need a rethink. Too many decisions made in the early days of UNIX are now obsolete.
There's no reason to believe that, say, quantum computers will be able to supercede the current paradigm.
--
Change is inevitable.
Change is inevitable.
Progress is not.
I took a quick look at their site.
.jsp file wasn't there.
First I found the comment:
"Pushing the Internet beyond it's humble website beginnings".
Then when I tried to comment to them on it, their page broke and said that some
Come on, how much credibility do you expect me to
give to someone that doesn't even know that the Internet was around for twenty years before the WWW? On top of that, they seem to be make web design tools and their own web site is broken.
They seem like a bunch of lusers to me.
For a great new research OS, check out EROS, the Extremely Reliable Operating System. It is now licensed under the GPL, and it could just be the next great thing after Linux!
This operating system has some features which simplify and improve memory/disk usage and security. For one thing, it has persistent memory - it operates as a collection of objects in RAM, and is backed up every 30 minutes. There is no such thing as a "file" on the disk - just objects. Simple, eh? And you can boot up in about 30 seconds, right to where you left off.
Another nice feature is the capability security model. Most operating systems keep lists of who can access what files, or set blanket permissions on them. Usually a user can access whole groups of files and might easily be given permission to access something they shouldn't. Likewise, user processes are given the same access rights as the user, creating virus problems as we have seen with MS Outleak.
Instead, the capability security model gives keys to users and processes to act as permission to access the object in a certain way. The key is essentially a pointer guarded by the OS. Cross-system links can be implemented through CORBA. So the solution to the scripting virus problem is that you only give enough power to the script as you want it to have. If this script is supposed to be able to display something in a little window, or contact a web site for information, you might give it the power to do only that. No need to dole out blanket powers. Standard sets of powers for certain situations could be established to lighten the user's management burden.
If that isn't cool research, I don't know what is.
Nathan Myhrvold, Resigned quietly two weeks ago.
"think of it as evolution in action"
If you're not already in marketing as a profession, you're perfectly cut out for it. Linux shouldn't be the best thing but should instead be the best different thing? Is there any content to this so-called "different light"? We should focus on what linux is capable of not what it is currently capable of? All you need now is a press release.
"If one is really a superior person, the fact is likely to leak out without too much assistance" -- John Andrew Holmes
Academics for Profit:The day that academics got into bed with big industry, innovation died. If a concept isn't economically profitiable they aren't likely to funt the research. The other part of the problem is that mostly the same questions keep getting asked, over and over.
Take the Road Less Traveled:What we need is to ask new questions. Like: What if somone used a transfer protocol as a storage meduim? Instead of, Whats the best UI? One question has been beaten to death and the other may lead to new innovations. New questions like: What if data storage was perpetually dynamic? Would the information be siphoned off when accessed or copied as it passes by? Are there any advantages/disadvantages to this.
But like I said, if you were to pose that question in modern day academia as a research project they would scoff at you and you would likely be off on your own. Getting funding for a project that won't likely be profitiable for the college/university isn't too likely to float.
Teacher dillution:Not to mention the quality of CS professors. I actually had a course in sotware design taught by a guy who had written exactly one full blown program application (say >5000 lines of code as a criteria.) for a warehouse program while he was in school. He didn't have a clue.
Student dillution:Worse yet, since CS/CE has become a top ten major the quality of people going into these programs has gone from those who were truely interrested in computer science to those looking to make >40K upon graduation. Why would these guys hang around in a graduate program for four extra years when they could be making the big bucks?
Before you pick up the torch on my post, yes I understand there are the rare few who really try to do innovative work. Keep chuggin'. places like SlashDot and Sourceforge are our meeting places where we can meet and hopefully share ideas.
Hired most of the core guys who worked on DCE...
--LP
Later, when the VAX and BSD UNIX became popular, companies stopped writing new operating systems for new hardware. Instead of writing a new operating system, they ported UNIX to the new hardware. That was much cheaper and safer than designing and writing a new operating system. Universities still did operating system research, but little of it was commercialized. UNIX and UNIX clones were taking over the world.
The IBM compatible PC is now the generic hardware platform. What operating systems does it support?
Notice the large number of UNIX, and UNIX clone operating systems. Even the proprietary operating systems have been influenced by UNIX, for example, the new features introduced in MS-DOS 2.0 show a strong UNIX influence. From the command line, they all look a lot like UNIX. They all support C and something close to POSIX.
Mea navis aericumbens anguillis abundat
BeOS is damned innovative in comparison to Win/Mac/Linux. Be should GPL it, and make their money by selling T-shirts.
What about Atheos, which was featured on Slashdot a few weeks ago? It's written by some BeOS hax0rs so it shares a lot of commonalities. I'm really impressed by it.
There's two factors you neglect, though: faster development time, and cheaper software.
Perhaps. On the other hand you _could_ use the advanced technology to do new things instead of making the same things easier. Therefor I hate the argument (note that I did not say it's true, that's not the point) the "slow Java doesn't matter, machines are always gettings faster". Of course no one would try to write a normal program in assembler just to get the fastest possible program but think it's still reasonable to care for performance. And real performance increase you get by algorithm and not CPU.
Which brings me back to the toppic: most commonly used algorithm are very old...
Optical mice have been around for a while, the deal with Microsoft's is that it doesn't need a shiny mouse pad, you can use it on any surface. More of an evolution than an innovation, but whatever. Media Junkies - get your fix!
Media Junkies Get your fix!
I agree with the point about Linux, which is why I find Linux so incredibly dull. It's good, but it's not exciting or new (unless you count the development model, which - er - well, Stallman thought of it a while ago now). Linux is like the uberclone of computing - no more exciting than OS/2.
On the other hand, there are great advances to be made in systems software. But it depends what you count to be systems software. Someone said parallel computing's been "solved" - yeah, along with Warp Drive design. That's a huge arena for future development, as are object brokering systems (CORBA isn't the be-all and end-all of that by any means). And ultimately the very way we program computers may change, which would require a complete rethink of everything from the ground up, including systems software.
God, if I thought systems software was "solved" - as some people here do - I'd give up now and become a painter or something.
--
It's a
-- Danny Vermin
Before you can comment on a lack of "systems" research, you have to define what a system is. Most of us would probably agree that there is little innovation in low-level, nitty-gritty device driver systems research. But if you bought a new machine and all it came with were device drivers, would you consider that a complete system?
OK I've been using since R4, and there's nothing new about BeOS. The thing is, it's just much more carefully put together than other OS's. It's faster and has a smoother design. Everything that Be has was done before though: filesystem, translators, workspaces, threads.
:)
Can you name a SINGLE thing in BeOS that hasn't been done before? It'll be harder than you think
What the article doesn't tell me: why is academic research important? Indeed, why go on about academic research when the only example you can site of good research is the largest commercial entity in the US?
C, The X Window System (not X Windows, gah), Unix, these are things that work. Why not focus on making working things work better, instead of coming up with something novel just because?
I am beginning to suspect Mr. Pike is out of touch with technology as it stands today. I am not certain why he is so upset about these research matters, but I don't suppose it is in part because he himself hasn't been doing anything anyone wants to use in recent years.
Right now, we happen to be enjoying a tech shortage; there is a lot of work to be done, and it needs to be done today. Most companies don't have the luxury that Lucent and Microsoft have in funding a pure R&D project. These companies do innovate, but the innovations are examples of quick thinking, buried in code to be reflected upon later.
Rob Pike trolling. I never thought I'd see the day.
--Gabriel
I couldn't agree more. Ive been writing Win32 for three years and I've yet to see a proper object. MFC does a poor and inefficient job of abstracting the morass of Win32 API functions in an OO way. The only truely OO Desktop OS API of which I'm aware is BeOS.
There are significant innovations - The DLL loading mechanism is pretty cool and fairly efficient but a nightmare to maintain. Win2K improves it but you still don't really know which lib is used where. COM under it all is a solid binary object solution. It's got a bad rap from the bad implementations (eg OLE) that have been built on it. There are some great ideas but all the great ideas in the world won't help if they aren't fully thought out. The MS research group has some cool stuff going on on their website but the only thing I've seen make it mainstream is MS Agent. And who cares about that?
It bugs me too that MS tries to sell VB as the way to build Win32 apps. You can't debug it. You don't know what all the ActiveX controls are doing and why they might generate an exception. Since VB5 you can't even fire an event on a seperate thread. Doesn't sound like much but it makes multithreading and object orientation in apps that use VB much more difficult than they should be.
But the worst thing is that whether or not what comes out of MS research is great stuff, the decision to build it into (or leave it out of) the OS is subsequently forced down the throats of all of us who don't have the luxury of running something else. MS doesn't need anybody's assurance that it's a good idea. they have their own agenda and features are not included or excluded solely on the basis of improving the lot of the user.
Pike is also right that the community needs to explore more unorthodox ideas and do research for the longer term. He is also right that startups suck energy from research.
But when it comes down to it, a lot of his complaints are colored by his particular environment. AT&T used to get monopoly profits, so they were wealthy and didn't have to give a damn about dealing with the business side of things. And they didn't. Well, welcome to the real world. Most researchers have had to figure out for decades how to balance real world demands with a research program. Pike should perhaps learn this if he wants to stay in this business.
Pike also used to work in the early days of systems research when there were a lot of low-hanging fruit. Well, systems research is a lot harder now because most of the easy stuff has been done. These days, any progress requires a lot of complex interdisciplinary skills and work: algorithms, systems, statistics, HCI, etc. You're lucky if you get out one good paper per year these days.
Yes, today's systems research is tedious, hard, long term, and not well funded. But there is more work to be done than ever, and a lot of really interesting and important work. And, you know what, it actually is happening. Maybe not where Pike is working, but at lots of other places.
If there is one complaint I would have is that the open source community isn't more innovative. A lot of open source projects are merely clones of existing systems, often existing open source systems. Open source developers could actually focus more on the future.
Before we start complaining about Pike Linux bashing or him being pro-microsoft, listen to what he has to say. He is giving Linux a new outlook. Instead of trying to be the best new thing, make it the best DIFFERENT thing. Basically, we have to try to look at operating systems, destop computing, mobile computing, and everything else in a different light. We need to focus on the things that linux is capable of, not the things that it can already do.
Great points, but the word is ambition.
I followed the link from ZDnet and I think everyone is confused about what these Digital Dashboards are. They don't resemble a dockbar (or whatever you call them, u know what I mean ;) at all. It looks more along the lines of giving you statistics of your company via gauges and other readouts in IE5 or Outlook 2000. The term dashboard seems to be from the readouts that give you readouts on statistical values about your company or what not.
Linux and Unix have improved--but in incremental ways that don't introduce many new concepts to the user. That's Rob's point.
/. and it's anti-MS doesn't mean it's wrong.
I take his point, but I still don't know that it matters. When someone finds a need that a computer can fill, a program and/or OS will appear (eventually) to fill that need. If that need can be filled by a hacked linux kernel, then there's no point in writing a new OS. If there's no demand, there's no innovation.
What new needs have manifested themselves? We have Be for multimedia, and Palm OS for portability. I haven't used Be often enough to comment, but I love my palm (so to speak) for many reasons, not least the fact that I've a device in my pocket with a spreadsheet, a bunch of books and copies of Elite and Wolfenstein. And lots more besides. To me, PalmOS is innovative.
"I'll just repeat Slashdot dogma, instead of considering that a creator of Unix might know something about systems innovation".
I was a bit wary of commenting on the words of someone who obviously knows more than I, but I stand by my non-comment. I didn't (and don't) want to explain why MS isn't innovative precisely because it's dogma; I'd just be wasting my breath. Or my fingers. I can trot out my take on this, but it's been said here a thousand times already.
Just because it's on
but the fact remains that most Windows users have these things today, and most Unix users don't.
Which goes back to my point about demand. Do you think there'd be a Real player for linux if it had as many users as Windows? Or any of those other features you mentioned?
They'll all be available soon; no-one doubts that. And they won't be considered innovative, but they'll increase the usability of the OS no end. Which will mean that although it'll still be Linux, it'll be a better Linux that fills the needs of its users.
While I think that system hardware innovation and advancement is easier to see (wow my new processor screams), if sufficient research isn't done in how to utilize that through the software, then you've got a mechanically brilliant piece of trash.
Speaking as a database person there is plenty of interesting systems level database research. One topic people work on is main-memory databases where an entire table or index is in memory.
.. you just have to search a bit more :-)
Another big challenge is to design cache-conscious index and table managers. There is interesting stuff to do
Everything that can be invented has been invented. Charles H. Duell US Commissioner of Patents (in 1899)
How can Microsoft "claim the lead" w.r.t. the GUI with platforms like OS/2 and the MacOS still out there?
--
-Rich (OS/2, Linux, BeOS, Mac, NT, Win95, Solaris, FreeBSD, and OS2200 user in Bloomington MN)
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
The difference is that when someone says networked file system, Unix peeps think NFS. MS thinks of a completely new way to work. When someone says web server, Unix thinks Apache, external scripting. MS thinks IIS with integrated scripting. Do Unices have that stuff now? Yes they do. Did MS create it? Yes they did.
MS does do research into ways of working. They try out new concepts to see if it's possible that the completely functional ways we use now are not the best way to do something. Sometimes they fail, sometimes they get it right. Any Unix user who argues that any unix has a better operating enviroment than Win* is intentionally not seeing the forest for the trees.
Yes MS software has problems. But so does all free software. The difference is that MS's software is typically better to use.
Only if you are Micro$oft...
Why would anyone in a position of any prominence make such a ludicrous statement? There is always new work to be done, even if it is merely refining an old idea. The GPS we use these days is really a refined solution to the same problems that the backstaff and sextant tackled; however, it's much harder to screw up finding your location with a GPS than it is if you use a sextant.
Is this man a shill? Is he trying to say, "No, there's no need to go behind that door. Ignore the guys back there who are developing all sorts of new wonders that will be used later on to exploit you."
www.alarmist.org
Dave Cutler worked at DEC on RSX-11, and the VMS. He was on the Prism/Mica team when DEC canceled that. Cutler brought roughly 20 people with him from DEC to Microsoft, where they worked on what became Windows/NT. NT was to be OS2-nextgen : OS/2-NT; when Windows 3 took off MS ditched the OS2 idea and went after Windows/NT, changing a bunch of the API needs. NT and VMS are very similar, the major difference is the load balancing when VMS uses swapping a lot. The similarities between VMS and NT were noted by DEC, who had their lawyers talk to Microsoft's lawyers. Microsoft got real nice to DEC.
There is very little out there that wasn't covered in my Comp Sci classes back in the early 1980s.
The changes are almost all (except for voice and language translation) in what is practical. There are lots of things being done that weren't feasable back then. Lots of things that were discussed but then the prof would say "of course, you would never do this, because nobody could afford that much RAM/CPU time/Disk space".
Our secret is gamma-irradiated cow manure
Mitsubishi ad
We apologize for the inconvenience.
I also agree with him on the possibilities for doing different things, particularly component architectures and distributed stuff. I believe that in the business I'm in (future cable television networks), there are lots of problems involving components and distribution that don't have known answers. Problems that, in particular, involve heterogeneous collections of systems.
And finally (I can't believe I'm about to say something marginally nice about Microsoft), I think you might make a case that Microsoft has been doing innovative work in the component and distribution spaces, if you leave out the heterogeneous part. ActiveX, scripting, parts of the Office suite and the browser available to other parts, etc. You can argue that they didn't do all of the proper research before they rushed it into product -- if they had, they would surely have included a security model in there somewhere. You can argue about that Visual Basic sucks as a language, but there are a lot of VB components available for free or commercially. They may have done it badly, but they have done some new things.
Again, I agree with you that Apple has done little *recently* to advance OS software (depending on where you consider the OS boundaries to lie). Most of the problem has been, as you said, their inability, until recently, to come up with a consistent forward migration plan.
I see little difference between the fact that MS managed to move from DOS to Win2k and the current switch Apple is making from the original MacOS to MacOSX, just that MS did it first (not necessarily better). If anything, apple deserves kudos for attempting to make BSD accessible to the mere mortal.
This is not to defend Apple's fuckups, and not to say that they're a fountain of mana -- they're not. If you argue that apple dropped the ball in the realm of OS software, I'm sure most people (with the possible exception of David Every) would agree with you. Just don't lump lack of OS software innovation onto the whole picture -- Apple is doing a lot of innovation in other places (including software - can we say iMovie? (yes - bought and dumbed down from MacroMedia - but innovative in the sense that it makes DV accessible to everyone).
BTW, Apple was probalby the first company to *market* its innovativeness, and that's why so many people think it is.
just my blog and pix
Whenever someone claims that a field is essentially complete, they are nearly always wrong. Consider what people believed in the year 1900: Physics was considered practically a completed science -- and that was right before the explosion of modern physics.
He mentions there soon will be a new release of Plan 9 for the PC architecture. Let's see what new things are in his old system...
While system reseach, in which I am not really involved, may (or may not) be in stagnation, this is only small part of CS.
<I>research in both software and hardware at universities and much of industry is becoming insular, ossified, and irrelevant.</I>
Pike make a very dangarous, and mostly incorrect statement, when he projected his beliefs about system research to the whole academic research in CS.
Research, irrelevant? Does Rob Pike aware of the research done in AI and information theory, Database theory, Formal verification, encryption and the list can go on and on.
The impact of contribution done by the academy is not imidiately recognized or understood. Much of it is theoretic framework that may not have any significance today, but may become the key to future technology.
I, personally, work at the industry (at one of the largest semiconductor companies), but academic reseach people are constantly involved in my groups' project. It may be due to the nature of my field: Formal verification, but I see academic researchers involved in other areas at my company, and usually such involvement brings lots of benefits to both sides.
Academic CS people may not give us the specific tricks needed to achieve our goals, but the scientific framework, we would not get anywhere.
Computer science branched from mathematics, or more specificly, logic. Theory and practice goes hand in hand together. "Field reseach" by the academy, on the other hand, as Pike observed, may have questionable significance.
Sela
If Rob Pike's measure of innovation is how much an operating system changes, then he is probably right. Microsoft has innovated the most simply because everything in the Windows operating system is a part of the core (which is why we always call it bloatware, right?), and the core of the system has had the most change brought to it. If you look at UNIX, its stood on a good foundation for years, so why reinvent the wheel?
I have to agree with the fact that academia is doing really poorly in terms of systems research. Basically, any kind of reseach requires funding. Nearly every company now does its own research internally, rather than partner with academia. And what we end up with is better "marketable" technology.
What people mistaken believe is that innovation must equal improvement. That is hardly the case. Nor does innovation = implementation either. So, if you can understand these two concepts, Microsoft's innovativeness is far less threatening that it [Microsoft] would have you believe.
He has some good points, although he seems to be missing some things.
It is true that the vast majority of cool new ideas don't make it into implementstion and use. Witness the recent reaction to having a Python script in the Linux kernel distribution.
But he seems to have forgotten the details of the good old days he's talking about: computers didn't do all that much yet. A group working for a reasonable amount of time could make something more useful than they could pick up at the store. There wasn't so much previous work that would be wasted if they redesigned from scratch.
There are a lot of standards now, and it is true that an entirely new project will probably spend 90% of their work on complying with standards. But that only prohibits entirely new projects; starting from a unix implementation that supports all the relevant protocols, you can do new work in a reasonable time, and the result will actually be potentially useful.
It's not that hard to imagine a very innovative project which is designed to be a part of a unix-like operating system but take it in an entirely new direction. We may still be using a unix-like filesystem, but now it can have journalling. Our unix processes can have threads. Our X server can support OpenGL.
Significantly, a small team of developers who have read a good paper can sit down to implement it. They don't have to start from scratch, implementing every protocol ever specified, they can just get the latest Linux kernel, which supports them already. Then they can add just the section they're interested in.
It is not a problem that there are standards up to the level of an API for operating systems. There is enough flexibility in the API we have that there can be significantly different behavior on the other side, and, significantly, someone wanting to use this new behavior can easily understand how to do so, since it conforms to the API. The field of AI suffers greatly from this not being the case: there is no standard substructure that researchers can use to make their systems advance the field rather than giving it the same depth in a different direction.
At least at MIT, there is plenty of research in systems which is actually being implemented. The reason this is not obvious is that the outside world of corporations now gets all the computer press, so these projects don't seem as important as when most of the computers were in academia.
Incidentally, while Java is not perfect, it is more than just a fixed redesign of C++: in addition to better object orientation, it has type safety, a virtual machine, and garbage collection, all of which came out of academic research on the subject.
All in all, noticing the new work in systems research these days requires looking in more detail at systems which have progressed in significant ways, not just looking for things which look superficially different from established systems.
Rob Pike has been badmouthing unix since at least, um, 12:56:54 GMT November 3, 1992. Go to this archive page and search page for "pike".
Unfortunately, Pike's points flew competely over you. The issue is not the actual drivers which control devices (the low, low level stuff) but the intermediate interfaces, particularly the API and language.
It is part of the Unix design philosophy, for example, that every device is a file. Since this idea has existed for over 30 years with no innovation, its stagnant. Whether or not this is the correct way to do it is up for debate.
Applications do not rely on what device drivers, but they device drivers do rely on the OS API. Linux still does not have proper asynch I/O support, even thouse VMS did over 20 years ago, and Windows does today also. This is something which fundametally affects the way applications are implementes.
Different paradigm's in computing will lead to tremendous advance. The linguist Whorf put forward the hyopthesis that one's language tremendously influences the way one thinks. You can look at software development like this; language and API, put together, shapes how programmers think. There haven't been many new ineteresting programs written on Unix in C for a long time, but C++ gave everything a good kick in the side and bigger and better applications could be built. If the research continues to be stangant (as it appears to be) nothing new will ever come. A different type of OS has the potential to revolutionize software because it will enable programs which weren't before possible to be written. As long as anything that's non-Linux is a bad word, that will never happen.
>MS's contribution was the case,
oooh.... shiny 8^)
"It's tough to be bilingual when you get hit in the head."
--
$x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
$x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
What new needs have manifested themselves?
Most innovation is about figuring out what "needs" people have that they don't themselves realize.
To me, PalmOS is innovative.
Absolutely! And, to my knowledge, it is the product of industry, not academia. Maybe the palm isn't where academia should be, but the point stands.
I was a bit wary of commenting on the words of someone who obviously knows more than I, but I stand by my non-comment.
Your non-comment sounded to me like a scoff. Sorry if I misinterpreted.
The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
These old men make me laugh. Just substitute the word "sex" for "systems software research" and you will see what I mean. But there are some serious points here.
1) Orthodoxy. He is dead on with this one. Most of the grad students we have had at the lab I work in are incapable of imagening that there is any way but there way. There intellectual arrogance is staggering, and their lack of imagination frightening.
I am sure that this comes from the narrowness of the people in computer science departments in major universities. My own education was in minor universities (cow colleges), but I was able to meet people who had come into computing from accountancy, maths, physics, electronics, sociology, even history. I am sure that this helps me to think unconventionally. Sadly I am almost always wrong, but thats another issue.
2) Microspecialisation. Most academics identify themselves as "AI planning researchers" or "I'm investigating solving TSP's with constraint solvers" or "I'm interested in methodologies for engineering systems of collaborative intelligent BDI agents" (these are all AI things, but thats me...) AI is a tiny field, come to think of it the WHOLE OF COMPUTER SCIENCE is a tiny field. How can someone investigate machine learning without considering the interaction of humans with the learning system? What is the point of investigating how robots play soccer without asking can we build the robots? Yet many respected academics do just that.
I blame the journals, and the conferences, but most of all I blame the reviewers. It is impossible to publish "out there" research anywhere but in a workshop. People will simply bounce it, even presenting ideas and tryouts (or failures) at workshops invites derision. Workshop publications are seen as worthless, yet workshops are still almost invariably run around presentations and a refereed paper collection. I dispare of the infrastructure for research. The Springer-Verlag LNCS series should be piled up, and we could set it alight and dance round it naked, like red in^B^B^B^B^B^B native americans.
We could throw the journals on as well.
3) Grandma, marketing and start ups: e-commerce is corrosive, both socially (it has cost me friends) but also personally :people have ruined their careers and lives, but made some money (think about this). Happily I think that major disruptors in the form of The Grid and GnuTella, and Other THINGS are on the horizon.
Finally a link to Zeus this is a project about programming distributed systems, one of the points Dr. Pike makes. There are many others; perhaps he is unaware of them all, perhaps I don't know what he meant, perhaps I don't care what he meant.
I, and many others on /. have seen the future. It will sweep away everything that we have seen so far. Hang on folks, it's going to be some ride.
--------------------------------------------- "In the end, we're all just water and old stars."
An entire topic which will be labelled flamebait.
Pike does have a point. Linux, while an exciting example of collaborative development, doesn't really have a design. It's a software development project based on a 'reference design'. A less kind term to describe this is to say that it is a clone.
The real innovative OS projects out there in development are private efforts. BeOS, the MacOS, and, yes, Microsoft's work.
Oh! I just remembered another one: The registry! aka evil pit of doom. (though it was probably inspired by the movie Tron!) So now we have Bob, BASIC, and the Registry! Any other true M$ Innovations out there?
"He who sacrifices beauty for efficiency gets what he deserves." - Bernard Mickey Wrangler a.k.a. the Woodpecker
People forget that OS/2 Warp 3 shipped in early 1994 with dial-up TCP/IP (first SLIP, then PPP), and had a full compliment of network clients (mail and news clients, ftp, telnet client, etc.).
:-( *Sigh*
Nothing seems acceptable in the marketplace until Microsoft does it, and then everyone remembers how Microsoft did it first...
--
-Rich (OS/2, Linux, BeOS, Mac, NT, Win95, Solaris, FreeBSD, and OS2200 user in Bloomington MN)
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
The innovation of Linux is not in creating a bunch of new (usually dumbed-down) tools. It's in taking a bunch of very powerful existing tools and making them accessible to mortals running desktop machines. I would say Linux has done a lot of innovation in this area.
Today's Sesame Street was brought to you by the number e.
With the ultimate irony that Xenix was originally developed by Microsoft and later sold to SCO. (Yes, in number of units sold, Microsoft was at that time the leading supplier of "Unix compatible" operating systems).
-Jan
...and not a drop to drink?
I think the idea of what makes something an "innovation" needs to be re-evaluated. The development cycle has sped up so much, and every new feature becomes an innovation. I think the bar could be set a little higher, frankly.
Its true that private industry is really running with the ball as far as software goes...what's that about money talks? When more people are out there programming maybe there's less people researching.
There's no law that says academic research has to take place in academia, anyway.
-sk
I don't think it's in dispute that deep in the bowels of the cupertino campus that Apple puts together some pretty amazing technologies in both harware and software. All-in-one computer(macintosh), laser printer, portable laptop computer, cut and paste, firewire, newton, airport, iMac (loss of the floppy drive!), OSX. They also come up with some pretty hardware - iMac, 20th Anniversary mac, the widescreen flat panel, the iBook. Even more amazing are the technologies that never make it: Star Trek, Project X/Hot Sauce, newton, etc. The reality now is that Apple has been forced by the market to focus more on shipable products than flights of design fancy and I think across the board, this has happened in the industry. It's a shame, tho Apple still does it the best (OSX is solid proof of that - while the MS juggernaut cannot seem to get the next gen OS working properly, Apple engineers have married Linux and the MAcGUI - as well as total backwards compatability with the many programs people need that aren't (yet) available on Linux)
Isnt the HURD somewhat innovative in that its a totally object oriented operating system? I'd say that there's a fair bit of innovation going on out there. Altho, when its not broken, why fix it? I'm fairly happy with the way that linux is going - it gets work done, and there is room for improvement, so there's something still to play with and so there'll still be interest. Im glad that linux puts research into the hands of users, and out of the hands of universities and big corps.
Err, sorry but no Unix is comparable to Windows in terms of usability. And I'm not talking about your average user (even though Windows is supreme there too) I'm talking power user. User's who want to get work done without excessive amounts of wasted effort and motion. Software that automatically and cleanly handles integration with 3rd party packages.
The Open Motif release is the best thing to happen to Unix in a long time. Because nobody else has pulled their head out far enough to see the big picture of how a window manager and apps should relate in a working enviroment. Sure E is pretty, but it's not that functional.
BTW, is .asp a M$ only extension? Their site is the only one that I have seen with it.
>Of course there is. Bob.
Twitch, twitch... [retch]
"It's tough to be bilingual when you get hit in the head."
Microsoft isn't innovative. It says so on my resume! =) (www.treyharrison.com/resume.html)
I have an alter-ego at Red Dwarf. Don't remind me that coward.
http://www.zdnet.com/zdnn/stories/news/0,4586,2582 547,00.html Read this. I think i have this "slashapplet" running on my gnome bar.. so where's MS's "innovation"?
M$ has never done anything innovative in its whole existance. DOS was just a matter of licensing someone else's previous works. Same for GW-basic. NT domain are nothing more than NIS, lantastic, netware concepts merged together in an awful way. 2000 active directories are nothing more than LDAP and a tampered Kerberos.. is this innovation? And ther products are the WORSE thing on the market: buggy, faulty, with lowest average uptime, and not open to the rest of the world.
Because it comes with development tools, and without a clear dividing line between what the user makes and what's handed down from on high.
Because I like a text-based web browser.
Because rpm whips the crap out of InstallShield.
Because it's *free*, as in beer, and I don't have two hundred bucks or what-have-you for an academically discounted version of Photoshop, and Gimp has a nifty mascot to boot.
Because it's elegant.
Note: Yes, I know I can probably use cygwin to run lynx or whatever under Windows. But *why*?
-Grendel Drago
Laws do not persuade just because they threaten. --Seneca
>BTW: Internet: Built on Unix. Innovative? Make your own decision, but what has changed the world of computing recently?
I'd claim that some of the routing protocols in use today are the most innovative part of the Internet. Fair Queuing, Multicast, QoS, etc. all sound fairly obvious, but somebody had to have the original idea (just like OOG and the wheel).
"It's tough to be bilingual when you get hit in the head."
Why are we still working on making computers FASTER? I mean there's no innovation there, we've had the same problem since the days of the ENIAC. And why would we want to make computers smaller? Same problem as we had with the ENIAC, and by your logic there would be no innovation there. In fact, until there is a revolution in the way we compute--according to your logic--via DNA, Quantam or another radically different form of computing there will be very little innovation. (Note that both of these new forms of computing come from Academia.)
Of course we both know that innovation doesn't require something so radical as Quantam computing. And age doesn't qualify something as being non-innovative.
The fact that a problem has been around for such a terribly long time doesn't mean that there cannot be any innovation involved in tracking down the solution. And in fact the longer a problem has been around, the more innovation that IS required to find the solution. Otherwise the problem would have been solved already.
Certainly you realize the importance of finding a solution to the Travelling Salesman problem. It would revolutionize the way processors and other severely time-dependant circuits were constructed.
Back to the salt mines...
--
"A mind is a horrible thing to waste. But a mime...
It feels wonderful wasting those fsckers."
I currently have no clever signature witicism to add here.
"...Backward compatibility is given a lot of priority..."
Perhaps OS-wise, but Microsoft has been quite good at forcing Office upgrades by breaking the default file format with each major release.
Exactly. If all of this stuff was executed in a clean, sane fashion, Windows would be a pretty cool operating system. You can kind of see where they're aiming at, and they sometimes get close enough to excite you, but it always seems to fall short of where it should be.
--
Sometimes it's best to just let stupid people be stupid.
Strange how most of the comments I read to this article don't even address the concern on how we should get innovation back into systems research.
Instead, it's just another MS vs Linux fight. And that just proves the point that there are hardly any other contenders in the OS field. It's just sad that people don't seem to be interested.. there are others that say who cares for new systems? how does the consumer benefit? but thats just the point, that researching a theory just for the basic sake of knowledge is not a waste.
It's just depressing to me. Especially when most of the profs in the systems labs in my Uni have left for start-ups.
I think people here have under-estimated the degree to which true innovation (rather than better packaging) has been slowed in the field of operating systems.
But Pike does make a very important point about the current limitations on possible innovation: most of them are the result of the need to interoperate with existing standards. What is perhaps not very clear from his argument is that the constraint of existing standards is universal. And it does indeed limit innovation, at least at a given level of system complexity.
But how universal a constraint is this, really? I think the most telling example is that of biology. Life has been around for something like 3 billion years, and we now know that there has been exceedingly little innovation in some of its aspects; the basic principles (and most of the exact codes) of encoding genes into DNA, of transcribing them using RNA, and expressing them to do the real work of the organism are stunningly conserved. Almost no innovation there. And I could go on up the various levels of complexity and make similar arguments. But I won't, except to point out that in biology, innovation has almost always emerged in the form of additional (internal) complexity.
Getting back to the world of operating systems, then, Pike is possibly quite correct that the lowest layers of the operating system architecture are now essentially fossilized, permanent, and profoundly resistant to change. But the argument that this means that innovation now has no place is, I believe, profoundly wrong. Innovation will just have to occur at higher levels of abstraction.
So take one example: the idea of users and user authentication. This is a very basic concept, and one which at its heart seems to be very resistant to change. (But, interestingly, one where Plan Nine was conspicuously innovative; hmm...) But I think it should be very clear that there has been and will be lots of innovation in this aspect of operating systems. The problem, of course, is that users are no longer welded to the console of the machine, nor even to a local network including a particular machine, nor even to the same kind of machine on the same kind of network...and yet people do have this notion that they should be able to "log on" from anywhere with strong security and access to whatever resources they had both "there" and "here", wherever "here" is. As many slashdotters know, this gets pretty hairy pretty quickly, and there are many possible solutions that are being worked on. (And of course, the problem is not a completely novel one; the analogy is a bit rough, but the immune system is an interesting solution to a similar problem.)
In any case, there is lots of room for innovation for certain kinds of problems, and very little room for others. I think Pike really does know this, and was worrying more about how we can get funding and support to the people who are trying to solve the problems where there is still lots of room for innovation. Academia does not seem to be the answer, nor do most corporate cultures. But what is the answer?
Babar
This is crap. There are tons of problems out there N != NP sounds like an interesting one. Solution could possible add tons to operations. Only MS innovates?!?!??!!?? I consider the napster idea innovative. Freenet. Research is always going on and is always important. As I recall mathematicians have always said things like this, usually right before mathematical theory is pushed forward at astounding rates. It surprises me that anyone here would even pay attention to crap like this.
and may be teasing... --dave
davecb@spamcop.net
Microsoft may engage in a lot of R&D, but until they release the results of said research into their products, I really don't see the R&D as being all that meaningful.
Most of their product releases are the result of a purchase, refine, and release cycle, not in-house research. Products like Word, Excel, Access, Visual BASIC, Visual C++, and MSIE were all the direct result of externally-developed techology.
--
-Rich (OS/2, Linux, BeOS, Mac, NT, Win95, Solaris, FreeBSD, and OS2200 user in Bloomington MN)
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
Regarding Microsoft, though, I'm not so sure how they do "real innovation". Most of what I've seen is them taking an existing idea, sometimes in the prototype phase, and then hyping it real loud. Take the IntelliMouse Explorer. Great mouse; I use it myself. But on the box, Microsoft pretty much claims to have invented optical mice, the hot new thing. Give me a break.
From what I've heard, NT was originally quite similar to VMS. I'm not enough of an OS guru to make deep analyses of this kind of thing, but I read that the developers truly wanted to make it a "better UNIX than UNIX", but management kept getting in the way (similar to Windows... Bill Gates canceled some good ideas because he wanted "Mac on the PC").
In many cases, the problem with Microsoft is not the idea, but the implementation. I think if they slowed down and concentrated on perfecting their existing software instead of "innovating" every day, they could produce some great stuff. As it is, it's like they're always in beta.
TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
I'm an unabashed Old Phart, from the CS generation previous to Rob Pike's. I read his diatribe some days ago, before it was publicized here, and it did ring a few bells. I know why he feels the way he does. I don't think the situation is as dire, or as permanent, as he paints it.
/. reported a week or three ago on a whole new OS that I didn't even know existed. Then there's BeOS, and other older ones like Sprite. F'r'eaven's sake, you can buy BeOS in stores now. Do you know how long it took for just a book on UNIX to come out? And it was crap, at that.
At the time Rob came to the Labs, and for some years before, the CS scene was being painted in pretty broad strokes. Minicomputers allowed the software boys to explore uncharted territory for cheap. Oh, they explored it before on mainframes, but it's hard to get a whole off-brand OS started when you need access to $3 million worth of hardware to do it. But even before then, there were lots of things out there. Most operating systems were not only crap, they were deliberately obfuscatory crap, as Ted Nelson was fond of pointing out at the time. Reacting against that we had ITS, TENEX and MULTICS on the mainframes, and on the new minis, UNIX. On more experimental hardware we had things like CM*, C.MMP, and the Culler Fried Chicken system in Santa Barbara.
The only one that survived is UNIX. It took the combined efforts of all of us just to keep ONE alternate OS alive.
Today, almost all our efforts are, as Rob points out, dedicated to extending what's already there. Yet the actual effort expended overall is huge. The scene is a LOT larger than it was.
Still, the main effort of systems research today could be characterized as "embrace and politicize." I think that's normal. I've remarked in other forums that science in general is in that sort of rut now. Most of the really big inventions of the 20th century, apart from the Internet, occurred in the first 50 years of the century.
Consider what we have to look forward to, what I think Rob wants to see:
. We should not be inventing protocols. Our applications should negotiate them as needed.
. TCP/IP is a point solution, good only across a certain range of bandwidths and error rates.
. Devices should exist in a hierarchy of protocols. The protocols spoken by backbone routers should be profoundly different from the protocols spoken by doorbells, cars, and home computers.
. Devices should not be given operating systems. They should discover and run one appropriate to their task, on their own.
. No device should have to both run a GUI and compute (Plan 9 demonstrated the feasibility of this view).
Broad strokes, people. Broad strokes.
I've got a few problems with this piece...
1. He states that hardware is going on and on while software is stagnant, citing the fact that (amongst others) Netscape and X and Unix are still being used ten years later. But is Unix (or Linux) what it was ten years ago? Is Netscape? The fact that it's got the same name doesn't mean it's the same product.
2. "Where is the innovation? Microsoft, mostly". 'nuff said.
Basically, his argument seems to be that if we don't completely change our software every few years, we're being stagnant, which more or less flies in the face of the 'if it ain't broke' school of thought.
Ten years ago, there was no instant messaging and no napster. I use neither, but I'm impressed with implemention of both, and with such things as Quake 3. I'd consider them innovative and elegant.
I agree with the gist of his argument, but I reckon he's making bad examples that do nothing for his point.
Last year, Ken Thomspon made his vehemently anti-Linux thoughts known to the public, and now Rob Pike, the ultimate advocate of the Unix philosophy, calls Linux and Unix stagnant. Dennis Ritchie is known to post to Usenet from a Windows machine, though he hasn't officially denounced Unix yet. Heck, Bill Joy has publically stated that he doesn't understand why people think VI is a good program.
This speaks volumes to me.
The originators have done their thing, and went on and did more new interesting things (e.g. Plan 9) while the masses continue to worship them and their legacy. It is virtual proof that Unix succeeded only because it was in the right place at the right time (the start of the workstation revolution), and that its technical quality was so weak, that not even the originators are proud of the work.
Pike is 100% correct in stating that Unix (and, moreover Linux) has greatly marginalized and made stagnant systems development. As I've said before, you can create the best OS in the world which does everything right, but the first thing anybody will ask is "Is it POSIX compliant?" and they won't use it otherwise. The whole article echoes the thoughts I've had about this issue for some time.
However, there is a fundamental point that I think he's missing. Linux is constantly innovated, not in major leaps as Microsoft has done things (and they have mostly copied others), but through the kernel. Each new kernel version brings new features to this already great system. So I think he's talking about a way of innovating that happened some years ago.
Besides, isn't Open Source something that shifts the balance here?
Yes one must not foget BOB. AFAIK the only original product microsoft ever made. If you don't know what I am talking about good please try and keep it that way. You really don't want to know what it is. It makes the paperclip look like a natural useful feature by comparison.
Computer modeling for biotech drug manufacturing is HARD!
At University, software researchers aren't particularly interested in the pettiness that Microsoft is. They don't care about writing usable GUIs and they don't care about how some API behaves at the top level.
At my University, our software researchers are interested in software problems such as the dining philosopher problem (threads|deadlock), the lying general problem(tcp/ip|data security), and also software solutions to the travelling salesman problem (component design).
None of them claim to be able to write an OS better than Microsoft, why would they care? And the problems that they're working on Microsoft has no desire to solve.
To say that Software Research is unecessary is a very bigoted, ego-centric view. To say that Software Research insofar as high-level OS design is concerned would be much more appropriate.
--
"A mind is a horrible thing to waste. But a mime...
It feels wonderful wasting those fsckers."
I currently have no clever signature witicism to add here.
Civilization isn't going to spend the rest of eternity pointing and clicking mice on their local machines. Speech recognition is going to take over, and with it will come devices that link in ways that we have never thought of before. Ways that herald entirely new networking paradigms. Someday, most of our computing won't be in front of a monitor unless we're coders. Peer to peer and universal devices will abound. Systems research is entering a new era. I will never say that a man that I respect as much is a dinosaur, but he is certainly wrong on this point.
Eh...
Bad attempt at humor aside, the reason innovation died is because we can't! I can't link to another site without being sued, I can't talk bad about a product without being sued, I can't be controversial, can't talk in politically incorrect ways, can't have opinions, and can't hack together something obvious because Some Other Guy(tm)(r)(c) already patented it and I don't have the money to fight!
Innovation is hampered every time there is a delay while research is done for patents, everytime an idea is scrapped because someone else happened to patent the obvious, everytime a meeting is held, every press release made we are slowing down the rate of progress in this country. If we continue at this rate, we may well wind up reaching a social and legal impasse where no progress can be made because there are too many cooks in the kitchen.
That's just my $0.02.
Rob Pike
Bell Labs
Lucent Technologies
rob@plan9.bell labs.com
Feb 21, 2000
1 A Polemic This talk is a polemic that distills the pessimistic side of my feelings about systems research these days. I won't talk much about the optimistic side, since lots of others can do that for me; everyone's excited about the computer industry. I may therefore present a picture somewhat darker than reality. However, I think the situation is genuinely bad and requires action.
2 Thesis Systems software research has become a sideline to the excitement in the computing industry. When did you last see an exciting non commercial demo? Ironically, at a time when computing is almost the definition of innovation, research in both software and hardware at universities and much of industry is becoming insular, ossified, and irrelevant. There are many reasons, some avoidable, some endemic. There may be ways to improve the situation, but they will require a community wide effort.
3 Definitions Systems Software Research Is Irrelevant
4 A Field in Decline 1 2 3 4 5 6 7 1979 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 New Operating Systems at SOSP "Who needs new operating systems, anyway?" you ask. Maybe no one, but then that supports my thesis. "But now there are lots of papers in file systems, performance, security, web caching, etc.," you say. Yes, but is anyone outside the research field paying attention?
5 Systems Research's Contribution to the Boom A high end workstation: _ ________________________________________________ 1990 2000 _ ________________________________________________ _ ________________________________________________ Hardware 33 MHz Mips R3000 600 MHz Alpha or Pentium III 32 megabytes of RAM 512 megabytes of RAM 10 Mbps Ethernet 100 Mbps Ethernet _ ________________________________________________ Software Unix Unix X Windows X Windows Emacs Emacs TCP/IP TCP/IP Netscape _ ________________________________________________ Language C C C++ C++ Java Perl \ a little\ _ ________________________________________________ Hardware has changed dramatically; software is stagnant.
6 Where is the Innovation? Microsoft, mostly. Exercise: Compare 1990 Microsoft software with 2000. If you claim that's not innovation, but copying, I reply that Java is to C++ as Windows is to the Macintosh: an industrial response to an interesting but technically flawed piece of systems software. If systems research was relevant, we'd see new operating systems and new languages making inroads into the industry, the way we did in the '70s and '80s. Instead, we see a thriving software industry that largely ignores research, and a research community that writes papers rather than software.
7 Linux Innovation? New? No, it's just another copy of the same old stuff. OLD stuff. Compare program development on Linux with Microsoft Visual Studio or one of the IBM Java/web toolkits. Linux's success may indeed be the single strongest argument for my thesis: The excitement generated by a clone of a decades old operating system demonstrates the void that the systems software research community has failed to fill. Besides, Linux's cleverness is not in the software, but in the development model, hardly a triumph of academic CS \ especially software engineering\
8 What is Systems Research these days? Web caches, web servers, file systems, network packet delays, all that stuff. Performance, peripherals, and applications, but not kernels or even user level applications. Mostly, though, it's just a lot of measurement; a misinterpretation and misapplication of the scientific method. Too much phenomenology: invention has been replaced by observation. Today we see papers comparing interrupt latency on Linux vs. Windows. They may be interesting, they may even be relevant, but they aren't research. In a misguided attempt to seem scientific, there's too much measurement: performance minutiae and bad charts. By contrast, a new language or OS can make the machine feel different, give excitement, novelty . But today that's done by a cool web site or a higher CPU clock rate or some cute little device that should be a computer but isn't. The art is gone. But art is not science, and that's part of the point. Systems research cannot be just science; there must be engineering, design, and art.
9 What Happened? A lot of things: PC Microsoft Web Standards Orthodoxy Change of scale Unix Linux Startups Grandma
10 PC Hardware became cheap, and cheap hardware became good. Eventually, if it didn't run on a PC, it didn't matter because the average, mean, median, and mode computer was a PC. Even into the 1980s, much systems work revolved around new architectures \ RISC, iAPX/432, Lisp Machines\ No more. A major source of interesting problems and, perhaps, interesting solutions is gone. Much systems work also revolved around making stuff work across architectures: portability. But when hardware's all the same, it's a non issue. Plan 9 may be the most portable operating system in the world. We're about to do a new release, for the PC only. \ For old time's sake, we'll include source for other architectures, but expect almost no one will use it.\ And that's just the PC as hardware; as software, it's the same sort of story.
11 Microsoft Enough has been said about this topic. \ Although people will continue to say lots more.\ Microsoft is an easy target, but it's a scapegoat, not the real source of difficulty. Details to follow.
12 Web The web happened in the early 1990s and it surprised the computer science community as much as the commercial one. It then came to dominate much of the discussion, but not to much effect. Business controls it. \ The web came from physicists and prospered in industry.\ Bruce Lindsay of IBM: HDLC C HTTP/HTML; 3270s have been replaced by web browsers. \ Compare with Visicalc and PC.\ Research has contributed little, despite a huge flow of papers on caches, proxies, server architectures, etc.
13 Standards To be a viable computer system, one must honor a huge list of large, and often changing, standards: TCP/IP, HTTP, HTML, XML, CORBA, Unicode, POSIX, NFS, SMB, MIME, POP, IMAP, X, ... A huge amount of work, but if you don't honor the standards you're marginalized. Estimate that 90 95% of the work in Plan 9 was directly or indirectly to honor externally imposed standards. At another level, instruction architectures, buses, etc. have the same influence. With so much externally imposed structure, there's little slop left for novelty. Plus, commercial companies that `own' standards, e.g. Microsoft, Cisco, deliberately make standards hard to comply with, to frustrate competition. Academia is a casualty.
14 Orthodoxy Today's graduating PhDs use Unix, X, Emacs, and Tex. That's their world. It's often the only computing world they've ever used for technical work. Twenty years ago, a student would have been exposed to a wide variety of operating systems, all with good and bad points. New employees in our lab now bring their world with them, or expect it to be there when they arrive. That's reasonable, but there was a time when joining a new lab was a chance to explore new ways of working. Narrowness of experience leads to narrowness of imagination. The situation with languages is a little better many curricula include exposure to functional languages, etc. but there is also a language orthodoxy: C++ and Java. In science, we reserve our highest honors for those who prove we were wrong. But in computer science...
15 Change of scale With so many external constraints, and so many things already done, much of the interesting work requires effort on a large scale. Many person years are required to write a modern, realistic system. That is beyond the scope of most university departments. Also, the time scale is long: from design to final version can be five years. Again, that's beyond the scope of most grad students. This means that industry tends to do the big, defining projects operating systems, infrastructure, etc. and small research groups must find smaller things to work on. Three trends result: 1. Don't build, measure. \ Phenomenology, not new things.\ 2. Don't go for breadth, go for depth. \ Microspecialization, not systems work.\ 3. Take an existing thing and tweak it. I believe this is the main explanation of the SOSP curve.
16 Unix New operating systems today tend to be just ways of reimplementing Unix. If they have a novel architecture and some do the first thing to build is the Unix emulation layer. How can operating systems research be relevant when the resulting operating systems are all indistinguishable? There was a claim in the late 1970s and early 1980s that Unix had killed operating systems research because no one would try anything else. At the time, I didn't believe it. Today, I grudgingly accept that the claim may be true \ Microsoft notwithstanding\ A victim of its own success: portability led to ubiquity. That meant architecture didn't matter, so now there's only one. Linux is the hot new thing... but it's just another Unix.
17 Linux the Academic Microsoft Windows The holy trinity: Linux, gcc , and Netscape. Of course, it's just another orthodoxy. These have become icons not because of what they are, but because of what they are not : Microsoft. But technically, they're not that hot. And Microsoft has been working hard, and I claim that on many \ not all\ their corresponding products are superior technically. And they continue to improve. Linux may fall into the Macintosh trap: smug isolation leading to \ near\ Besides, systems research is doing little to advance the trinity.
18 Startups Startups are the dominant competition for academia for ideas, funds, personnel, and students. \ Others are Microsoft, big corporations, legions of free hackers, and the IETF.\ In response, government funded and especially corporate research is directed at very fast `return on investment'. This distorts the priorities: Research is bent towards what can make big money \ IPO\ in a year. Horizon is too short for long term work. \ There go infrastructure and the problems of scale.\ Funding sources \ government, industry\ pressures, so there is a vicious circle. The metric of merit is wrong. Stanford now encourages students to go to startups because successful CEOs give money to the campus. The new president of Stanford is a successful computer entrepreneur.
19 Grandma Grandma's on line. This means that the industry is designing systems and services for ordinary people. The focus is on applications and devices, not on infrastructure and architecture, the domain of systems research. The cause is largely marketing, the result a proliferation of incompatible devices. You can't make money on software, only hardware, so design a niche gimmick, not a Big New Idea. Programmability once the Big Idea in computing has fallen by the wayside. Again, systems research loses out.
20 Things to Do Startups are too focused on short time scale and practical results to try new things. Big corporations are too focused on existing priorities to try new things. Startups suck energy from research. But gold rushes leave ghost towns; be prepared to move in. Fiona's story: "Why do you use Plan 9?" Go back to thinking about and building systems. Narrowness is irrelevant; breadth is relevant: it's the essence of system . Work on how systems behave and work, not just how they compare. Concentrate on interfaces and architecture, not just engineering. Be courageous. Try different things; experiment. Try to give a cool demo. Funding bodies: fund more courageously, particularly long term projects. Universities, in turn, should explore ways to let students contribute to long term projects. Measure success by ideas, not just papers and money. Make the industry want your work.
21 Things to Build There are lots of valid, useful, interesting things to do. I offer a small sample as evidence. If the field is moribund, it's not from a lack of possibilities. Only one GUI has ever been seriously tried, and its best ideas date from the 1970s. \ In some ways, it's been getting worse; today the screen is covered with confusing little pictures.\ Surely there are other possibilities. \ Linux's interface isn't even as good as Windows!\ There has been much talk about component architectures but only one true success: Unix pipes. It should be possible to build interactive and distributed applications from piece parts. The future is distributed computation, but the language community has done very little to address that possibility. The Web has dominated how systems present and use information: the model is forced interaction; the user must go get it. Let's go back to having the data come to the user instead. System administration remains a deeply difficult problem. Unglamorous, sure, but there's plenty of room to make a huge, even commercial, contribution.
22 Conclusions The world has decided how it wants computers to be. The systems software research community influenced that decision somewhat, but very little, and now it is shut out of the discussion. It has reached the point where I doubt that a brilliant systems project would even be funded, and if funded, wouldn't find the bodies to do the work. The odds of success were always low; now they're essentially zero. The community universities, students, industry, funding bodies must change its priorities. The community must accept and explore unorthodox ideas. The community must separate research from market capitalization.
This article brings up something that i have believed for a long time, Universities are not on the edge of technology, especially in the computing field. The only reason that i am going to be attending a University is to get a piece of paper. While i attend school, i just hope and pray that i can do 4 years of catch up when i get out.
People seem to think that we need some radical new paradigm in the way we're doing things in order to indicate progress; Microsoft is all too eager to jump in with a spiffy new standard and a handful of TLAs to placate this crowd and keep us all on the frequent-upgrade track. This is not good innovation (and while I'm talking about Microsoft, this isn't either). Sometimes different and more complex doesn't beat tried-and-true. Can't innovation be combining yesterday's solutions with today's needs to make a new product? Why are people so willing to attach the label of innovation on things that are new but not better?
I work in a Microsoft NT / IBM AS/400 / Linux environment. The AS/400 feels archaic, but does what we need it to. Linux feels archaic, but does what we need it to. Microsoft NT looks good.
---
Try not. Do or do not, there is no try.
-- Dr. Spock, stardate 2822-3.
It was drafted by Microsoft and some other people, such as Dave Winer of Userland Software. I don't think it is a M$ technology in the sense that COM is, but they are certainly chamioning it.
--------- Matt
OS/2 provides a real object-oriented API
Calling OS/2 OO is like calling Linux OO. The WPS is OO, not OS/2. You do something without going via the WPS you're screwed, all your OO stuff is ratshit.
OS/2 also doesn't have the DOS background that Windows98 does
OS/2 IS DOS - a 32bit DOS. that's what it was designed to be. the pretty interface didn't show up until after they realised they were dead in the water against Microsoft.
more stable than Windows NT or OS/2, and easier to use than anything
What a load of shit. it's not released yet. it's not being used in the Real World{tm}. How could you or anyone possibly make such a comparison?
BTW, IMO, FWIW: 'ease of use' is inversly proportional to the user's IQ.
The original comment was that Windows somehow had the lead on all other platforms when it came to GUIs. Sheesh. ;-)
--
-Rich (OS/2, Linux, BeOS, Mac, NT, Win95, Solaris, FreeBSD, and OS2200 user in Bloomington MN)
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
I absolutely do NOT think that all the different paradigms have been exhausted, not by a long shot.
But, in dealing with computers, we're constantly faced with levels of abstraction, and on one level or another, we've hit rock bottom.
If you consider that a computer has a CPU, storage and I/O facilities - we'll how much past that can we innovate? Systems programming is pretty low on the totem pole of abstractions. We have things like deadlock and starvation to contend with, we have paging and swapping and thrashing and thunking to consider. We have semaphores and mutexes... On such a low level, we've covered most of the bases, really.
EDO RAM was pretty innovative, but it's below the systems level, it's firmware/hardware, and so Mr. Pike doesn't have anything to say about it.
M$ attempts to fuse the browser into the OS can be (I don't agree) be seen as innovative, since this would make the Internet just another type of I/O; just an extension of the file system - much like the hard disk was way back in history...
This extension of the file system is more related to your previous argument about the 64bit journaling FS than any other sort of innovation, so we can discount it from the list. But I don't think that either the net or a 64bit JFS would make Pike's list of innovations; they're just variations on the I/O theme.
Cybernetic implants directly into the human nervous system as an extension of I/O would not be innovative on the systems programming level of abstraction - though they would be revolutionary in terms of biomechanics and neurology. After all, systems programmers have already had to deal with the issues of different bus encodings and non-deterministic latency and variable bandwidth. Whether we deal with a PCI-SCSI bridge, or a FibreChannel-Optic Nerve bridge makes little difference from their perspective.
Point being, we're arguing the same side of the issue - there's lot's out there left to do, but on close and low-level inspection, there isn't. But then there can't really be, can there?
As I'd said before, the wheel hasn't really changed much since it's invention thousands of years ago. It was pretty damn innovative to use it on carts, and cars, and also on steamboats and to generate power from running rivers. By comparison to those innovations, putting a wheel on a Mars rover is drab and droll, and not a bit innovative.
There's one more truly innovative thing that's recently been done in systems programing: Beowulf.
There are plenty more too - many of them don't fit into Pike's sphere of reference as 'systems programming', but they are, like beowulf, optical switching, multi-processor synchronization, distributed computing... The fields are mutating, and what Pike doesn't see as 'systems level' is that, and networking, and application level, and human perception.
Is native CPU support for multimedia considered a 'systems' innovation? MMX, 3DNow? How about OpenGL? That's systems programming too, if you think about it, and squint a little. All that's needed is a tilt of the head, and the level of abstraction changes.
Pike made a bad call. He's bitter that he's no longer a rising star, but rather a 'former glory' who is seen as being on a snipe hunt. His latest OS hasn't made any inroads outside of his R&D facilities, and he's not happy. If Plan9 isn't popular, maybe it's not the sort of innovation that's viable - the world doesn't need spherical wheels either - except in some obscure environments, like a research lab.
-- What you do today will cost you a day of your life.
He states that the excitement, the art, of systems research is gone. " Maybe it is ....At Lucent (or Bell Labs)
Protected memory and preemptive multitasking were old technologies in 1984. Doing them again wouldn't have changed much.
I suppose it really depends on whether you're looking to bring a new paradigm into the world, or make a good operating system. I just had to laugh as I read this, because as a programmer, protected memory and real multitasking are not features I would dismiss so lightly.
But your point is well taken... Thinking back, the Next system really covers both bases beautifully. But the Next was a commercial failure. Probably because PCs and Macs were too entrenched at that point.
It's really a pity. We could have skipped a decade of baby step operating systems upgrades, and ended up about where we are now.
# (/.);;
- : float -> float -> float =
SS! SS! SS!
aaahhhhhhhhhhhhhh run run shoot run run shoot run run shoot run shoot
My favorite Apple II game!
was it the first, first person shooter?
no sig.
We have end-users working on Solaris/CDE here, and it seems to work for them just fine. They use a fixed set of applications just as a Windows user does, and their productivity is no different.
--
-Rich (OS/2, Linux, BeOS, Mac, NT, Win95, Solaris, FreeBSD, and OS2200 user in Bloomington MN)
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
How's that coming along?
Also, another exercise: Isn't the "consumer" version of Windows 2000 still based on Win98/Win95/Win3.x/DOS?
Since Microsoft is supposedly the place of highest innovation, should we allow them to continue? Gives another dimention to their anti-trial sayings as above...
/. is a commercial entity. goto slashdot.com
Okay, this is only slightly off topic, considering the slides are in PostScript format.
:)
What software would a WinHostage use at work in order to view such things. (Unfortunately, I must work in Windows, since my boss requires we use Outlook... even though the Exchange server is dead and in pieces...
Anyway, can I view these in Win, or do I have to wait until I get back $HOME to view them?
Ghostscript for Windows should do it, though it's been a few years since I used it.
Any change of getting Adobe Distiller, that works too.
Or you can just read the source.
George
> 2. "Where is the innovation? Microsoft, mostly".
That statement is only partially true. Sure, MS has innovated and met their goals. However, the mostly qualifier is highly untrue.
Case in point: IBM is and has been on the forefront of truly scientific research for years. If you care to take a look at their website and read about some of their studies in trade publications (not just computer trade, but Scientific American, et al.), you will notice that they are at the forefront of research for things such as quantum teleportation, metallurgy, photochemistry, and many other disparate disciplines.
SGI has also developed a very close approximation to a truly random number generator (in a fairly silly fashion) at lavarand.sgi.com, capable of generating a very large amount of almost true random data.
It seems that people are blurring the lines between the words "research", "innovation", and "profitability". There is a large difference between research done following a business plan to meet a corporate mission statement, and scientific research done to expand human knowledge as a whole, and I think this guy, from Bell Labs of all places, has lost sight of that fact. Maybe time to retire?
Jason McManus
<infiATsleepdepDOTnet>
--
call a spade a spade.
Actually, Microsoft Flight Simulator was developed by a small company (whose name I forget) here in Champaign, Illinois.
MS just put their name on it, iirc. Maybe someone remembers more?
They did innovate on one thing. They made microsoft BOB. I shudder to think of what the next product they really innovate on.
Computer modeling for biotech drug manufacturing is HARD!
MS actually has done a lot of innovation in NT and 2000, just look at IO completion ports or their new Thread Pool stuff, even overlapped I/O doesn't exist in UNIX/Linux. At first I didn't care for MS stuff either, but I do have have to admit they do have good ideas every once in a while. I realize that everything above "could" be implemented in userspace under UNIX but the fact that it is part of the OS in NT makes it easy to use.
"Have you seen my marbles"
M$ have innovated nothing. All that's happened is that machines have got faster so their thousands of coders can add more widgets and features that people don't need. They've certainly jumped late onto a few bandwagons. Did they invent the spreadsheet or the internet or the browser?
When Mr Pike talks about innovation he is not referring to new features built on existing technologies.
Rather, he is talking about completely new technologies that, _fundamentally_, change what we can do with our computers.
Unix was an innovation.
GUI's were an innovation.
Relational Databases were an innovation.
TCP/IP was an innovation.
Linux, Gnome, KDE, Bonobo etc. - while all being supremely cool for what they are - do NOT qualify as innovation.
- antoine
Has anyone ever gotten the feeling that some people use Linux just to tell others that they don't use Windows? I was reading the blurb on the front page and it said something like "Linux is the hot new thing..." I began to wonder why that is. What happened in the last few years that made Linux the "hot new thing?" I work with people who brag about how they don't use Windows on their home PC's as if begging the question "well what OS do you use?" Just so they can say Linux and hopefully impress someone. At least that is the feeling I get. I use Linux because it is a powerful, stable and completely open OS that I can tinker and learn with. I was wondering if others get the same impression of if it's just me.
- big time growth of distributed systems
- use of b-trees for much faster file systems
- supercomputers on the desktop
- networking
- 3D graphics drivers
- gigabit ethernet on the desktop
- security becoming MUCH more important
- Multimedia support through the computer == realtime computing on your desktop
- loads of new algorithms- balanced binary trees, skip lists
- big time deployment of virtual memory
- big time deployment of garbage collection
- new garbage collection algorithms
The OS is trying to stretch to encompass this stuff.The nice thing about Linux is that it is very modular and can be plugged to give lots of this stuff.
Quantum computing is on the horizon too... parallel computing in different universes anyone? We'll have to see whether Linux is upto it there... ;-)
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"has over the past two months equated to making it obvious that they put random cute tripe over basic security. The Office Assistant is a security hole? How does it seem remotely sane to mark an ActiveX Control, that gives complete user level control over the office suite to a webpage, safe for scripting.
"We at Microsoft feel that the hackers (crackers whatever shut up) will realize that Clippy is so cute and helpful that it would be just wrong to use him for evil."
Meanwhile new security holes in Hotmail, Internet Explorer, and Office are found daily and have to be exposed to the world either through mass mailing virii or by at the very least explaining in detail to every Skript Kiddie out there how to exploit that bug, just to get Microsoft to fucking accknowledge that there is a problem. Yeah a lack of basic security, and a refusal to ever obtain it is really goddamn impressive innovation.
Conscience is the inner voice which warns us that someone may be looking.
Conscience is the inner voice which warns us that someone may be looking.
-- H. L. Mencken
I take exception to the notion that Microsoft has led innovation in the area of systems research. Mr. Pike points to the MS-led innovations of 1990 through 2000.
Okay, fine. I'll accept that MS's technology grew by leaps and bounds from 1990 to 1996, but in the words of Janet Jackson, "What have you done for me lately?".
Windows98 certainly was no great improvement over Windows95, and Windows 2000 (thus far) appears to have only succeeded in compounding the rat's nest nature of NT security and network administration.
On a side note, Microsoft keeps screaming "freedom to innovate", but they haven't had any real innovation since 1996.
If I worked the way Microsoft works, my career would have peaked at age 23 (ready to retire anyway), and would have spent the following years just "riding the wave" to a watery grave.
Or is it just me that can't stand to see people, particularly high-profile people, taken in by M$'s propaganda?
/Security and convenience are mutually exclusive./
Uncle Sam sent me to the Persian Gulf, and all I got was this lousy Syndrome!
dropped legacy tech
Introduced DTP, DTV, iie1390, etc.
and more
over what MS has done any day
tcd004
Have you been to wwink's BLOG?
Microsoft actually gets kind of bad rap when it comes to innovation, and they really don't get pegged for where they really do screw up.
I would say that Microsoft's goals for their software are very ambitious. Backward compatibility is given a lot of priority, which is what leads to the instability of Win/98. However, the miracle of Win/98 is that it works at all, considering the huge amount of hardware variability that it needs to work with.
Give Microsoft credit for attempting to creating an object-oriented operation system, while trying to maintain compatibility with the past. If you look at the internals, there is a considerable amount of power in their object methods.
Now the bad part: Microsoft is very ambitious is what they are trying to do. The trouble is that they have been poor at actually pulling it off. The unreliability of Windows is directly tied to over-complexity of what they are trying to pull off. I think if Microsoft actually slowed down a little bit and put a little more thought into what they're doing, instead of just "growing" the software and ending up with a rat's nest, they would be a lot better off.
On the hand, an argument can be made that Microsoft has succeeded because they don't dry-dock their software forever. They get it out into the world ASAP so they can get maximal amount of feedback (somewhat similar to "release early, release often"). Granted, releases have often been late (ala Linux, I might point out), but they get into the hands of Beta testers very quickly. And no one listens to their customer base like Microsoft.
I detest working with Microsoft's APIs because there is clearly so little engineering thought put into them. However, it's undeniable that there is a lot of energy and enthusiasm put into them, if you know what I mean. Microsoft is a very ambitious company when it comes to trying to include advanced technology in their products, with a friendly face. Far more than Apple, I might point out, who has taken 16 years to give us preemptive multitasking (technically, they still haven't, of course).
--
Sometimes it's best to just let stupid people be stupid.
I can see the fnords!
Christopher -
Which of these systems do view as being non-Unix, and which of them are the most interesting which have potential to bring new innovation?
As for your sig, I still think it is a Unix bigoted quote because (a) it does not read "Those who do not understand (some other system) are condemned to reinvent poorly", and (b) it asserts that Unix is the be-all and end-all of OS'es (i.e. that all OS'es will end up wanting to be like Unix).
I'd say that Unix is extremely well understood by the OS development community. Considering every successful OS is Unix based, it seems the problem is too much understanding of Unix, and too little understanding (or even exposure to) anything else.
Windows is a shell running on DOS. Digging around in COMMAND.COM reveals the text DOS 7 (or 7.1 for 98). Even Windows 2000 is a shell running on top of a beta version of a DOS clone. Windows NT is what Microsoft did with OS/2 after they and IBM parted ways. It is based on version 1 of OS/2, which was basically a rewritten version of DOS.
The history of DOS traces back to something called Quick and Dirty Operating System: a CP/M clone. CP/M was a simplified Unix for home computers. It shares the Unix devices. If you know where to look in the Control Panel, you can find you C: drive refered to as /dev/hda. There's no innovation in Windows. Just stolen concepts and hastily added features few people like.
The innovation is Linux. It may be a Unix clone based on old ideas, but how much of the Linux kernel (which is all Linux is, really, a kernel) is code from AT&T, BSD, Minix, or anywhere else? Yeah, that's what I thought. And how much code in the GNU tools is taken from AT&T or elsewhere? Yeah, that's what I thought, too. So we have a reimplimentation of Unix based on new ideas. Old concepts reborn in new and different ways. Look at the new /dev structure. That's different.
Linux is innovative not because it uses new ideas, but because, unlike Microsoft, it uses artful and elegant code based on a new model and a new view of old ideas. I might even call BSD innovative: there are a lot of old ideas being turned on their heads into something new and wonderful over there. OpenBSD isn't something AT&T ever thought up.
The true innovation is where the old and new meet. Old ideas and new uses for them (the Linux kernel), or new ideas and old uses (such as the unified server in XF4.0).
As for the excitement, well, which gives more of a raw thrill: watching Windows 98 tell you how great it is while it copies files, or compiling that beta kernel?
Maybe the new and the old are meeting in Windows, but it doesn't improve it. When they come together in the Linux and BSD worlds, it creates something artful and exciting. And that's where the innovation comes in.
it's green.
When the power of home PCs becames sufficient to run decent operating systems : e.g. Linux. Then the range of possible researchers would expand dramatically. All those CompSci graduates could then go home at night and work on some good idea, bring in a few friends etc. Add the Internet and the whole process accelerates dramatically. If you can also make some money out of it then you could start a company and implement the research as a product.
In this scenario, many research centers would find themselves less productive. Mainly because they now have so much competition. There are plenty of smart programmers who don't work at research centers, but who with little trouble can get a linux system (or even a Windows one I guess) to work on. And all you need to publish is a web page and a mention on Slashdot or a spot on Sourceforge.
Peter
Bitter and proud of it.
"... That probably would have sounded more commanding if I wasn't wearing my yummy sushi pajamas..."
-Buffy Summers
Goodbye Iowa
"Lightweight" threads mean NO SYSTEM CALL TO CREATE THE THREAD. Last time I checked both NT and Linux used a system call. Much work has been done on lightweight threads, particularily on Solaris, which really likes them. All other research I have heard of is on various Unix systems.
Personally I think lightweight threads are a mistake and that the NT/Linux solution of trying to make the system call lightweight is better. Lightweight threads require non-blocking versions of *all* system calls, which seems to be a real annoyance.
Take a look under DEC in the Win2k hardware compatibility guide. You'll find 2 FDDI cards and little else.
Hands in my pocket
But you seem to forget... Al Gore created the World Wide Web... it's an integral part of his Internet that he created while being a junior senator a long time before 1990.
Wheeeee
With all due respect to Mr. Pike, I think this is a case of old-school mentality. Like when your parents claim that Elvis was the last real music, and complain that that horrible stuff on the radio "isn't really music, it's just a bunch of noise".
Systems software, in the sense of low level API's for controlling disk drives or performing DNS queries, has been solved... it's down to boring implementation and tiny incremental improvements. And I say Hooray for that. Do you want to write that stuff?
But as far as I'm concerned, systems software encompasses everything that supports the top level application. When you look at it that way, there are all sorts of exciting things going on with application servers, Java, object models, and so on.
All of that stuff will be just as critical for tomorrow's applications as the "Read Sector" API.
So I say development of systems software hasn't stagnated or died, it's just moved into new areas and new challenges. Like modern music. And I think that's a good thing.
-b
If I wanted a sig I would have filled in that stupid box.
That's a lot of name calling from an AC :-)
MS isn't much on actual inovation. They are good at reconizing companies that have inovative idesa. Take for Example Windows. One of the biggest reasons Win95 was accepted was the "inovative" TCP/IP features. All that Dial-up Networking Jazz. Problem is, most of it was bought from Shiva Corp. Rebranded as Native MS product.
You don't have to be smart to make smart products. You just have to reconize where your products suck, and be willing to throw some cash at the problem.
Thank you for your insightful comments. If I had moderator privledges I would moderate you up one for offering such constructive criticism. All in all my life and future posting behaviors have been enriched by your swift and apt "dummy" judgement.
You are the master, teach me your wisdom.
For innovation to occur ideas must be had. It may well be the case that a lot of recent innovations have happened in the commercial sector. That is simply because the people who had the ideas were working in that sector.
There is nothing to stop people in the academic sector having ideas. In fact, if anything ideas in the university setting are more likely to be approved and pursued, as commercial value does not neccessarily have to be proven.
--
Listening for the sound of the coming rain...
One peice of logic I have to very strongly disagree with. Comparing Microsoft in 2000 to Microsoft in 1990 is completely bogus. Try comparing Windows, in either 2000 or 1990, to Unix in 1990. Microsoft managed to "innovate" from a 1950's era OS theory-wise up into the mid-80's. Try again.
Mr. Pike also doesn't seem to like backward compatibility, either- either through protocols or through API interfaces. Maybe it'd be nice to throw everything out and start from scratch- but there is a huge cost to this as well. One could argue that backwards compatibility is the difference between a theoretical success and a comercial one. This isn't to say that theoretical successes aren't important, just that they don't automatically turn into commercial successes.
I do agree that OS research is pretty much dead, but not because it's been killed by the horrid evil commercial companies, but because the problems have been _solved_. It's not the only one, either- data base design, numerical analysis, parsing and lexical analysis, and fundamental algorithms are also pretty much solved problems. Hey, haven't seen a sorting algorithm in a couple of decades- I wonder where all the innovation has gone? CPUs have gone from 1MHz to 1GHz, why haven't sorting algorithms gone from O(n * log(n)) to O(n), or even O(log(n))?
Math disciplines die too. The (IIRC) fifth international conference on Information theory back in 50's (you remember, Claude Shannon and that gang) was canceled because no one really had anything new to say. The problem got solved, move on to a new problem.
We're seeing this in OS theory as well. Remember the classic Tannenbaum vr.s Torvalds debate? What Tannenbaum missed was that, although theoretically better than monolithic kernels, in practice microkernels didn't have any signifigant advantage (or, rather, had disadvantages to match their advantages, and the successfull OSs would be "middle of the road" OSs with some features of both). Microkernels were the last gasp of the "Real Man" OS Theorists. It fizzled.
Rather than viewing this as a failure of research, I'd consider this a success. Congratulations, guys, you've solved the problem. Now go on and start trying to solve another one.
I'm not resisting "non-UNIX" things for the sake of them not being UNIX. Your conclusion that I am promoting "doctrinaire orthodoxy" comes from only half-reading the signature.
The point of the signature is that if you don't know the "orthodox," you are unlikely to do anything better than to merely replicate many of its features, badly.
It is also pretty fair to say that:
I think there should be a richer set of systems software research going on; people should be trying out EROS. People should be trying out And Hurd.
There should be work going on to provide OS environments supporting:
Some of them will surely fail, and that's OK. Some of them may succeed, and that's a good thing.
One of the steps to allow people to actually learn from getting into system designs is to actually understand the systems that have come before.
In that light, it is not doctrinaire orthodoxy to consider that...
If you're not part of the solution, you're part of the precipitate.
BeOS
You can't tell me that BeOS is not INNOVATIVE on the SYSTEMS RESEARCH level.
Want another word? How's Crusoe? The Crusoe *systems software*, by what it does, is probably the most innovative thing out there right now.
Innovation, lets not forget, is the application of existing inventions to solve new problems. Innovation is not invention.
The wheel hasn't changed much in the last several thousand years either.
-- What you do today will cost you a day of your life.
Software has a long ways to go to become better... yes you don't need more features in Word, but hell... the damn thing could run faster, load faster, etc... lots of software needs refining, and tasteful simplification. I wish I had half the features in word in something that felt like notepad...
But why the heck has linux be like that, it's unix, that doesn't do stuff like M$ does. When it runs, it runs. Period.
Many of you guys probably read the discussion between Andrew Tanenbaum and Linus, and Andy cliames linux to be obsolete. Concidering the OS know-how this guy has, he's got a point. Would your point of view be that of his. Well then you would have a point there.
This guy is doing research. M$ doesn't. Well, it builds a buggy computersystem that, so they were told by their marketeers, would be userfriendly(don't laugh) so it the sales would be better.
All a degree tells me is that, at some point in your life, you had more money than knowledge. Letters after your name don't mean squat. Tell, me, bitte, Herr Einstein, what university did Thomas Edison attend? Just what degree did he have? You elitist swine that think having daddy send you to the university for a few years makes you intellectual super-men just make me sick. Let's see how far the book learning of some Harvard grad gets him in oh, say, Compton, vs. the street smarts of a local kid. Any takers?
Didn't think so.
...is trolling! C'mon, people, you've been on /. long enough, you should know a good troll when you see one!
// zyqqh
Name one fundamental _technical_ innovation made by open source in the last 20 years. (and, no, KDE is not an innovation, it's just a rip-off of Windows)
Personally I don't see much difference between Linux now and Linux 1990 except for the obvious advancements that all OS have.
Considering Linux wasn't around until 1991 (where it "debuted" as v0.02), I'd say the difference between Linux 2000 and Linux 1990 is essentially infinite.
I droped Linux in 1992 because it could not keep up with my needs as a System Administrator (and I got money to spend on Solaris).
Considering that the 0.02 kernel was released in 1991 and the 1.0 kernel wasn't released until 1994, if you were trying to use Linux in 1992 in a System Admin capacity, you are either in desperate need of being taken out back and shot for being a moron, or you are lying.
Anyone in 1992 who traded a commercial UNIX for Linux deserved what they got.
Ted says, "Science is a punctuated string of 'eureka!'s, spaces apart by periods of dull silence." Well, almost. Scientific discovery is a strange and interesting system. Major breakthroughs might come from seemingly nowhere. There might be a definite chain of events. Just as common, though is for a breakthrough to be made but not recognized or appropriately utilized for some time. Generally the person making the "re-discovery" is credited with the creation of that thing. (This is the reason my opening paragraph was a good lead-in.)
Quite often, and this seems to be especially true in the computer science arena, a discovery or strategy will be discovered and/or used by a small number of people (as few as one) and then, inexplicably "incubate" for years before the combined "eureka" of a more significant group of people. Also, quite often, a set of seemingly unrelated discoveries are made that are only later combined to produce something truly interesting. (Transmeta's Crusoe for all the pseudo-hype being thrown around here is really just an example of this.)
So, I ask you, where along this chain does "innovation" happen? I choose to believe that innovation (literally -- according to Mirriam-Webster -- the introduction of something new or a new idea, method, or device) includes not only the creation of completely original ideas and methods but also the creation of new combinations of existing tools and/or components. I think it further includes realization that an old idea has interesting implications and uses that weren't explored fully before.
Using my definition/connotation of innovation, Pike is right that Microsoft has been very innovative. They have recognized good ideans and combined them with others to create new things (intentionally many times and many times not). Others are also right that the companies and individuals who orignated the "components" Microsoft combines are being innovative.
As a conclusion, I ask the following: If innovations are often not recognized as such when the originally happen, and if much discovery takes place as the result of combining (or re-combining) seemingly insignificant, pre-existing things, can anyone claim to know whether innovation in any arena is really dead as opposed to just lurking?
--- but I don't want a "sig".
But what did MS do with all that talent they hired? Cutler gave them NT but I don't think the infamous picture of him with the bottle of booze on his desk or his reputation for a terrible temper were exactly signs he was well utilized or happy. But maybe that is just his style.
What did they do with the Mach stuff including built-in distribute object and object message stuff? Nothing really. DCOM just recently (COM+) manages to even address fundamental aspects of such like distributed dictionary problems.
TP expertise? Where the heck did that go at MS? Into MTS? Don't make me laugh.
Compiler experts? Well, counting method completion and on-the-fly compilation snippets, how much innovation has been done there by MS? The C++ compiler is reasonable but a series of incremental fix-ups rather than any real innovations I see. The link-editor is straight out of the early 80s. The include file handling is similarly primitive and no, their precompiled headers if anything made things worse. Where are reasonable innovations like source code analyzers that produce multiply viewable and browsable takes on the structures of systems? The meager stuff that you get only once everything compiles if you turn on the right options is a bad joke.
What else? MS Repository? A half-way useful idea implemented as a total toy. I spent a few months rewriting part of it to make it remotely useful. Most of my questions to MS met with shrugs or vague promises of adding some simple feature that should have been there from the beginning (like OLE DB support) some number of months down the road.
XML stuff? MS has done some decent work on driving various XML models for different domains. But I am paranoid they want to own those domain's communication channels and own the XML tool space itself.
UML support? The Visual Modeler is a badly scaled down Rational Rose clone built for MS by Rational. It is a toy for feeding the Repository toy. It is talked about being tied to development environments but only so far in very rudimentary ways.
New programming paradigms? I hear rumors but I haven't seen anything real.
So where is the beef? Did they buy up the talent to do something good with it or simply to neutralize possibly dangerous competition? In general MS ticks me off because all that wealth is being used for so very little to really advance the state of the programming art.
Microsoft hasn't been innovated since it invented the browser (oops!), no the office suite (oops again!), the GUI, not hardly, the file server, not that one either, ah, e-mail, no, transaction services, nope, ... Ah the Word processor, nope, the spreedsheet, not! That would be Visacalc. How about the presentation application , oh ya Harvard Graphics. Media streamer, no, Real did it first. The mouse, no they didn't do that either. the PDA? Not even! What about DOS? Oh yea, bought that one too didn't they. Is there even one core product on the Microsoft line that is an original Microsoft innovation? How about the flight simulator? Maybe they did that first. No I think the Airforce and Atari beat them to it. So, in exactly what way are they innovative besides finding new ways to bastardize someone elses innovative ideas? And before you go claiming NT is some fresh new innovation, you might what to dig around a bit. I seem to recall that it is actually built on chunks of old VMS leftovers.
"He who sacrifices beauty for efficiency gets what he deserves." - Bernard Mickey Wrangler a.k.a. the Woodpecker
This is completely silly. its like saying there is nothing left to invent.
But there is a point to it, way to much software is written in a very conventional ways. if you can use one word processor, you can use them all. the same goes for a lot of software.
The main problem is that most software developers try to write software that is easy to learn, and the easiest way is to make it look like other softwares.
I work in the hi-end 3D graphics world where a software license can cost you more then 10.000$ and this means that you don't mind spending a few extra 1000$ to train you staff, just to get them to work more efficient. This means that company's like Alias|wavefron and Avid can create software that look drastically different and works in very different ways then you may be used to, just to gain a little efficiency.
I hope the the Open source community can stop copying and start creating some really innovative new types of software.
... and you fail to see that development entails further research.
Ever written a big program? Did you think of the optimal solution for everything in the first implementation?
More likely you'd find that you run into interesting subproblems and areas that could use later improvement. This is what's been going on with Coda, and many other systems projects.
The only innovation between 1990 and 2000 was at Microsoft? Wasn't there a little thing called a "browser" invented somewhere around there outside of Microsoft?
The cake is a pie
- Network interfaces are not files
- While
/proc provides access to pieces of processes as if they were files, that's largely read-only - Graphical device drivers don't provide a file-oriented abstraction
And there are probably some other things here.I agree that introducing more better asynch processing would be a Good Thing; that doesn't forcibly mean moving to a different OS, when there are such options as:
- CORBA Messaging Service
- Message Queueing systems like MQSeries
- Isect
I guess the point here is that if it is an effective strategy to add an additional interface to UNIX, then that's likely to be more productive than starting from scratch.I disagree somewhat that C++ has provided substantial improvement (I could disagree more strongly, but will avoid flame wars on this!), as it has the problem that there is no ABI definition for it. I agree that moving to a different language, providing additional abstractions, is a direction towards innovation.
The problem, as I see it, is that, if you use C++ (or C), what you've got is a hammer, and everything looks like a thumb.
I'd rather see an attempt to build those "bigger and better applications" atop more dynamic languages, whether:
- Lisp (or variants thereof)
- Modula 3
- ML (or variants thereof)
I've been doing some CORBA programming, primarily targeted at the C mapping. It is a quite horrible mapping; I'm prototyping in Python, and finding that works generally acceptably, and the mapping is vastly cleaner to work with. I expect the same would be true for Lisp, Scheme, and ML mappings, all of which considerably simplify the frightening amount of effort surrounding memory management that both C and C++ thrust upon the gentle programmer.If you're not part of the solution, you're part of the precipitate.
here's what the deal is - we've got an acceptable platform for end users (windows), and a couple of acceptable server platforms (UNIX's, NT, etc)...
not that they're GREAT.. or the best... its just that they're "good enough", and noone wants to spend time reinventing the wheel...
They'd rather make a program to run on the wheel and make lots o'money without having to start from the ground up.
... hi bingo
Ok -I'll admit 'innovation' sounds more exciting, but it seems to me that what the general public gets excited about is the refinement of 'new' technologies -MP3, Voice over IP, desktop PC with simple UI's... In general people want things that they can use simply -this is MS's big 'innovation' -'refinement' of existing technology-
I hardly think that this means the art of research is gone- there will always be wild-eyed geniuses that create things that are truely new, just for the love of it (not the 'market' of it). This is the way it has always been.
-
air and light and time and space
The thing is you have terribly low demands for what an OS should do (no offense intended, of course). If indeed you are going to ask for thirty-year-old Unix, then thirty-year-old Unix is what you are going to get, and that can very well be written in C (as has been proven several times over, now).
Hint 1: Delphi, VB++ and so on are not what I consider high-level languages. Think Scheme, OCaml, SML/NJ, Mercury, Erlang, Dylan, etc. These are true high-level languages.
Hint 2: If you see anything on your system that looks even remotely "binary", your system is 30-years old. Before theoretical computer scientists invented "semantics".
I'm not aware of any modern computer architecture that is not based on the good old Von Neumann model, which dates back to (at least) WWII. If you want to do somthing really innovative, think up a whole new model for computing machines that disregards all existing preconceptions of how a computer should work. Surely the Von Neumann architecture can not be the only possible way to design a general purpose programmable computing device.
"The axiom 'An honest man has nothing to fear from the police'
Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
Apple with OpenDoc. Don't know if they invented it -- I wonder if it was an outgrowth of their Pink experiments with IBM -- but it had the same functionality earlier. Most famously implemented in the CyberDog web browsing suite.
although some of the more recent additions (that fscking PAPERCLIP!) have added far more bloat than is necessary IMHO.
Okay, you got me on this one. I sat down at my stepmother's computer, opened up Word 2000 -- I was visiting them for the weekend and had some work to do -- and the paperclip had been replaced by a sleeping cat. Apparently, the Office Assistant can now be represented by a variety of other little figures. My dad has Albert Einstein, for instance.
I'm reluctant to give M$ credit for innovation here but the cat really was just unspeakably cute. Made me want Office 2000 just to get the cat.
-- Support Ometz le-Serev.
I can speak to the Transaction Processing expertise. MS SQL server 7 (by informal accounts a 95% rewrite of 6.5) is incredible. For core Relational Database stuff it's arguably the best on the market and the core tools kick the pants off anything else out there. Not all of the bells and whistles are there, but give it a couple major releases (and Win64 servers) and there could be a lot of shakeup in the market.
We use SQL 7 heavily in our group and have some people who have used Oracle and Sybase, and they agree.
Henry Fnord
I tond to agree with many a thing sad in the article. But what seems to be missing is that in the Micrsoft only world the research is done by Microsoft for Microsoft. The fact is Microsoft has an enourmous research lab and half the research that would have made a big difference never made it into a product "bean counters".
What is imoprtant to remember in the linux world is that the base system is alread there. It's open it's available. When doing research on new way of impelementing speading up optimizing. The biggest problem is to first build a system that you can do your research on eg. Issolate and meassure.
Although many of the thing in the Linux kernel is not novell some are. The important thing here is that a researcher has base to work from replacing parts of the system with better ways of doing things even meassuring different way to do eg. Scheduling by just adding and removing different models.
Linux allows for this not just in the Kernel but in things like GUI design.
This sounds stupid but this one of the main advantages I see in Linux. As far as NT and inovation goes. The ideas might be good but the implementation seem to be a bit lacking.
Linux in terms of kernel is still young. But it's growing fast. Linux have been playing catch up for some time now. Once it's past that stage I think that the inovation (which can be seen in some product already) will start to came fast.
Free Software is unfortunatelly the only way to kick start the Software industry.
(Comments about seemingly squandered talent elided...)
I think there's likely a bit of both.
If Microsoft could turn the high-powered talent into products to make Gates a trillionaire, that would be a "good thing" (from his perspective, at least). And if Microsoft can deny others from benefiting from their talent, thus preserving the "hegemony," that is worth a lot too, at least to them.
If you're not part of the solution, you're part of the precipitate.
As an ex-Amiga user, I find that many of the "innovations" of microsoft are only innovations with respect to their own previous product line. I'm sure many mac and UNIX people feel the same way. (Beleive it or not, many amiga people simply assumed versions of MS windows prior to 95 had pre-emptive multitasking, simply because it was such a trivial feature of a usable system in their eyes, the amiga having had it since 1985. Many were thus very surprised when MS touted it as a big new feature of W95, similarly with the multiple clipboards of Office 2000 - the amiga having had them since 1985 too...)
Anyway, my point is Microsoft does not innovate. It brings other people's innovations into the mainstream. It is a "close follower", not an "innovator", no matter what their PR dept. say.
Also, I'd hardly say systems research is dead. EROS is a very promising pure-capability GPLd OS, Atheos was recently mentioned on slashdot, Exokernels are still in development, The Tao/Amiga Enivronment is new, and ground-breaking system.
If you ask me, Mr. Pike is either hopelessly out of touch or just spouting the MS line for money...
IMH^HO
GNOME is hardly the crowning achievement of linux. sure, its real pretty, but its hardly the crowning achievement of linux. Apache is the crowning achievement of linux, by far. Apache has gotten SO many people interested in the open soruce community; so many people interested in linux. GNOME is something that existing linux users want. don't get me wrong; it's nice. if i didn't dislike GUI's, i'd like it a lot. from what i've seen, its very stable, very pretty, and user friendly.
Apache has been the best recruiting tool for the OSS community to date, and, is, in my mind, one of the best pieces of software (OS's are not included in this comparison... apples-oranges and all...) i've seen. ever.
Think that was flamebait? You've obviously never met me in person...
$email=~tr/.@/
Take a look at K42 for instance. It is the next generation of a system called Tornado which beat systems like Irix not only in scalability, but also in raw performance.
You think 32 processors makes your program run 32 times faster? Programs not specifically designed for scalability may typically run 5 times faster, and if you're not careful with cache coherence, it could be 100 times slower than on a single CPU!
There are plenty of system-level questions left to answer.
--
Patrick Doyle
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
You said:
"...no Unix is comparable to Windows in terms of usability."
I provided an example where your assertion doesn't apear to hold true.
--
-Rich (OS/2, Linux, BeOS, Mac, NT, Win95, Solaris, FreeBSD, and OS2200 user in Bloomington MN)
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
But what is worse? Hindering the innovation of a single company or allowing that company to squash several innovative companies.
Sorry, it's a bit off topic but it's my main point in my ms-rant.
Anyone though about the new Mac OS X ? or the Crusoe and its new architecture ?
Otherwise, its Nail on head time :-)
I'm just finishing my thesis (in machine learning), and what am I using to write it -- TeX and Emacs. (Anything is better than Microsloth Word...).
I'm not a Systems Research person, but I definitely have been feeling the same way - when is something truly exciting going to happen in Comp Sci ? The first burst of the web, in the early 90s was truly a "wow" time... now its just truly staid again. I think maybe I'm just a jaded AI/Software Agents researcher though :)
Before Einstein people thought there was nothing more to be learned about physics. The future of computing will be with quantum or biological computers (probably quantum in my opinion) and these will create the need for totally new kinds of software systems. Perhaps software for silicon is old but we won't be using it for much longer.
The first Microsoft product I remember seeing was "Olympic Decathlon" for the Apple II. Did another company make this? It was actually pretty fun if I remember right. I think I still have it somewhere as a disk image you can run on a Apple II emulator....along with the original (and awesome) "Castle Wolfenstein." I miss those days... Remember Beagle Brothers?
WWJD -- What Would Jimi Do?
(Smash amp, burn guitar, take home the groupies)
Things people should be trying out include:
- VSTa
- Hurd
- MIT Exokernel
- SpinOS
- OSKit
- EROS
- Some variation on Wirth's Oberon systems
Several of these are pretty UNIX-like, albeit taking some extra "twists," while others are distinctly not like UNIX.Even if you look at these, and go back to a UNIX-like system, there is benefit to seeing the extra abstractions they offer.
If you're not part of the solution, you're part of the precipitate.
Since then, MS's areas of innovation have been limited to tricky licenses, FUD, and lobbying for truly evil laws to be passed. I applaud them for their fantastic rate of growth and stock rise. More importantly, I applaud them for kludging out such fantastically bloated software that the mass consumer market is willing to shell out tons of cash to increase PC power just to run it... 'cause non MS stuff really flies these days :) thanks billy boy also for creating a stupified atmosphere where i can get a job in IT just because i know those three magic words...
winipcfg, ping, reboot.
I think saying Microsoft is an innovator and has improved the most in the last 10 years is not an understatement. Microsoft now has onee of the largest R&D Departments in the industry and every year there products advance. Personally I don't see much difference between Linux now and Linux 1990 except for the obvious advancements that all OS have. Linux is good for the Open Source model but that is it. I droped Linux in 1992 because it could not keep up with my needs as a System Administrator (and I got money to spend on Solaris).
IRTechnocrat
The most talented academics are all researching things like distributed systems and personal networks. Real systems stuff seems to have gone the way of the dodo. The closest you come these days are for high-performance and parallel computing. There's neither money nor interest in desktops any more. Its a shame, but thats the way it is.
Linux IS stagnant. It is a pile of stuff loaded on to someone's personal project to duplicate a Unix-based OS.
Microsoft, while they are an easy target because they maintain so much backwards compatibility (they have to, their customers cannot re-install Gnome every time someone breaks binary compatibility) has innovated. They have created new object models (even if they are a bit clunky). They have come up with several different database APIs (some clunky, some not, but all useful in one way or another). They have actually produced things.
Apple's work with Aqua/Quartz and their new UI design (even if it is pretty much just NeXT Dock 2000) shows interesting appliations of vector-based graphics and hardware accellerated image transforms to do things like curve windows along an arbitrary path and handle transparency in ways that work effectively.
BeOS provides an object-oriented API that is easy to use. It provides a media kit and translation API. It has a team/thread archetecture and port/semaphore system unlike any other OS (other then AtheOS, which is merely a parroting of BeOS).
The first Unixes were innovative. They created multiuser APIs, file-based driver models and IPC methods, and workd. Linux is just the same old stuff with more hackers, less progress, and a different license.
Even the HURD, according to its home page, is a collection of servers that run on the Mach microkernel, and by its own admission, is designed to provide Unix-like features for the underlying microkernel. Parroting the work of others is not innovation--it is masturbation.
-- Speaking for myself.
Frontpage, their web browser and most of their stuff has been assimilated not inovated.
send flames > /dev/null
Only 'flamers' flame!
Generic Programming (STL & others), pervasive threading (HEP, Monsoon), Standardized C++, Processor-in-memory architechture, Quantum Computing (QCA, true quantum computing), Clustering (Beowulf), Message Passing (MPI), OpenMP, Virtual Interface Archtechture networking...
These are just books and papers I have sitting on my desk Right Now. All of them are advancing fields of research which are being advanced signifigantly in government and university research.
I think his pessimism is overdone.
Most 'new' OSes are just UNIX...on the surface. UNIX is just an interface really. Below the surface there is a lot of innovation there. Look at microkernels, OSes like Plan9 or Inferno...
True, academic research may not produce stunning end-user apps or visual interfaces, but that's because those are by definition marketing-oriented products which take a lot of surveying and preferance finding.
Who am I? Subscribe and find out
See Rob's home
http://www.cs.bell-labs.com/cm/cs/who/rob/
for some other nice stuff. Abovel all, see
http://plan9.bell-labs.com/plan9/ and
http://inferno.bell-labs.com/inferno/
to see what he consideres relevant work in systems research.
Personally, Rob is my greatest, and only idol, and I feel Plan 9 just solves all the problems of the world elegantly.
Anssi Porttikivi / app@iki.fi
Well, this adds to my belief that Graduate study in Computer Science is a waste of money and time, especially in these times when you have a computer at home and can do your own research without the need of spending a large amount of money to buy a degree at a college or university. Do you really need an MS, or PhD in Computer Science when a 19 year old kid is able to revolutionize the net and scare the hell out of multi-billion dollars corporations?? Do you really need an MS or PhD in Comp Sci to get a job doing VB or C++ or Java?? And God forbid that you don't have those skills! Otherwise you will find yourself doing Usher jobs at your nearby movie theater :))))))
>Name one fundamental _technical_ innovation made by open source in the
>last 20 years. (and, no, KDE is not an innovation, it's just a rip-off
>of Windows)
Not listening to people like yourself. That's why open source software running on open source operating systems pretty much won't be plagued by things like ILOVEYOU viruses...
> Something like the Windows desktop, which was the first truly object oriented
> desktop, was extremely innovative.
As the previous poster said, OS/2's WorkPlace Shell (a heavily-SOM-based OO desktop) predated Windows 95 by at least three years (OS/2 2.0 was released to the public in the spring of 1992).
> If you were using computers prior to 1995, you would know that before this
> everything lived in a separate hierarchy, and had an inconsistent interface.
The MacOS arrived on the scene in 1984. All of its software components used consistent dialogs and GUI elements, and the whole was extremely standardized.
On the PC, the PC/GEOS environment presented PC users with not only a standard interface, but a set of standard application functionity objects (a spellchecker object, a bitmap toolset object, vector graphics toolset object, etc) that coders could use to add standard functionity to their programs.
Microsoft is a Johnny-come-lately in the GUI consistency arena, even on Intel hardware.
--
-Rich (OS/2, Linux, BeOS, Mac, NT, Win95, Solaris, FreeBSD, and OS2200 user in Bloomington MN)
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
Werent pysicists saying in the early 1900s that we'd "just about" figured out all of physics? That physics research was done? Haven't we heard the same thing about mathematics? It's completed except for a "few outstanding problems".
The only issue is... The solution to those problems opens whole new areas in their field. Science isn't a gradual progression of greater knowledge. Science is a punctuated string of "eureka!"s, spaced apart by periods of dull silence.
Why should computer science research be any different?
-Ted
Many of the pages look like Haiku; almost no content.
/.ers
Insult
Say Haiku have no content
You are a bad boy!
Check out all these OS projects out there. Yeah, a lot of them are *nix based but some of them are clean sheet designs. http://www.cs.arizona.edu/people/bridges/os/distri buted.html
I drank what? -- Socrates
I can't say that I've been using Microsoft software constantly for the past 10 years (which is wny blue screens don't plague me in my dreams^H^H^H^H^H^Hnightmares) but I have used it off and on enough to form a general opinion about new and existing software.
Most new software that's been released has been done in an attempt to compete with an already existing product. For example, MS Money was released to compete with Quicken and Outlook was released to compete with Eudora and Lotus Organizer (it always struck me as a combination of the two).
As for existing software, much of the attention has been given to adding more features and integrating them with other software. Was MS Office around in 1990? Nowadays you can take a spreadsheet in Excel and link it with a Word document that's going to be sent to multiple persons in an MS Access database via mail-merge. I'll give kudos to MS for adding this functionality (did someone have it before them?) although some of the more recent additions (that fscking PAPERCLIP!) have added far more bloat than is necessary IMHO.
For both new and existing software, Microsoft has been trying to make their software easier to use although the approach they take is more akin to copying whatever Apple or IBM (OS/2) is doing rather than attempting to come up with something new.
In short, Microsoft is fairly good at integrating existing ideas into their products, but not very good at coming up with new ones.
Cheers!
So I guess Microsoft has been working hard, but if it was working so hard, then why does my dam machine with Win98 on it lock up all the time. What's that about Bill?!? And I'd def have to say that Linux isn't the same old stuff! Plus, it runs a hell of alot better than some other OSs (to remain nameless).
Are you claiming that Linux gave us the web, streaming media, voice recognition?
What about all the highly visible changes that have been made in the last 10 years. 10 years ago, in the unix world, X11 had only recently been released (and it was a big improvment over X10). Now, huge desktop environments are "standard" installation pieces for most shipped unix systems. See CDE, VUE, KDE, Gnome, etc for example. Only in the last 10 years has a unix box entered the true desktop level arena. There is no way I could have gotten my wife to use unix 10 years ago. She uses it daily now.
The next site to slashdot will be ready soon, but subscribers can beat the rush and start slashdotting it early!
Of more interest but rejected by slashdot is the story of how Microsoft has frightened virtualdub into removing its reverse engineered support for the asf file format. MS got a patent on its asf file format you see. Now if they do the same for the next release of their MsOffice package or SMB you can kiss interoperability goodbye.
I sometimes write stuff
Cases in point:
But don't worry. All that academia has found out lies preserved in the temples and it will be rediscovered. It will just take time.
As for CORBA, the idea of language independance is an oxymoron. Basically they require huge amounts of binding code to connect to huge amounts of middleware code to connect to other huge amounts of binding code. Where has the idea of compactness and beautiful simplicity gone??
John
John_Chalisque
in the words of Gary
BTW, you did a really good job with Babylon 5.
"I'm an old-fashioned type of guy. I worship the Sun and Moon as gods. And fear them."
I believe that the article may demonstrate the fact that buyers and users of technology are moving to tested stable systems. These users of technology are sick and tired of broken promises, buggy software and bugger all accountability.
The older software delivers what is expected by virtue of it's maturity.
It has to do with getting value, not which piece of software has the most innovative interface or engine. The 70's and 80's delivered promises that were generally only half met years too late. Industry is tired of funding research and development that barely delivers on it's promises. I would imagine that you will find that funding will continue to decrease as companies wisen to the fact that (in a large number of cases) IT does not deliver what is promised.
Regards
-craig.
IE5 couldn't handle this link in the browser, had to save and view. :P
Wow, he really likes to kiss Microsoft's rear-end!
I have never seen someone so blatently brown-nose in all my life.
In a side note, it is sad to see our most revered peers become senile or start to succomb to mential illness... Every IS guy sufferes when the great ones go insane...
Microsoft an innovator.... Please someone get him his medication!
Do not look at laser with remaining good eye.
Firstly, what is a system? It is a definable entity, with a definable boundary.
Using this (loose but sufficient) definition, let us look at Linux and see how it fits in. First, of course, there's CODA. This allows you to have many computers as part of a single system, in a far more flexible way than, say, for NFS. How to get such a hybrid, networked system to work in any kind of efficient way? That's the research part.
Then, there's Beowulf. How to modify network drivers (and, if necessary, protocols) to create an efficient, high-performance distributed virtual machine? Again, sounds like research to me.
Is there more? Yes! Linux is the ideal platform to experiment with newer technologies, both where you have one physical machine and many processors, or where you have many machines networked. Because of the kernel's modular structure, you can add and remove different modules on-the-fly, testing ideas in a way that would be impossible under Windows.
Is there anything new that Linux has added, beyond the model? (Which it just borrowed from the FSF, anyway!) Yes! The aforementioned CODA is a good example. Hot-loading and hot-unloading of kernel modules is another. Linux' IPv6 stack was one of the very first for any OS, first appearing for the 2.0.20 kernel, as an extra patch.
Virtual consoles, one of the delights of many a Linux user, don't exist for DOS, Windows, or many flavours of Unix.
ReiserFS, a completely tree-based FS, is unique in it's architecture. No other FS works on that principle. Oh, did I mention it was for Linux?
I'm currently working on IGMPv3, for Linux, which will be one of the first v3 implementations for a mainstrean Unix. (I know of a few others, but not many. I doubt you'll see v3 supported in Solaris anytime in the next few weeks.)
What about other areas of Systems Research, though? Networking is dead, surely! Tell that to people working on robust Anycasting, PIMv2, queue shaping (such as CBQ, RED, ECN, RSVP, etc), any of the experimental IP protocols (IPv7 - IPv9, I think), robust MobileIP (even when ISPs are, themselves, mobile), etc.
Non-networked stuff? System Interfaces are a vital part of a system, and there's plenty of work going on there, with VR, zero-buton mice, eye-tracking, speech synthesis/recognition, OCR, etc.
Internally, there's work on automatic parallelizing of code, using Critical Path Analysis. Neural nets and genetic algorithms get a fair amount of attention, as do Artificial Life-forms. Then, there's always Quantum Computing, Optronics (such as the purely optical router), Chaos Computing (based on non-linear systems), low-temperature circuits (such as the Crusoe, which also deserves a mention as an intelligently adapting circuit, for it's ability to handle non-native instruction sets, natively), etc.
WRT kernels, we now have exokernels, microkernels, monolithic kernels and distributed kernels.
Now, you tell me that ExoPC is old-hat stuff!
Lastly, but by no means least, SETI@Home, distributed.net and Cosm are moving Systems Research forwards in a way that no other projects in the history of computing have even dreamed of. And this is supposed to be the end of the road?
(Only if "road" means a bumpy cart track, in a rickety wagon pushed by Ivory Tower professors and paid for by Big Businesses eager to NOT get results before their cash-cows were milked dry.)
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)
I think that Microsoft deserves a strong measure of blame for a dearth of systems research.
... Microsoft never provided any useful tools.
I'm 32 years old. I started programming in high school on a PDP/11 at the age of 16. The operating system came with a BASIC interpreter, but more importantly, an assembler and linker. I was able to start writing machine language programs. I moved on to the Apple II. The core features of the Apple II were the monitor, assembler, disassembler, and BASIC interpreter. Using an Apple II was an open invitation to begin programming, and the manual contained a disassembly of the monitor, illustrating what machine language looked like.
Later, in college, I started programming on the campus mainframe. The operating system was fully documented, included assemblers and compilers, and included the source code to the operating system.
When I bought my first DOS/Windows PC, I immediately looked for the familiar tools. They were not there. There was no assembler, no disassembler, no monitor, no API documentation, no program listing. As an end user, the only thing the PC was capable of doing was running pre-packaged applications. I never learned x86 assembler, I never learned to program to the DOS or Windows APIs; I never learned to program PCs. The PC was and is a very hostile environment for the amateur programmer.
If my only experience was with DOS/Windows PCs, I doubt I would have ever become a programmer. I feel very lucky that I happened to discover computers in the narrow window when they came with useful programming tools.
The most important feature of Linux, from the standpoint of future operating systems research, is that for the first time since the Apple II, a mass-market end-user operating system contains all of the tools necessary for an end user to also become a programmer.
The new generation of Linux users is learning how to program. No surprise that the generation that grew up on Microsoft isn't contributing to systems research
In short, to a large extent Linux is a catch-up operation. The Linux community is filling the enormous intellectual void caused by years of Microsoft dominance of home computers.
To answer the article, we are at a very low point. I believe that things will get better. The teenagers who are hacking the Linux kernel are going to have ideas of their own, and for the first time since the early 1980s they will have the ability to implement them.
Back in the mid-1800s the then-head of the USPO said that everything worth inventing had been invented, and wanted to (or did?) close the Patent Office. Similiar concept here. Digital computing has only been around for about fifty years, how someone can say that the human race has perfected systems-level-research as much as we ever will I don't know. We will keep having new ideas for at least a *very* *long* time to come.
It is open source, with an open development model.
It runs (or will run) on just about any platform.
It's highly modular in design, built to be highly customizable and extendible.
It follows open standards to the letter.
So, the industry is maturing. When's the last time you saw an innovative user interface for an automobile? Do you miss that? Or take a look at the monstrosities developed during the early days of typewriters. New and innovative? Sure they were. Thank god we got over innovation in that field.
I'll bet there are still things to be done in Systems Research, but it looks like the easy stuff has been done.
TeX is the problem, because you can write a
professional looking researchpaper while totally
drunk!
So, plan 9 failed. Get over it!
-- Tov Are Jacobsen
I also take issue with Mr.Pike's statement: Mr.Pike doesn't seem to notice that he's comparing an operating system with an integrated development environment. This is the really apples/oranges comparision. IDE's can be developed just as easily for Linux as for Windows. Kdevelop is progressing and Borland is working on Linux. It's just that these applications aren't as far along on the Linux platform yet. It says nothing about Linux itself.
His point that the excitement over Linux is more in the development model may be true, and perhaps it even shows a lack of innovation, but his examples are flawed. I won't argue with statements regarding the failure of systems research (as I am unqualified), but I certainly disagree that most recent innovation comes from Redmond.
Yet, it is not even close to where Scheme was 20 years ago.
Lisp solved the same problems 40 years ago...
Ta!
I'm not trying to be unkind in that; explaining in a manner more useful than a drive-by flaming (that one's like UNIX; that one's not; that one is...) just won't do justice to them. Even the most "UNIX-like" provide some interesting extensions.
As for the quote, it's a quote. If you want to change it, you'll have to take it up with Henry Spencer. And it risks this strange thing known as historical revisionism.
If you're not part of the solution, you're part of the precipitate.
Oh yes, they did. Doesn't anyone remember DESQview? Not only did you have virtual consoles, but it multitasked!
---
How am I supposed to fit a pithy, relevant quote into 120 characters?
Ok if C is considered a low level language to you then Visual Basic or Delphi must be considered high level.
Create an OS in either one of those....
Hardware requirements skyrocket..
minimum ram (60GB)
minimum processor (3Gb Xeon P IV)
Minimum hard drive space (30GB)
Ok, I may be inflating that somewhat, but why use a high level language? all you are doing is letting the writer of that high level language write your program (that language was written in something! and it is probably C therefore your OS is written in C.) There are things we could do to Linux that could make is lightning fast if it was re-written in assembler. high level languages get things done, low level get it done well.
Also, using a low level language forces the programmer to actually write software instead of kludges.
No thanks, you can keep your OS written in lisp/delphi/fortran/basic/or anything from the horrid visual studio. I'll take something that was written well.
Do not look at laser with remaining good eye.
Again, I must go in my usual rant: is there any reason why we insist in still writing operating systems in low-level programming languages like C (or C++, which I insist on considering as a low-level language)? It may be that low-level languages are better suited for writing the low-level stuff like the bootstrap code and the immediate hardware drivers (but even then, I don't see why a high-level language couldn't be extended with the appropriate functions to do the task), but some things in modern operating systems are definitely archaic.
Why is it for example that we still maintain the memory/filesystem dichotomy? It is about as absurd as requiring that a programmer have to handle the mainboard-level cache by hand. Why is it that whenever any program wants to save data, it must painstakingly convert it into a binary representation? Why is it that subroutines and programs still have to be distinguished? Why is it so painful to have reflexivity (e.g. for user-mode Linux you have to recompile a whole new kernel, the one already in place is not reflexive / reentrant in that sense)? Why is it that for security measures we rely on hardware control (aka MMU's) rather than formal invariance proofs? Why is it that our processors are so big and bloated and distribution / (asymmetric) multiprocessoring / clustering is so far behind?
For more information about what a high-level operating system might be, I refer to the Hurd (which is high-level, but at the cost of an abstraction inversion, because it is still written in C; notice that the Hurd Really Runs), to Erlang, which deserves to be better known because it's really impressive, and to the all-ambitious Tunes project.
That certainly depends on the school.
At the college I attended, the ratio of men to women was about 3:1 and most of the women were butt ugly. There were more attractive women in my high school class than my college freshman class (which had 10x the number of people). Of course many of the guys had the preconceived notion that college was the place to meet women and were quite pissed when confronted with reality.
During my time at college I got a BS in CompSci, a BS in ElectricalEng, and watched a lot of old TV (MASH, Star Trek, etc.). But NEVER, ever did I have anything resembling even a date in those 5 years. The only thing I regret is that I spent too much time watching TV and not enough time hacking on GNU software .
the good ground has been paved over by suicidal maniacs
I agree that I was exaggerating with the NT example. But not with Win95.
Have you ever tried running the "progman" shell on 95? Try it and then tell me how different they are. About the only non-UI change from Win31 to Win95 is "true" multi-tasking--and even that is pretty weak.
--
Wanna hook MAPI clients to your Tru64/AIX/Linux server?
Linux MAPI Server!
http://www.openone.com/software/MailOne/
(Exchange Migration HOWTO coming soon)
The Web has dominated how systems present and use information: the model is forced interaction; the user must go get it. Let's go back to having the data come to the user instead
:)
I think that's called SPAM
Actually this was tried around 96/97 and it was called "push" technology... it failed miserably.
Hammer of Truth
University students, perhaps. System Administrators, Maybe. Coders, Probably.
home users, Not at all.
the mass of computer users or would-be/soon to be computer users still
fight even the friendliest interfaces of todays' computing.
obviously, what they really need is a new innovative standard to replace pop3 and happily hack into. or a new OS, perhaps. or perhaps not.
innovativeness is still out there. same as always.
perhaps somewhat harder to find within all the commercial mumbo-jumbo and frantic race for userbase...
have a look at the berlin project - trying to push windowing systems into new bounds.
EROS (a project of the academia, and one of the most innovative and ambitious one's i've seen)
and tunes, a project putting itself utmost demands.
as for the languages part, Perl is one of the newest and most impressive innovations i've seen.
it's an entirely new concept in languages, and it didn't come from a commercial company, no.
innovativeness is out there. it just manifests itself in another way.
on a sidenote, note all of these are infrastructure. coincidance?
Computing is not what it used to be in it's early days.
stop ranting about how you liked the old days and get ready to face tomorrow!
Personally, I've never before seen a "thesus" so completly devoid of content. I've seen better articulated flame bait here on /.
-- Your Servant,
Your Servant, B. Baggins
I think the final evidence of Mr. Pike being wrong can be seen if you read this Slashdot Post from yesterday. The advances in Quantum, Molecular, and DNA computing are currently in progress and as they gain steam, there will definitely be more "innovation" than Mr. Pike could ever hope for.
ReiserFS may be pretty cool stuff, but it hasn't led to really new things. There is the offer that it may allow constructing data structures reasonably efficiently via "hordes of tiny files," but nobody is really using that yet, and the "research" side of that is already reasonably well-understood.
For there to be real research out of something like ReiserFS would require that people start studying different ways of constructing (say) DBMSes by using the abstractions provided by the new FS.
It isn't really systems research for someone to construct a Linux emulation system to run atop EROS; what would be innovative would be to see what kinds of cool things that may have nothing to do with UNIX as we know it can be done with it.
The problem that he doesn't comment on, which seems to be an important flip side to the notion that Microsoft is a source of innovation, is that, during the 1990s, Microsoft did an impressive job of buying up top researchers, virtually closing down major systems software research groups:
If people started doing some substantial work on exploring how to powerfully connect applications together using CORBA, that could represent some new work; unfortunately, the tools are still maturing, and the mappings to C and C++ kind of suck, at least for the purposes of generating dynamic applications.
Remember, Pike's criticisms aren't based on some vague notion that Linux is useless or bad; they are based on the notion that it's not particularly innovative, from a systems software research perspective.
If 90% of your effort represents dealing with the same old ordinary UNIX stuff, that would be largely familar to a UNIX hacker of the 1970s, then whatever you're doing can't be more than 10% innovative. Note his comment that around 90% of the effort in Plan 9, which was one of the more innovative systems of the last decade, represented efforts to honor external standards. That's a problem.
If you're not part of the solution, you're part of the precipitate.
Rob Pike's presentation was discussed on Advogato about a month ago. I'm biased of course, but I think there are some very interesting points.
LILO boot: linux init=/usr/bin/emacs
It's even plausable to blame Microsoft (not particularly) and other Mega Corporations for the state of research in our educational system. With more research being paid for by these corporations, only research that is economically viable is being performed. I'm sure that's exciting research.
Microsoft is the biggest cause of brain drain on the educational system is it any wonder that the Universities cannot do any research or that Microsoft may some day be innovative. You give Microsoft way to much credit. There an entity to make profit and if they accidently innovate let's not praise them to much.