Why does the CreateProcess function do autocorrection?


Programs that weren't designed to handle long file names would make mistakes like taking the path to the executable and writing it into the registry, unaware that the path might contain a space that needs quoting. (Spaces—while technically legal—were extremely rare in SFN paths.) The CreateProcess function had to decide whether to "autocorrect" these invalid paths or to let those programs simply stop working.

This is the battle between pragmatism and purity.

Purity says, "Let them suffer for their mistake. We're not going to sully our beautiful architecture to accomodate such stupidity." Of course, such an attitude comes with a cost: People aren't going to use your "pure" system if it can't run the programs that they require.

Put another way, it doesn't matter how great your 1.0 version is if you don't survive long enough to make a 2.0.

Your choice is between "being pure and unpopular" or "being pragmatic and popular". Look at all the wonderful technologies that died for lack of popularity despite technical superiority. Sony Betamax. Mattel Intellivision. (And, in the United States: The metric system.)

Electric cars are another example. As great as electric cars are, they never reached any significant market success. Only after conceding to popularity and "sullying" their "purity" by adding a gasoline hybrid engine did they finally gain acceptance.

I see this happening over and over again. A product team that, hypothetically, makes automated diagramming software, says, "I can't believe we're losing to Z. Sure, Z's diagrams may be fast and snazzy, but ours gets <subtle detail> right, and when you go to <extreme case> their diagrams come out a little distorted, and they're faster only because they don't try to prevent X and Y from overlapping each other in <scenario Q>. We're doing all those things; that's why we're slower, but that's also why we're better. Those people over at Z just don't 'get it'."

Guess what. People are voting with their wallets, and right now their wallets are saying that Z is better in spite of all those "horrible flaws". Whatever part of "it" they don't get, it's certainly not the "make lots of people so happy that they send you money" part.

