Are Standards Groups Stifling Innovation?
cpfeifer writes "Jim Waldo expresses a a controversial viewpoint in his blog: "Common wisdom, especially in distributed computing, says that the right approach to all problems is to use a standard. This common wisdom has no basis in fact or history, and is curtailing innovation and rewarding bad behavior in our industry. " He also goes on to clarify his position and explain his reasoning."
...is having so many to choose from.
Obviously, standards only emerge when a practice has been agreed upon. Further innovation leads to a development of a new standard.
says that the right approach to all problems is to use a standard. This common wisdom has no basis in fact or history
*COUGH* decimal system *COUGH* metric system *COUGH COUGH* posix *COUGH* TCP/IP *COUGH RAAAHHH RAHHH*
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
How many people want to rewire thier houses with a plug system that provides more features or capabilities, but with the added costs of all electronics you purchase at target need an adapter?
Or how about having to worry when you go into the gas station if the nozzle is compatable with your car?
Sure standards slow down innovation, but the costs that the standards provide can be worth it.
will slow down progress, yes. Because no matter how forward-thinking the people are who make the standards, there an infinite number of things that they can not anticipate.
But still, working within standards is necessary to bring past inventions and innovations to the masses.
Certainly, if you are working on some cutting edge project in the MIT AI labs, you don't need to worry too much about the RFCs. But ten years later when someone is trying to bring that product to the public, standards become tremendously important.
Lack of standards alowed the web to develop at an enormous rate, but then it was the introduction of standards that actually made it usable by the avergae person.
lysergically yours
We have standards for a reason.
Would you like to buy a cd only to find out that it will only work on X cdplayer? or a device that's only able to run if you're with Z electricity company?
Be you Admins? nay, we are but lusers!
I only know of two standards that have ever been of lasting use to me:
0
and
1
Everything else is probably just hype.
Yes standards can be a pain and they can stifle innovation. But there are trade offs. And that is chaos. As much as innovation is a noble goal it has to be traded off with standards.
For example take WiFi. Gee imagine we had ten different WiFi protocols. What would we get? The North American Cellular phone standards where everybody has their own freaken way of doing things.
Yes standards should solve a problem, but standards are required. Imagine everybody deciding by themselves which side of the road to drive on. Or deciding that some people want 40 volts another wants 90 volts, etc.
Why not use defacto standards? Because defacto standards might become out of date standards. This is not to say that they should not be investigated, but if there is a standard that works use it....
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
without standards, innovation takes place in less discrete steps. it is not clear when "the next level" has been reached. perhaps in some cases standards stifle, but they really are necessary in my opinion (and the opinions of others, of course) if concerted progress is to be possible .
I think, if the standards get in the way of innovation, the would-be innovators buck the standard.
Remember the standardized user interface that was one of the early Mac OS's strengths over the other OS's out there? One of the big players back then, I think it was Adobe, "broke" Apple's GUI standards where the designers deemed it to be necessary; neither their product nor the Mac OS suffered as a result.
Standards are good where they are needed, but when they hold things back....
Don't blame Durga. I voted for Centauri.
What is better a standard forced by law, or a standard forced the one holding the biggest piece of the pie. There is not way around standards, there has to be one way to interconnect and communicate with everything, like that IBM commercial there is no universal adapter, and the only way to reach this adapter is through standards.
Useless sig.
Standard protocols may suck, but at least they suck in well-known and well-understood ways.
-- Ed Avis ed@membled.com
He's not saying that standards are bad, as much as he's saying that it may be better to take existing useful technology and then standardize it (think SSH and SSL, protocols that were standardized after initial deployment).
In the cases designed by committees, they ended up with something so complicated that nobody has ever implemented it fully (X.509*). In the cases that were implemented and later standardized, deployments with full features are widespread.
(*At first glance, the statements about X.509 seem contradicted by the fact that X.509 is used in SSL. The fact is that SSL stacks use about 1% of the features described in RFC 2459 (X.509v3). This is what I'm talking about: ridiculously overcomplicated committee designs)
Read http://java.sun.com/people/jag/StandardsPhases/ind ex.html
No agreed-upon standards, no consistent format, no market. That's why North America is just barely getting into HDTV now, when Japan and Germany have had it for a decade.
"People who do stupid things with hazardous materials often die." -- Jim Davidson on alt.folklore.urban
People and companies do
If you design a website according to spec, you're going to have close to 95% (i.e. IE users) of web browsers incorrectly displaying the website. I HATE this. I am new to web development in general, I've barely got a year of programming behind me and I find it easiest when I can read exactly what I can/can't or should/shouldn't use. I've written pages that render perfectly under Gecko and KHTML but whatever pile of ass that MS is using makes it look horrible, and I must rework.
Ah, but we can choose! If it made a damn bit of difference to the people attached to those web browsers they might complain or outright switch. But the inconvenience or ignorance of switching drives people to stay where they are, comfortably annoying those of us who have a hard enough time learning stuff, let alone learning it correctly then incorrectly.
Oh this is such a pile of shit. Without standards, the person with the best marketing will become the standard... not the best and most useful system.
Sure standards do slow innovation... but so does the the FDA when they ask for proper testing and years of results before millions of people pop that blue pill. Proper testing and analysis of innovations in technology need to occur before we just plaster them across the network only to find out later how gimped it was to begin with.
This is my sig. There are many like it but this one is mine.
but they also allow people to work together. What if you had to learn a different TCP/IP stack everytime you changed jobs? Wouldn't be any fun now, would it? Even in the middle ages, people used standards. Stone masons had standard measuring units (don't remember what they were though. Any ideas?) that enabled them to travel across the country and find work. Sure, there will alway be differences, but minor ones. Besides, everything new starts out with not being a standard. Inventors work to create standards so that their product can be used by as many people as possible.
Now, if that makes sense to anyone, could you please explain it to me? I think I've confused myself.
I think one main point of contention is that standards are for integration and only indirectly affects innovation. Sure I could create a new video format, but unless I get to play nice with video players, it's useless to anybody. While it slows down development initially, standards help to speed and ease adoption of new technology later.
Well, there's spam egg sausage and spam, that's not got much spam in it.
RFC 3268 describes the way you should use the Advanced Encryption Standard with SSL/TLS.
My experiences weren't at all like the ones described in the article, even though we certainly weren't codifying existing practice. No one threatened to leave and join a rival standards effort, even though AES over TLS is important for government contracts. Most of the argument was about the minutiae of the protocol. For example there was a long discussion about the padding type and cipher mode of operation.
The problem I had was that the process is horribly slow. There are a few people in the IETF who have a lot of work to do, and you tend to find yourself sitting in a queue for a long time.
That said, I think it was a very worthwhile thing to do. If we hadn't done AES through the IETF, no one could have interoperated. It wouldn't be a case of then codifying existing practice a few years on because it simply wouldn't work. The different TLS implementations need to use the same ciphersuite numbers for example. Much better to sort that out on an IETF mailing list than try to cobble something together in a series of bilateral discussions.
Point two: A standards body is often a lousy place in which to invent a technology
No it's not. Standards are there to get the basics out of the way and move forward. For example, you can focus on inventing a time machine without having to figure out if the screws on your machine will fit the holes in your DMC's dashboard, or calculating the power it'll need in gigowatts, instead of number of power-foos that no-one else uses but the power-supply manufacturer you need that precious device from.
Good standards are good. Period. Bad or hard-to-use standards tend to be replaced by better ones. And standards that once were great (like the imperial system) can also be replaced by even better ones (like the metric system). But at any rate, no standards means no communication and no progress. That's a historical fact. Even the language I use to post this reply is a standard.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
We need standards. There are far too many existing computers and a market that sells too many computers, regardless of size, to allow for standards to lapse. We do also need technological advancement, but a practice that makes sense is to take an existing standard and make use of it while working newer technologies through revisions to where they are stable enough to make for a new standard. Repeat. This allows for something like RS232 to be king for a long time, but ultimately be replaced by something like Ethernet. Ultimately, something will replace that, no matter how much speed we manage to get over it. Serial didn't start at 115200, it started in the range where someone with good hearing could interpret what a modem was doing. At this oint, except for special applications, serial is dead. Most of our modems aren't even serial anymore, and we certainly don't use it for peripherals. USB replaced that.
Do not look into laser with remaining eye.
There are no standards for standards. Because of this, there's no recursion - when something new is required, it can break from standards, but it must be worthwhile enough to stand on it's own merits - and possibly create a new standard.
Blindly following standards doesn't stifle creativity. The people who are creative recognize standards for what they are, and either conform or don't. If they choose not to conform, they take a risk.
One standard doesn't fit all.
MP3 is not THE standard. It is one of many standards. It may be the most widely used right now but that's because of applications like Napster which propelled it into the limelight overnight. It's all about creativity and how you work with the standards. For instance I know of many amazing web sites which follow web standards to the letter. And what's surprising is that they have used CREATIVITY to develop and mimic sites that use "non-standard" eye candy without ever breaking the rules of standard'ism.
___ Shout Central - Crushes your nuts!
Common wisdom [..] says that the right approach to all problems is to use a standard. This common wisdom has no basis in fact or history, and is curtailing innovation and rewarding bad behavior in our industry.
So true. The world would be a much better place without standards...
Man: Hello shopkeeper, I'd like to buy some cheese please.
Shopkeeper: Fine sir. How much do you want?
Man: 500 grams.
Shopkeeper: Sorry sir. We don't use grams here. We use flogborts.
Man: What's a flogbort?
Shopkeeper: It's our own system. Much better than grams. I'll explain..
Man: Don't bother. How many grams to a flogbort?
Shopkeeper: A6NG8
Man: What?
Shopkeeper: Sorry sir, we don't use decimal either. We have our own system. I have a diagram somewhere...
Man: Listen, just give me one dollars worth.
Shopkeeper: A dollars worth? I'm afraid we don't accept dollars...
etc. etc.
Standards are important. Standards make moving from one system to another easier. Standards make understanding a system easier because the general traits relay over.
That is why there are standards. What is the point of innovation to a system which is accepted, and enjoyed?
You could add innovation to coffee pots. Numerous different brands of coffee pots all with gadjets that you must study before using.
Well I just want coffee. I don't care if you can make my coffee in a variety of new an innovative ways. I want to hit a button, walk away, and in a various ammount of time afterwards have coffee.
I want to view a webpage. I want content. I don't want new and innovative ways to view the content, Just give me the webpage.
Once something works, and works well, I could care less about innovation as it concerns changing what works.
If it ain't broke.
http://use.perl.org
First, a few examples... without ISA and PCI, we wouldn't have any hardware devices that we could just plug in to our computers. Without DirectX, OpenGL, and SDL, we wouldn't have games that could run on multiple platforms. Without TCP, I wouldn't be able to post on slashdot.
Standards are extremely important to computing, but not in the way decried in the article. Standards are not cool for their own sake, they're powerful because they enable modularity and layering, the true holy grails of effective computing. The designer of your network card didn't have to think about what the CPU in your machine was doing, or even whether there's a CPU at all! As long as it handled the specified PCI signals, it will operate correctly in a "standard" PCI system. Likewise, the game developers can use the same OpenGL calls to communicate with many different video cards, because the drivers fulfill the requirements of the standard.
Standards help to erect useful barriers between logical layers of software and hardware. Like anything, they can be misapplied, and using standards "just because they're standards" can often lead to trouble. Still, well-done standards are and will be the foundation just about any successful computing architecture.
Wireless networking had been out for years before 802.11b. To this day, 802.11a and 802.11g are out, but most people are still using B. Why? It works, it works well, and everybody has it.
Working in networking, my job would be 3 times worse if everyone didn't order the wires in a standard way. Can you picture if every network vendor had a different jack? If you want a confusing an annoying time, try buying a circuit breaker. Every manufacturer uses a different style. Some have 2 or 3 styles.
Standards are the building blocks that allow us to have a predicable environment on which true innovation is based. Innovation is not about re-inventing the wheel. It's about slapping and engine on 4 of them, and driving with it.
"Learning is not compulsory... neither is survival."
--Dr.W.Edwards Deming
"Good standards can provide interoperability and portability. Bad standards can stifle innovation. "supports XXX standard" is not a real user requirement, particulary if XXX was designed by a committee of "experts" who, throughout the entire process, never once ate their own dogfood. The best software is developed by trial, error and experimentation. De facto standards are usually a much better fit to user requirements than a priori ones."
The standard Hibernate deviates from is JDO (Java Data Objects) and the claim here is that it is successful partly because it has departed from the standard which is more complex and difficult to use.
When I posted my last entry, I realized that I might be stirring up a hornet's nest. Indeed, I could hear the buzzing just before I pressed the submit button, and almost decided against it. Such good sense has never been my hallmark in the past, however, nor did it overcome my hope that I wouldn't regret the posting. While I don't regret it, it has been instructive to listen to the replies. Some have been well-thought out, others not so much. But the replies did make me realize that I had posted in haste in one respect, since the main points I was trying to make have not seemed to have come through clearly.
So I'll try again. I'm hoping that the second time will be the charm. Either I will make my points more clearly, or I'll realize that they can't be made. So here goes...
Point one: Just because something is called a standard doesn't make it open; and something that isn't a standard is not, because of that, proprietary. The standard/non-standard and open/proprietary dimensions are orthogonal. Certainly, there are lots of technologies that are standards and are also open, but there is no causal connection between the two properties. Just look at the controversy in a number of standards groups right now as to the granting of intellectual property when contributing to a standard. If being a standard made something open, there would be no such controversy. In the same way, there are things that aren't standards that are quite open...look at most of the open or community software that hasn't been formally standardized. The source code is free for the taking; the reuse of that code is determined by more or less restrictive licenses. There are plenty that are very open, even though they are not standard.
The real point here is that whether something is open or proprietary depends on things like the licensing model, the intellectual property grants, and other sorts of legal notions around the technology. Whether or not something is a standard depends on acceptance by some standards group. Barring some connection between the two (which, by the way, a number of standards groups are trying to construct), there is no connection between the two. A simple point, but one that often gets lost.
Point two: A standards body is often a lousy place in which to invent a technology. This is the essence of what I was trying to get at by distinguishing between de facto and de jure standards. Technology, I would claim, is best invented or designed by one person or a small group of people, working together for a common goal that all of them understand and agree to. While there can be a standards group that meets this description, it is rarely the case that standards groups do. More generally, such groups are made up of a rather large group, each member of which is pushing for the good of his or her own company or interest group. Such a group can actually be a good thing if you are trying to determine which of a group of existing technologies will get the widest adoption, but they tend to be bad at creating a coherent, efficient, and elegant design from whole cloth.
This doesn't mean that such a group can't ever produce a good technology. There is no logical impossibility that is meant to be implied here. And while I would be surprised, I could be convinced that a good technology had actually been created by such a diverse group. But I don't personally know of any examples.
Notice, by the way, that there can be a small group of people with a common goal who work together towards an understood and agreed to end that calls itself a standards group. Many of the IETF's early working groups were just such organizations. But once a standard is seen as commercially important, it is much less likely that the standards group will be made up of such technologists. Again, this is a personal observation, not a logical truth.
Point three: The previo
He isn't to be taken lightly. Jim developed the first ORB, was the lead architect of Jini and he had prominent role in RMI. However, the most interesting thing about him is that he holds masters in linguistics and philosophy (in addition to his PhD in distributed computing).
I attended a session of his on Jini at the WTC. Hmmm....
I don't mean to be snarky, but can somebody tell me what the word "standard" means in this discussion, plus tell me what is or isn't a standards body?
For example, is XML a standard? Java? CORBA?
Is the W3C a standards body? The JCP folks? ECMA?
Java is the blue pill
Choose the red pill
Lets say I wanted to write a client to transfer files via the internet. I could just write my own from scratch, looking at low-level socket communication. Oh! Wait a minute, I ran into a standard, the TCP/IP stack. Nah, I'll use UDP. D'oh! Ran into another standard.
Now, let's say that I've written my FTP-like transfer system using low-level sockets, but I don't follow the FTP standard. Does this mean that I've limited my creativity? Absolutely not. I've done this, and to be honest with you, there are a lot of ways to speed up FTP. So while I'm not using the FTP "standard", I am using it as a basis for my own innovative way to transfer data, at a rate that can be 2-3x faster, depending on the network.
Stiffling innovation indeed...
I head your email...
Who is John Galt?
An excellent example is the mars probe that was (more or less) recently lost due to a problem with units. Or back in the day, when no one could decide on the compression standards for 14.4 modems.
The problem isn't with adopting a standard, the problem is getting mired in a zillion groups formed to decide exactly what that standard is. Since many companies and all governments are monolithic in nature, it takes forever for them to decide what the standards are, and invariably they go to the highest bidder.
This isn't exactly a new view. James Gosling's classic Phase Relationships in the Standardization Process is already 13 years old.
-Tom Duff
A: Researchers.
Seriously, if you're trying to innovate, just go out and do it. Nobody's stopping you. Standards groups are around to prevent total havoc from reigning when you foist your innovation on the unsuspecting public. If your "innovation" requires having thousands of users to really get anywhere, then maybe you'd better publish a paper. Either that or sell it in a black box so your bugs won't perpetuate in later products. If you can't make it to market and you can't make it in the academic circles, then whatever stifling effect the standards group has had is for the public good. I like tinkering with my machines and occasionally watch them break in novel ways, but there are an enormous number of people whose livelihoods and safety depend on reliable operation of these systems, and the standards groups help protect them.
WARNING: there is a trojan on your
What the article talks about is a difference between two kinds of standards. Those that codify existing practice (SMTP, IP, ANSI C, HTTP 0.9, most of the early Internet standards I think) and those which attempt to create a new standard from scratch. He doesn't like the second kind.
I think it's similar to the argument that says you shouldn't set a program's design in stone before it is implemented, because until you have a working implementation you can't know what the best design would be (nor indeed what the requirements will become). And I have a lot of sympathy with that.
But while a few years of anarchy followed by a period of standardization can work well in some cases, you can't seriously suggest that in areas where there are big upfront costs to get into the market it is better to let people waste effort thrashing around with a dozen different formats or protocols until one of them wins 'in the marketplace'. (And we all know that 'the marketplace' is often lousy at picking the best technical solution, worse even than standards committees.) Mobile phones are a great example. You need to have an agreed standard before you start manufacturing, not afterwards.
If new standard creation is politically motivated by companies who have a potential new product to promote, so what? That's surely preferable to having no standard at all, launching several new products with incompatible formats or protocols, and then years later trying to document and standardize whichever random one of them seems to be the winner. Case in point: where is the standards document and process for MS Word file format?
-- Ed Avis ed@membled.com
It's not an issue, because something clearly better will emerge due to necesity and break the standard. Always has. Always will.
Deja Moo: The feeling you have heard this bull before
A good real-world case study of premature standardization is W3C XForms. I had a discussion back in April with the XFroms community and spec leads on the www-forms@w3.org mailing list that you might wonna check out.
See the threads entitled "Welcome to the Real-World; The Future of XForms" and "The Devil of Good is Perfect", for example.
Another good real-world case study using the "build it first and standarize later" approach is XUL (XML UI Language). Innovation using XML to build UIs is flourishing and slowy a XUL community is emerging. For getting started with XUL check out the XUL Alliance Link-opida and see a replay of the original HTML story in the upcoming XUL browser wars and standardization drive and more.
his last point from part 2:
.doc. But, more often than not, the exact opposite happens. 56k modem sales stagnated for a *eay* when they were introduced with two standards--x2 and k56flex. Only the richest (relatively speaking) early adopters bought them for the longest time because there was no way to know if you'd be able to use it in the future. Different ISPs supported different standards at different times, and who knew what woudl happen if your ISP changed preferred technologies, or went under, or got bought, or if you switched ISPs yourself for whatever reason? Most people knew that there would eventually be just one standard in the future and had know way to know if that new standard would be backwards-compatible with x2, k56, neither, or both. Then, along came v.90 and everything was great.
Point four: If there are multiple groups competing to write a standard for the same thing, it is probably a safe bet that the technology being standardized isn't ready for standardization. This is the point I was really trying to make, but didn't state explicitly. But this is the one that I think is important for all of us who are trying to produce and use technology to understand.
One point he misses--as often than not, its due to greed. Companies want to have *the* standard and as close to 100% as possible of the revenue from that product's market. Look how far MS has gotten with
The best quote I've ever seen on the subject comes from openh323.org's home page: "The aim is to 'commodotisetheprotocol'. By giving the stack away, maybe we can stop everyone obsessing over how to format the bits on the wire, and get them writing applications instead."
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
Can you imagine projects of this complexity being accomplished without standards? They have standard wood sizes, standard door sizes (carpentry is riddled with standard sizes for common things, but I'm not a carpenter, so I don't know the details), standard screw & bolt sizes. Then theres the plumbling, the electricty...
All of these details need to fit together in a predictable way and these specialized groups need to communicate in order to minimize conflicts. The lumber yard doesn't have time to cut new sizes of wood for each customer and the door manufacturer can't create special-make a door for each new house.
I don't think anyone can dispute that the software industry is in a similar position-- Teams of software engineers working together on projects, the OS needs to communicate with the software, blah blah blah. Of course we need standards! Some are more necessary than others, but how will we know in a year which web standards will be essential and which won't? Its good that we're drafting standards now so we have something to work with in the future. Maybe some standards will get thrown out, maybe some won't. This might stifle some innovation, but can you really argue its necessity?
Innovation is exploration, discovering the best solution to specific problems through the various techniques we use: scattershot, imagination, design, etc. This is largely an individual enterprise - innovation by committee is a joke.
Standardization happens later on the curve when the best innovations have been tested in real life (though with a limited audience). Then, a skilled committe will merge several innovations into a standard, and define a basis for dividing-up large problems.
Standards are interfaces between groups working on different aspects of a problem. Innovation allows one to understand what these aspects might be, and later to repeat the same process on smaller problems.
Using the "divide and rule" metaphor, standards are the "divide" and innovation is the "rule". Only it's rule and divide and rule and divide and rule ad infinitum. You really should not try to divide and rule at the same time.
Sig for sale or rent. One previous user. Inquire within.
Shopkeeper: A dollars worth? I'm afraid we don't accept dollars...
Man [Angry]: Dammit! Just give me 4N flogborts of cheese then!
Shopkeeper: Ah. We'll have to order it if you want that much Sir. We could have it for you by Four Uppity One on Snorbsday. Is that ok?
Man slams door leaving cheese shop
Shopkeeper [calling after him]: Whippitydee to you Sir! [Under his breath] Snobblefocker.
Sure, there were lots of designs for gears early on. If we had standardized early, we might have ended up wasting time on substandard gears because the standard was immature. A bit of competition between possible standards is a good thing during the early adoption phase.
Stop the brainwash
The idea behind standards are that you can take at least one portion of your infrastructure as given and innovate on top of it.
:-D)
Examples:
Standard: HTTP and HTML
Innovation: Web Portals
While the progress of HTTP and HTML MAY have been quicker if they weren't tied to a "slow moving/stodgy" standards group this would have meant that things like Web Portals would have been hampered by trying to figure out what transport technology and client technology to embrace. (Heck you probably wouldn't have had a portal in the first place, just more BBS's.
Standard: US Electricity 110 V.
Innovation: Lava lamp. (Yeah, arguable.)
A bit absurd, but the idea here is that you can innovate on the actual lamp rather than worrying about the incoming current and plug shape, etc. A better example may be those replacement flourescent bulbs that you can get now.
So, yeah standards do in fact inhibit innovation in certain areas. The thing is, that innovation does have to be slowed down. You need to have some sort of foundation in which to build the REALLY innovative stuff on top of.
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
IEEE, IETF, IANA... These standards groups have been around a long time & have earned major credibility for making crucial decisions at the right time. That's really what it's all about when developing & setting standards and henceforth establishing standards groups, no? The subsequent credibility of a standards group follows the standards the group signs off on. If it had been a proprietary group like Wintel instead of J. Postel back in the early 80s we wouldn't have gotten TCP/IP and the RFC system when we did. Therefore I think standards groups for the standards groups are needed, now more than ever. It's like oversight for oversight. We don't have a lack of standards. Far from it, we have a lack of central, accountable organization bodies made up of counselors or commissioners who transparently decide on standards. With time it is this transparency that will earn respect in the international online standards community, not bags of cash and not closed-door meetings seeking out the highest bidder we've been thru that before it doesn't work for the majority commons.
I returned to Canada after spending 5-1/2 years in the U.S. Naturally, I am comfortable with both metric and English measurement systems, but...
Recently, I went into a shop, got a bunch of stuff and went z. Diet Coke I told the shopkeeper, "I forgot my Coke. Charge me and I'll grab it on the way out." As the shopkeeper knew me, this wasn't odd. But, he had no idea what a 20oz Coke was -- and I didn't realize that it was my use of ounces that was confusing him.
In Canada, soft drinks generally come in 2 litre, one litre, 750 milliliter (well, when the bottles were glass, they used to), bottles; smaller plastic bottles, and cans. The cans are nominally 355 ml (10 oz.) and the small plastic bottles 591 or 600 ml. (20 oz.). Now, no one asks for a 355 ml. soft drink -- they ask for "a can of XXX", the "can" being an implied unit of soft drink volume measurement.
As my only experience with 20 oz soft drink bottles was in the U.S., I didn't think in terms of a 591 (nominally 600) ml. bottle, but rather a 20 oz. bottle -- I figured that the shopkeeper would respond, "Oh, you mean a 600 ml. bottle", and I'd reply, "Duh! I'm back in Canada... yeah, that sounds right." But, instead, he was utterly confused and not indicating that his confusion stemmed from my use of an unfamiliar volume measurement (which would have clued me in).
Now the funny thing is I can still get a proper 20oz pint of beer at the pub! -- none of this 500 ml. shit. As someone with a scientific bent, I appreciate the metric (base-10) system, and usually convert easily, but damn it: beer is meant to be dispensed in pints, yards, and barrels! Booze, of course, is sold in "fifths".
You could've hired me.
You might be surprised to hear that there are other keyboard layouts around the world. Just slightly different from the QWERTY. I think here of the AZERTY (French/Belgium) and QWERTZ (Swiss/Germany). It is an absolute pain in the butt. I live in a country where all those keyboards are used, and I need half an hour adaptations every time I use another keyboard.
I ordered a US keyboard to at least have no problems on my home computer. My iBook however has the Swiss layout, and at work it's the French layout. Only problem I have with the US keyboard is that accents or umlauts are virtually impossible to do. I always wondered why we just didn't take the US layout, changed one of the "Alt" keys to the "Alt-Gr" keys (that we already have) and then just add the accentuated characters when that modifier key is hold down.
Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
Basis State I state committee pos group mod one obj, temp found priepri mod object state temp oriented prie nunc obj language standard, temp declare nunc this state temp mod scientific obj standard fut sole.
... ... ... ...
Int Please req temp state aware be nunc clause state this temp equiv nunc mod intellectual obj property, and state state temp use nunc act sole mod state standard reflex act mod without state mod proper obj sole state temp payment nunc act of royalties act temp state prosecuted act fut by mad-dog lawyers for Microsoft such as the one who state temp state prosecute act prie hyp them group obj. English
2.
3. Profit!
Correct Horse Battery Staple: 72 bits of entropy. Enter "Correct H" into google. When it generates the phrase, that's
Take a look at the select(2) system call. It seems to serve a useful purpose: it allows a single program thread to wait for activity on multiple network connections at once.
Back when select() was created, a process could only have 32 connections open at a time, maximum. So, the guy who invented the call decided that the caller could use 32-bit integers to represent lists of connections. You just set the bits corresponding to the connection numbers you want to watch and leave the other bits as zero. Then, the system alters the list in-place before it returns to indicate which connections are active.
Well, now adays, a program can have a few more than 32 connections open. However, for standards' sake, select() still uses bit fields. In Linux, these bit fields are something like 8k in size. Since they are altered in place when you call select(), you have to set them up fresh every time you call it. Then, the OS has to scan through them all and set up each connection for waiting. This is *slow*.
Much better methods of waiting on multiple connections have been developed. The best methods involve an event queue. You then tell each connection you want to watch to always place an event on the queue when it receives data. This way, the OS doesn't have to set up every connection all over again every single time you wait for activity. FreeBSD has an interface for this called "kernel queues" which is quite nice. Windows has all sorts of convoluted interfaces for it. Linux only just recently came up with a semi-decent interface called "epoll", but it is rather limited in some ways. In any case, all of these interfaces are different.
Unfortunately, select() has stuck because it is a standard. People use it because it works everywhere. It works everywhere because people use it. However, it is, IMO, one of the worst system calls I've ever soon.
This is why my basic opinion on standards is, "Standards are great as long as they don't suck!"
Actually, sadly, we are heading in this direction. Currently the standards are CD Audio and DVD for Video. However, new higher-density discs (DVD's and future blue-laser systems) as well as newer video codecs (think DivX) and audio codecs (MP3/Ogg) and high-definition audio streams (5.1 channel/DTS/Dolby) are about to seriously cause this "my disc doesn't fit in you player" thing again.
There are multiple standards for audio on a DVD disc. And then there is SACD (Super Audio CD) which is compatible with CD players, but now always).
And never mind DVD+-RW/RAM and God know what else. The DVD FAQ has a large compatibility matrix. Check it out and be scared.
With the the advent of blue lasers storage capacities of 25 Gigs per disc now become possible. And there a several competing disc formats to take advantage of this. To quote the DVD FAQ: "There are now at least 5 candidates for high-definition DVD:" (section 6.5).
http://www.dvddemystified.com/dvdfaq.html
Except now for physical disc formats there is also the issue of the logical encoding of media streams on the disc. I cannot remember how many times windows's media player could not find the codec.
OK, fiar enough, there is load of research into videocompression going on right now (even in image compression, witness JPEG2000 which uses wavelets).
Things are going to be worse before they get better for the next 10 years or so.
Interestingly, a friend of my dad has a large collection of old (as in pre-WWII) record and wax cylinder players. Many of those things were not compatible with each other either. Standards wars raged for many years.
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
Of course that means your "standard" is now the intersection of what all those different browsers can display correctly. Which means there is no final authority and any new thing or new combination of things can blow up in your face. Not exactly an ideal situation...
The illegal we do immediately. The unconstitutional takes a little longer.
--Henry Kissinger
My brother had free email access, but attachments were not allowed. He wanted some of his programs emailed to him.
What I did was first write a *very* short program similar to UUENCODE that broke the program into ascii, and another that reassembled it. I did it all in assembler using DOS Debug, so the decoding program was quite short: something like 90 bytes.
I then output it, data wise (d 100-28C) to a stream, collected it, edited the stream to a series of data entry commands (e 80 42 4C 81...),
and posted it on the email. Told him "Clip this, save as myfile.inp, also as decode.com, and then type C>debug decode.com myfile.inp". He did, and he had a reception program. That worked for about 3 files, but on the fourth it choked. Turned out that =20= was a special symbol that didn't transmit. I reprogrammed around it, sent that, and after that we had a nice little way to send and recieve programs via email.
No standards, except for the knowledge that he'd have a version of DOS Debug on his computer, too.
All of which totally misses your point, I know. But it was an interesting exercise.
Correct Horse Battery Staple: 72 bits of entropy. Enter "Correct H" into google. When it generates the phrase, that's
After way too many years dealing with standards, I've learned a couple of things - your milage may, as always, vary... There's no reason why standards must stifle innovation, but they often do. The most common causes I've seen have been: committees of more than three (plus/minus two) are bad places to try to innovate, agendas & innovation often don't mix well, & the number one reason is that all too often, standards are proposed without thinking through the actual implementation. The most effective standards I've seen have been the work of a very small group that shared a technical vision but didn't have a political agenda & that had already implemented something based on their proposal... Perhaps standards are not the best vehicle for innovation...
entropy requires no maintenance
I know of no browser that has completely supported any W3C standard, and I know of no browser that has NOT introduced proprietary solutions. No browser has implemented complete Unicode support yet, and Unicode has been around for like, how many years? Hacks that I had to use in 1996 to write Greek (font face=symbol) don't work in Mozilla but at least you can still count on IE5.5 to read the tag. Today, I have to write Greek in Ascii escaped characters that only partially work in some browsers (not Netscape 4.X). Mac 9/10 won't read sans-serif fonts in IE 5.0, and won't recognize the break tag. It's absolutely crazy that one Standard was not agreed on 5 years ago and implemented by all the browser vendors. The difference comes between Standards Advocates (free, open, liberal) and Browser Vendors (proprietary, closed, conservative).
But I do like Amaya and I use it a lot to check my html. So the W3C has produced some good things. But the Standards roller derby should settle down, quit deprecating useful stuff, and concentrate on creating innovative useful stuff in their new projects and ongoing activities.
Consider the current "advance" from HTML to XHTML proposed by W3C. Is this an advance? At one time, anybody could write a valid HTML page with a text edit using a minimum of tags. If the person happened to use some "proprietary extension," that part of the code was simply not rendered properly in browsers that didn't support that extension. But a person could write a perfectly valid, cross platform web page using a basic set of tags & attributes.
If we look toward XHMTL, the person would not be able to produce a single page but would have to use HTML and a stylesheet, just to reproduce what worked perfectly well with the tag-extension system. Presumably, XHTML will weed out a lot of hobbyists & force the rest to buy increasingly expensive software to manage the development process.
Take a look at the prices for W3C membership. The "standards body" thus becomes dominated by "the industry" (which has reasons for wanting to promote increasingly expensive development tools) & academe (which has reasons for wanting all web page authors to have to enroll in its classes).
Yes, without standards we get stuck in a Tower of Babel. But the trend to increasingly complicated standards & wholesale deprecation of accepted practice reeks of being more than a bit self-serving to those who can afford membership in the "standards bodies"...
Again, my .02. YMMV. WWFD?
"Obviously, I'm not an IBM computer any more than I'm an ashtray" (Bob Dylan)
In my day, we didn't have "1", but we got by with 0 factorial just fine!
I read the clarification, and soon thought "this guy is talking about Java and .NET, and he is on the Java side". Then I reached the bottom of the page and saw that he is employed by Sun...
Finally! A year of moderation! Ready for 2019?
Microsoft wanted credit for creating standards and being innovative, so they launched an assault of crappy standards at the IETF. In most cases they wound up publishing an informational RFC (as should have happened), but in several instances they published experimental or standards track RFCs. Some of these were good (as MS has some very smart people working for them), but many were bad, showed serious lack of understanding in their design space, duplicated the functions of one or more exisiting protocols, and ignored standard conventions in field placement.
Documents like those mentioned above lead to the complaints I get fairly regularly from marketing in my current job, the complaints are all along the lines of: "you don't support RFC xyz" (where RFC xyz is informational describing a vendor specific extension, or experimental). My reply is that we studied the document, determined the cost of supporting the feature, and decided not to.
This sets off a little firestorm every time. "But it's an RFC and customer blah blah blah is demanding it", not understanding or caring about the diffence in RFC types or the fact that most of our equipment cannot support the extension in question. It has that magic title and we have to support it, despite the fact that there is often another way within existing, proven, and implemented standards to accomplish the task.
[Set Cain on fire and steal his lute.]
If it would just stream multiple files across the same connection, it would help tremendously with transfers involving a lot of files. For example, uploading a few hundred HTML files, jpg and png images, etc.
Please consider making an automatic monthly recurring donation to the EFF
TCP was designed to give basic delivery guarantees at the protocol level, which is important for a robust, general solution. However, it is never the most efficient way to guarantee delivery. Maximizing efficiency requires application-specific knowledge.
120 character sigs suck. Make it 250.
is a new one, at least as far as hinging product development.
The Internet was not built based on standards. In "Where Wizards Never Sleep", the story of the founding of the Internet, not one standard was used to design and build ARPA-net. Standards eventually emerged, but they were after-the-fact.
Read "Fire in the Valley", the story of the birth of the personal computer industry. This was one of the most innovative periods in our history. And not ONE industry standard was used. Rather, Apple, Osborne, etc. created their products, from which eventually standards emerged. Again, after-the-fact.
Go back further in time. IBM was not the industry leader from the 1930's til the 1980's because of industry standards, but rather IBM's own, internal, proprietary standards.
Standards are a nice way to not have to innovate and think. Just use a standard! But is what is developed by a committee always the best thing from a time or technology standpoint? Isn't it a sort of socialist or communist type approach? A Borgian way of doing things?
Let us go to the stars, dream new dreams, and renew the embers of hope that have long since grown cold.
Then you're selecting the wrong standards. First thing's first; you can't reasonably expect any browser, letalone all browsers to properly support all bleeding-edge standards. Your best bet is to select a baseline standard you're going to use, be it one, two, or three year old standards and use those. Find the most current set that all major browsers (IE, Mozilla/Gecko, Opera) support to your satisfaction and use it. All the web design I do works just fine between all major (and even most of the minor) browsrs and it all validates with the W3.
BD Phone Home!
Shameless plug. Like you weren't expecting it.
The great TCP/IP vs. OSI debate that raged in the 1980s is a great example of what this guy is talking about. On the one hand, you had TCP/IP, a relatively simple protocol that had evolved informally over a period of years (de facto standard); and OSI, a much more complex, hard-to-implement standard that was developed by an ISO committee (de jure standard). For several years, many industry observers figured that OSI was going to replace TCP/IP, if only because of the high-powered corporations that were getting behind it. But what emerged from the ISO OSI process was a bloated mess of a standard, virtually unimplementable because it tried to do everything to please everybody. Fortunately, TCP/IP was so entrenched by the time the OSI standard was released, that no one seriously considered replacing the one with the other.
...
So what this demonstrates, since it appears that a lot of posters didn't actually read the article: de facto standards are usually good, because at least we know they describe technologies that work. De jure standards are usually bad, because they tend to be about political compromise rather than the quest for good technology.
Remember the old Dilbert cartoon, where the sales rep gushes, "this device conforms to all international communications protocols" and Dilbert replies, "so it does nothing useful and it's not your fault" ?
Unless you're prepared to duplicate TCP's carefully designed flow control, you're either going to underutilize the path or saturate the slowest link (on an ordinary network without traffic shaping, that amounts to a DoS attack).
Once you solve this problem, you basically have TCP with a very large receive window, which is only an improvement if a selective ACK is dropped while the advertised window is full. In fact waiting until EOF to request retransmissions imposes an idle period on the sender after sending EOF, while TCP can pipeline retransmissions along with new data.
headline
<p>Paragraph one has something to say</p>
<h2>Something is related</h2>
<p>Which is why paragraph two is relevant</p>
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
No, it stands for Object Management Group (the people who came up with CORBA).
I read recently that there is a prion disease where you suffer months of insomnia before dying a slow, agonizing death from neural degeneration. So make sure you bookmark that link. If you ever get that disease, you'll want to print out some OMG standards documents and force yourself to read them. It could save your life someday.
poll is standard (POSIX.1). select is just an old BSDism.