Ok, you went out and bought some SolidCAD s/w package that is essential to your business. For example you are manufacturing kitchen cabinets, and all your designs are in SolidCAD format.
Now you find a bug in the software. Currently you would report it to the developer, and hopefully the bug would be fixed in the next patch. All would be well.
But here you want your money back... and the SolidCAD people then tell you "Ok, we give you your money back - but you give us back the software and the protection key. Our contract is null & void, and you have gotten a number of months of free use out of our product. Get out of here now."
Now what will you do? You need this software, bugs or no bugs, but instead you just got your money back. Conversion of SolidCAD data to a competing package, like AutoWorks or ProInventor, will require you to buy that software anyway, and on top of that the conversion may lose some attributes of your designs that SolidCAD had, but STEP or ACIS failed to carry.
Unfortunately, QCAD is almost unusable compared to the power of AutoCAD. Watch an ACAD draftsman working, and you will understand why (the command line.)
The GP was probably talking about SolidWorks, SolidEdge, CATIA, ProEngineer - these packages generate engineering drawings and models, not just cute images. They are priced accordingly.
you are then a currently innocent man sitting in jail.
Yes. A judge has power to put innocent people in jail when there are good reasons to do so. For example, when the police reasonably believes you are a 2nd coming of Jack the Ripper. The community will be best served if you are temporarily put out of circulation.
Besides, it is possible that your twin brother did the mayhem and then escaped through the sewers, while you were leaned against the wall and mostly drunk. After the smoke clears you may well be arrested for your brother's misdeeds, and then you will be a real innocent man in jail.
If I am innocent I should be free to leave and go where I want to, should I not?
No. Innocence or guilt is unrelated (orthogonal) to being or not being under arrest. A convicted felon may escape and walk free; a driver may forget his papers at home, be stopped at night, behave suspiciously and get arrested until things clear out and his wife brings the papers to the police station. The felon remains a felon, and the driver is a suspect at most, though most likely people get arrested at such situations for their own good (like when not exactly sober, confused, or driving dangerously.)
Labs and factories are full of PCs that are connected to this and that piece of equipment, and they all run desktop Windows - not any WinCE. Why in the world would anyone want to build a custom WinCE box from scratch to control his EPROM programmer? And where did you see the GPIB or HP-IB or CAN interface for WinCE? Can you use your standard NI GPIB PCI boards with WinCE? I don't think so; but that's essential for many test setups, since GPIB rules there.
Most PCs today are capable of near real-time response, provided that the hardware driver is used. The Windows OS may be not designed for real time activity, but by throwing a CPU at the problem you can do very, very well. If your hardware can handle occasional delays you are OK. A CD writer is an example of real-time hardware - see how well it works these days, because it can tolerate a delay now and then due to its internal buffer. A warehouse robot, for example, can be also commanded by a PC - as long as it is designed properly; for example, you don't want to have START MOVING and STOP MOVING commands, you want an atomic request "MOVE FROM x to Y THEN STOP". Such requests do not demand a real-time response from the controller.
That will do wonders to acceptance of Vista in industrial environment, where custom hardware is normal and expected. OTOH, one would have to be insane to run a process control on a resource hog like that.
Doesn't MS make more money on a retail sale (i.e. buying it at Bestbuy in a
shrink-wrapped box) than on a OEM License?
OEM license is pure profit, since no additional material goods need to be produced by MS. So if it costs 0 to manufacture, any OEM license sales revenue would be infinitely profitable. A box does cost something to make and distribute and sell; people quote that half of retail price goes to Fry's, truckers, CD printers, box makers, shrinkwrappers, QA etc. So a box is not as profitable.
Besides, how many people buy the [boxed] OS separately from a computer? In my estimates, almost nobody, except geeks who know what they are doing.
Hardware manufacturers often don't release the source code because it costs money to do that. You can't just do tar cj ~/MyDriver | post it on the Web site. There must be an approved process because everything that for-profit companies do affects their paying customers. For example, a customer decides to recompile the driver and something is wrong; he will call the company, and that's loss of $100/hr right there. Who is paying for that? Not the customer, since it takes a lot of arrogance (MS) to charge for helping to wade through company's own bugs. Hardly any company can afford that.
In other words, it does not make any business sense to publish the drivers' sources, considering the main portion of company's paying customers. If it were otherwise, the sources would be published left and right.
Also, people who say "hardware control is just a bunch of writes into registers, nothing for a competitor to steal here" do not understand that a working driver is more valuable than a working hardware. A competitor will do very well if he just clones the hardware interface of the device; for example, a PCI network card driver (for any OS) is complex, but the hardware is very simple. If you want to make your own card and have access to an open-source driver, you can design your hardware so that the registers map into the driver's assumptions, and then you don't need to spend any money on the driver - just compile it as binary, so that nobody can tell whose code is in it, or refactor without making any programming changes (rename methods, variables etc.) So there is a very valid concern about competition reusing your expensive work.
You probably missed the "real-time" part of the grandparent post. His hardware probably does not have any BIOS or video. He is making elevator control systems, or autopilots, or gasoline pumps for all I know, and likely his company is making all the hardware as well. It is quite possible to have all the sources for a given embedded project.
Why would they sacrifice the Free Software part of that, just to spread more proprietary software?
People won't use OpenOffice on a Linux box if they can't play their MP3s on the same box. Throw one proprietary s/w in, and the new convert gets 1000 F/OSS packages to discover. Otherwise she will not even want to look.
if you already know somehow which traps are least likely to be catching rabbits, the most logical thing to do is move them!
And by declaring so are already wrong. It may be better to have 10 poor traps nearby instead of 2 excellent traps far away. That's the whole point of the analysis - to find out which setup is best for given conditions. If you are a marathon runner you may find two far traps working better for you, but if you injure a leg then the constraints change. This problem is for real, and it has no obvious empirical solution (unless you can imagine numerically defined objects in many-dimensional space. But then you have other problems:-)
I don't know how exactly the hardware is done, but I would expect to see some FPGAs doing the control of MGs. These FPGAs can have all the hardware interlocks one can possibly desire. For example, there can be an independent "speed above 0.001 mph" detector which would be simply disabling the reverse until the car is stopped and stays stopped for a second or so. I am sure the thought crossed some minds at Toyota; as far as I can tell, the car manages itself really well.
Yes, Therac-25 case is very well known in embedded software world (where I exist.) It is specifically mentioned in every study of reliability of firmware - especially where failures are life-threatening. There are methods to exhaustively prove that a certain piece of software is correct, and these methods (expensive that they are) are sometimes used. Cheaper methods use parallel processing and voting on results, for example. There are many ways to reach the necessary reliability.
Yes, as a student I had to do it with pen and paper - for educational purposes only, though, because it's quite tedious, and you don't have even to get to hundreds of rows to get really bored. And unless an analytical solution is possible, you can't do "what if?" problems. But the computer doesn't care, and you can try as many constraints as you want.
In any case, none of that applies to villagers in Africa - they can't be expected to grok linear algebra if all they do is hunt rabbits:-) But it will take only one educated person to develop such a software (which is indeed not a rocket science for a university student.) Then many people can enjoy the results.
In Prius the gear selector is completely foolproof because it only signals the car's computers what you'd like to do - and that does not mean a thing if the computer thinks it unwise. For example, switching to reverse at 60 mph won't break anything (and nothing would happen.) The worst you could do is to accidentally switch to 'B' position and lose some efficiency (this setting activates engine braking instead of regen braking.)
Not everyone is born with perfect parking skills and abilities, but practically everybody has to drive if s/he wants to work in a city. Would you force a genius violinist to suffer parallel parking trial each day if he just can't figure out how to do the damn thing - despite him fiddling quite well on his Stradivari?
This is not a contrived example. When many years ago I went to get my drivers' license someone else, a man about 30 years old, failed the test. He then proceeded to complain louldly: "How come I can fly my supersonic military jet and I can't drive a stupid car?":-)
So people can be easily good in one thing and bad in another. You don't complain that Quicken does your finances for you - and so you don't need to complain that someone's else car parks for him. That's what we build all this technology for - to make life simpler for people who want it this way.
Hint: it is one of most common applications of linear programming:
Linear programming, sometimes known as linear optimization, is the problem of maximizing or minimizing a linear function over a convex polyhedron specified by linear and non-negativity constraints. Linear programming theory falls within convex optimization theory and is also considered to be an important part of operations research. Linear programming is extensively used in business and economics, but may also be used to solve certain engineering problems.
Examples from economics include Leontief's input-output model, the determination of shadow prices, etc., an example of a business application would be maximizing profit in a factory that manufactures a number of different products from the same raw material using the same resources, and example engineering applications include Chebyshev approximation and the design of structures (e.g., limit analysis of a planar truss).
This subject is heavy on math, requires fluency in matrix (linear) algebra and is usually taught around 4th semester in universities. I dare you to solve such a task using, for example, the simplex method, just in your head:-)
...refurbished and donated used computers to schools around the world, including 6,000 computer systems donated to democracy-development groups throughout Eastern Europe after the fall of the Berlin Wall.
That's good, of course, but Eastern Europe had decent grid power for most of 20th century, and heated stone buildings, and moderate climate, and low humidity, and everything else that facilitated use of office (desktop) computers with no trouble. In case you wonder, East Germany manufactured all kinds of computers for decades (Robotron), and Bulgaria specialized in mainframes and minicomputers. These countries were well developed and could (and did) stand on their own, they had 100% literacy rate.
This laptop, however, is intended for use in places like Africa - and not even in large african cities where all that grid power, and offices, and everything else is available. People in cities can use desktops. But people in villages can't. Why, you ask?
And laptop power supplies are less fragile?
Wrong question. Laptop's power supplies are not necessarily more or less fragile. But did you ever try to unplug a working laptop from the wall socket? Try the same with a working desktop. Chances are that the desktop computer will disintegrate after several such surprise shutdowns, while the laptop will be working on battery or powering off under OS's control. Even an almost dead battery is good enough to do a controlled shutdown. This is important because if the computer says "Insert OS disk and press ENTER" the thing is done for, there is no easy way to recover, not in the middle of nowhere and not if you are the only guy with a computer.
Nevertheless, with regard to fragility, it can be easily assumed that the Negroponte's laptop will come with a universal power supply that can take more overvoltage than a generic notebook. Frequency hardly matters, and undervoltage is less dangerous (thermal impact only.) But overvoltage kills the switching transistors instantly.
Besides, as I mentioned, office computers are heavy, and they don't come with LCD screens (not for $100, they don't.) The tangle of wires alone will scare people away, and metal case will shock others if the power supply is poorly insulated (which it will be in many places with high humidity - like in Africa, for example.) Laptops, however, are DC-powered (may have safety ground on the low voltage side) and all the high voltage stays in the "brick" that is its AC/DC adapter. Laptops have no wires and can be operated in any conditions, charged from a solar panel or a gasoline generator or a car - or a bicycle even.
Office computers won't survive, and they require too much power, and the power must be stable and good.
Old laptops will work technically, but it will be a support Night Mare. It already is, with Windows - and just imagine having 10 flavors of it, on 100 different pieces of hardware!
The majority of the current work force are not computer literate
That is so. Computers are not for everyone. However if 5% of those villagers want a computer, they should be able to afford one. Right now the bright kids are lumped together with the stupid ones - and what a pain that is to everyone! There may be someone who is capable of greatly advancing the science, and all she now does is herding cows...
How is being productive with a spreadsheet productive? I fail to see the correlation.
You set up 25 traps for rabbits in 25 different locations (xi,yi). Each trap has a unique probability Pi of catching a rabbit (known and collected over the years.) You are at (X,Y), and the cost of travel between each node of the resulting graph is known (some traps are close, some are far, some are across the river, etc.) You can not visit all the traps in one day, and the more rabbits you carry the slower you go. Now would you please tell me without using a computer what is the best travel plan for today if you want to bring as many rabbits home as you can? And which traps should be then reset, given that you don't want to kill rabbits if you can't promptly collect them later?
Now you find a bug in the software. Currently you would report it to the developer, and hopefully the bug would be fixed in the next patch. All would be well.
But here you want your money back... and the SolidCAD people then tell you "Ok, we give you your money back - but you give us back the software and the protection key. Our contract is null & void, and you have gotten a number of months of free use out of our product. Get out of here now."
Now what will you do? You need this software, bugs or no bugs, but instead you just got your money back. Conversion of SolidCAD data to a competing package, like AutoWorks or ProInventor, will require you to buy that software anyway, and on top of that the conversion may lose some attributes of your designs that SolidCAD had, but STEP or ACIS failed to carry.
Unfortunately, QCAD is almost unusable compared to the power of AutoCAD. Watch an ACAD draftsman working, and you will understand why (the command line.)
The GP was probably talking about SolidWorks, SolidEdge, CATIA, ProEngineer - these packages generate engineering drawings and models, not just cute images. They are priced accordingly.
You are sad because the movie has been pirated, or because the movie exists in the first place?
Yes. A judge has power to put innocent people in jail when there are good reasons to do so. For example, when the police reasonably believes you are a 2nd coming of Jack the Ripper. The community will be best served if you are temporarily put out of circulation.
Besides, it is possible that your twin brother did the mayhem and then escaped through the sewers, while you were leaned against the wall and mostly drunk. After the smoke clears you may well be arrested for your brother's misdeeds, and then you will be a real innocent man in jail.
If I am innocent I should be free to leave and go where I want to, should I not?
No. Innocence or guilt is unrelated (orthogonal) to being or not being under arrest. A convicted felon may escape and walk free; a driver may forget his papers at home, be stopped at night, behave suspiciously and get arrested until things clear out and his wife brings the papers to the police station. The felon remains a felon, and the driver is a suspect at most, though most likely people get arrested at such situations for their own good (like when not exactly sober, confused, or driving dangerously.)
Most PCs today are capable of near real-time response, provided that the hardware driver is used. The Windows OS may be not designed for real time activity, but by throwing a CPU at the problem you can do very, very well. If your hardware can handle occasional delays you are OK. A CD writer is an example of real-time hardware - see how well it works these days, because it can tolerate a delay now and then due to its internal buffer. A warehouse robot, for example, can be also commanded by a PC - as long as it is designed properly; for example, you don't want to have START MOVING and STOP MOVING commands, you want an atomic request "MOVE FROM x to Y THEN STOP". Such requests do not demand a real-time response from the controller.
That will do wonders to acceptance of Vista in industrial environment, where custom hardware is normal and expected. OTOH, one would have to be insane to run a process control on a resource hog like that.
OEM license is pure profit, since no additional material goods need to be produced by MS. So if it costs 0 to manufacture, any OEM license sales revenue would be infinitely profitable. A box does cost something to make and distribute and sell; people quote that half of retail price goes to Fry's, truckers, CD printers, box makers, shrinkwrappers, QA etc. So a box is not as profitable.
Besides, how many people buy the [boxed] OS separately from a computer? In my estimates, almost nobody, except geeks who know what they are doing.
In other words, it does not make any business sense to publish the drivers' sources, considering the main portion of company's paying customers. If it were otherwise, the sources would be published left and right.
Also, people who say "hardware control is just a bunch of writes into registers, nothing for a competitor to steal here" do not understand that a working driver is more valuable than a working hardware. A competitor will do very well if he just clones the hardware interface of the device; for example, a PCI network card driver (for any OS) is complex, but the hardware is very simple. If you want to make your own card and have access to an open-source driver, you can design your hardware so that the registers map into the driver's assumptions, and then you don't need to spend any money on the driver - just compile it as binary, so that nobody can tell whose code is in it, or refactor without making any programming changes (rename methods, variables etc.) So there is a very valid concern about competition reusing your expensive work.
You probably missed the "real-time" part of the grandparent post. His hardware probably does not have any BIOS or video. He is making elevator control systems, or autopilots, or gasoline pumps for all I know, and likely his company is making all the hardware as well. It is quite possible to have all the sources for a given embedded project.
People won't use OpenOffice on a Linux box if they can't play their MP3s on the same box. Throw one proprietary s/w in, and the new convert gets 1000 F/OSS packages to discover. Otherwise she will not even want to look.
And by declaring so are already wrong. It may be better to have 10 poor traps nearby instead of 2 excellent traps far away. That's the whole point of the analysis - to find out which setup is best for given conditions. If you are a marathon runner you may find two far traps working better for you, but if you injure a leg then the constraints change. This problem is for real, and it has no obvious empirical solution (unless you can imagine numerically defined objects in many-dimensional space. But then you have other problems :-)
I don't know how exactly the hardware is done, but I would expect to see some FPGAs doing the control of MGs. These FPGAs can have all the hardware interlocks one can possibly desire. For example, there can be an independent "speed above 0.001 mph" detector which would be simply disabling the reverse until the car is stopped and stays stopped for a second or so. I am sure the thought crossed some minds at Toyota; as far as I can tell, the car manages itself really well.
Yes, Therac-25 case is very well known in embedded software world (where I exist.) It is specifically mentioned in every study of reliability of firmware - especially where failures are life-threatening. There are methods to exhaustively prove that a certain piece of software is correct, and these methods (expensive that they are) are sometimes used. Cheaper methods use parallel processing and voting on results, for example. There are many ways to reach the necessary reliability.
Sure you can. But is the owner of the car ahead of you (or behind you) just as skilled as you are?
Myself, I don't remember when I used parallel parking last time. Must be sometime around 1998, most likely. There isn't much need for this skill here.
It's your own fault, though. Real men drive on the right side!
In any case, none of that applies to villagers in Africa - they can't be expected to grok linear algebra if all they do is hunt rabbits :-) But it will take only one educated person to develop such a software (which is indeed not a rocket science for a university student.) Then many people can enjoy the results.
In Prius the gear selector is completely foolproof because it only signals the car's computers what you'd like to do - and that does not mean a thing if the computer thinks it unwise. For example, switching to reverse at 60 mph won't break anything (and nothing would happen.) The worst you could do is to accidentally switch to 'B' position and lose some efficiency (this setting activates engine braking instead of regen braking.)
Also, in Canada left turn is allowed only into the leftmost lane; you move as necessary afterward.
This is not a contrived example. When many years ago I went to get my drivers' license someone else, a man about 30 years old, failed the test. He then proceeded to complain louldly: "How come I can fly my supersonic military jet and I can't drive a stupid car?" :-)
So people can be easily good in one thing and bad in another. You don't complain that Quicken does your finances for you - and so you don't need to complain that someone's else car parks for him. That's what we build all this technology for - to make life simpler for people who want it this way.
Hint: it is one of most common applications of linear programming:
(from here)
This subject is heavy on math, requires fluency in matrix (linear) algebra and is usually taught around 4th semester in universities. I dare you to solve such a task using, for example, the simplex method, just in your head :-)
That's good, of course, but Eastern Europe had decent grid power for most of 20th century, and heated stone buildings, and moderate climate, and low humidity, and everything else that facilitated use of office (desktop) computers with no trouble. In case you wonder, East Germany manufactured all kinds of computers for decades (Robotron), and Bulgaria specialized in mainframes and minicomputers. These countries were well developed and could (and did) stand on their own, they had 100% literacy rate.
This laptop, however, is intended for use in places like Africa - and not even in large african cities where all that grid power, and offices, and everything else is available. People in cities can use desktops. But people in villages can't. Why, you ask?
And laptop power supplies are less fragile?
Wrong question. Laptop's power supplies are not necessarily more or less fragile. But did you ever try to unplug a working laptop from the wall socket? Try the same with a working desktop. Chances are that the desktop computer will disintegrate after several such surprise shutdowns, while the laptop will be working on battery or powering off under OS's control. Even an almost dead battery is good enough to do a controlled shutdown. This is important because if the computer says "Insert OS disk and press ENTER" the thing is done for, there is no easy way to recover, not in the middle of nowhere and not if you are the only guy with a computer.
Nevertheless, with regard to fragility, it can be easily assumed that the Negroponte's laptop will come with a universal power supply that can take more overvoltage than a generic notebook. Frequency hardly matters, and undervoltage is less dangerous (thermal impact only.) But overvoltage kills the switching transistors instantly.
Besides, as I mentioned, office computers are heavy, and they don't come with LCD screens (not for $100, they don't.) The tangle of wires alone will scare people away, and metal case will shock others if the power supply is poorly insulated (which it will be in many places with high humidity - like in Africa, for example.) Laptops, however, are DC-powered (may have safety ground on the low voltage side) and all the high voltage stays in the "brick" that is its AC/DC adapter. Laptops have no wires and can be operated in any conditions, charged from a solar panel or a gasoline generator or a car - or a bicycle even.
Old laptops will work technically, but it will be a support Night Mare. It already is, with Windows - and just imagine having 10 flavors of it, on 100 different pieces of hardware!
That is so. Computers are not for everyone. However if 5% of those villagers want a computer, they should be able to afford one. Right now the bright kids are lumped together with the stupid ones - and what a pain that is to everyone! There may be someone who is capable of greatly advancing the science, and all she now does is herding cows...
You set up 25 traps for rabbits in 25 different locations (xi,yi). Each trap has a unique probability Pi of catching a rabbit (known and collected over the years.) You are at (X,Y), and the cost of travel between each node of the resulting graph is known (some traps are close, some are far, some are across the river, etc.) You can not visit all the traps in one day, and the more rabbits you carry the slower you go. Now would you please tell me without using a computer what is the best travel plan for today if you want to bring as many rabbits home as you can? And which traps should be then reset, given that you don't want to kill rabbits if you can't promptly collect them later?
Good luck figuring it out without a computer.