If you're interested in being a software engineer, there is nothing to enhance your education quite so much as understanding the metal that you are writing the software on. I majored in Computer Engineering at NCSU (which provided me with what I think was a very nice hardware/software blend). Every time I took a course in the CS department, they alluded to, or outright tried to assert that the machine underneath the software was essentially irrelevant. Nothing could be further from the truth. Understanding the machine lets you understand both how lots of bugs happen and how the machine manifests them (and often why they happen on some arches and not others). As was said before, do what you enjoy, but if what you enjoy is software, don't make the assumption that all you need to understand is how to write a bag of languages. Understand the metal, and you'll have a deeper understanding of how your code works than any of your classmates.
This article (like so many others) is a complete load, based entirely on false assertions and a lack of understanding of the differences in the Linux Model. A sampling:
"Businesses and organizations of all sizes need consistent, predictable, scalable, self-contained platforms for server solutions. Windows wins"
Why? consistent, predictable, scalable, self-contained platforms are the reason the SuSe's, Red Hats, etc, of the world exist. They provide stability and consistency in programming apis, scalability tools and resources, and pre-packaged solutions for common IT environments. In addition they offer the Freedom in Linux to expand those solutions to meet customer specific needs. M.S. does all of these (except the last one).
"No one is so foolish as to make what can be acquired cheaply or free; it's wiser to pick one from among hundreds of platforms and modules that fill in the holes between open source Unix and your applications.
In contrast, Windows fills in all the blocks between the hardware and your apps"
The author seems to be contradicted by the evidence here. People who use Linux distributions in the enterprise do so by and large because they can fill in the gaps between the set of components that they obtains from other sources, the operating system and their application, effectively tailoring a solution specific to their environment. They choose to do that because it provides a better solution than the pre-fabricated one size fits all solution that Microsoft offers. For many people the M.S. solution works well, or at least is "good enough", but as is evidenced by Red Hat, Novell, etc. financial reports, more and more people are realizing that Linux lets them do better than "good enough"
"An operating system is a rack into which device drivers and APIs are inserted. A platform is a rack into which applications are inserted."
And how exactly is it that Linux doesn't fit this bill to a T? Windows of course does as well, but with far less flexibility than Linux offers.
In short, the whole article seems to be based on the notion that what the enterprise really wants is a platform that lets them make a custom environment within the confines of strict rules, that ostensibly provide a greater level of integration ease. I would argue that Linux provides a greater level of this ease of integration while at the same time allowing for a far greater latitude in design choice.
How much is Linux worth? Whats the aggregate value of the problems that have been solved in this world using Linux? How many economies has Linux stimulated? $750 is a fantastic donation, and a great thing to do, but giving money is not the only form of charity. I think you'll find the most generous donations (and the one people often find hardest to make) are those of time, and effort, not money.
Well, that kind of severance package seems to me to indicate the economy is strong, So I would guess the skilled employees will find work fast. 20,000 people at AOL though....What the hck does an ISP need with 20,000 people, even AOL's size? It makes me wonder just how skilled the newly unemployed were....
Uh, I don't really know if I'd call eighty-some-odd percent of the procesor market a "niche". PowerPC family processors power almost all of the worlds large embedded systems (cars, planes, networking equipment, industiral robots, etc.). Mips, StrongARM, and dragonball processors are a growth market in the pocketPC space, and lets not forget the 8 and 16 bit processors that run all the little electronic components in your life that you don't ever think about (thermostats, gas and water meters, microwaves, etc.). Don't forget: Just because its not sitting on your desk, doesn't make it not a computer.
So, this seems like a great cause to me, and I'd love to contribute, if only I knew of an orphaned work, and a good use for it. I suppose that I could go hunting for any number of orphaned works that I might find usefull, but if anyone could post a list, or searchable database of works that fit the bill, that would probably really inspire participation in this....
I'm not certain the situation is as grave as the article makes it out to be. If you notice the article claims that we are loosing our lead in the "sciences". However, as evidence they only provide data on the "number of physics papers published", "number of patents filed" and "number of students leaving this country to return to their country of origin". This data is certainly not sufficient to support the claim they make in the title of the article. The cutbacks made in the number of H1B visas issued is certainly going to force more foreign students to return home, there is a backlash going on in this country against our hopelessly broken patent law, and physicists don't generally make a fortune. If you look at the rest of the stats on the NSF website, you'll see that NSF funding since 1995 has increased consistently year over year, as has the number reaserchers. The recent downtrend is likely only an effect of scientifically oriented students choosing other fields of research over physics. How many software engieers do we have in this country today compared to a decade ago, or how many biomedical researchers? Don't get me wrong, physics is a very important field (arguably the most important research field, as all other research builds upon it in one way or another), but its not the only type of reseach that needs to be done, and I don't think that from the data the article provides we can conclude that we are loosing scientific ground universally.
This work was completely derivative, and suffers from all the same faults and fallacies of the works they are derived from:
User Interface design:
This is simply a tired argument. Please point out a gui which is universally accepted to be a "good" design. The author is making a biased sample of open source based on their personal experience with project X. "I think X has a bad gui, therefore Open Source projects need to make guis better" is a invalid argument to make. The truth of the matter is while interface design has many rules behind it, it is also largely subjective to the individual using it.
Documentation:
I think there was a paper by Eric Raymond some time ago indicating the need for more intuative, better documented open source software. I'll not argue that more documentation is always helpful, but if resources are limited, is it better to have the software, or the documentation that tells you how to use the software....once it exists. The most accurate documentation is also always included with a open project....the source. I know its impractical for many inexperienced people to use this as a guide, but as a later argument indicates, much of the time open source is programmed by the self, for the self. Note also that the authors job is to take this project and adapt it for academic use. If this were my job, I'd turns the source code before all other sources of information.
Feature-Centric Development:
Again, a biased sample argument. "This project has more people extending functionality rather than fixing bugs, therefore open source developers don't focus enough on bugs". An invalid argument based on a limited sample of data. It may well be true of the project the author was working on, but it does not support the conclusion the author draws regarding the open source community as a whole. If the author is adapting the project for another purpose, and finds a bug, I'm sure the upstream maintainers would love to see a bug report and a patch from the author.
Programming for the self:
This is an appeal to spite. The author aims to shame the open source community by indicating that it writes software to suit its own purposes. I would argue that is completely true, and entirely acceptable. Programming for the self is not a flaw in open source design, but rather a driving force behind it. If I need my computer to do something, I'll write a program to do it, and then I'll publish it because there are probably other people out there who have the same needs I do, and would likely solve the problem in the same way, so now they won't have to. The fact that the author doesn't like or understand the solution doesn't mean the origional developer did a poor job. If the author doesn't like the solution, they are free to change it.
Religious Blindness:
Please point out a lesson which proprietary software has to teach that open source software has not adopted in those domains to which it applicable and beneficial to the open source developer. The author forgets that the goals of open source software and proprietary software are often completely different. For profit Linux distributers often pick up on some of the niceties of proprietary software (note the simmilarity of configuration tools between Red Hat and Windows, with the intuative back, next and finish buttons). That was a move Red Hat Made because it increased useability and helped raise their bottom line. in general however, a open source developer working for enjoyment and practicality isn't going to care if someone who can only configure software with a "wizard" interface knows how to use their program. Granted this is one small example, but the general rule holds true, that development practices in the open source world are very darwinian in nature: There may be proprietary practices that have benefits in the open source community are are adopted, and there are those which have questionable value, and are ignored. This may not always benefit some people, but we have already concluded that open source development is largely done for the self.
So I'll ask the burning question here: How is creating a stylesheet to be included in individual web pages considered making IE standards compliant? Wouldn'the the article be more acurate if it read "modifying web site allows it to be rendered correctly in IE6?"
I thought it was a blatant ad for Java, and her argument regarding the need for more intitive languages rather hollow. Of course languages should be more intuative, who would disagree with that? What she forgets to mention is that every effort that has been put forth in developing such a language, including the ones she sites, are either so far removed from the behavior of the hardware as to be prohibitively slow, or are run on interpreters written in more low level languages. Sure its great to make a language that anyone can pick up in a a few days, but no matter how hard you try, your going to need a set of engineers to understand the underlying hardware, and furthermore understand the intricate interaction of the software with that hardware. Without that, nothing else works. Its good to want to create intuative software, but the fact of the matter is, computer systems are complex pieces of equipment, and making software run on them requires that you (or someone) understand how a language executes on them, from the 1's and 0's on up. The closer a language is to describing the workings of the hardware, the more closely you can control the machine. You can remove a language from that closeness to the hardware, but eventually you will give up hardware control to the point that you will need helpp
How can Cringley miss on his SCO/Linux Prediction? He's effectively stated that the SCO case will blow up, and Linux will either change something or go away. In what scenario is he wrong about this. I think its a given that sooner or later SCO will explode, but what else does Linux know how to do, other than adapt to the current environment? Linux version 0.01 isn't the 2.4 kernel, nor is the 2.4 kernel the same as the 2.6 kernel. Its always changing and adapting to current technology needs. If some of those happen to be legal, so be it (although I think this will all result in sharper teeth for the GPL in the end). Anywho, Cringley will claim he's spot on next january, but theres no way he really can't be, as he's predicted the only possible outcomes.
If anyone is interested, I recently wrote an alternate review of the phone: http://www.redhatmagazine.com/2007/03/08/review-tr olltech-greenphone-developers-sdk/
If you're interested in being a software engineer, there is nothing to enhance your education quite so much as understanding the metal that you are writing the software on. I majored in Computer Engineering at NCSU (which provided me with what I think was a very nice hardware/software blend). Every time I took a course in the CS department, they alluded to, or outright tried to assert that the machine underneath the software was essentially irrelevant. Nothing could be further from the truth. Understanding the machine lets you understand both how lots of bugs happen and how the machine manifests them (and often why they happen on some arches and not others). As was said before, do what you enjoy, but if what you enjoy is software, don't make the assumption that all you need to understand is how to write a bag of languages. Understand the metal, and you'll have a deeper understanding of how your code works than any of your classmates.
This article (like so many others) is a complete load, based entirely on false assertions and a lack of understanding of the differences in the Linux Model. A sampling: "Businesses and organizations of all sizes need consistent, predictable, scalable, self-contained platforms for server solutions. Windows wins" Why? consistent, predictable, scalable, self-contained platforms are the reason the SuSe's, Red Hats, etc, of the world exist. They provide stability and consistency in programming apis, scalability tools and resources, and pre-packaged solutions for common IT environments. In addition they offer the Freedom in Linux to expand those solutions to meet customer specific needs. M.S. does all of these (except the last one). "No one is so foolish as to make what can be acquired cheaply or free; it's wiser to pick one from among hundreds of platforms and modules that fill in the holes between open source Unix and your applications. In contrast, Windows fills in all the blocks between the hardware and your apps" The author seems to be contradicted by the evidence here. People who use Linux distributions in the enterprise do so by and large because they can fill in the gaps between the set of components that they obtains from other sources, the operating system and their application, effectively tailoring a solution specific to their environment. They choose to do that because it provides a better solution than the pre-fabricated one size fits all solution that Microsoft offers. For many people the M.S. solution works well, or at least is "good enough", but as is evidenced by Red Hat, Novell, etc. financial reports, more and more people are realizing that Linux lets them do better than "good enough" "An operating system is a rack into which device drivers and APIs are inserted. A platform is a rack into which applications are inserted." And how exactly is it that Linux doesn't fit this bill to a T? Windows of course does as well, but with far less flexibility than Linux offers. In short, the whole article seems to be based on the notion that what the enterprise really wants is a platform that lets them make a custom environment within the confines of strict rules, that ostensibly provide a greater level of integration ease. I would argue that Linux provides a greater level of this ease of integration while at the same time allowing for a far greater latitude in design choice.
How much is Linux worth? Whats the aggregate value of the problems that have been solved in this world using Linux? How many economies has Linux stimulated? $750 is a fantastic donation, and a great thing to do, but giving money is not the only form of charity. I think you'll find the most generous donations (and the one people often find hardest to make) are those of time, and effort, not money.
Well, that kind of severance package seems to me to indicate the economy is strong, So I would guess the skilled employees will find work fast. 20,000 people at AOL though....What the hck does an ISP need with 20,000 people, even AOL's size? It makes me wonder just how skilled the newly unemployed were....
Uh, I don't really know if I'd call eighty-some-odd percent of the procesor market a "niche". PowerPC family processors power almost all of the worlds large embedded systems (cars, planes, networking equipment, industiral robots, etc.). Mips, StrongARM, and dragonball processors are a growth market in the pocketPC space, and lets not forget the 8 and 16 bit processors that run all the little electronic components in your life that you don't ever think about (thermostats, gas and water meters, microwaves, etc.). Don't forget: Just because its not sitting on your desk, doesn't make it not a computer.
So, this seems like a great cause to me, and I'd love to contribute, if only I knew of an orphaned work, and a good use for it. I suppose that I could go hunting for any number of orphaned works that I might find usefull, but if anyone could post a list, or searchable database of works that fit the bill, that would probably really inspire participation in this....
I'm not certain the situation is as grave as the article makes it out to be. If you notice the article claims that we are loosing our lead in the "sciences". However, as evidence they only provide data on the "number of physics papers published", "number of patents filed" and "number of students leaving this country to return to their country of origin". This data is certainly not sufficient to support the claim they make in the title of the article. The cutbacks made in the number of H1B visas issued is certainly going to force more foreign students to return home, there is a backlash going on in this country against our hopelessly broken patent law, and physicists don't generally make a fortune. If you look at the rest of the stats on the NSF website, you'll see that NSF funding since 1995 has increased consistently year over year, as has the number reaserchers. The recent downtrend is likely only an effect of scientifically oriented students choosing other fields of research over physics. How many software engieers do we have in this country today compared to a decade ago, or how many biomedical researchers? Don't get me wrong, physics is a very important field (arguably the most important research field, as all other research builds upon it in one way or another), but its not the only type of reseach that needs to be done, and I don't think that from the data the article provides we can conclude that we are loosing scientific ground universally.
This work was completely derivative, and suffers from all the same faults and fallacies of the works they are derived from: User Interface design: This is simply a tired argument. Please point out a gui which is universally accepted to be a "good" design. The author is making a biased sample of open source based on their personal experience with project X. "I think X has a bad gui, therefore Open Source projects need to make guis better" is a invalid argument to make. The truth of the matter is while interface design has many rules behind it, it is also largely subjective to the individual using it. Documentation: I think there was a paper by Eric Raymond some time ago indicating the need for more intuative, better documented open source software. I'll not argue that more documentation is always helpful, but if resources are limited, is it better to have the software, or the documentation that tells you how to use the software....once it exists. The most accurate documentation is also always included with a open project....the source. I know its impractical for many inexperienced people to use this as a guide, but as a later argument indicates, much of the time open source is programmed by the self, for the self. Note also that the authors job is to take this project and adapt it for academic use. If this were my job, I'd turns the source code before all other sources of information. Feature-Centric Development: Again, a biased sample argument. "This project has more people extending functionality rather than fixing bugs, therefore open source developers don't focus enough on bugs". An invalid argument based on a limited sample of data. It may well be true of the project the author was working on, but it does not support the conclusion the author draws regarding the open source community as a whole. If the author is adapting the project for another purpose, and finds a bug, I'm sure the upstream maintainers would love to see a bug report and a patch from the author. Programming for the self: This is an appeal to spite. The author aims to shame the open source community by indicating that it writes software to suit its own purposes. I would argue that is completely true, and entirely acceptable. Programming for the self is not a flaw in open source design, but rather a driving force behind it. If I need my computer to do something, I'll write a program to do it, and then I'll publish it because there are probably other people out there who have the same needs I do, and would likely solve the problem in the same way, so now they won't have to. The fact that the author doesn't like or understand the solution doesn't mean the origional developer did a poor job. If the author doesn't like the solution, they are free to change it. Religious Blindness: Please point out a lesson which proprietary software has to teach that open source software has not adopted in those domains to which it applicable and beneficial to the open source developer. The author forgets that the goals of open source software and proprietary software are often completely different. For profit Linux distributers often pick up on some of the niceties of proprietary software (note the simmilarity of configuration tools between Red Hat and Windows, with the intuative back, next and finish buttons). That was a move Red Hat Made because it increased useability and helped raise their bottom line. in general however, a open source developer working for enjoyment and practicality isn't going to care if someone who can only configure software with a "wizard" interface knows how to use their program. Granted this is one small example, but the general rule holds true, that development practices in the open source world are very darwinian in nature: There may be proprietary practices that have benefits in the open source community are are adopted, and there are those which have questionable value, and are ignored. This may not always benefit some people, but we have already concluded that open source development is largely done for the self.
So I'll ask the burning question here: How is creating a stylesheet to be included in individual web pages considered making IE standards compliant? Wouldn'the the article be more acurate if it read "modifying web site allows it to be rendered correctly in IE6?"
I thought it was a blatant ad for Java, and her argument regarding the need for more intitive languages rather hollow. Of course languages should be more intuative, who would disagree with that? What she forgets to mention is that every effort that has been put forth in developing such a language, including the ones she sites, are either so far removed from the behavior of the hardware as to be prohibitively slow, or are run on interpreters written in more low level languages. Sure its great to make a language that anyone can pick up in a a few days, but no matter how hard you try, your going to need a set of engineers to understand the underlying hardware, and furthermore understand the intricate interaction of the software with that hardware. Without that, nothing else works. Its good to want to create intuative software, but the fact of the matter is, computer systems are complex pieces of equipment, and making software run on them requires that you (or someone) understand how a language executes on them, from the 1's and 0's on up. The closer a language is to describing the workings of the hardware, the more closely you can control the machine. You can remove a language from that closeness to the hardware, but eventually you will give up hardware control to the point that you will need helpp
How can Cringley miss on his SCO/Linux Prediction? He's effectively stated that the SCO case will blow up, and Linux will either change something or go away. In what scenario is he wrong about this. I think its a given that sooner or later SCO will explode, but what else does Linux know how to do, other than adapt to the current environment? Linux version 0.01 isn't the 2.4 kernel, nor is the 2.4 kernel the same as the 2.6 kernel. Its always changing and adapting to current technology needs. If some of those happen to be legal, so be it (although I think this will all result in sharper teeth for the GPL in the end). Anywho, Cringley will claim he's spot on next january, but theres no way he really can't be, as he's predicted the only possible outcomes.