Bob Metcalfe on Open Source, IPv6, IETF
prostoalex writes "The inventor of Ethernet Bob Metcalfe is interviewed by AlwaysOn on current issues. Metcalfe is known for challenging commonly accepted wisdom and this time he's quite confrontational. On open source and operating systems: "If you look at Windows and Linux, both are based on 25-year-old technology. Windows is sort of a GUI version of the Mac's operating system, and Linux is of course Unix, which stems from 1968. These are both old clunkers. So the question is, Where are the new operating systems likely to come from?" On IPv6 adoption and IETF: "Back when you attended the IETF, you all looked down your noses at the ITU (or I guess it was called CCITT at the time)--the entrenched, corporately manipulated, corrupt, competent standards being embodied in IT. We were the IETF--the swashbuckling, institution-oriented, open people, the rebels. That's changed now. The Internet has arrived, and all of those people are now just like ITU: IETF has become the ITU.""
There's no doubt that Mr. Metcalfe is quite bright and has contibuted greatly to the IT world, but I don't understand this rant. If he doesn't see the innovation, I guess he's never compared Slackware '96 to today's distros, or Windows 3.1 to WinXP. Apple certainly can't be ignored here either. Where are the new operating systems likely to come from? I'm going to take a wild guess, and say "probably from the OS's of today." They don't need to be completely rewritten every few years to count as progress. Even the emergence of UNIX itself was evolutionary, not revolutionary.
It's also interesting that he clearly shows a lack of faith in the OSS community, but then digs at the IETF for evolving into elitist and monolithic organization.
Entrepreneur : (noun), French for "unemployed"
Windows is sort of a GUI version of the Mac's operating system, and Linux is of course Unix, which stems from 1968. These are both old clunkers. So the question is, Where are the new operating systems likely to come from?
.NET, and Mono are examples of the market attempting to find a way to combine modern technology with the tech of yesterday. Unfortunately, the results are less than stellar. For example, instead of aligning Virtual Memory along object bounds (a natural fit that could be done without hardware support), these systems must contend with the existing 4K VM implementations. Instead of running the protected code in a flat heap (which CAN'T break the memory model!) these systems must contend with the memory indirection that operating systems throw their way. The results of this poor matchup between machine and software is a performance penalty, both real and perceived.
I hate to break it to Mr. Metcalfe, but most entities lack the resources to do a ground up rewrite of a fully featured Operating System. Simply writing a functional OS isn't the hard part. It's just a platform upon which software will be built. There were hundreds of OSes written between 1960 and 1990. During the '90s, however, computing platforms began to stabalize. Software was written that had a greater than 5 year life span, Operating System began to stabalize on a few "standards" (namely Unix/Vax/CPM derivitives), and massive amounts of time and money were invested into developing these platforms. Now we're standing on the 10,000 ft high towers we call Windows, Linux, and Mac OS X(NextSTEP) and we're looking at how difficult it is to replicate the decades of work that has gone into these systems.
Building a more powerful and "correct" system would mean throwing away software such as OpenOffice, Mozilla, Quickbooks, Photoshop, Acrobat, etc. Software that took decades to build! Thus any future solution based on cutting edge CompSci Technology must either bite the bullet and rewrite these complex apps (good luck) or build in a translation layer that allows them to continue working. Neither choice is very appealing.
The "third road" that is currently being explored is the road of running Virtual Machines on top of today's existing infrastructure. Java,
The Virtual Memory swaps more than it should. Object files are not shared. Memory usage is 20% greater than a native program. So on and so forth.
A lot of research has gone into mitigating these issues (with Sun producing some very impressive results!), but it doesn't change the fact that the machine and software are mismatched. That mismatch discourages companies from writing new applications in these managed environments, where they would be free from the bonds of traditional OS designs.
My gut says that a rather major shift in how we use our computer will have to happen before we can truely replace the systems we have today.
I'd like to point out that two major pieces of infrastructure were left out of the Internet when it was being built--largely because it was built by graduate students (and people like graduate students). They left out security and economics. So we have the spam problem (which can be traced directly to the lack of concern for security), and we have IP rules that are in flux because the Internet doesn't have the right tools for monetizing various activities. So we're busily trying to put security and economics into the Internet.
In all honesty, the Internet never would have been as successful as it was if it wasn't for the freedom it provided. Many other networks offered these features, but they were eventually usurped by the Internet.
Hindsight is 20/20. Had the BSD/ARPANET folks attempted to address these issues back when it was created (which would have been ludicrous given its Military intent), their solutions would have likely been wrong. Keep It Simple Stupid. It may not be the best solution, but it's the most effective solution.
P.S. In case of Slashdotting, break glass
Javascript + Nintendo DSi = DSiCade
Where are the new operating systems likely to come from?
They aren't going to come until we get past "old" technology like monitors, keyboards, and mice.
Everybody complains about Linux and Window and all the other operaitng systems about being old an obsolete but I see only a few putting effort in building new operating systems like what Slate can become (in the long term) or what Movitz is aiming.
Pupeno
That a site called Always On has been slashdotted.
The Army reading list
Mac OS X has one foot in the past (FreeBSD) and one foot in the future (Mach). Between the two of them, OS X is a bit more futuristic than its competitors. However, a machine that died before its time was the Symbolics LISP machines. I've never had the opportunity to use one, but my understanding of these machines is that they never needed any of the "modern" processor or software concepts we use today, because the underlying software system (LISP) was incapable of creating the types of memory corruption we try to prevent even today. And if a program blew up, you could actually modify its memory image on the fly and continue its execution.
:-/
On top of everything, the hardware architecture was much faster than contemporary computers due to its LISP oriented design. Apparently, a good portion of the LISP language was able to execute directly in the hardware!
At least, that's how I understood it. Sadly, it didn't get much attention outside of academia.
Javascript + Nintendo DSi = DSiCade
Before we can ever hope to innovate the OS, we must first innovate software development, i.e. languages.
All the language techniques that we use are rooted in old technologies. Its still just as hard to code today as ever, if not harder.
I've been programming since 1980 and back then you wrote everything yourself. It was a lot of work but at least you controlled the quality of the system because you wrote it all.
Today, systems are so complex (unnecessarily so), and the technology hasn't changed enough to keep up with the demand. We still write for loops like we always have.
The spoon is a fine tool when all you dig are holes in ice cream but when you have to dig a trench in the ground, forget it.
I think what he is hinting at is computers need to be based on the wonderful new technology known as leet speak. It would make them so much more efficient.
Until then, I'm just going to go pwn sum nubs.
Actually this is bs. The majority of us OSS folk are writing ***PORTABLE*** tools that work anywhere. This is why you see firefox on mac, win32, bsd, linux, beos, etc...
... and so on ...
This is why you see GCC on mac, win32, bsd, linux, beos, qnx, etc...
This is
Only lame arrogant windows developers think that "linux using folk only write for linux".
Heck some of the places my software has and is being used doesn't even have a proper OS [e.g. PS2 and Gamecube].
On topic again, as the "inventor of ethernet"? What the fuck does that mean? It's not that impressive. I mean it's useful but so is sliced bread and we don't honour that guys name either! He did his part to make the world better. Groovy. Now step aside and stop milking something you did nearly a decade BEFORE I WAS BORN.
Tom
Someday, I'll have a real sig.
He's just trolling. He has a pathological need to pop up every once in a while and say "You know I invented Ethernet, don't you?"
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
"Windows is sort of a GUI version of the Mac's operating system"
As opposed to the non-gui version of Mac's operating system....
"We are all geniuses when we dream"
- E.M. Cioran
Not a big shock... about 15 years ago, the two power centers in BC Politics were the NDP and the Social Credit Party.. The left wing was in the NDP who had power at the time, and the Socreds had pretty much lost favour as the reigning right-wing party (( yeah that belies their name, but having been decades in power, the right wing had taken them over )). Then an upstart Liberal party maaged to worm their way into the leaders debate and caught fire, becomming the official opposition.
By the next election, the formeer Socred political machine had taken over the Liberal Party and kicked out it's leader. These are the people who now run the province.
The problem with our political/media system is that the only people who tend to end up in positions of power are those who really want it (and are willing to do whatever it takes to get that power). Unfortunately, these are precisely the people you don't want in power.
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
AMEN!
As someone who has recent scars (SPF, MARID) from dealing with the IETF, it is clear to me that they are no longer an engineering organization, but rather a highly political one. No longer is there much concern about adopting patent encumbered technology into key Internet protocols (MS SenderID) like they used to object to things like the RSA patents.
Instead, the IESG is actively working to push through this patented technology by shutting down the MARID WG so that they can advance the SenderID proposal without any public review. More over, the IESG has declared that it is ok for the SenderID spec to re-use SPF records in incompatible ways, that the SPF RFC must be held back until MS is ready ("to be fair to MS"), and the IESG is going to ignore the last 1.5 years of SPF deployment experience and start fresh with collecting data since MS has only recently started doing SenderID checking (again "to be fair to MS").
The IETF needs to take the "E" out of their name and become the Internet Political Task Force.
SPF support for most open source mail servers can be found at libspf2.
You invented ethernet. Even before that, you were THERE, and helped operate, the first big ARPANet demo for Congress. You founded 3Com. You wrote more Inforworld columns than a mere human like me could read. You are the Old Master, Yoda in the swamp.
Don't spoil it now by being Dvorak. Please.
Linux is only Unix on the outside. There's scarcely little code on the inside from 1992. And I believe there is none (zero, nada) from before 1975. I know this because I've looked at the early UNIX code at http://tuhs.org/ and what little survives is not found in Linux.
Windows a copy of the Mac? In the sense that English is a copy of French, maybe [flames >/dev/null]. Some elements are the same, but how you do things with them is quite different.
Asking what the new OS will be is asking the wrong question. Ask instead what new class of devices will need an OS, and the answer would follow from that. I say "would" because I'm not sure even that question is relevant.
sigs, as if you care.
If networks were configured so that the "general rule" is NOT to be anonymous, then there is no way you can guarantee true anonymity. The reason being that if someone wantred to be "anonymous", they would have to request that privlege from some kind of "anonymity broker" or... own their own network. And even then, with the ability to track the packets, the only guarantee of anonymity is not technical, but social. The owner of the network that the message originated from would have to be the barrier. And as we all know, the current political climates around the world will be unlikely to respect that anonymity if they decide that your activities are "illegal". If someone wants to send e-mail saying they hope that a certain politician gets assainated, in some locations, that would be "illegal". Even though it's really freedom of speech. So, I don't think his suggestion works because it's not true anonymity unless you are in a very powerful position. Every citizen (from beggar to king) should have access to anonymity.
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
"I guess someone should tell automakers that they should reinvent a mode of transportation from scratch."
Perhaps transport engineers rather than automakers. The automakers have a huge investment in the status quo. You don't need 4 wheels an engine, brakes, throttle or even a driver.
Transport engineers have already designed and built transport systems which don't have any of the above. Starting from scratch in the 1950s they devised a transport system which optimises the mathematics of getting from A -> B. Yes there is mathematics which describe the performance of transport.
It turns out that this is about as close to optimal as you're going to get with current technologies. Computer controlled, linear induction motors, a few rollers rather than wheels and only 16 moving parts. Non stop from A->B, no congestion, no traffic lights, no changing routes, no waiting on schedules.
It's been independantly re-invented a few times over the last few decades but we've now got the computer technology to actually do it.
Deleted
How is the red swingline a symbol for IT? Cubicle farms, office bs in general i see, but how IT?
Milton was entirely ineffectual. Do IT workers sympathize with him for being victimized or is the red swingline a passive finger to the man?
Somewhere, something incredible is waiting to be known. -- Carl Sagan
here you are wrong. did you ever use one? the symbolics was by far the most usable and productive machine at the time.
its primary strength was exactly that you could toss together something pretty nice in basically no time at all.
dont you think it might have something to do with marketing, barriers to entry, and culture? there is nothing fundamentally economic about the failure of symbolics (except the barrier to entry bit, the volume was so low that they were very expensive machines)
Bob is talking about packets using faked source addresses.
/dev/null his logs on a continuing basis and both sides using encryption. As you said, this is not technical, but social.
These are useless for anything other than a (D)DoS attack. They are useless because a connection cannot be established and no data can travel.
It is easy to have personal anonymity, but still have the first upstream router check the source addresses to make sure they are legit. But it depends upon someone, somewhere being willing to
There is NO reason for the source address to not be confirmed by the upstream router.
There are LOTS of reasons for personal anonymity to be maintained. And we can have personal anonymity even if we confirm the source addresses of packets.
Considering suppliers to the automotive industry, the jobs they provide, the petroleum products required to make them run, and that much freight moves by trucks, the investment by society as a whole is huge.
Which is why it's going to be increasingly traumatic as the oil faucet slowly begins to close. Geopolitics surrounding petroleum is already traumatic enough now, thank you.
"Provided by the management for your protection."
Indeed, Lisp does not suffer from the problems that cause the lion's share of security breaches today. At the same time, Lisp pioneered many concepts of modern programming languages (even if they weren't all invented on Lisp), and then some. Garbage collection, Lisp macros (which allow you to extend the syntax of the language), functional programming, and object-oriented programming are all common practice in Lisp, just to name a few. All of this (maybe not OO - I'm not sure if it had been invented yet) worked very nicely on Lisp machines, and I think they even had some sort of GUI, although it wasn't like the GUIs of today.
Lisp machines failed mostly because Symbolics tried too hard to make money off them. They made them very expensive, so people bought cheaper hardware and lived without Lisp. In the meantime, they protected everything with patents and copyrights, and since Symbolics folded, nobody seems to have been able to re-create the technology.
It is worth knowing that the GNU project was started pretty much as a direct reaction against the Symbolics affair. A certain hacker called Richard Stallman worked at Lisp Machines Inc., the other company that made Lisp machines, and was so upset about the abuse and destruction of this good system for the sake of commercial interests that he decided to build a system that would be Free and remain Free. Indeed, Lisp was mentioned as an official language for the GNU system (the other one being C), although few programs are written in it (Emacs and Sawfish come to mind).
Lisp still survives as a language (I think it's the second oldest programming language), and the community seems to be reviving a bit, although many lispers seem to "make do" with languages like Ruby and Python, that have a somewhat lispy feel to them. And with projects like Movitz, maybe we will have lisp machines again someday.
Please correct me if I got my facts wrong.
I think that systems are complex because of bad design first and bad implementation second. If you have a bad design, no amount of good implementation is going to save you. If you have a good design that's poorly implemented, then there was no point of having a good design.
As far as languages are concerned, you could implement an object oriented approach to a C program (good design, bad implementation), but it is much easier to design a language that embodies that approach, i.e. C++.
I've spent most of my 23 years programming, designing systems. Every time that I go the extra mile to do the best design that I can with the time allotted, the programming is simplified and complexity is reduced.
Good designers see everything the same, good programmers see everything different. The best designs have their complexity in the structure not the code. Most systems have their complexity in the code.
What are the problems today in languages that cause complexity in coding? Inheritance, garbage collection, OO languages that break encapsulation (.NET, Java, any programming language that uses GC), multiple objects being "owned" by more than one other object, multi-threading locks that are defined at programming level instead of structural level, etc.
What I'm tired of seeing in "new" languages is the same old same old. Sure the syntax is different or some esoteric problem that the language designer had implementing a particular system in an existing language has been solved by their "new" language. But the basic concepts are identical to most existing languages.
The only real innovation, (if you can call it that), that's been made in a recent (10 year old language) mainstream language, viz. Java, is by making INTERFACE a language element. Granted, interfaces have been around forever, but Java is the first mainstream language to implement it at the language level.
What is needed is someone to completely throw out everything they thought they knew about languages and start from scratch using everything they know about complex system development.
You may ask yourself, "Why don't I do this?" Because there's no money in it and once I did, I'd have to convince the religious to convert. Not worth it.