What's incongruous about it? If bullock carts get the job of getting produce to market done, why not? If farms are located close to consumers and consumers have the know-how to prepare their own meals, that seems like an efficient solution, in particular give how cheap labor is in India.
A high-tech information infrastructure doesn't necessitate US-style agriculture, US-style food consumption patterns, or US-style city planning. China and India are now doing much of the manufacturing that the US used to do domestically in the 1950's, and neither their factories nor their cities look anything like what the US looked like in the 1950's.
It's a serious mistake to assume that the rest of the world will develop along the same lines as the US. In fact, we should hope it won't: if nations like India and China followed the US roadmap (reliance on the automobile, extensive consumption of non-renewable resources, etc.), we'd all be in serious trouble. Let's hope India manages to modernize and still keep their bullock carts.
Well, fruit juices contain fructose not sucrose, and fructose is a lot less bad for you. Unsweetened cranberry juice (a berry, not a fruit, of course) in particular seems to contain fewer calories than, say, grape or apple juice. Still, even with all that, you would be getting a lot of empty calories if you were to get all your water from fruit juices. Besides, how much unsweetened cranberry juice can a normal human being drink in a day?
If you are predisposed to osteoporosis and have a low calcium intake, there may be a correlation, according to one study. Not exactly a resounding reason for a healthy male to quit drinking coffee.
Also allowed under the new law are visual displays that help drivers of large vehicles maneuver, screens with a device that locks it in the "off" position when the car is moving and screens in law enforcement and safety vehicles and school buses.
Great. Police get to play PacMan and munch on donuts while driving, while the rest of us can't use a laptop to display a moving map. Flipping through a paper map while driving, which is what most people will likely be doing instead, is just so much safer, right?
Pulling off the highway to look at a map is often pretty much impossible in California: if you take a random exit (remember: you don't know where you are, otherwise you wouldn't be looking at a map), you often end up on another highway or road where you can't stop either and it may take you a long time to find your way back. And you can't just pull over to the breakdown lane because the police is going to stop by within minutes and ask you what your problems is.
First off, I have a problem with this game. It may be beautifully rendered in gory blood, guts and all, and it may have some of the best voice acting in a video game ever, that does not change the fact that the main character (which is usually a hero and should be a hero) is a drug dealer and he has to murder, cheat, steal kill cops or whatever just to achieve the objective of the game is horrible. This is not a heroic action.
Your view of art is pretty much the same view the Soviets and Nazis had: according to them, too, art is all about heroes and heroic action. Anybody depicting anything else was called "degenerate" and banned.
Great art and great literature has often put the spectator into the position of the villain. I think people like you are secretly afraid that you just can't keep phantasy and reality apart. If you really can't keep them apart, you are a psychopath and need to be locked up; banning something like GTA won't help you. For sane people, keeping the two apart is not a problem.
I think there is actually a famous problem about this having to do with orders of logic and completeness, maybe Godel's problem.
No, this has nothing to do with Godel, or with anything complicated logical puzzle. It's a simple software engineering and risk management question.
It's probably best to just prove the proof verifier manually.
As opposed to what? Proof verifiers take as input manually constructed proofs. So, a proof of the proof verifier's correctness is, of course, a manual proof. And you might as well feed your manual proof to the proof verifier: if it finds bugs in it, that is useful information and if it doesn't find any bugs in your proof, you didn't lose anything.
That doesn't matter so much. [...] Under that assumption, either you find out the proof can't be verified,
I think many incorrect formalizations of a proof will give rise to proofs that pass the verifier but don't actually prove what you thought they proved.
It's the proof verifier which really needs to be gone over with a fine tooth-comb - which is why I'd advocate that proof verifying software should be itself proven correct, and checked by a different piece of proof verifying software.
I do not believe that is necessary or important. You already have constructed a manual proof and you are pretty confident that it's correct. The proof verifier tries to find errors in your proof. It's quite unlikely that a bug in the proof verifier will accidentally cover up a conceptual bug in your proof--the two bugs are likely completely unrelated.
In fact, even a proof verifier that is known to be buggy or incomplete is still better than nothing--think of it as a "lint" for proofs: it can point out potential bugs in your proof.
If you do want to construct a proof of the proof verifier's correctness, it still makes a lot of sense to have your proof checked by the proof verifier itself.
The gym was really the secret for me. I've been a sworn night person for my entire life. After a month or two at the gym, my body got convinced it was supposed to fire up at 6:30am every day and started taking care of itself.
Horrible. Most interesting things (art, social events, deep thoughts, love) happen at night. Let that be a warning: go to the gym and civilization goes down the tubes.
the attention from women'll more than make the effort worthwhile.
Too bad you won't be awake to take advantage of it.
Is it causing you any problems? Do you have other medical problems that are exacerbated by caffeine? If not, why quit? Caffeine seems to help alertness even if you use it long term, so if you can tolerate it without any ill effects, it might help you a little. And black and green teas may have other benefits.
One thing you should stay away from: soft drinks with caffeine--not because of the caffeine but because of the sugar and/or artifical sweetener. Sugar is dangerous (weight gain, diabetes) and artifical sweeteners are not so good either. So, stick to unsweetened tea or coffee. Sticking with tea or coffee also lets you vary your caffeine intake by choosing decaffeinated versions or herbal versions--without changing your habits.
Be sure that not all your fluid intake is from caffeinated beverages--they may act as mild diuretics. Mineral water is always a safe and good choice.
The changing face is simple: over the next few years, India will develop its own, stand-alone software industry. US firms won't be outsourcing to India, they will be competing with Indian companies.
Furthermore, multinationals will not be "outsourcing" to India anymore, meaning sending sporadic, low-level programming tasks there, they will be expanding their subsidiaries there and doing R&D in India, just like they are doing R&D in the US and Europe.
Will this mean downward pressure on the salaries of US programmers? You bet. But it's only fair: companies like IBM make more than half their revenue outside the US, therefore it stands to reason that they should employ more than half their employees outside the US. Right now, the percentage is still much lower.
I'm glad you've contributed this gem of insight on such a difficult topic. Just think of all those mathematicians who have been wasting their time!
They have. Pertti Lounesto, an expert on Clifford Algebras, went through the spinor and Clifford algebra literature with a fine tooth comb and found it to be rife with mistakes. Mathematicians he contacted would generally be unwilling to admit their mistakes even when presented with proofs. And there is no reason to believe that his specialty was any more prone to mistakes than other areas of mathematics--it was just the field he was competent in to find errors by others.
Mathematics, right now, is a field barely about philosophy in rigor and verifiability. Hopefully, computer science will set mathematics on the right path eventually and give it the tools to verify its results formally.
By the way, it was probably an oversight, but in your post you forgot to give us the Unified Field Theory and a cure for cancer.
Well, funny you should mention that. Physics and medicine demand experimental verification. It's only mathematics where people can get away with a bunch of people saying "yep, looks right to me".
Unfortunately [Go's] software was buggy, the computers lacked the horsepower to translate handwriting to characters, and the devices were way overpriced.
What really killed Go was probably a faked demo of Windows for Pen Computing at one of the big shows, which gave investors and buyers the impression that Microsoft was just about ready to release a high-quality pen computing environment. Yet, Microsoft didn't have much pen computing software, and when they eventually came out with something, it was far worse than Go.
Iomega released its own proprietary way to write nearly 40 gigabytes of data to a removable disk.
If only--that might still be a good product today. But it was 40 Mbytes.
The notion that you can create profitable companies around giving away free software was some notion hyped up by clueless business magazines like Forbes. That was all a sham, like so much of the business trends Forbes hypes up.
Free software and open source software does not make money by itself. It merely helps existing, profitable companies lower their expenses. And there is some opportunity to make money with free software related services--good enough for a decent living, but not the stuff that will propel a startup into the stratosphere.
Both of those business aspects of free software are good enough to keep free software around. Hopefully, people like Lyons will now turn their unwanted attention to something else.
Really? How many billions of dollars does the U.S. spend in foreign aid a year?
The US spent $12.9 billion dollars in foreign aid in 2002. That makes US foreign aid the lowest percentage of GNP of any nation.
Furthermore, most of that money is not given as development aid, it is given for specific US political purposes: purchases of military hardware, keeping some friendly regime in power, fixing up a country like Afghanistan after a US military strike, permitting US military to remain on foreign soil, etc. Much of that aid is also conditional on buying US products--it is really hidden subsidies for US companies.
US foreign aid is already stingy and self-serving: US foreign aid is an embarrassment to this nation.
How much of that money has paid back?
Most of it is constantly being "paid back" in political favors.
But you are missing the point behind "foreign aid": if it needed to be paid back, it wouldn't be "aid", it would be a "loan". And the point behind foreign aid is to help countries develop, i.e., do exactly what India is doing: create profitable enterprises and jobs. And of course those enterprises are going to compete with the US and take jobs away from the US.
In any case, India receives peanuts in foreign aid from the US, and Europe receives none, so your reasoning doesn't even apply there.
Do you even live in a America,
Yes. What does that have to do with anything?
How many laws and regulations have been passed to keep IBM and other corps. operating on U.S.?
Why should any such laws be passed? IBM is a global company, not a US company. IBM makes more than half of its money outside the US, hence more than half of its workforce should be outside the US. Since it isn't yet, more IBM jobs are moving overseas. It's pretty simple, really.
If the US tried to keep the current imbalance through legislation, other nations would simply retaliate with their own legislation, and the results would be far worse for the US.
do you know the state of the job market out here? Have you ever heard of Flint, Michigan?
I don't see what you are complaining about: US unemployment is nearly half of what European or Indian unemployment is.
What it comes down to is that you want other nations living in poverty. You want to force them to buy US goods so that Americans have good jobs and full employment, and you want to keep them from developing their own competitive industries. You want other nations to do all the unpleasant, unskilled jobs for peanuts to ensure that you still can import cheap clothes and furniture. Pardon the rest of the world for not wanting to go along with your vision. They want to develop their own competitive industries, educate their workforce, and become wealthy, and they don't owe the US anything, least of all countries like China and India.
And what life have you chosen. Tell me about having a life where you have no responsibilities.
I'm sorry, but what do the two have to do with one another? "Having responsibilities" doesn't mean that you have to cut your lunch short or not take time for breakfast.
And then tell me about the unicorns dancing outside of your window. Come on! Being alive, human, and part of the working world means that you don't always have time for a liesurely meal.
Most people living in civilized nations have predictable working hours. You know: 9am to noon, one hour lunch break, 1pm to 5pm. That gives you plenty of time for lunch and plenty of sleep. Others are freelancers and can set their working hours, meaning they too can set aside plenty of time for eating.
If eating a salad in 15 minutes is unhealthy but picking over it for 50 minutes (while the airborne bacteria and germs have a chance to settle in) is, then I'll just eat unhealthy.
Eating a salad alone is unhealthy and, what is more, uncivilized. A decent, civilized lunch consists of an appetizer, a main dish, and desert.
Try reading this for a good example.
Yes, it says:
According to International Data Corp., foreign workers performed about 5 percent of information technology services for American companies this year, but by 2007, that share will grow to 23 percent.
More than 50% of the revenues of companies like IBM come from overseas, so having 23% of their high-tech jobs move overseas still seems disproportionately low; more jobs need to move overseas, not fewer, for the imbalance to be corrected.
Americans have just been able to pick out the choice jobs in the past. But there is no justification for that anymore: many Indians are well-educated and willing to work for less; why shouldn't they get the jobs? The world does not owe the US a high standard of living.
The point I'm making isn't that it's worthless, it's just that it's not necessarily a huge win. For example, I've had programs in fully-garbage-collected languages still grow without bound because of things like circular references or unexpected pointers in places like symbol tables that kept them from being recovered. Just as if I had a memory leak in a manually allocated program.
The point of garbage collection is not to automate resource management (it does that, too, to some degree, but, as you observe, it doesn't always succeed). The point of garbage collection is to allow you to make your programming language safe without paying a big overhead. That's because safe manual storage management is more costly than safe automatic storage management.
Given that, I think we should think long and hard about the costs of the bad side to C++ before picking that language. It's not one I'd be comfortable taking home to meet the parents.:)
I don't see what that has to do with any of the comments about automatic resource management. C++ doesn't have garbage collection. C++ doesn't have any form of built-in automatic resource management. In C++, you can do exactly the same things you do in C and they will run exactly at the same speed as they do in C; only, the C++ language standardizes some language constructs that express what C programmers use various inconsistent conventions for.
I can see why C programmers might be (unjustifiably) prejudiced against garbage collection--garbage collection really is a change. But being prejudiced against C++ for performance reasons or because you think that it won't let you do things you can do in C makes no sense at all. One might object to C++ on the basis of the bad features it inherits from C (and there are plenty) or because it's a big and complex language. But it's big and complex precisely because it successfully combines C-style control and the C "no overhead" philosophy with something resembling a high-level language.
Proofs have reached such a level of complexity that I really have my doubts that mathematicians can verify them reliably.
It's rather like writing a 50000 line program from scratch, without ever running it through a compiler, and then having a dozen people look it over for whether it would compile. Do you really believe that a dozen people looking at a 50000 line program would be able to find all the syntax and type errors contained in it just by eye? And, if anything, mathematical proofs are more complex and subtle. With type checking and syntax, there is at least something where people have years of experience with an unforgiving "proof checker", whereas (most) mathematicians have never had to face the rigor of a formal, automated, unforgiving proof checker.
For any proof of this complexity, I think the proof needs to be formalized and the checked by computer. Even then, there is a big risk that there is some bug in the formalization of the proof.
The POTS concept might seem old and passe but it's reliability can't be argued.
You pretty much can't get POTS reliably anymore--an analog connection all the way through. And when you could, it had all sorts of problems, in terms of quality, security, and reliability.
Prices can be more attractive and all but the quality of service and reliability still pales in comparison to traditional telco.
Well, and if you are willing to pay a premium for having dedicated analog lines running all over the globe, you probably can. Just don't complain if the premium becomes very high because other people choose not to pay for it anymore.
Well, I'll just say that I've run into too many situations where the automatic resource management... or even the automatic resource management hooks, had to be bypassed to avoid problems. Perhaps my experience in the real-time controls industry makes me over-sensitive to this problem, but it's a real one nevertheless.
I don't know what "bypass" is supposed to mean. Let's be concrete and compare Java and C. When you invoke Java "new", you may trigger a garbage collection and experience arbitrary latency. When you call C "malloc" or "free", you may trigger updates to allocator data structures that can also take arbitrarily long. The solution is the same in both cases: pre-allocate what you need and perform storage management during non-critical sections. You have to "bypass" storage management by preallocation in both cases.
Something like a Linux kernel and an X11 server is mostly a soft real time system with a few real-time sections. Those kinds of systems can be handled very well with regular garbage collectors.
If you have hard real-time constraints throughout and you need dynamic memory allocation, there are specialized garbage collectors available for that. They take predictable amounts of time to allocate and free memory. For some reason, they aren't used much in industry, but they certainly work, and they probably work better and more reliably than anything you can do by hand.
It must be nice to have unlimited time and never have anything unexpected happen. My life doesn't work like that. Sometimes I oversleep and don't have time to cook a healthy meal. Then I go to work planning to have a liesurely hour-long lunch and then run into unexpected problems, delays, or meetings. That's what life is like.
No, it's just the life you have chosen.
I'm sure that I'm not the only person alive who would like fast food that is healthy and nutritious.
"Fast food" is intrinsically unhealthy--you need to take your time to eat in order to eat healthy.
But since you brought it up, I do believe that the government should do something about the loss of U.S. jobs.
The US is primarily responsible for creating the international system that permits this kind of outsourcing, and Americans have benefitted handsomely from it so far, so it seems ironic for Americans to complain about it.
Sure, the CEO of IBM might be able to get himself an even bigger seven-figure compensation package by outsourcing software engineering to India, but increasing his personal wealth is not so important that tens of thousands of Americans should have to lose their good jobs for it.
I think you have a distorted view of where US jobs comes from. Companies like IBM have huge overseas operations. Yet, most of their R&D and high-tech work is still carried out in the US. Other nations have no interest in tolerating that kind of imbalance in the long run--they want their own high-tech industries with their own high tech workers and they are going to get them.
If the US tries to force those jobs to remain in the country, other nations are just going to put higher import tariffs on US goods and strengthen their domestic high tech manufacturing. Having the Indian jobs be under the control of a multinational company with headquarters in the US is still the better choice for Americans.
Please, read my original message and tell me where I said anything even remotely like that.
We are discussing these issues in the context of a message that bemoaned the fate of the American family farmer and talked about "monopolies" and putting those responsible for agribusinesses in jail. I'm just saying: there is not much that can be done about it.
The problem with using C++ because it has resource management is that assumes the resource management model that C++ uses is appropriate for the problem space.
C++ doesn't "have resource management", it has standardized hooks for implementing whatever storage allocation and resource management strategies you want.
You wouldn't use C++ resource management for buffer cache handling in an OS, would you?
Using C++ would give you identical performance to what kernels currently do in C, yet it would greatly reduce the risk of bugs.
In any case, more generally, I see no problem using languages that actually have resource management built in. Some of those are badly designed or inefficient (VisualBasic, Java) and are therefore unsuitable, but others are perfectly fine (Modula-3, C#). Automatic resource management (garbage collection, etc.) is almost always more efficient than anything C programmers do by hand, and it is far less error prone.
But kdrive is not "tiny"--far from it. And it's based on older X11 code. I think one should be able to do a better job at creating a small X server than kdrive starting from scratch.
What's incongruous about it? If bullock carts get the job of getting produce to market done, why not? If farms are located close to consumers and consumers have the know-how to prepare their own meals, that seems like an efficient solution, in particular give how cheap labor is in India.
A high-tech information infrastructure doesn't necessitate US-style agriculture, US-style food consumption patterns, or US-style city planning. China and India are now doing much of the manufacturing that the US used to do domestically in the 1950's, and neither their factories nor their cities look anything like what the US looked like in the 1950's.
It's a serious mistake to assume that the rest of the world will develop along the same lines as the US. In fact, we should hope it won't: if nations like India and China followed the US roadmap (reliance on the automobile, extensive consumption of non-renewable resources, etc.), we'd all be in serious trouble. Let's hope India manages to modernize and still keep their bullock carts.
Well, fruit juices contain fructose not sucrose, and fructose is a lot less bad for you. Unsweetened cranberry juice (a berry, not a fruit, of course) in particular seems to contain fewer calories than, say, grape or apple juice. Still, even with all that, you would be getting a lot of empty calories if you were to get all your water from fruit juices. Besides, how much unsweetened cranberry juice can a normal human being drink in a day?
If you are predisposed to osteoporosis and have a low calcium intake, there may be a correlation, according to one study. Not exactly a resounding reason for a healthy male to quit drinking coffee.
Also allowed under the new law are visual displays that help drivers of large vehicles maneuver, screens with a device that locks it in the "off" position when the car is moving and screens in law enforcement and safety vehicles and school buses.
Great. Police get to play PacMan and munch on donuts while driving, while the rest of us can't use a laptop to display a moving map. Flipping through a paper map while driving, which is what most people will likely be doing instead, is just so much safer, right?
Pulling off the highway to look at a map is often pretty much impossible in California: if you take a random exit (remember: you don't know where you are, otherwise you wouldn't be looking at a map), you often end up on another highway or road where you can't stop either and it may take you a long time to find your way back. And you can't just pull over to the breakdown lane because the police is going to stop by within minutes and ask you what your problems is.
First off, I have a problem with this game. It may be beautifully rendered in gory blood, guts and all, and it may have some of the best voice acting in a video game ever, that does not change the fact that the main character (which is usually a hero and should be a hero) is a drug dealer and he has to murder, cheat, steal kill cops or whatever just to achieve the objective of the game is horrible. This is not a heroic action.
Your view of art is pretty much the same view the Soviets and Nazis had: according to them, too, art is all about heroes and heroic action. Anybody depicting anything else was called "degenerate" and banned.
Great art and great literature has often put the spectator into the position of the villain. I think people like you are secretly afraid that you just can't keep phantasy and reality apart. If you really can't keep them apart, you are a psychopath and need to be locked up; banning something like GTA won't help you. For sane people, keeping the two apart is not a problem.
I think there is actually a famous problem about this having to do with orders of logic and completeness, maybe Godel's problem.
No, this has nothing to do with Godel, or with anything complicated logical puzzle. It's a simple software engineering and risk management question.
It's probably best to just prove the proof verifier manually.
As opposed to what? Proof verifiers take as input manually constructed proofs. So, a proof of the proof verifier's correctness is, of course, a manual proof. And you might as well feed your manual proof to the proof verifier: if it finds bugs in it, that is useful information and if it doesn't find any bugs in your proof, you didn't lose anything.
That doesn't matter so much. [...] Under that assumption, either you find out the proof can't be verified,
I think many incorrect formalizations of a proof will give rise to proofs that pass the verifier but don't actually prove what you thought they proved.
It's the proof verifier which really needs to be gone over with a fine tooth-comb - which is why I'd advocate that proof verifying software should be itself proven correct, and checked by a different piece of proof verifying software.
I do not believe that is necessary or important. You already have constructed a manual proof and you are pretty confident that it's correct. The proof verifier tries to find errors in your proof. It's quite unlikely that a bug in the proof verifier will accidentally cover up a conceptual bug in your proof--the two bugs are likely completely unrelated.
In fact, even a proof verifier that is known to be buggy or incomplete is still better than nothing--think of it as a "lint" for proofs: it can point out potential bugs in your proof.
If you do want to construct a proof of the proof verifier's correctness, it still makes a lot of sense to have your proof checked by the proof verifier itself.
The gym was really the secret for me. I've been a sworn night person for my entire life. After a month or two at the gym, my body got convinced it was supposed to fire up at 6:30am every day and started taking care of itself.
Horrible. Most interesting things (art, social events, deep thoughts, love) happen at night. Let that be a warning: go to the gym and civilization goes down the tubes.
the attention from women'll more than make the effort worthwhile.
Too bad you won't be awake to take advantage of it.
Is it causing you any problems? Do you have other medical problems that are exacerbated by caffeine? If not, why quit? Caffeine seems to help alertness even if you use it long term, so if you can tolerate it without any ill effects, it might help you a little. And black and green teas may have other benefits.
One thing you should stay away from: soft drinks with caffeine--not because of the caffeine but because of the sugar and/or artifical sweetener. Sugar is dangerous (weight gain, diabetes) and artifical sweeteners are not so good either. So, stick to unsweetened tea or coffee. Sticking with tea or coffee also lets you vary your caffeine intake by choosing decaffeinated versions or herbal versions--without changing your habits.
Be sure that not all your fluid intake is from caffeinated beverages--they may act as mild diuretics. Mineral water is always a safe and good choice.
Juice. Real 100% fruit juice. Not the sugar water that a lot of what is sold next to juice is.
Even "real" juice has a lot of sugar--not something you want to drink large amounts of.
Sometimes, life is stranger than art, I suppose.
The changing face is simple: over the next few years, India will develop its own, stand-alone software industry. US firms won't be outsourcing to India, they will be competing with Indian companies.
Furthermore, multinationals will not be "outsourcing" to India anymore, meaning sending sporadic, low-level programming tasks there, they will be expanding their subsidiaries there and doing R&D in India, just like they are doing R&D in the US and Europe.
Will this mean downward pressure on the salaries of US programmers? You bet. But it's only fair: companies like IBM make more than half their revenue outside the US, therefore it stands to reason that they should employ more than half their employees outside the US. Right now, the percentage is still much lower.
I'm glad you've contributed this gem of insight on such a difficult topic. Just think of all those mathematicians who have been wasting their time!
They have. Pertti Lounesto, an expert on Clifford Algebras, went through the spinor and Clifford algebra literature with a fine tooth comb and found it to be rife with mistakes. Mathematicians he contacted would generally be unwilling to admit their mistakes even when presented with proofs. And there is no reason to believe that his specialty was any more prone to mistakes than other areas of mathematics--it was just the field he was competent in to find errors by others.
Mathematics, right now, is a field barely about philosophy in rigor and verifiability. Hopefully, computer science will set mathematics on the right path eventually and give it the tools to verify its results formally.
By the way, it was probably an oversight, but in your post you forgot to give us the Unified Field Theory and a cure for cancer.
Well, funny you should mention that. Physics and medicine demand experimental verification. It's only mathematics where people can get away with a bunch of people saying "yep, looks right to me".
Unfortunately [Go's] software was buggy, the computers lacked the horsepower to translate handwriting to characters, and the devices were way overpriced.
What really killed Go was probably a faked demo of Windows for Pen Computing at one of the big shows, which gave investors and buyers the impression that Microsoft was just about ready to release a high-quality pen computing environment. Yet, Microsoft didn't have much pen computing software, and when they eventually came out with something, it was far worse than Go.
Iomega released its own proprietary way to write nearly 40 gigabytes of data to a removable disk.
If only--that might still be a good product today. But it was 40 Mbytes.
The notion that you can create profitable companies around giving away free software was some notion hyped up by clueless business magazines like Forbes. That was all a sham, like so much of the business trends Forbes hypes up.
Free software and open source software does not make money by itself. It merely helps existing, profitable companies lower their expenses. And there is some opportunity to make money with free software related services--good enough for a decent living, but not the stuff that will propel a startup into the stratosphere.
Both of those business aspects of free software are good enough to keep free software around. Hopefully, people like Lyons will now turn their unwanted attention to something else.
Really? How many billions of dollars does the U.S. spend in foreign aid a year?
The US spent $12.9 billion dollars in foreign aid in 2002. That makes US foreign aid the lowest percentage of GNP of any nation.
Furthermore, most of that money is not given as development aid, it is given for specific US political purposes: purchases of military hardware, keeping some friendly regime in power, fixing up a country like Afghanistan after a US military strike, permitting US military to remain on foreign soil, etc. Much of that aid is also conditional on buying US products--it is really hidden subsidies for US companies.
US foreign aid is already stingy and self-serving: US foreign aid is an embarrassment to this nation.
How much of that money has paid back?
Most of it is constantly being "paid back" in political favors.
But you are missing the point behind "foreign aid": if it needed to be paid back, it wouldn't be "aid", it would be a "loan". And the point behind foreign aid is to help countries develop, i.e., do exactly what India is doing: create profitable enterprises and jobs. And of course those enterprises are going to compete with the US and take jobs away from the US.
In any case, India receives peanuts in foreign aid from the US, and Europe receives none, so your reasoning doesn't even apply there.
Do you even live in a America,
Yes. What does that have to do with anything?
How many laws and regulations have been passed to keep IBM and other corps. operating on U.S.?
Why should any such laws be passed? IBM is a global company, not a US company. IBM makes more than half of its money outside the US, hence more than half of its workforce should be outside the US. Since it isn't yet, more IBM jobs are moving overseas. It's pretty simple, really.
If the US tried to keep the current imbalance through legislation, other nations would simply retaliate with their own legislation, and the results would be far worse for the US.
do you know the state of the job market out here? Have you ever heard of Flint, Michigan?
I don't see what you are complaining about: US unemployment is nearly half of what European or Indian unemployment is.
What it comes down to is that you want other nations living in poverty. You want to force them to buy US goods so that Americans have good jobs and full employment, and you want to keep them from developing their own competitive industries. You want other nations to do all the unpleasant, unskilled jobs for peanuts to ensure that you still can import cheap clothes and furniture. Pardon the rest of the world for not wanting to go along with your vision. They want to develop their own competitive industries, educate their workforce, and become wealthy, and they don't owe the US anything, least of all countries like China and India.
I'm sorry, but what do the two have to do with one another? "Having responsibilities" doesn't mean that you have to cut your lunch short or not take time for breakfast.
And then tell me about the unicorns dancing outside of your window. Come on! Being alive, human, and part of the working world means that you don't always have time for a liesurely meal.
Most people living in civilized nations have predictable working hours. You know: 9am to noon, one hour lunch break, 1pm to 5pm. That gives you plenty of time for lunch and plenty of sleep. Others are freelancers and can set their working hours, meaning they too can set aside plenty of time for eating.
If eating a salad in 15 minutes is unhealthy but picking over it for 50 minutes (while the airborne bacteria and germs have a chance to settle in) is, then I'll just eat unhealthy.
Eating a salad alone is unhealthy and, what is more, uncivilized. A decent, civilized lunch consists of an appetizer, a main dish, and desert.
Try reading this for a good example.
Yes, it says: More than 50% of the revenues of companies like IBM come from overseas, so having 23% of their high-tech jobs move overseas still seems disproportionately low; more jobs need to move overseas, not fewer, for the imbalance to be corrected.
Americans have just been able to pick out the choice jobs in the past. But there is no justification for that anymore: many Indians are well-educated and willing to work for less; why shouldn't they get the jobs? The world does not owe the US a high standard of living.
The point I'm making isn't that it's worthless, it's just that it's not necessarily a huge win. For example, I've had programs in fully-garbage-collected languages still grow without bound because of things like circular references or unexpected pointers in places like symbol tables that kept them from being recovered. Just as if I had a memory leak in a manually allocated program.
:)
The point of garbage collection is not to automate resource management (it does that, too, to some degree, but, as you observe, it doesn't always succeed). The point of garbage collection is to allow you to make your programming language safe without paying a big overhead. That's because safe manual storage management is more costly than safe automatic storage management.
Given that, I think we should think long and hard about the costs of the bad side to C++ before picking that language. It's not one I'd be comfortable taking home to meet the parents.
I don't see what that has to do with any of the comments about automatic resource management. C++ doesn't have garbage collection. C++ doesn't have any form of built-in automatic resource management. In C++, you can do exactly the same things you do in C and they will run exactly at the same speed as they do in C; only, the C++ language standardizes some language constructs that express what C programmers use various inconsistent conventions for.
I can see why C programmers might be (unjustifiably) prejudiced against garbage collection--garbage collection really is a change. But being prejudiced against C++ for performance reasons or because you think that it won't let you do things you can do in C makes no sense at all. One might object to C++ on the basis of the bad features it inherits from C (and there are plenty) or because it's a big and complex language. But it's big and complex precisely because it successfully combines C-style control and the C "no overhead" philosophy with something resembling a high-level language.
Proofs have reached such a level of complexity that I really have my doubts that mathematicians can verify them reliably.
It's rather like writing a 50000 line program from scratch, without ever running it through a compiler, and then having a dozen people look it over for whether it would compile. Do you really believe that a dozen people looking at a 50000 line program would be able to find all the syntax and type errors contained in it just by eye? And, if anything, mathematical proofs are more complex and subtle. With type checking and syntax, there is at least something where people have years of experience with an unforgiving "proof checker", whereas (most) mathematicians have never had to face the rigor of a formal, automated, unforgiving proof checker.
For any proof of this complexity, I think the proof needs to be formalized and the checked by computer. Even then, there is a big risk that there is some bug in the formalization of the proof.
Well, sure. If this vast class of problems thought to be intractable is found to be tractable, that would sure be nice.
Defining all problems in P to be "tractable" turns out to be a pretty useless definition.
Realistically the only oddity is that nobody can prove P != NP, as is thought to be the case.
It is bad to be prejudiced about such things.
The POTS concept might seem old and passe but it's reliability can't be argued.
You pretty much can't get POTS reliably anymore--an analog connection all the way through. And when you could, it had all sorts of problems, in terms of quality, security, and reliability.
Prices can be more attractive and all but the quality of service and reliability still pales in comparison to traditional telco.
Well, and if you are willing to pay a premium for having dedicated analog lines running all over the globe, you probably can. Just don't complain if the premium becomes very high because other people choose not to pay for it anymore.
Well, I'll just say that I've run into too many situations where the automatic resource management... or even the automatic resource management hooks, had to be bypassed to avoid problems. Perhaps my experience in the real-time controls industry makes me over-sensitive to this problem, but it's a real one nevertheless.
I don't know what "bypass" is supposed to mean. Let's be concrete and compare Java and C. When you invoke Java "new", you may trigger a garbage collection and experience arbitrary latency. When you call C "malloc" or "free", you may trigger updates to allocator data structures that can also take arbitrarily long. The solution is the same in both cases: pre-allocate what you need and perform storage management during non-critical sections. You have to "bypass" storage management by preallocation in both cases.
Something like a Linux kernel and an X11 server is mostly a soft real time system with a few real-time sections. Those kinds of systems can be handled very well with regular garbage collectors.
If you have hard real-time constraints throughout and you need dynamic memory allocation, there are specialized garbage collectors available for that. They take predictable amounts of time to allocate and free memory. For some reason, they aren't used much in industry, but they certainly work, and they probably work better and more reliably than anything you can do by hand.
It must be nice to have unlimited time and never have anything unexpected happen. My life doesn't work like that. Sometimes I oversleep and don't have time to cook a healthy meal. Then I go to work planning to have a liesurely hour-long lunch and then run into unexpected problems, delays, or meetings. That's what life is like.
No, it's just the life you have chosen.
I'm sure that I'm not the only person alive who would like fast food that is healthy and nutritious.
"Fast food" is intrinsically unhealthy--you need to take your time to eat in order to eat healthy.
But since you brought it up, I do believe that the government should do something about the loss of U.S. jobs.
The US is primarily responsible for creating the international system that permits this kind of outsourcing, and Americans have benefitted handsomely from it so far, so it seems ironic for Americans to complain about it.
Sure, the CEO of IBM might be able to get himself an even bigger seven-figure compensation package by outsourcing software engineering to India, but increasing his personal wealth is not so important that tens of thousands of Americans should have to lose their good jobs for it.
I think you have a distorted view of where US jobs comes from. Companies like IBM have huge overseas operations. Yet, most of their R&D and high-tech work is still carried out in the US. Other nations have no interest in tolerating that kind of imbalance in the long run--they want their own high-tech industries with their own high tech workers and they are going to get them.
If the US tries to force those jobs to remain in the country, other nations are just going to put higher import tariffs on US goods and strengthen their domestic high tech manufacturing. Having the Indian jobs be under the control of a multinational company with headquarters in the US is still the better choice for Americans.
Please, read my original message and tell me where I said anything even remotely like that.
We are discussing these issues in the context of a message that bemoaned the fate of the American family farmer and talked about "monopolies" and putting those responsible for agribusinesses in jail. I'm just saying: there is not much that can be done about it.
The problem with using C++ because it has resource management is that assumes the resource management model that C++ uses is appropriate for the problem space.
C++ doesn't "have resource management", it has standardized hooks for implementing whatever storage allocation and resource management strategies you want.
You wouldn't use C++ resource management for buffer cache handling in an OS, would you?
Using C++ would give you identical performance to what kernels currently do in C, yet it would greatly reduce the risk of bugs.
In any case, more generally, I see no problem using languages that actually have resource management built in. Some of those are badly designed or inefficient (VisualBasic, Java) and are therefore unsuitable, but others are perfectly fine (Modula-3, C#). Automatic resource management (garbage collection, etc.) is almost always more efficient than anything C programmers do by hand, and it is far less error prone.
But kdrive is not "tiny"--far from it. And it's based on older X11 code. I think one should be able to do a better job at creating a small X server than kdrive starting from scratch.