A BeOS API implementation would be easer than a Windows one. For a start the underlying OSes are more similar. Secondly I suspect the API is better defined and may actually meet its spec in places.
Even experienced developers are often better off using Java where speed is not much of an issue. Not having to worry about garbage collection and random leaping pointer disease, not to mention the evils of porting between C++ compilers, allows one to concentrate on getting the algorithm right.
It is unnecessarily verbose, partly due to the C style syntax (Smalltalk manages the same functionality with a much smaller language), and it is slow, but it is just great to see a 'real' programming language with high level features becoming popular at last.
You have to remember that Microsoft's 'customers' are the people who actually make purchasing decisions, not the poor sods who actually have to maintain the systems. You don't persaude an IT manager to upgrade by saying 'we fixed all the bugs', because in companies of any size, he has no up-front experience of the bugs. He wants to be able to claim he saved the company X amount of money per week by implementing some fuzzy combination of buzzwords.
Its not really very likely that MS would gain much from being at the top of a list of hits for a search for "sex", or even for "linux". People searching for a criterea like that have two features in common - firstly they know what they want to see already (porn in one case, Linux info in the other), secondly they do not understand search engines very well. Neither group is likely to say "oh, well, I'll buy a copy of NT Server instead".
It seems to be a common misunderstanding about advertising that is somehow magically attracts you to the thing being advertised. In reality selling works best when the person you are selling to already wants the thing you are trying to sell them - they just may not know that yet !
Randomly sticking text or pictures in front of someone who has no interest in them is unlikely to make a sale.
Having worked with (and spoken too) a lot of Indian programmers, I agree with you. Many of the Indians who work as programmers have better English than many Englishmen. I find Indian Enlgish easier to understand than some of the Scots English and East-Anglian English I listen to every day.
My initial reaction to this was the same as everyone else's seems to have been - that it is a Bad Thing. When you do a web search you want the results sorted by word count, not amount payed, right ?
Actually I do not think so. When I do a web search I want the results sorted by *relevancy*. The big deal in designing a search engine is working out just how relevant the results are, and bear in mind that most users are, as ever, clueless. They are going to do stupid searches for "sex", "football", etc. Search engine usage statistics bear this out. Keyword count is not a sufficient standard of relevancy for a search like this - how much people are prepared to pay may well be a better one. Yahoo and some of the other search engines have been producing adverts more-or-less mixed in with search results for some time now.
What disturbs me more than anything else is the proposal that this be done 'quietly' (though clearly now it will not be long until most of the world knows). People should know what they are getting.
Of course, I do not do searches for "sex" and "football", because its a waste of time, and I have better sources for such things. Google (which is now may favourite search engine) has a much better way of trying to find relevant links, which is much more appropriate for the kinds of searches I tend to do.
Regardless of wether AOL is a profit making entity and similarly regardless of what the law is, I do not understand what these people think they are playing at.
They signed up as volunteers to help to run and online community. This is extremely common - most people do it for fun. As a perk, and to help them in that, they got a free AOL account. Their work for AOL was not their main means of support, their primary role in life, or their career.
Therefore (regardless of the law) their is no sense of 'natural justice' in their asking to be recognised as employees - they seems to just be in this for what they can get out of it. The question that glares out at me is - if they hated it so much, why did they volunteer ? so they could sue AOL ?
I agree about the correlation, but that does not demonstrate a causal relation, or give a recipe for changing the situation. Where do you get new technology from ? How do you lower the birth rate ?
I also agree about give aways - giving away things that were not yours in the first place helps even less. I doubt that was what the book's author was suggesting.
Viruses. Some virsuses seem to contain DNA which has 'escaped' from host species. Some host species contain what looks like old viral DNA. The human genome contains bits an peices that seem to have come from all kinds of different species.
The penecillin thing is different - the point was just that we cannot be sure what evolution will do with what we give it (but then many GM crops are infertile). I think Steve Jones' words got a little mangled by his interviewer.
The Obvious Looming Bio-Catastrophe
on
Gene Leakage
·
· Score: 2
Julian Simon is (or rather was) a very cool person. His confidence in the idea that we can rely on our own resourcefulness to dig ourselves out of trouble seems by and large to be well placed.
On the other hand, as out powers over the ecosystem increase, I am uncomfortable with the idea of trusting in as-yet-unmade discoveries to save ourselves if anything does go wrong. Even if it does all work out in the end, a great deal of value may be destroyed in the process. You may not care, and I am not sure I do either, but a lot of people certainly do.
You are right that much of the concern expressed by the public over GM food is ill-informed, and you are right that life is not fragile.
The point you seem to miss however is that life has gone on but a great may species (and not a few human cultures) have been wiped out. Sometimes that happens because of their own actions.
GM crops do increase the chance we might destroy some part of the ecosystem we depend on, and either kill a lot of people or radically reduce oeveryone's quality of life.
When you hear some of the stories (some of which are probably at least based on fact) of the arrogance of the companies selling these new crops, and their attitude towards local rules on testing, it seems that insufficient care is being taken.
The issue is precisely what you use your resources (both mental and physical) for. Do you try to build a better CD player ? or a clockwork radio ? Do you try to find an expensive cure for AIDS ? or a cheap one for malaria ? Whether you like it or not, these are ethical choices which face all of us. You can evade it using variants of the same 'its all their own fault' argument that the rich have used for years, but it does not make the choice any less real. The fact remains that the vast majority of poor people have no choice, and you and I do. What are you going to do about it ?
The exact causes of poverty, both of states and or individuals, are an unknown. You are probably right that a lack of what might be called 'civil society' or the 'rule of law' has a lot to do with it, but the risks of nationalisation and war are exaggerated in places, and much less prevalent in others. Colonial history (of which the US is certainly much less blameless than you probably think), excessive lending, and ignorant attempts by the west to reform the poor countries all also play their part.
If you want to get an idea of how ignorant most of the West's dealings with africa really are try Graham Hancock's "Lords of Poverty". He raises a number of good points - although some of what he says should be treated with suspicion.
Has Java Progressed wrt Generic Programming?
on
Java for EGCS
·
· Score: 1
Stroustrup criticised Java for lack of portability ? Now there is a man with a sense of humor.
I would prefer Java to support generics as well - all that casting makes my fingers ache - but I want them to do it properly. C++ templates have several problems - they do not perform up-front checks on the parameters, and there is no way to constrain the types of the parameters. This makes them a pain to use. There is also no way to use them as proper generic types (ie if T is a template you cannot say x is of type T without giving all the type parameters as well, and even then T does not include T).
I prefer the Java situation (whose worst consequence is sore fingers) to the situation with C++.
Write Once Run Anywhere requires a platform for application development, and that requires a class library. With a compiler and a VM you can calculate fibonacci sequences or find GCDs, but thats no use at all without IO libraries. This is exactly the same philosophy that makes C portable.
The problem with operator overloading
on
Java for EGCS
·
· Score: 1
I agree overloaded operators are easier to use, and it makes Java very verobose (as well as increasing the inelegant distinction between objects and primtive types).
The problem with operator overloading is that in long peices of code, it makes it hard to work out what is really going on - you cannot tell whether a + b is just an integer addition or some function call, and then you do not know whether it has the properties you would expect of +.
I remember one peice of C++ code that redefined + to perform some operation with a a side effect. You wouldn't believe how long it took me to find the bugs in that (someone else wrote it, I should stress).
I agree with part of what Eric says. We need to put more work into settling our internal disagreements in a manner not reminiscent of a bunch of 12 year olds.
On the other hand I an disturbed by the idea that RMS, Perens and the rest should have complained to ESR without making their concerns known to the rest of us. Most of us are not license lawyers, and the problems with Apple's license are subtle but very real. I think it is in the best traditions of the community that they raise their concerns in public (perens was even very polite about it). Consider what would have happened if ESR and the rest had agreed to complkain to Apple and Apple had done nothing ? Others would have noticed the problem, but some people would probably have used Apple's code illegally or been caught out by conditions they did not understand.
So how do we do conflict resolution properly ? I think it should be done in public, where we can all participate, that it should be done without flamage and personal attacks, and that we have to make it clear to the 'suits' that that is how we work. Some of the problems with the APSL seen to come from its having been discussed in private were only the OSI could review Apple's decisions. Understandably they missed some things.
Garbage collection for those who find it to lazy or dificult to call free()...
I am afraid you have just pressed one of my buttons. There is nothing that alerts me to danger more than one programmer acusing another of being 'lazy' because he does not want to use some rediculously complicated tool of which the first programmer is fond.
I have NEVER seen a place where, if you were careful (as you should be) in designing your code, you couldn't have nice matching malloc()/free() pairs.
If this were usenet, at this point I would endeavour to call you out on this, and we would end up in a pissing contest over who had the most experience and whose experience was most real
Since this is not usenet, and I am in a good mood, I will not. I will just say that I have seen many examples of supposed OO code hacked to death or made overly complicated by the need to keep track of memory allocation. The stability, memory usage and locality of a great many C programs (including XFree86) can be improved by linking them with a garbage collector. In many cases this can actually make them faster.
I am, at this very minute, attempting to track down a bug in a C++ library linked against my Java program, which is caused by a failure of the evil reference counting scheme the library author used to keep track of his memory usage. Now I know, from looking at the code, that he could not have used malloc and free in the traditional way without breaking the clean interface of his code, and using a real garbage collector with C++ is hard, so what choice did he have ? But the need to reimplement garbage collection badly for every project rather than doing it properly once is a total waste of time.
You cannot write a bytecode verifier, in the Java sense, for X86 assembler. This is one of those things people keep missing. Java's bytecode is typed. That means you can prevent things like casting integers into pointers, which would otherwise be possible.
I read that wired article as well. IIRC the process requires the palladium electrodes to have particular kinds of holes in them to get the hydrogen to bond to them and fuse.
It certainly sounds like something was going on there to me. Whether it is useful or not is another matter.
As has been pointed out hundreds of times, in any circumstance where security matters, you do not give users root access to machines. Root access is limited to a small number of trained staff. Root access is needed to install anything than could potentially damage the system.
Access to the source code thereby does not improve anyone's ability to sabotage the system. Abuses by IS staff can happen on any system regardless of source code.
I think I actually saw the original post Mr Mettler got flamed for. I think it was on comp.os.linux.advocacy, and that makes slashdot look really tame.
The thing is, that the point he raises, while real, is not a serious one, because sysadmins only install software from known sources, and only sysadmins can install software that runs as root. People were rude to him because he was arrogant, and either refused to acknowledge or failed to understand this point.
A BeOS API implementation would be easer than a Windows one. For a start the underlying OSes are more similar. Secondly I suspect the API is better defined and may actually meet its spec in places.
MIS
Simon
Even experienced developers are often better off using Java where speed is not much of an issue. Not having to worry about garbage collection and random leaping pointer disease, not to mention the evils of porting between C++ compilers, allows one to concentrate on getting the algorithm right.
It is unnecessarily verbose, partly due to the C style syntax (Smalltalk manages the same functionality with a much smaller language), and it is slow, but it is just great to see a 'real' programming language with high level features becoming popular at last.
You have to remember that Microsoft's 'customers' are the people who actually make purchasing decisions, not the poor sods who actually have to maintain the systems. You don't persaude an IT manager to upgrade by saying 'we fixed all the bugs', because in companies of any size, he has no up-front experience of the bugs. He wants to be able to claim he saved the company X amount of money per week by implementing some fuzzy combination of buzzwords.
Its not really very likely that MS would gain much from being at the top of a list of hits for a search for "sex", or even for "linux". People searching for a criterea like that have two features in common - firstly they know what they want to see already (porn in one case, Linux info in the other), secondly they do not understand search engines very well. Neither group is likely to say "oh, well, I'll buy a copy of NT Server instead".
It seems to be a common misunderstanding about advertising that is somehow magically attracts you to the thing being advertised. In reality selling works best when the person you are selling to already wants the thing you are trying to sell them - they just may not know that yet !
Randomly sticking text or pictures in front of someone who has no interest in them is unlikely to make a sale.
Having worked with (and spoken too) a lot of Indian programmers, I agree with you. Many of the Indians who work as programmers have better English than many Englishmen. I find Indian Enlgish easier to understand than some of the Scots English and East-Anglian English I listen to every day.
My initial reaction to this was the same as everyone else's seems to have been - that it is a Bad Thing. When you do a web search you want the results sorted by word count, not amount payed, right ?
Actually I do not think so. When I do a web search I want the results sorted by *relevancy*. The big deal in designing a search engine is working out just how relevant the results are, and bear in mind that most users are, as ever, clueless. They are going to do stupid searches for "sex", "football", etc. Search engine usage statistics bear this out. Keyword count is not a sufficient standard of relevancy for a search like this - how much people are prepared to pay may well be a better one. Yahoo and some of the other search engines have been producing adverts more-or-less mixed in with search results for some time now.
What disturbs me more than anything else is the proposal that this be done 'quietly' (though clearly now it will not be long until most of the world knows). People should know what they are getting.
Of course, I do not do searches for "sex" and "football", because its a waste of time, and I have better sources for such things. Google (which is now may favourite search engine) has a much better way of trying to find relevant links, which is much more appropriate for the kinds of searches I tend to do.
Regardless of wether AOL is a profit making entity and similarly regardless of what the law is, I do not understand what these people think they are playing at.
They signed up as volunteers to help to run and online community. This is extremely common - most people do it for fun. As a perk, and to help them in that, they got a free AOL account. Their work for AOL was not their main means of support, their primary role in life, or their career.
Therefore (regardless of the law) their is no sense of 'natural justice' in their asking to be recognised as employees - they seems to just be in this for what they can get out of it. The question that glares out at me is - if they hated it so much, why did they volunteer ? so they could sue AOL ?
I agree about the correlation, but that does not demonstrate a causal relation, or give a recipe for changing the situation. Where do you get new technology from ? How do you lower the birth rate ?
I also agree about give aways - giving away things that were not yours in the first place helps even less. I doubt that was what the book's author was suggesting.
Viruses. Some virsuses seem to contain DNA which has 'escaped' from host species. Some host species contain what looks like old viral DNA. The human genome contains bits an peices that seem to have come from all kinds of different species.
The penecillin thing is different - the point was just that we cannot be sure what evolution will do with what we give it (but then many GM crops are infertile). I think Steve Jones' words got a little mangled by his interviewer.
Julian Simon is (or rather was) a very cool person. His confidence in the idea that we can rely on our own resourcefulness to dig ourselves out of trouble seems by and large to be well placed.
On the other hand, as out powers over the ecosystem increase, I am uncomfortable with the idea of trusting in as-yet-unmade discoveries to save ourselves if anything does go wrong. Even if it does all work out in the end, a great deal of value may be destroyed in the process. You may not care, and I am not sure I do either, but a lot of people certainly do.
You are right that much of the concern expressed by the public over GM food is ill-informed, and you are right that life is not fragile.
The point you seem to miss however is that life has gone on but a great may species (and not a few human cultures) have been wiped out. Sometimes that happens because of their own actions.
GM crops do increase the chance we might destroy some part of the ecosystem we depend on, and either kill a lot of people or radically reduce oeveryone's quality of life.
When you hear some of the stories (some of which are probably at least based on fact) of the arrogance of the companies selling these new crops, and their attitude towards local rules on testing, it seems that insufficient care is being taken.
The issue is precisely what you use your resources (both mental and physical) for. Do you try to build a better CD player ? or a clockwork radio ? Do you try to find an expensive cure for AIDS ? or a cheap one for malaria ? Whether you like it or not, these are ethical choices which face all of us. You can evade it using variants of the same 'its all their own fault' argument that the rich have used for years, but it does not make the choice any less real. The fact remains that the vast majority of poor people have no choice, and you and I do. What are you going to do about it ?
The exact causes of poverty, both of states and or individuals, are an unknown. You are probably right that a lack of what might be called 'civil society' or the 'rule of law' has a lot to do with it, but the risks of nationalisation and war are exaggerated in places, and much less prevalent in others. Colonial history (of which the US is certainly much less blameless than you probably think), excessive lending, and ignorant attempts by the west to reform the poor countries all also play their part.
If you want to get an idea of how ignorant most of the West's dealings with africa really are try Graham Hancock's "Lords of Poverty". He raises a number of good points - although some of what he says should be treated with suspicion.
Stroustrup criticised Java for lack of portability ? Now there is a man with a sense of humor.
I would prefer Java to support generics as well - all that casting makes my fingers ache - but I want them to do it properly. C++ templates have several problems - they do not perform up-front checks on the parameters, and there is no way to constrain the types of the parameters. This makes them a pain to use. There is also no way to use them as proper generic types (ie if T is a template you cannot say x is of type T without giving all the type parameters as well, and even then T does not include T).
I prefer the Java situation (whose worst consequence is sore fingers) to the situation with C++.
Write Once Run Anywhere requires a platform for application development, and that requires a class library. With a compiler and a VM you can calculate fibonacci sequences or find GCDs, but thats no use at all without IO libraries. This is exactly the same philosophy that makes C portable.
I agree overloaded operators are easier to use, and it makes Java very verobose (as well as increasing the inelegant distinction between objects and primtive types).
The problem with operator overloading is that in long peices of code, it makes it hard to work out what is really going on - you cannot tell whether a + b is just an integer addition or some function call, and then you do not know whether it has the properties you would expect of +.
I remember one peice of C++ code that redefined + to perform some operation with a a side effect. You wouldn't believe how long it took me to find the bugs in that (someone else wrote it, I should stress).
I agree with part of what Eric says. We need to put more work into settling our internal disagreements in a manner not reminiscent of a bunch of 12 year olds.
On the other hand I an disturbed by the idea that RMS, Perens and the rest should have complained to ESR without making their concerns known to the rest of us. Most of us are not license lawyers, and the problems with Apple's license are subtle but very real. I think it is in the best traditions of the community that they raise their concerns in public (perens was even very polite about it). Consider what would have happened if ESR and the rest had agreed to complkain to Apple and Apple had done nothing ? Others would have noticed the problem, but some people would probably have used Apple's code illegally or been caught out by conditions they did not understand.
So how do we do conflict resolution properly ? I think it should be done in public, where we can all participate, that it should be done without flamage and personal attacks, and that we have to make it clear to the 'suits' that that is how we work. Some of the problems with the APSL seen to come from its having been discussed in private were only the OSI could review Apple's decisions. Understandably they missed some things.
Garbage collection for those who find it to lazy or dificult to call free()...
I am afraid you have just pressed one of my buttons. There is nothing that alerts me to danger more than one programmer acusing another of being 'lazy' because he does not want to use some rediculously complicated tool of which the first programmer is fond.
I have NEVER seen a place where, if you were careful (as you should be) in designing your code, you couldn't have nice matching malloc()/free() pairs.
If this were usenet, at this point I would endeavour to call you out on this, and we would end up in a pissing contest over who had the most experience and whose experience was most real
Since this is not usenet, and I am in a good mood, I will not. I will just say that I have seen many examples of supposed OO code hacked to death or made overly complicated by the need to keep track of memory allocation. The stability, memory usage and locality of a great many C programs (including XFree86) can be improved by linking them with a garbage collector. In many cases this can actually make them faster.
I am, at this very minute, attempting to track down a bug in a C++ library linked against my Java program, which is caused by a failure of the evil reference counting scheme the library author used to keep track of his memory usage. Now I know, from looking at the code, that he could not have used malloc and free in the traditional way without breaking the clean interface of his code, and using a real garbage collector with C++ is hard, so what choice did he have ? But the need to reimplement garbage collection badly for every project rather than doing it properly once is a total waste of time.
You cannot write a bytecode verifier, in the Java sense, for X86 assembler. This is one of those things people keep missing. Java's bytecode is typed. That means you can prevent things like casting integers into pointers, which would otherwise be possible.
but I do not think its a problem with free software. Its just a case where free software might make idiotic management worse
I read that wired article as well. IIRC the process requires the palladium electrodes to have particular kinds of holes in them to get the hydrogen to bond to them and fuse.
It certainly sounds like something was going on there to me. Whether it is useful or not is another matter.
If you actually read the article, remote viewing has next to nothing to do with it.
As has been pointed out hundreds of times, in any circumstance where security matters, you do not give users root access to machines. Root access is limited to a small number of trained staff. Root access is needed to install anything than could potentially damage the system.
Access to the source code thereby does not improve anyone's ability to sabotage the system. Abuses by IS staff can happen on any system regardless of source code.
I think I actually saw the original post Mr Mettler got flamed for. I think it was on comp.os.linux.advocacy, and that makes slashdot look really tame.
The thing is, that the point he raises, while real, is not a serious one, because sysadmins only install software from known sources, and only sysadmins can install software that runs as root. People were rude to him because he was arrogant, and either refused to acknowledge or failed to understand this point.
If that is arrogance, then so be it.