Comments (64)
  1. theCoach says:

    This is a valid point, but this type of thinking has to be done carefully. There is a balance, and people can change their minds about how to vote with theor wallets over time.

    Over time a program based not on purity, but on pragmatism and legacy-use can accumulate a lot of excess baggage, and it is worthwhile to come up with a strategy for eventually sloughing off that excess, and it is a difficult process.

  2. Florian W. says:

    Will IE ever pass the Acid2 test?

  3. N/A says:

    Perhaps you’d like to re-examine your comment "Google is the cute two-year-old girl with curly blond hair that gets all the attention", in light of this?

  4. James Curran says:

    First, I’d challenge the idea that metric is "technical superiority" to the system used in the US. Any system of measurement is arbitary, and the metric system has the further handicap of being organization around base-10, quite possible the worst number to establish a number system on. The US system is organized around base-8 and base-12, for more logical systems.

    (side-note: this lead into my theory that God subcontracted the design of the hand out to a committee — one faction want four fingers so that we’d count in base-8, and invent computer during the brozen age, and another group wanted an opposable thumb. We got stuck with the compromise)

    As I’ve always respond to people who say "Popularity doesn’t indicate what’s best" — "Yes, it does, because popularity indicates the criteria that ‘the best’ is based on".

  5. Anonymous Coward says:

    Re: James Curran.

    Why is the metric system illogical? Have you ever tried to solve a Physics problem in the metric system? And done the same in the US system? You’ll be amazed at how easy it is in the metric system. All conversion factors are 10 and its multiples. No more remembering how many ounces to a pound and feet to a mile. One litre of water weighs one kilogram.

    There’s a reason the scientific community (and most of the world) uses the metric system. It is indeed better than the US one.

    Re: Raymond Chen

    What would have been a pragmatic way of introducing it to the US?

  6. msemack says:

    Florian W,

    Despite working for Microsoft, Raymond Chen actually has little (if any) to do with the development of Internet Explorer. He is not part of the Internet Explorer team.

    You might have better luck asking your question at: http://blogs.msdn.com/ie/default.aspx

    That link is the Weblog for the Internet Explorer team.

  7. msemack says:

    Florian W,

    Despite working for Microsoft, Raymond Chen actually has little (if any) to do with the development of Internet Explorer. He is not part of the Internet Explorer team.

    You might have better luck asking your question at: http://blogs.msdn.com/ie/default.aspx

    That link is the Weblog for the Internet Explorer team.

  8. James Risto says:

    Ben … I think I am with you on this, but would not we use halves and fifths in metric? Or is there too large a gap between 1/2 and 1/5th?

  9. PaulJBis says:

    Nitpick: the "Beta" video system used in professional settings isn’t the same than Betamax. It’s a different system.

    As for the general point, I think that what Raymond is saying can be summarized basically as <a href="http://www.jwz.org/doc/worse-is-better.html"&gt;

    "worse is better"</A>.

  10. Karl says:

    Ah yes… a stirring defense of backwards compatibility by way of comparison to… technologies that never caught on?

    While partially true, it is also true that the original API that let programs write unquoted paths with spaces into the registry could be considered defective. People did it and used it, and now we’re stuck with an workaround (CreateProcess has to autocorrect) going forward. Which is fine, Microsoft has to make this workaround, but over time probably every API in Win32 accumulates this sort of cruft and eventually the system is just hideous.

    Electric cars are a particularly horrible example for what you are trying to get across. The best ones don’t get enough range for people to take a long day trip and make it back without recharging midway. They are NOT practical as the only vehicle for the vast majority of /families. There are other reasons why they didn’t catch on ranging from cost of building charging stations all over the place to maintenance.

  11. Gene says:

    Re: James Curran.(sorry this is so off-topic, but it hits a couple pet peeves)

    OK, so you’re working on whatever, and a 1/4" socket is too small. What’s the next size up from a 1/4" socket? 1/2"? 3/8"? 5/16"? 9/32"?

    Screw that. The next bigger size from a 9mm socket is a 10mm socket. There. Much better.

    And since they normally only use the even sizes, you can tell at a glance if something’s 10mm or 12mm, which I can’t do with steam-age tools.

    This is a major one of the many reasons why I’ve never bought an American made car or motorcycle. It reflects how much the US industry is lagging behind the rest of the world. If they can’t get the basic fasteners right, what else are they slacking on? Take a look at the fact that Ford & GM are losing literally billions per quarter, and Honda is now the most popular car in the US.

  12. oldnewthing says:

    Okay so maybe the electric car analogy was flawed. In its place I propose NTSC. Backwards compatible with black-and-white television sets from the 1950’s. People have been trying to get rid of it for years but the install base is too large.

  13. DuncanS says:

    NTSC: yuk! BBC engineers have a saying: "NTSC = Never The Same Colour"

  14. Wesha says:

    "base-10, quite possible the worst number to establish a number system on. The US system is organized around base-8 and base-12, for more logical systems."

    You’re saying? Wonderful. So you’ll be able to answer my tiny little question. 7/16" + 1/4" = ? Quick. You have 1 second to answer.

  15. Uwe Raabe says:

    I think some 100-200 years ago the 12-base system was also used in "Old Europe". Nowadays evolution has pushed us a step forward. (BTW: the Britains actually caught up just some decades ago, so don’t hesitate)

  16. moff says:

    Metric system is certainly harmful. NASA tried that and they eventually turned to pounds, feets and so on. See http://www.cnn.com/TECH/space/9909/30/mars.metric.02/

    Quting Cay Horstmann’s: "[…] According to the US Metric Association , there are three countries in the world that do not standardize on the metric system: Burma, Liberia and the United States of America.".

  17. I see that the easiest easy way to start us on the metric system full-scale is to start at the top. Make the federal government only release temperature data in Celsius. Mandate that all interstate highway signs also specify distances in kilometers. Change the font prominence on future speedometers to favor km/hr. Require all military hardware to use metric sizing for the parts as a condition for sale. Let it trickle down from there.

  18. Samrobb says:

    You’re saying? Wonderful. So you’ll be able to answer my tiny little question. 7/16" + 1/4" = ? Quick. You have 1 second to answer.

    11/16" – took me less than a second. It has little or nothing to do with the base in use, and much more to do with familiarity and practice.

    I do agree with the socket set comment, though. Metric sockets are a whole lot easier to understand. However, you don’t often find yourself saying, "I need a soket 1/3 of the size of this other one."

    In contrast, I’ve lost track of the number of times my wife and I have had to scale a recipe down by 1/4, 1/3, 2/3… in those cases, being able to do simple integer multiplication and division was nice.

  19. Jerry Pisk says:

    Anonymous Coward, one liter of water does not always weigh one kg. It only does under very specific conditions. And multiples of ten are nice but tell me, how many liters in a cubic meter? How many square centimeters in a square meter? The nice thing about English units is fractions, if you need to divide by two you can get very far (1/32" is a common unit, 0.0625 cm is not).

    As for being nice to programs with bugs – where do you draw the line? Honestly, if you allow programmers to get away with bugs in their code you only encourage them to put them there. Nobody bothers to quote filenames and paths because you (as in the Win32 API team) let them get away with it. And then you wonder why there’s so much poorly written code running under Windows, it’s because you encourage developers not to care about valid values. Wonder why product X is beating you in the server market even though it takes the high road when it comes to issues like this.

  20. Boris Zakharin says:

    So what’s 1/4 of a yard? 0.75 feet. Eek! A fraction! The point is, the system is not consistent. Where’s the unit for 12 feet? Or 1/12 of a mile? Why are there decimal mileposts? I’ve never seen mileposts in 1/12 of a mile or 540 feet.

    Units of time work that way. And at what age do people learn to read the clock? In some cases never.

  21. I’ve always wondered why Americans call it "the metric system", as if the imperial system is not a kind of metric system too. The key point of the "metric system" is that it uses powers of ten. In Spanish it’s called "sistema metrico decimal", i.e., "decimal metric system".

  22. bramster says:

    Give a man 2.54 centimeters, he’ll take 1.62 kilometers.

    "Doing the math" in the metric system is easy, provided you remember where to put the decimal. But we learned to do that with our slide rules, didn’t we?

    Converting to the metric system contains a number of hazards which prevents full conversion.

    Consider buying a metric version of a 4 x 8 sheet of pannelling to renovate your 50-year-old house. The imperial system, at least parts of it will be around for a long, long time.

    Metric conversion in Canada also provided a windfall to manufacturers who used it as an opportunity to mask price increases. By the way, we’re currently paying the equivalent of US$2.99 for a US Gallon of Gas. (still cheaper than bottled water! ":) )

    We get some interesting units here. The gas tank in my van is 76 litres. The urinals at my favorite watering holes all specify 3.8 litres per flush. Hmmmmmm. . .

    How about nautical miles? One degree of latitude is 60 nautical miles (exactly). This makes air navigation somewhat simpler.

    You have to learn to use the appropriate terminology to suit the occassion. In aviation, the adiabatic lapse rate is defined as 1.98 Degrees Celsius per 1000 feet of altitude. Altimeter settings (the way you adjust your altimeter so that you don’t fly into mountains in a low-pressure area), are calibrated in the old inches-of-mercury. Fuel load is measured in pounds, since gasoline is close enough to 6lb/US Gallon so as not to matter.

    And, finally, transponder codes are octally numbered.

    But hey, it all works out if you remember the various rules of thumb! (wasn’t that where the inch came from?).

    Now that I’ve tried to beat this to death, I’ll say that Raymond is not only smarter than the rest of us, he’s also a lot wiser!

  23. bramster says:

    Ivaro: Metric comes from meter. The system was originally based on the meter, which was defined (wrongly, as it turned out), to be 1/10000 of the distance from the north pole to the equator, on a line passing through Paris. I think a fellow named Napoleon may have had something to do with it.

  24. Daniel says:

    So you’re saying that Windows changed its behavior because of an errant application?

    Webster defines codependent as, "a relationship in which a person is controlled or manipulated by another who is affected with a pathological condition". If the application has a "pathological condition" of bad behavior, and Windows is "manipulated" by changing itself to fit the application, isn’t Windows being codependent in a sense?

    There are many instances of this other than the one discussed in this article, but if Windows is codependent in order to survive — which is largely why people are codependent — isn’t that a bad thing?

    IMHO, an operating system should not be "codependent". Errant behavior by applications should be corrected, not accepted. An OS can be BOTH pragmatic AND pure, it just takes more effort than choosing one or the other.

  25. Pops says:

    All US-built cars use metric fasteners.

  26. David says:

    Boils down to "legacy code"–think of all the millions of recipes in cookbooks calibrated in cups, teaspoons, tablespoons, and ounces. If you cook at all, you’re going to HAVE TO use the imperial measurement system. Given that, it’s a lot easier to use one system than two. At least, as long as you’re not a scientist who cooks.

  27. Jerry Pisk says:

    Talking about inconsistency, metric system countries still measure time in base 12 units and angles in base 360 units (or the so easy to remember radians, base PI units). If metric is so much better why wasn’t this switched as well? Imagine how much simpler it would be when 150 minutes would be 1.5 hours instead of 2.5.

  28. TheMuuj says:

    Jerry Pisk: The metric system only defines seconds, not hours and minutes. They are accepted for use with the metric system, as are degrees, but they are not part of the metric system. The same goes for degrees, I believe, although I agree that another unit would be better. Even British Gradians are easier to use than degrees. Then again, I’ve never really had a problem with radians. Just think of PI as a half-circle, and all your fractions of that give you all your angles. Not much more complicated than thinking in degrees, except you have to slap a pi on the end.

    But technically, the only NON-arbitrary units are Planck’s units.

    http://en.wikipedia.org/wiki/Planck_units

    And somehow, I don’t see the United States converting to Planck’s units any time soon, especially since velocities don’t have units (space==time), and a velocity of 0 represents no motion, while 1 represents the speed of light. Talk about needing a lot of decimal points for a speed-limit sign.

  29. Gene says:

    All US-built cars use metric fasteners.

    This is a joke, right?

    Or did you forget the last part: "…except ones made by Ford or GM."?

  30. Rick C says:

    "The value of 15 * 12^3 isn’t so immediately obvious."

    Sure it is–<i>in base 12</i>.

  31. Ben Cooke says:

    James, I can only assume that your unqualified assersion as to the superiority of bases eight and twelve, without any attempt to explain why, is an attempt to spark a debate.

    The most common reason given for using base ten is that most people count in base ten, and most people have ten fingers on which to count, if that’s what they want to do.

    The superiority of base 12 comes into play when dealing with fractions. There are some common fractions that come into play all the time in practical activities such as bakery, general cooking and construction. These are halves, quarters and thirds. Half of 12 is 6. A quarter of 12 is 3. A third of 12 is 4.

    These fractions are much more awkward in base 10: 10 / 2 = 5. That’s not so bad. 10 / 4 = 2.5. Yuck! A fraction! 10 / 3 = 3.33333…. recurring forever. Suddenly it becomes a pain to use quarters and thirds.

    This is why most people who frequently have to do such arithmetic in their heads prefer base 12 units: they can quickly half, quarter and third values into lesser units without aquiring all sorts of awkward decimal places.

    Scientists, on the other hand, prefer base ten because they are frequently writing big numbers down and can abbreviate them using the scientific notation: 15 * 10^3. You can see that and immediately know it’s 15000, and those who deal with these units all the time will come to be familiar with the power values of the different prefixes: milli, kilo, micro and so on. The value of 15 * 12^3 isn’t so immediately obvious. Halving, quartering and thirding aren’t so common in sciences as they are in day-to-day life.

    So they’re both reasonable bases. I don’t really know why someone would use a base 8 unit, but I’m sure someone can tell me. When it comes down to it, units of measure are arbitrary and there’s no problem converting between them when it becomes necessary. Just use whatever suits you.

  32. Rick C says:

    "Ben … I think I am with you on this, but would not we use halves and fifths in metric? Or is there too large a gap between 1/2 and 1/5th? "

    Quick test: draw a circle. Imagine it’s a pie. Divide it into roughly equal quarters. Divide it into roughly equal fifths. Which is easier?

  33. Alberto says:

    Re: Jerry Pisk

    Easy:

    – There are 10000 square centimeters in a square meter: since 1m = 100cm then 1 square meter = 100×100 cm = 10000 cm

    – There are 1000 liters in 1 cubic meter: since 1m = 10dm (decimeters) and 1 cubic decimenter = 1 liter then 1 cubic meter = 10x10x10 dm = 1000 liters. At last, you don’t even need to do the math, it’s simply a matter of adding or removing zeroes.

    So for converting between different units you only need to "move" the decimal point: I can say that I’m 179cm tall or 1.79m tall. But converting between feets and inches is not so straight… But of course, if you are used to one system that you have been using for all your life, any new system will be harder to use for you even if it’s easier by definition.

    Maybe the pragmatic solution for a possible move of US to the decimal system is something similar to what was made in Europe for the transition from the old local currencies to the Euro: First they begin to use it in big transactions and in the stock market. Then, approx. 1 year before the official date in which all the people would have to use it, the shops started to put the prices both in Euros and in the old currency (at least they made that here in Spain), and it was maintained in that way for about 4 years (in fact, in some shops the prices are still in the dual format). In this way, you have to use the new system but until you get used to it you have the old values at hand.

    Nowadays, after 3 and a half years after the change people are quite used to the Euro, although old people still measure prices using the old currency.

    And regarding the UK, they made the final transition to the decimal metric system only 1-2 years ago, and with a lot of objections by a part of the British people.

  34. JamesW says:

    Fair enough with Betamax – it was superior in some ways and it certainly failed in the wider marketplace. It did find a niche in the pro market where its technical superiority was appreciated. Good enough wins the mass market whilst superior kit inhabits small niches – nothing like the computer market eh? ;)

    However, I don’t think that electric cars are that great an example. People don’t buy pure electric cars because they’re not fit for purpose: no range; a big, heavy, expensive battery to lug around; hours to recharge versus 300+ mile range and a couple of minutes to refuel.

    Gas^WPetrol/diesel aren’t going anywhere until:

    a) it runs out

    or

    b) a replacement with a similar energy density comes along

    and

    c) you can refuel with said replacement in a matter of minutes

    and

    d) refuelling stations are *everywhere*

    Batteries aren’t anywhere close to b). Hydrogen and bioethanol are nearer and keep the internal combustion engine so we still have options even after a). Fuel cells are needed for sensible electric motor only cars – and that is still someway off…

  35. amotif says:

    Gosh, for a moment there I thought James’ post on metric’s supposed "technical superiority" was tongue-in-cheek.

    p.s. thumbs are for the carry and negative flags.

  36. Ben Cooke says:

    Rick C:

    Indeed, but I think we’re way beyond having people count in anything but base ten at this point. Scientists using the metric measures system avoids them having to change their standard counting system.

    To all those moaning about fractions of an inch, you might be interested to know that there is a unit called the "line" which is one twelfth of an inch. It’s rarely used in practice, though, perhaps due to its confusing name.

    Feet, I think, should be ignored unless you are dealing with thirds of a yard. I imagine that historically they were added because people found themselves using thirds of a yard quite a lot for some reason; this is suggested by their lack of compliance with the rest of the system. If what you’re measuring doesn’t map to a whole number of feet, you should express it in inches. Anyone know why a mile is such a ridiculous number of yards?

    By the way, I’m British and so I use the metric system a lot in my day to day life. I rarely use the imperial system except for standard quantities such as "a pint of milk", "30 miles per hour" and "a pint of beer". I do see why feet and inches can be superior in some cases, though, and I think people should be less vehement about using one set of measures for everything. As I wrote before, different things are easier in different units, so as long as everyone’s clear on what units everyone else is using it’s not hard to convert between them as necessary, and to make life easier for everyone most things here in the UK include both metric and imperial measures, so you can use whatever you prefer.

  37. David Candy says:

    People please.

    Metre is the correct spelling of metre. Not meter. In Australia we changed a lot of our spelling from er to re.

    cm is not a normally valid usit. One would not use it. It’s in units of 3, ^3 ^6 ^9 etc. So mm, metre or kilometre are the units of lengths.

    In Australia it was mandated by law and not at all optional. Rulers could only be imported if they were marked in metric or imperial not both (so one had to think in metric).

    Me, I’m metric on everything but people. People must be described in Feet / Inches and stones/pounds or I have no idea what they are talking about. Note we in the western world do not describe people in pounds only but stones and pounds (but I can never remember if it’s 14 oz to the pound and 16 pounds to the stone or vice versa).

    Imperial had other measurements, Furlong it 220 yards (approx 200 metre). Hundredweight (cwt) is something (not 100 pounds I think but the international calculator doesn’t know about cwts). A chain (length of a cricket pitch) is 22 yards.

    Britain is also a failed metric country. They managed only partial conversion. Although the were sucessful in those parts unlike the US.

    I read a lot of journal articles by US military officers. I have no idea how the US army manages anything. 1/2 are metric and 1/2 aren’t. It must make it hard for them to talk to each other.

    There is a US galleon. Ronald Reagan invented it in the 70s so the price of fuel would appear cheaper. The US airforce invented the short ton. And americian measurements were always slightly different from true imperial due to your congress’s isolation from the world in the past (and please return to those ways).

    To see exactly how to use metric in accordance with Australian law see Chapter 11 here

    http://www.agimo.gov.au/information/publishing/style_manual (AND PERHAPS SOMEONE CAN TELL THE WORD TEAM THERE ARE OTHER STYLE GUIDES APART FROM CHICARGO even in the US).

  38. JamesW says:

    @Alberto

    ‘And regarding the UK, they made the final transition to the decimal metric system only 1-2 years ago’

    Do people on mainland Europe have any idea what goes on in our far away island? The only common non-metric measurement in current use is the mile for distance, and that’ll change when we start driving on the right – ie never because it’ll cost to much to rip up all the road signs and start again. Yes, people talk about their height in feet and inches or their weight in stones (defaets even the usians does that!). Even so, I’m 31 and am quite happy using metric for height and weight and I suspect those younger than me are even more used to using the metric measurements. Metric has been taught in schools for over a decade – I’m not sure where you got the idea that we were dragged kicking and screaming to enlightenment in the last couple of years!

  39. JamesW says:

    @me

    ‘The only common non-metric measurement in current use is the mile ‘

    For shame! I’ve just read Ben Cooke’s post, and how could I overlook the glorious pint?!

  40. Matt Ryall says:

    This relates very closely to Seth Godin’s post last week, "The Seduction of Good Enough".

    http://sethgodin.typepad.com/seths_blog/2005/06/the_seduction_o.html

    Something a lot of programmers should learn, as we tend to be a bunch of perfectionists.

  41. Dave says:

    Focus, guys: CreateProcess. Take a look at the docs. Assume you pass it this command line without any quotes:

    c:program filessub dirprogram name

    Good ol’ CreateProcess will do you a favor in this order:

    c:program.exe filessub dirprogram name

    c:program filessub.exe dirprogram name

    c:program filessub dirprogram.exe name

    c:program filessub dirprogram name.exe

    Hey, it finally found something to run! For extra special fun it will use the current directory if you don’t provide an absolute path. For example, you can register a COM object that can only be found if the invoking program is in the right directory. MSN9 does this as I recall.

    Since long file names were introduced in Win95, wouldn’t a compromise position have been to let 16-bit programs do this but enforce a stricter set of rules for 32-bit ones?

  42. GreekGoddess says:

    James Curran, if base-12 is so much better than base-10, why do you encode your numbers in decimal? As long as you don’t advocate a complete switch to base-12, I’ll take it for granted that the reason why you prefer imperial units is not technical superiority but familiarity.

    By the way, the fractions that one can conveniently express in base-N depends on the distinct prime factors of N. For example, base-10=2*5 is good for 1/2, 1/4, 1/5, 1/8, 1/10, 1/16, 1/20 and so on. For example, 1000/8 = 125 works fine.

    Base-8 is strictly less expressive than that, because it has 2 as its only prime factor, so its 1/2, 1/4, 1/8, 1/16, 1/32…

    Base-12 (just like base-6) has prime factors 2 and 3, so it can conveniently express 1/2, 1/3, 1/4, 1/6, 1/8, 1/12, 1/16, 1/18. It can not express 1/5 with a finite number of digits.

    Base-30 = 2*3*5 would be strictly more expressive than either base-10 or base-12. But as I said, if convenient fractions were the real reason why you are against the metric system, you would have switched number systems a long time ago.

  43. Moz says:

    I still enjoy converting speeds to imperial units as furlongs per fortnight (yes, google understands that).

    In der olden days before mass manufacture, people needed to be able to measure things using stuff readily to hand. So we have the cubit (elbow to fingertip) foot (foot) inch (thumb width) and pace or yard (pace) for various common sizes. Just be grateful it was standardised as 12 inches to the foot, rather than 11 or 13.

    With the advent of interactive monarchy things were standardised to the size of your king. Which makes it doubly amusing that a bunch of die-hard republicans should be the last remnants to insist on the imperial system of measures. Although I note you’re also big importers of second hand royalty, so there’s probably something missing…

  44. oldnewthing says:

    "wouldn’t a compromise position have been to let 16-bit programs do this but enforce a stricter set of rules for 32-bit ones?"

    ?? That question is a non-starter. CreateProcess is a 32-bit-only API; there is no 16-bit version. So 16-bit programs are already blocked from calling it.

  45. Arta says:

    The cup is the stupidest unit of measurement I have ever seen in actual use. Sometimes I look up recipies on American sites and I just end up running away. Someone invent a standard size of cup, and then it’ll be ok, but until then… grams and millilitres please!

    FYI, I (in the UK) have never heard of ‘English units’ – I assume that’s Imperial? If so, it’s not a terribly accurate name anymore.

  46. Mike Edwards says:

    Absolutely – it’s not the US measurement system, it’s the Imperial system (with the possible exception of the size of a gallon).

    Here in the UK if you’re selling food, you can actually get prosecuted for selling in pounds and ounces. But if you run a pub, selling a pint or a half-pint is expected. And of course journeys are measured in miles and not kilometres, unless you’re running in which case it’s the hundred metres.

    Not that we do this to confuse foreigners, of course, there’s bound to be a proper reason for it.

    And metric fasteners often don’t use odd numbers? My brakes are held in with 15mm bolts, 13mm is very popular as it’s similar in size (and therefore strength) to a 1/2" fastener, my engine is held to the gearbox by 17mm bolts. In fact the only even number I can think of is the 10mm bolts that hold the cam cover in place.

  47. John Topley says:

    "Nowadays, after 3 and a half years after the change people are quite used to the Euro, although old people still measure prices using the old currency."

    Have they got used to the price increases too?

    "And regarding the UK, they made the final transition to the decimal metric system only 1-2 years ago, and with a lot of objections by a part of the British people."

    You’re joking aren’t you?! Most people here still think in Imperial. Thanks to our screwed-up education system, I’m half-familier with both systems! Road signs are in miles and yards. And good luck with going to a pub and asking for a litre of beer!

    Oh, and electric cars will be a non-starter until we’re able to get superconductive materials out of the lab and into production.

  48. Nick Lamb says:

    It’s not just the gallon.

    All the various "traditional" unit systems that pre-date SI and the modern standardisation process used the same or similar names for different quantities and most of them also had units in common use that weren’t found in otherwise similar neighbouring systems. Most of them are of course now unused, and this gives the remaining adherents the spurious claim that their system is just as "standard" as SI.

    For example it’s common for anti-metrication people to say that "an inch is the same everywhere", but in fact that’s only true because most countries had ceasing using their local inch altogether, and in the 1950s the British, Americans and Canadians finally agreed on a standard inch defined as 25.4mm. Without SI units to provide a common ground you’d still be re-measuring everything during import.

  49. Pops says:

    "For years, USMA has helped many companies in converting their measurement systems to metric, furnishing training aids and also providing the names of metric experts who could be hired as consultants to help in the conversion. It played a role in the U.S. auto industry’s changeover to metric units."

    (http://lamar.colostate.edu/~hillger/history.htm)

  50. Pops says:

    "Even without much-needed government guidance, the metric system has come to be more widely embraced by American industry over the last 20 years than most of the public is aware. For example, all automobile manufacturing in the U.S. has been conducted in the metric system for over a decade…"

    (http://www.ling.upenn.edu/~kurisuto/metric/mday.html)

  51. foxyshadis says:

    "The cup is the stupidest unit of measurement I have ever seen in actual use. Sometimes I look up recipies on American sites and I just end up running away. Someone invent a standard size of cup, and then it’ll be ok, but until then… grams and millilitres please!"

    Bother, where’s the thrill in that? Cooking’s about variety! I suppose next you’ll want a standardized ‘pinch’ and ‘light dusting’ as well…

  52. Don Munsil says:

    "The cup is the stupidest unit of measurement I have ever seen in actual use. Sometimes I look up recipies on American sites and I just end up running away. Someone invent a standard size of cup, and then it’ll be ok, but until then… grams and millilitres please!"

    Someone did standardize the cup, around a hundred years ago. Fannie Farmer, in her 1918 cookbook, was the first published instance, AFAIK, of someone specifying standard cooking measurements, and she gives a "cup" as 8 ounces, or one-half pint exactly. She may have just been noting the common practice at the time.

    Most conversions consider a cup to be approximately 250ml. It’s really 236, but 250 is typically close enough.

  53. I can’t remember whether it’s in Nogales, Arizona or El Paso, Texas but there’s a road in the US that has all the signs in kilometres! I’ve seen it with my own eyes and found it surprising. Does anyone know the reason? Is it a sort of experiment or what?

    BTW, I kinda recall from my school days that there was an international conference a century ago where several countries (including the USA) signed a agreement to use the metric system, but I’ve been unable to confirm it in quick look at Wikipedia. Am I being betrayed by my nonetheless poor memory?

  54. Brooks Moses says:

    To add a small bit of reality to the rants that assume that US automakers used inch-sized fasteners rather than metric because they’re … well, I believe the sentiment was idiots, even if the word wasn’t.

    In my engineering training as an undergraduate about ten years ago, one of the first practical lessons I learned in the lab was "always, when designing something to be built in the US, use inch-sized fasteners".

    An acquaintance of mine from Europe ignored this rule. The result? Every single bolt in his design cost about three times as much as it "should" have, and many of them had to be special-ordered rather than bought from the local hardware store.

    Now, for large automakers, the price differential probably isn’t that much — but it certainly isn’t zero, either. And a car has some thousands of fasteners of different sizes, so even small price differentials add up. And the result? Well, it was simply cheaper for Ford to build cars with inch-sized bolts, and so they (rather wisely) did.

  55. Mike says:

    Something definately went wrong when the Britsh converted to metric. They now put their motorway sign posts just 1m before the exit. I find that rather close…

    Mike

  56. Nick Lamb says:

    The posts one metre before the exit are exit countdown markers, which were previously one yard before the exit. Since the average person doesn’t distinguish between a yard and a metre distance this doesn’t matter. There are several such posts, evenly spaced before the last one, but in any case you should already be in the exit lane because it’s signposted (with large blue overhead signs) hundreds of metres earlier.

    One thing we British should do is number our exits more sensibly. Probably distance numbering (55km -> Exit 55) would be suitable, perhaps with a suffix for unidirectional exits, eg. 55N would be an exit 55km from the intended start, but for northbound traffic only. Of course in Britain people happily connect and extend motorways in directions that were never conceived by the original designer, so the numbering might still fall apart eventually, but at least it would initially be rational.

  57. Norman Diamond says:

    Then there’s a Windows API call returning some information, among which is whether the thread’s[*] culture is metric or not. And it’s a Boolean. I figure the US is around 40% true (it uses watts, seconds, and some other metric units, and where it uses non-metric units it defines them in terms of metric units). Japan is around 95%, Canada is around 90%, the UK was around 90% when I was there, etc. Funny values for Booleans here.

    For dimensions which are measured in metric, how do we get to specify millimetres or centimetres? Of course conversion from one to the other is pretty obvious, but national cultures do vary as to which is common practice.

    Disk drives are among the funniest. 2.5 inches by 9.5 millimetres by … hmm, I’ve never seen the third dimension specified, but it’s pretty much also a constant.

    Friday, June 24, 2005 1:28 PM by Don Munsil

    > Someone did standardize the cup, […]

    > Fannie Farmer, in her 1918 cookbook, was the

    > first published instance, AFAIK, of someone

    > specifying standard cooking measurements,

    > and she gives a "cup" as 8 ounces,

    Which size of ounce? (The ambiguity is which ounce of volume. Obviously ounce of weight is irrelevant.)

    > or one-half pint exactly.

    But it’s not, it’s 0.4 pints exactly. Oops, that depends on which pint. In most countries that had pints the pint was unambiguous but the US has two unequal pints. (Again all in volume.)

    Meanwhile Japan came up with a cup too, but I don’t know where from. Our measuring cup has millilitres on one side and cups on the other side, 0.5 cup at the same level as 100 ml, 1 cup at the same level as 200 ml, etc. One time my wife read a recipe in English and started obeying its use of the word "cup", so I had to tell her not to use the "cups" side of the measuring cup, but figure out what country the recipe came from and then convert to millilitres appropriately.

    [* Ooops, the created thread’s culture not the created process’s culture. Sorry for straying off topic.]

  58. Don Munsil says:

    Norman Diamond:

    > Which size of ounce? (The ambiguity is which ounce of volume. Obviously ounce of weight is irrelevant.)

    There is only one volumetric "ounce" used in cooking in the US. I don’t know of any other volumetric "ounce" used for any other purpose in the US.

    > But it’s not, it’s 0.4 pints exactly. Oops, that depends on which pint. In most countries that had pints the pint was unambiguous but the US has two unequal pints. (Again all in volume.)

    There is only one "pint" used in cooking in the US. I don’t know of any other pint used in the US for any other purpose.

    The point of the original poster was that measurements in US recipes are ambiguous because "cup" has no established volume. This is not true: it has an established volume. As does pint, ounce, teaspoon, tablespoon, etc.

  59. Norman Diamond says:

    Monday, June 27, 2005 4:27 PM by Don Munsil

    > Norman Diamond:

    >> Which size of ounce?

    >

    > There is only one volumetric "ounce" used in

    > cooking in the US.

    Agreed. Now if you think the US is the only country where posters of other replies preceding and including mine have been posting from, think again. Also consider whether the number of non-US countries where Microsoft steamrolls the marketplace might even outnumber the 1 that the US is. Or even just consider the number of English-speaking countries where Imperial measurements originated and see if they outnumber the US.

    > There is only one "pint" used in cooking in

    > the US.

    Very sly wording.

    > I don’t know of any other pint used in the

    > US for any other purpose.

    Look in a high school textbook. Or blueberries are in season now, so look in your local supermarket.

    > The point of the original poster was that

    > measurements in US recipes are ambiguous

    I think the original poster was talking about CreateProcess, which is why I made a wisecrack in my reply about national cultures being associated with threads which come from CreateThread and are therefore off-topic.

    Your previous contribution said that Fanny Farmer set a standard, with the implication that it was a real standard but forgetting to mention that it didn’t apply to most countries, so I mentioned it for you.

  60. Don Munsil says:

    Norman:

    Enough. You’ve made your point – most non-metric measurements are country-specific and illogical. I agree. I’d much prefer if we switched to metric across the board, including recipes. I’d also much prefer to see most dry ingredients measured by weight, as they are by professional bakers.

    But the point remains that for a US audience reading a US recipe (or for any other audience that cares to find out what the US measurements are), the word "cup" is not imprecise or ambiguous. Illogical and infuriating, perhaps. My wife has constant trouble remembering the US measurements, as she learned metric measurements as a child. But they do refer to specific well-known measurements.

  61. Me says:

    I think the whole Purist viewpoint is worthless. Typical conversations with them go something like this

    Purist:Your solution is ugly, you should do this. Loser!

    Raymond:That won’t work, because (complicated reason)

    P:You don’t need that complexity, take it out!

    R:It’s needed because of this (another complicated reason)

    (several iterations)

    P:Arrgh, you suck.

    Clearly ugly just means ‘too complicated for me to understand’, it’s not really even an aesthetic judgement.

    Seriously, it’s not worth worrying about. Especially as ‘purist’ software has essentially zero market share. If you were a physicist, you ‘d just avoid people who behaved like this about physics. And hopefully keep explaining random bits of physics on your blog ;-)

  62. Norman Diamond says:

    Tuesday, June 28, 2005 2:38 PM by Don Munsil

    > Norman:

    > Enough. You’ve made your point

    Thank you. You’ve made your point too.

    > But the point remains that for a US audience

    > reading a US recipe (or for any other

    > audience that cares to find out what the US

    > measurements are), the word "cup" is not

    > imprecise or ambiguous.

    But the point remains that for an audience in most of the English-speaking world reading a recipe from most of the English-speaking world (or for any other audience that cares to find out what Imperal measurements are), the word "cup" is not imprecise or ambiguous: It is 0.4 pints (not 0.5).

    It would have been better to just leave it at the intermediate point:

    > most non-metric measurements are

    > country-specific

    where we agreed. I hope it’s enough now.

  63. Mike says:

    Nick Lamb:

    >The posts one metre before the exit are exit >countdown markers, which were previously one >yard before the exit.

    You just proved my point. The things are actually a mile before the exit but they say 1m. But you need to come from a metric country to notice this it seems. 1m is one meter, not 1 mile.

  64. Arlie Davis says:

    Nick,

    Interstate freeway ramps in the US are numbered by the distance along the freeway from a state border, in all but (I believe) one state. I believe numbering restarts at 0 at state borders, and increases as you move from south to north, and from west to east. (Local minima relative to longitudes and latitudes are ignored; only the general trend of each highway is considered.) If there are multiple ramps at the same mile marker, then a letter suffix is used to distinguish them, e.g. exit 165A is northboard, 165B southboard, etc. Common at cloverleafs — the American roundabout, I suppose.

    Overall, this works very well. State borders are stable, and interstates do not, in general, change their routes enough to invalidate the mile markers. Estimating time to arrival is very easy, if you know the exit ramp number and are patient enough to wait the average of 30 seconds for the next mile marker.

    I believe Georgia is the only state that does not use this system. A friend of mine grew up in Atlanta, GA, and she was *delighted* to discover that the ramp numbers in other states made more sense.

    I live near a state border formed by a river, and the free that crosses it (I-65) has an Exit 0 ramp. In a world that is largely 1-based, I delight in taking Exit 0.

    — arlie

Comments are closed.