I thought of the same thing. I think that would come down to a question like "Does a person have the right to blindly sign a contract?" Of course, I'm not a lawyer, so I can't answer it.
Stepping beyond that kind of bad analogy, there is another one:
"If Apple turned round to nano users and pointed to a shrinkwrap "licence" on the high-design packaging that exempted it from the provisions of consumer protection law it would never get away with such a blatant disregard for its customers' rights."
But, if I go to a pawn shop and buy refurbished goods, which are sold "as is" then I have accepted more responsibility at the expense of supplier/creator liability.
Likewise, with free software, you accept liability for it being free. If it harms your system, then you should have examined it yourself to be sure. If you don't think that's fair, and that users shouldn't have to (possibly because they can't), I'd like to point out that I can sign a difficult to read contract without prior knowledge of law (which is especially important in "common law" countries, where the law is not always as explicit as it should be).
The moral of the story, hire someone to proof-read the code you want to use, just like people hire lawyers to check contracts. I know that I would like to see an increase of demand for programmers.
Well, consider the people who did tech support in the distant past of the 1980s. They weren't in that field because it was a 2 year program at devry, nor because they knew they could get their A+ certification. They did it because they were interested and/or had a knack for technology.
Not to mention that there is a greater quantity of people in demand at the moment. The moment that quantity is emphasized, quality loses a little (in this case anyway).
Technology itself has changed, consider that support back then had to do lower level things, while support now needs to do higher end (*cough*simplier*cough*) tasks (how does my X work?). You don't hire a kernel hacker so they can install e-mail on Joe Employee's shitty dell (that would be very wasteful). Furthermore, PHBs are probably more willing to throw away that old computer if they weren't the ones who had to petition for computers entering the business anyway, and computers are cheaper now.
The channels that a person uses to communicate depend on who they want to communicate with. For example, if most of my friends use IM to communicate, then I'll use IM to talk to them. If they used email, I'd use email (I said email was outdated for anything but formal communication since the 90s, and as I've learned, others were saying it long before me).
I'd like to ask one question though, assuming that VoIP is the next big thing in communications, how many teenagers do you know that use it? Compare that to how many adults in business.
"Microsoft is a better netizen today than they were five years ago. Their development is more open, and their technologies are more cooperative. There is much more of a free market in webspace now, which is a good thing."
You are correct, there are only a finite number of microsoft detractors and early adopters, like there is a finite number of microsoft fans. But the greatest quantity of people are those that don't care either way.
In my experience Firefox has a viral effect to anyone that uses it (mainly because of tabs). The average person doesn't care about security, because they typically aren't the ones who have to fix it. So, as long as IE doesn't have tabbed browsing Firefox will get more people.
FTfoxA: "Worse, the policy represents an attack on market-based competition, which in turn will hurt innovation."
Yeah, open standards hurt innovation. You know, it's not like groups like ANSI exist to try to re-standardize fractured languages with open standards that have evolved quickly and represent what the people who are using the language want. But hey, it's not like any language with an open standard ever caught on (C, C++, LISP, Ruby, etc.)
But you know, FOX most likely says that evolution is evil too. At least, as far as the public (schools) are involved...
The term "better" in the way the author of that article uses it is not very good. "More Idiot-Proof" or "Less fault tolerant" are terms I'd use in that context.
The comparison term "better" in languages is limited to qualities. For example, if resources are very limited then C is better to use than Java.
Of course, it all boils down to "the right tool for the job".
The thing I fear most about google is that it may dominate the online services world and gain a monopoly position. Which is why most people fear it becoming like microsoft (as far as I've seen).
The reason for this fear is two-fold, but both reasons stem from resources.
In my opinion, a company is too powerful when we have the hypothetical situation that if their "IP" and/or physical assets are taken away, but not the talents of their staff, that they could not hope to compete with their previous work.
Or to state it simpler, when the hardware/software + "IP-rights" are greater than the employees.
A good example of this would be when Steve Jobs created Next with some of the best people from Apple. Another would be to imagine microsoft without the rights to the office formats or windows APIs.
In the case of Google I see two things that would/will qualify them in this category.
1) Hardware, the hardware to run a search engine is quite expensive. 2) Ad revenue connections, imagine getting your foot in the door if you are competing against Google.
The question that I pose now is, "Can an open source project, resembling google, have a chance against google?" As long as the answer to that is yes, I have no problem with them. But it is my fear that in the future, the answer will be no. (I feel that google can still be wiped off the 'net)
Maybe the creation of a "Free Services Foundation" may be required, assuming one does not already exist. Where hardware and bandwidth is provided (I suppose sourceforge would be a good example, but it is only a start)
Even if they had, a guy would have balked at the idea, then complain about it's expense.
The male managers on the other hand would remind the engineers that the market has enough purses already.
Of course, both of these functions are typically reserved for husbands and fathers as is, but I think both parties would be glad for the pre-emptive "I don't know."
I almost spit out my tea while reading the worm part.
But to comment on the quote: "But I don't feel I should know more - that is their job. If we did it all ourselves they would be out of a job." There is a big difference between knowing how to do day to day things (like not running programs from shady websites / MSN / email / etc.) and knowing how to configure a computer.
To entend the car analogy, I recall being a small child and not knowing what the "triangle" button did. And, being four or five, I had two viable options, push the button, or ask. In my experience with supporting users, either case is terrible for support staff (they either have to explain way too much, or fix the broken machine). Pity support staff.
As I recall, in "Revenge of the Nerds" ballmer lamented the wasted effort of developers into OS/2, that he felt should have been spent working on windows. Abstracting that as his way of thought, he would consider developers making drivers and programs for Linux and windows as a waste, and therefore not good for the industry.
And that would be a valid point of spliting resources. If you've ever configured linux, you may have experienced the odd little things that one has to do to make the hardware fully functional. Most of the time it can be done without much effort, but the process typically reveals that developers could have spent more time working on their product compatibility (assuming that the drivers were written by the hardware manufacturer). At least, in my limited experience.
But, while in that kind of situation, I usually catch myself saying that at least something is available and I can make things work. But if we move on to the case of software, then there are scenarios where it isn't meant to work at all (and because WINE is not 100% we cannot consider it a solution, especially in the business world). The best example of this is video games typically only being supported on windows.
So, I give you a scale:
0 = Fully compatible and configured with the ease of at most a wizard, or wizard like device (I count rpms and apt-get as wizard like devices)
1 = Compatible but a little work and manual reading may be required
2 = Not compatible at all
It is my experience that anything greater than 0 will be ignored or marginalized by the public, because they don't want to RTFM, assuming they can find one that caters to their needs. The only problem is that the majority of companies will only focus on one operating system, and again, the apex of this property would be games.
So what is the advantage of only having one operating system? Simple, compatibility and ease of installation. It would be nice if companies hired on more computer professionals to implement this in all operating systems, but, depending on the project, that would cost more, and potientially not even see a return on investment.
Now, the problem with microsoft is that it uses it's power gained over the last 20 years to lock customers in, and not support other OS' (unless they don't see them as a real threat, like apple). Office being the best example. Another one can be found here. Given that they will do this every chance they get they become very dangerous in the world of standards. If you don't think they can have an impact on linux, think about the impact of "trusted computing", which at the very least is going to make the x86 architecture even uglier.
Most people who want to see windows become unpopular want it for the sake of the computing world, even if it comes at a cost to themselves. And, it's not like you're the first to sound the alarm about the loss of jobs as open source expands. But, as an analogy, what would you prefer to have: mafia protection, or no crime at all? Even if the later costs police officers their jobs.
When one of my profs talked about it in class he said:
"The site said that I was a bitter old man, but I'm not that old!" Awesome prof, by the way.
Not to mention all the review sites that currently exist about things like movies and tv shows.
So, if there is a precedent set where you can bitch about a bad movie, or prof, but not about someone who could very well have your life in their hands, then there might be a more important legal battle than software patents coming up. (well, at least one that concerns me more anyway)
I'm all for sites that allow users to post reviews from either a positve, negative or neutral perspective. It still may not be fair to the person, but at least different sides of the stories can be seen under similar context. (rather than having to go to the forums to see the retort of the accused, compared to just the negative being on the main page)
Then again, I doubt Bill Gates has the time to reply to each and every one of the sites bashing him and his company (/. included)
But wasn't one of the major issues of the Cuban Missile Crisis about both parties getting out of it without losing face? Hence the installation of a hotline between the US and USSR.
Just imagine if this law existed then. It would have been seen as stated policy that the US would HAVE to attack Cuba.
Of course, this could be a good or bad thing for the art of Brinksmanship.
The scary thing in my mind is when people like this come into power. But I think it scares me even more when people who come into power would be expected to act accordingly.
Just to round out this gratuitous linking, consider the implications on MAD under a first stike policy.
But, in general, I think we agree on one thing. It's bad to look weak in front of the enemy. And reversing position is one of the worst things a leader can do. Given that, and that leaders are creatures motivated by staying alive and in power. Isn't it in their best interest not to be forced to play any card? But to have flexibility.
"Won't somebody please think of the children!"
I, like several other people have stated agree that the basics of a language can be learned in an afternoon. You probably won't be an expert at it, but you should be able to do the basics. Maybe this is what is meant by "it just makes it blatantly obvious how ignorant they are of intricacies of writing code."
Your C# example in particular is my most recent "language in an afternoon" exercise. I needed to learn basic structure, which is similar to Java, data structures (again, similar to Java), XML parsing (very nice feature of C# by the way), and registry editing using the MS functions (All MS functions are similar to VC++ or VB [I don't really program in VB, but when learning about how MS does certain things typically the most examples are in VB]).
It would have taken me the equivilant of an afternoon (I spread it out over a few days because I hate reading microsoft documentation)...
But I have better argument. Say that you are a very good assembly programmer using a RISC processor containing a very small ISA. Furthermore, let us assume you know tricks from other architectures (such as register combination on the Z80s).
Now, given this, we put you on a VAX-like processor. Where all of the instructions you are familiar with are there in some way or another. Your work may not be pretty, and reading someone else's code might be hateful, but you should be able to build most trivial* programs from scratch, just by ignoring some VAX commands.
Of course, this won't produce the best VAX code, but it will work. And as far as I've seen in the industry "It just works", followed by, "It is easily portable" is like giving candy to children.
In higher level langages, a similar concept would be that you didn't utilize a library as well as you could have.
*I use the word trivial because there are obvious computer specific things that would need to be learned. Which can be true even if you are using higher-level languages on different machines. The best example I can think of is different memory access points.
The langauges/frameworks I have the hardest time picking up in an afternoon are ones that use a lot of convention, or have very little power. And, to be quite honest, I'm not very interested in such langages anyway. (I'm currently having a bitch of a time remembering where everything is supposed to be placed using Ruby on Rails)
The other difficulty I had was learning how to do anything non-trivial in LISP. But, that is the closest I've ever come to having to learn a brand new language from scratch. And could be the best example of validating your argument.
Re:Microsoft Scared of Open Source?
on
Microsoft Sues EU
·
· Score: 1
If Microsoft was worried about the public seeing a shitty product produced by them then they sure have a strange way of showing it.
Assume that we have a function f that we have proven will provide valid result a.
Therefore the function produces the correct result. However, the function might also have an unintended effect causing result b.
An example of this would be something along these lines: add r0, 4, r1 which, makes r1 = r0 + 4 We can call this result a. However something important was in r1 prior to this instruction and it was not stored. Therefore, we have a correct function, but an unwanted result b.
A real world example would be one that I can attribute to NASA. In their code, they once had a device that worked in metric, and another in imperial. It goes without saying that bad information was given and taken. Even though the two modules worked perfectly, until they were coupled.
Now, that could be brought back, and it could be said that they should have proved that case, and a person would be correct in saying so. But, take Microsoft, do they intentionally put errors in their code? Hopefully not, but I would bet that 90-something percent of all exploits are due to such an oversight.
Therefore, the effect of the code in the overall system would have to be proven. Considering a near infinite possibilities of variables, this becomes quite the challenge to prove. Hence, there is no greatest proof! ^_^
This is not to say that proving code is irrelevant. Quite the contrary. It is implying that proving code is like "safe" sex. It's safer than the alternatives, but not 100%
and it'll probably make a mass media news story... probably
"When will people get the message?"
In this case, hopefully before their identity is stolen.
I thought of the same thing. I think that would come down to a question like "Does a person have the right to blindly sign a contract?" Of course, I'm not a lawyer, so I can't answer it.
Stepping beyond that kind of bad analogy, there is another one:
"If Apple turned round to nano users and pointed to a shrinkwrap "licence" on the high-design packaging that exempted it from the provisions of consumer protection law it would never get away with such a blatant disregard for its customers' rights."
But, if I go to a pawn shop and buy refurbished goods, which are sold "as is" then I have accepted more responsibility at the expense of supplier/creator liability.
Likewise, with free software, you accept liability for it being free. If it harms your system, then you should have examined it yourself to be sure. If you don't think that's fair, and that users shouldn't have to (possibly because they can't), I'd like to point out that I can sign a difficult to read contract without prior knowledge of law (which is especially important in "common law" countries, where the law is not always as explicit as it should be).
The moral of the story, hire someone to proof-read the code you want to use, just like people hire lawyers to check contracts. I know that I would like to see an increase of demand for programmers.
Well, consider the people who did tech support in the distant past of the 1980s. They weren't in that field because it was a 2 year program at devry, nor because they knew they could get their A+ certification. They did it because they were interested and/or had a knack for technology.
Not to mention that there is a greater quantity of people in demand at the moment. The moment that quantity is emphasized, quality loses a little (in this case anyway).
Technology itself has changed, consider that support back then had to do lower level things, while support now needs to do higher end (*cough*simplier*cough*) tasks (how does my X work?). You don't hire a kernel hacker so they can install e-mail on Joe Employee's shitty dell (that would be very wasteful). Furthermore, PHBs are probably more willing to throw away that old computer if they weren't the ones who had to petition for computers entering the business anyway, and computers are cheaper now.
The channels that a person uses to communicate depend on who they want to communicate with. For example, if most of my friends use IM to communicate, then I'll use IM to talk to them. If they used email, I'd use email (I said email was outdated for anything but formal communication since the 90s, and as I've learned, others were saying it long before me).
I'd like to ask one question though, assuming that VoIP is the next big thing in communications, how many teenagers do you know that use it? Compare that to how many adults in business.
Tell that to this guy.
You are correct, there are only a finite number of microsoft detractors and early adopters, like there is a finite number of microsoft fans. But the greatest quantity of people are those that don't care either way.
In my experience Firefox has a viral effect to anyone that uses it (mainly because of tabs). The average person doesn't care about security, because they typically aren't the ones who have to fix it. So, as long as IE doesn't have tabbed browsing Firefox will get more people.
If you were going to submit a story from Fox news, would you want to take credit for it?
FTfoxA: "Worse, the policy represents an attack on market-based competition, which in turn will hurt innovation."
Yeah, open standards hurt innovation. You know, it's not like groups like ANSI exist to try to re-standardize fractured languages with open standards that have evolved quickly and represent what the people who are using the language want. But hey, it's not like any language with an open standard ever caught on (C, C++, LISP, Ruby, etc.)
But you know, FOX most likely says that evolution is evil too. At least, as far as the public (schools) are involved...
The term "better" in the way the author of that article uses it is not very good. "More Idiot-Proof" or "Less fault tolerant" are terms I'd use in that context.
The comparison term "better" in languages is limited to qualities. For example, if resources are very limited then C is better to use than Java.
Of course, it all boils down to "the right tool for the job".
The thing I fear most about google is that it may dominate the online services world and gain a monopoly position. Which is why most people fear it becoming like microsoft (as far as I've seen).
The reason for this fear is two-fold, but both reasons stem from resources.
In my opinion, a company is too powerful when we have the hypothetical situation that if their "IP" and/or physical assets are taken away, but not the talents of their staff, that they could not hope to compete with their previous work.
Or to state it simpler, when the hardware/software + "IP-rights" are greater than the employees.
A good example of this would be when Steve Jobs created Next with some of the best people from Apple. Another would be to imagine microsoft without the rights to the office formats or windows APIs.
In the case of Google I see two things that would/will qualify them in this category.
1) Hardware, the hardware to run a search engine is quite expensive.
2) Ad revenue connections, imagine getting your foot in the door if you are competing against Google.
The question that I pose now is, "Can an open source project, resembling google, have a chance against google?" As long as the answer to that is yes, I have no problem with them. But it is my fear that in the future, the answer will be no. (I feel that google can still be wiped off the 'net)
Maybe the creation of a "Free Services Foundation" may be required, assuming one does not already exist. Where hardware and bandwidth is provided (I suppose sourceforge would be a good example, but it is only a start)
Even if they had, a guy would have balked at the idea, then complain about it's expense.
The male managers on the other hand would remind the engineers that the market has enough purses already.
Of course, both of these functions are typically reserved for husbands and fathers as is, but I think both parties would be glad for the pre-emptive "I don't know."
This just in, it appears that Apple has also copied their name and logo from some ancient fruit! News at 11.
I think the kid that has been making their own mp3s in a garage band is going to be even more pissed off.
Well, maybe not as pissed off as their father who lost his porn collection. ^_^
I almost spit out my tea while reading the worm part.
But to comment on the quote: "But I don't feel I should know more - that is their job. If we did it all ourselves they would be out of a job." There is a big difference between knowing how to do day to day things (like not running programs from shady websites / MSN / email / etc.) and knowing how to configure a computer.
To entend the car analogy, I recall being a small child and not knowing what the "triangle" button did. And, being four or five, I had two viable options, push the button, or ask. In my experience with supporting users, either case is terrible for support staff (they either have to explain way too much, or fix the broken machine). Pity support staff.
And that would be a valid point of spliting resources. If you've ever configured linux, you may have experienced the odd little things that one has to do to make the hardware fully functional. Most of the time it can be done without much effort, but the process typically reveals that developers could have spent more time working on their product compatibility (assuming that the drivers were written by the hardware manufacturer). At least, in my limited experience.
But, while in that kind of situation, I usually catch myself saying that at least something is available and I can make things work. But if we move on to the case of software, then there are scenarios where it isn't meant to work at all (and because WINE is not 100% we cannot consider it a solution, especially in the business world). The best example of this is video games typically only being supported on windows.
So, I give you a scale: 0 = Fully compatible and configured with the ease of at most a wizard, or wizard like device (I count rpms and apt-get as wizard like devices) 1 = Compatible but a little work and manual reading may be required 2 = Not compatible at all
It is my experience that anything greater than 0 will be ignored or marginalized by the public, because they don't want to RTFM, assuming they can find one that caters to their needs. The only problem is that the majority of companies will only focus on one operating system, and again, the apex of this property would be games.
So what is the advantage of only having one operating system? Simple, compatibility and ease of installation. It would be nice if companies hired on more computer professionals to implement this in all operating systems, but, depending on the project, that would cost more, and potientially not even see a return on investment.
Now, the problem with microsoft is that it uses it's power gained over the last 20 years to lock customers in, and not support other OS' (unless they don't see them as a real threat, like apple). Office being the best example. Another one can be found here. Given that they will do this every chance they get they become very dangerous in the world of standards. If you don't think they can have an impact on linux, think about the impact of "trusted computing", which at the very least is going to make the x86 architecture even uglier.
Most people who want to see windows become unpopular want it for the sake of the computing world, even if it comes at a cost to themselves. And, it's not like you're the first to sound the alarm about the loss of jobs as open source expands. But, as an analogy, what would you prefer to have: mafia protection, or no crime at all? Even if the later costs police officers their jobs.
I thought that the music industry gained that power over artists and their lyrics years ago...
Would this mean that karaoke violates the DCMA?
When one of my profs talked about it in class he said: "The site said that I was a bitter old man, but I'm not that old!" Awesome prof, by the way.
Not to mention all the review sites that currently exist about things like movies and tv shows.
So, if there is a precedent set where you can bitch about a bad movie, or prof, but not about someone who could very well have your life in their hands, then there might be a more important legal battle than software patents coming up. (well, at least one that concerns me more anyway)
I'm all for sites that allow users to post reviews from either a positve, negative or neutral perspective. It still may not be fair to the person, but at least different sides of the stories can be seen under similar context. (rather than having to go to the forums to see the retort of the accused, compared to just the negative being on the main page)
Then again, I doubt Bill Gates has the time to reply to each and every one of the sites bashing him and his company (/. included)
But wasn't one of the major issues of the Cuban Missile Crisis about both parties getting out of it without losing face? Hence the installation of a hotline between the US and USSR.
Just imagine if this law existed then. It would have been seen as stated policy that the US would HAVE to attack Cuba.
Of course, this could be a good or bad thing for the art of Brinksmanship.
The scary thing in my mind is when people like this come into power. But I think it scares me even more when people who come into power would be expected to act accordingly.
Just to round out this gratuitous linking, consider the implications on MAD under a first stike policy.
But, in general, I think we agree on one thing. It's bad to look weak in front of the enemy. And reversing position is one of the worst things a leader can do. Given that, and that leaders are creatures motivated by staying alive and in power. Isn't it in their best interest not to be forced to play any card? But to have flexibility.
"Won't somebody please think of the children!"
That is one of the differences of engineering an science.
Engineering is a means to an end. Science is an end in itself.
That was the greatest pearl of wisdom I gained out of an entire software engineering course.
I'm in CS for the knowledge, not for some career (hell, I almost left CS because of the dismal careers awaiting it's graduates)
I suppose there are plenty of philosophy majors out there that lament the same thing.
I, like several other people have stated agree that the basics of a language can be learned in an afternoon. You probably won't be an expert at it, but you should be able to do the basics. Maybe this is what is meant by "it just makes it blatantly obvious how ignorant they are of intricacies of writing code."
Your C# example in particular is my most recent "language in an afternoon" exercise. I needed to learn basic structure, which is similar to Java, data structures (again, similar to Java), XML parsing (very nice feature of C# by the way), and registry editing using the MS functions (All MS functions are similar to VC++ or VB [I don't really program in VB, but when learning about how MS does certain things typically the most examples are in VB]).
It would have taken me the equivilant of an afternoon (I spread it out over a few days because I hate reading microsoft documentation)...
But I have better argument. Say that you are a very good assembly programmer using a RISC processor containing a very small ISA. Furthermore, let us assume you know tricks from other architectures (such as register combination on the Z80s).
Now, given this, we put you on a VAX-like processor. Where all of the instructions you are familiar with are there in some way or another. Your work may not be pretty, and reading someone else's code might be hateful, but you should be able to build most trivial* programs from scratch, just by ignoring some VAX commands.
Of course, this won't produce the best VAX code, but it will work. And as far as I've seen in the industry "It just works", followed by, "It is easily portable" is like giving candy to children.
In higher level langages, a similar concept would be that you didn't utilize a library as well as you could have.
*I use the word trivial because there are obvious computer specific things that would need to be learned. Which can be true even if you are using higher-level languages on different machines. The best example I can think of is different memory access points.
The langauges/frameworks I have the hardest time picking up in an afternoon are ones that use a lot of convention, or have very little power. And, to be quite honest, I'm not very interested in such langages anyway. (I'm currently having a bitch of a time remembering where everything is supposed to be placed using Ruby on Rails)
The other difficulty I had was learning how to do anything non-trivial in LISP. But, that is the closest I've ever come to having to learn a brand new language from scratch. And could be the best example of validating your argument.
If Microsoft was worried about the public seeing a shitty product produced by them then they sure have a strange way of showing it.
"if you wiki Hell you should come back with S3 + Cyrix 686"
Does this mean that S3 = - Cyrix 20?
There is a problem with that logic...
Assume that we have a function f that we have proven will provide valid result a.
Therefore the function produces the correct result. However, the function might also have an unintended effect causing result b.
An example of this would be something along these lines:
add r0, 4, r1
which, makes r1 = r0 + 4
We can call this result a. However something important was in r1 prior to this instruction and it was not stored. Therefore, we have a correct function, but an unwanted result b.
A real world example would be one that I can attribute to NASA. In their code, they once had a device that worked in metric, and another in imperial. It goes without saying that bad information was given and taken. Even though the two modules worked perfectly, until they were coupled.
Now, that could be brought back, and it could be said that they should have proved that case, and a person would be correct in saying so. But, take Microsoft, do they intentionally put errors in their code? Hopefully not, but I would bet that 90-something percent of all exploits are due to such an oversight.
Therefore, the effect of the code in the overall system would have to be proven. Considering a near infinite possibilities of variables, this becomes quite the challenge to prove. Hence, there is no greatest proof! ^_^
This is not to say that proving code is irrelevant. Quite the contrary. It is implying that proving code is like "safe" sex. It's safer than the alternatives, but not 100%