How about hiring a trained professional software engineer? Trained professionals know about the various kinds of security and reliability risks, and have a grab-bag of tools for dealing with them. They also know a lot about how to deal with programming languages and environments.
From your question, you appear to be in over your head. Get professional help.
We've done some interesting stuff with USRPs. They're a lot of fun. With respect to the story about SDR wireless networking, check out our open-source 802.11 implementation for the USRPs. Early days yet, but we're making fairly rapid progress.
I'm a CS/SE prof. Around 30% of my top-performing students are female, which is less than you would expect, but way more than others are reporting. The implication I draw is that we are losing a lot of really bright, capable people merely by virtue of their gender. If we want to increase productivity in the sciences and engineering, we can't afford to lose a huge percentage of our brightest, most capable people.
Quite aside from the ethical and justice questions, self-interest dictates that we stop the female brain drain.
Challenge Problem: Write the most kiss-of-death accurate review you can for a film that actually won a Sundance award. Bonus points for avoiding all the words on the golden list.
The sensitivity and time-constant of these automatic lights is usually adjustable using only a couple of screwdrivers and some patience. Normally, you can find the instruction manual online once you have the cover plate off to get the model number—there are only a small number of manufacturers. Don't touch the mains: electricity can kill you. Also, don't get caught by the boss.:-)
Baby on board How I've adored That sign on my car's windowpane Bounce in my step Loaded with pep 'Cause I'm driving in the carpool lane Call me a square Friend, I don't care That little yellow sign can't be ignored I'm tellin' you it's mighty nice Each trip's a trip to paradise With my baby on board!
You're joking, right? Terry Pratchett's been putting out an average of a book a year for maybe 20 years, and continues to do so. Tolkien's entire (salable) ouevre consists of four books that have been on sale continuously for something like 30 years. Sure, those four are insanely great books, but market saturation is by now pretty much complete.
You're only a best-selling author as long as you keep writing things to sell. Stephen King has reportedly stopped writing now. J.K. Rowling reportedly plans to stop after HP #7. If Terry Pratchett keeps turning out books, it is quite likely he'll be the #1 best-selling SF/Fantasy/Horror author in the US in a couple of years.
Still doesn't matter, because in 2006 recompiling a program with a native-code compiler targeted to a random ISA (for a given operating system) is practically free—especially if the program was written in a reasonable modern language.
If the Java VM is your beef, check out gcj. Sure, it still has a runtime system. But its performance overhead relative to compiled C code is almost always negligible or better.
Are you sure they're really 1200x4800 optical? Or are they 1200x4800 interpolated? Scanner manufacturers love to report "virtual" resolutions obtained by filtering the scanner output.
If copper becomes expensive, developing countries will just use aluminum. The biggest problem with aluminum wiring is joining it to copper; this is the only thing that really inhibited aluminum wiring in this country, where there was already a ton of copper wiring everywhere. Places starting from scratch won't have that problem so much. Long-distance transmission lines will likely be copper for a long time due to the lower resistance. (Gold, BTW, is a worse conductor than copper, and is quite comparable with aluminum. Silver is slightly better than copper, if you're willing to pay.) There will be more and more transmission lines being built with superconductors, though!
Of course, the incredible energy requirements of aluminum production yields its own set of headaches. But if we don't solve that problem, the wiring dilemma will be moot anyhow.
Which W3C standard does the ping tag implement? 'Cause if it doesn't implement one, I don't want it, and it shouldn't be a priority of a project that hasn't achieved standards compliance yet.
If "Google, Yahoo, and others are BEGGING for this" they can darn well go through the standards process like everybody else. This is open source. Its specification is an open standard.
I think the argument from historical inevitability is orthogonal to the argument about the existence of a community. I'm not sure why the two have been conflated—I will address them seperately.
I'm not a huge fan of the historical inevitability argument, because carried to its logical conclusion, as John Mark did, it tends to demean the accomplishments of singular individuals and organizations. Earlier, I quoted a couple of the sentences in John Mark's article I find objectionable because they label folks such as Linus Torvalds, whom I find admirable and unique, as "simply figureheads", a description that can hardly be intended as complimentary. I find the claim that "Linux or its equivalent was bound to happen eventually, regardless of whether Linus decided to release a kernel in 1991" both questionable and somewhat rude. One can make a sort of argument that "Buddhism would have occurred with or without the Buddha", but try it on a Bhuddist and see how much respect it elicits.
As for the existence of a community, I think part of the confusion on my part, and perhaps on the part of others, is that when I say "open source" I use it in the broadest sense, including "Free Software" and everything else. So if you grant that there's a Free Software community, I'll claim that there automatically exists an open source community that contains it and perhaps others.
I don't understand the insistence on a definition of "community" that requires "an ideological fence to keep insiders in and outsiders out", or "'they are all pragmatists' or 'they are all libertarians' or 'they all want to beat Windows'". Consider the quilting community. I don't know much about it, but surely it is made up of liberals and conservatives, hippies and fascists (though the image of a "fascist quilter" amuses me greatly), those who view the activity as pure art and those who view it as purely a moneymaking opportunity. Yet I know quilters regularly get together to discuss quilting and show off their work. I would guess that quilters have common views on many quilting-related issues. There are also probably many factions within the community, that argue about the details. I know quilters share life events with each other; they form friendships and loving relationships that are supported by the community and that transcend it. By any definition of community I'm comfortable with, the quilters have one.
We can argue whether the open source community has enough importance, cohesiveness and force of will to have a major impact on world affairs. The quilters have not, so far. But to deny the impact of a community is hardly to deny its existence, and that's why I (and apparently other responders to my original comment) found the article title to be both deliberately provocative and unintentionally silly.
You're a smart guy, and I have great respect for you. Certainly if I'd realized this article was your editorial decision, I would have read it carefully before posting; as I stated up front, I did not. For that I apologize.
However, I'm afraid I still have problems with your claim that open source developers and users have nothing in common except open source. I'm not sure whether it's true; more importantly I don't understand why it's relevant. Explain to me who attends OSCON? It has always looked to me like folks who have common interests and yes, even values. I believe you were at the last OSCON. Did you notice that a lot of the folks there knew each other well even before they turned up? That they spent a lot of time together catching up on each others' lives and interests? Did you notice that there were statements that led to the loud acclamation of the entire room? That there were others that led to near-universal disappointment, evinced by booing and muttering? That's a community, with community values.
Anyway, the "facile characterization" you refer to isn't mine. It's the title of the article. "There Is No Open Source Community." That's how John Mark, you, porkrind and then Zonk chose to summarize the article. Not "Open Source Activists Don't Matter", which is at least arguable. Not "The Loose-Knit Open Source Community", which is likely true and quite non-controversial.
The abstract porkrind and Zonk chose to put on it is hardly more promising. "Really, open source is much more about supply and demand than it is about an activist community or individual drivers (individuals or individual companies) affecting change on society." This at least is an arguable premise, but I think it's pretty goofy. I've watched the impact folks and institutions like Linus Torvalds, Richard Stallman, Keith Packard, Debian, Red Hat, and IBM have had on the community, and it's hard for me to believe that this is all just inexorable law of supply and demand. If these people and organizations had been different, I am convinced that open source would be different today. If you ignore or antagonize these people and institutions, I'm convinced you'll have a measurably harder time working in and with open source. Do you really believe otherwise?
Perhaps the article title and summary that was wanted is "There is No Open Source User Community"? Again, a questionable premise in my mind, but more defensible. It is true that the open source community is heavy on developer-users and paid developers at this point. Now that the open source desktop user share is creeping up on that of Apple, I think we can start to see a pure user community forming, but I agree that it's early days yet. The PC community, back when there was one, had fewer user-developers and more pure users at the early users' group meetings, from what I can recall. Eventually, the community did diffuse to the point that it was no longer identifiable. This happened, though, only when the PC was so mainstream that the overall PC culture became identified with the dominant culture (in the broadest sense) rather than a subculture.
As for Mr. Marks, I've read his article more carefully now, and I still have a hard time believing he seriously believes what he is saying. A key sentence: "What if you learned that the recognized leaders of the open source movement were simply figureheads of a process already well under way?" Friend, I was there for a lot of this. I know some of these guys. Let me tell you, they are unique and brilliant, and a lot of things work because they made them work. To argue that the birth of the GPL, or the Linux kernel, or the X Window System is either inconsequential or inevitable is an extraordinary claim, and requires extraordinary evidence. Would there have been some mechanism produced for dealing with software licenses, some community-developed operating system, some way of rendering text and graphics across the network? Possibly. But it would have been
I'm about one more front-page troll away from bagging/. altogether. I haven't even RTFA, because this is just a sadly successful attempt to increase pageviews on this site and OnLamp simultaneously.
If there's no open source community, who the heck is it I keep going to conferences with? Who are the folks I am putting on the board of my newly formed open source organization? Who are the folks who keep volunteering to teach in my open source classes? Who is volunteering to work on my open source projects?
I guess I shouldn't be surprised that management thinks this way; they never seem to get how valuable communities are to their organizations. But the/. editors should, and I suspect do, know better.
Heck, even the author should know better—he's the director of LinuxWorld Expo! There's a terrifying thought. Where does he think his conference attendees come from? He knows. He just wants to be read. He's a troll. Zonk's a troll. IHBT.
"People consider themselves excellent drivers, even when they are not, because they think they are so good they are actually really bad."
C.f. Unskilled and Unaware Of It. It has been widely reported that most drivers consider themselves above average, although I can't find any primary reference in a quick Google search. I did find a report on a study of driver's education, though, that reached the surprising conclusion that advanced driver training is basically worthless. Go figure.
As I said, if you're using a reasonable language, the "hassle" is exceptionally low. Type declarations shouldn't "get in the way of refactoring": quite the opposite. Once you have type guarantees on something, you can rearrange or reuse it with confidence that it won't go wrong at runtime.
As for "I find that I make so few errors that would be caught by a static type system", I think you might be surprised. If not, you're a truly exceptional programmer; one in a thousand, if not one in a million. At any rate, I've never met your like, and I teach programming for a living.
As I said, if you're used to older, restrictive static type systems, this is a real problem. Check out Nickle or ML or Haskell or Java 1.5 (formerly GJ). All of these languages have easy ways around the problem you cite. In any of these languages, it's actually challenging to write something that isn't statically type-correct but will work correctly at runtime. Nickle, in particular, tries to guarantee that any program that results in a static type error would have failed if it had been executed with only the runtime type system. Also, because Nickle has subtyping, you can simply type anything you don't care about as "poly" and the static type system will get out of the way.
When I type
string copies(string arg, int count) {
string result = "";
for (int i = 0; i < count; i++)
result += arg;
return result;
} and then accidentally say
string s = copies(5, "foo"); deep in some rarely-executed code, I really appreciate having the Nickle compiler stop me. And unless I make a mistake like that, Nickle really does get out of my way.
"It is strongly, dynamically typed, which means that you can spend more effort on telling your program what to do rather than the nitpicky details of how to do it."
I'm not sure what the first part of this sentence has to do with the second. I like (good) static typing precisely because it saves me effort—I find out about my mistakes at compile time rather than runtime. See Nickle's type system for an example of what I like.
It's a bad thing because Linux's process—which involves having thousands of alpha and beta testers of the patch with direct access to the source code and the knowledge to make that access useful deploy it on their boxes—turns out to produce better patches faster. You, as a user who "doesn't want to be their beta tester", don't have to be. In 5-10 days (not 46 or 135) your distro vendor will have enough evidence that the patch is harmless and effective that they will make it available to you, and you will have enough evidence that you can make a rational decision about whether you want it.
It's nice to see our government working to make this vision a reality.
How about hiring a trained professional software engineer? Trained professionals know about the various kinds of security and reliability risks, and have a grab-bag of tools for dealing with them. They also know a lot about how to deal with programming languages and environments.
From your question, you appear to be in over your head. Get professional help.
We've done some interesting stuff with USRPs. They're a lot of fun. With respect to the story about SDR wireless networking, check out our open-source 802.11 implementation for the USRPs. Early days yet, but we're making fairly rapid progress.
I'm a CS/SE prof. Around 30% of my top-performing students are female, which is less than you would expect, but way more than others are reporting. The implication I draw is that we are losing a lot of really bright, capable people merely by virtue of their gender. If we want to increase productivity in the sciences and engineering, we can't afford to lose a huge percentage of our brightest, most capable people.
Quite aside from the ethical and justice questions, self-interest dictates that we stop the female brain drain.
Challenge Problem: Write the most kiss-of-death accurate review you can for a film that actually won a Sundance award. Bonus points for avoiding all the words on the golden list.
The sensitivity and time-constant of these automatic lights is usually adjustable using only a couple of screwdrivers and some patience. Normally, you can find the instruction manual online once you have the cover plate off to get the model number—there are only a small number of manufacturers. Don't touch the mains: electricity can kill you. Also, don't get caught by the boss. :-)
You're joking, right? Terry Pratchett's been putting out an average of a book a year for maybe 20 years, and continues to do so. Tolkien's entire (salable) ouevre consists of four books that have been on sale continuously for something like 30 years. Sure, those four are insanely great books, but market saturation is by now pretty much complete.
You're only a best-selling author as long as you keep writing things to sell. Stephen King has reportedly stopped writing now. J.K. Rowling reportedly plans to stop after HP #7. If Terry Pratchett keeps turning out books, it is quite likely he'll be the #1 best-selling SF/Fantasy/Horror author in the US in a couple of years.
OK, that's just freakish. I had to Google to verify this wasn't just some bizarre practical joke on the part of the Washington Post.
That'll teach me to try to out-weird reality. Thanks much for the really cool link.
...that holding an MLK Day story for 3 days before posting it is just weird.
The editors should have saved it until April 1, so that the sense of cognitive dissonance I got from viewing it was well-deserved.
Still doesn't matter, because in 2006 recompiling a program with a native-code compiler targeted to a random ISA (for a given operating system) is practically free—especially if the program was written in a reasonable modern language.
If the Java VM is your beef, check out gcj. Sure, it still has a runtime system. But its performance overhead relative to compiled C code is almost always negligible or better.
Are you sure they're really 1200x4800 optical? Or are they 1200x4800 interpolated? Scanner manufacturers love to report "virtual" resolutions obtained by filtering the scanner output.
Thanks much for the correction. I had not realized this!
If copper becomes expensive, developing countries will just use aluminum. The biggest problem with aluminum wiring is joining it to copper; this is the only thing that really inhibited aluminum wiring in this country, where there was already a ton of copper wiring everywhere. Places starting from scratch won't have that problem so much. Long-distance transmission lines will likely be copper for a long time due to the lower resistance. (Gold, BTW, is a worse conductor than copper, and is quite comparable with aluminum. Silver is slightly better than copper, if you're willing to pay.) There will be more and more transmission lines being built with superconductors, though!
Of course, the incredible energy requirements of aluminum production yields its own set of headaches. But if we don't solve that problem, the wiring dilemma will be moot anyhow.
Which W3C standard does the ping tag implement? 'Cause if it doesn't implement one, I don't want it, and it shouldn't be a priority of a project that hasn't achieved standards compliance yet.
If "Google, Yahoo, and others are BEGGING for this" they can darn well go through the standards process like everybody else. This is open source. Its specification is an open standard.
I think the argument from historical inevitability is orthogonal to the argument about the existence of a community. I'm not sure why the two have been conflated—I will address them seperately.
I'm not a huge fan of the historical inevitability argument, because carried to its logical conclusion, as John Mark did, it tends to demean the accomplishments of singular individuals and organizations. Earlier, I quoted a couple of the sentences in John Mark's article I find objectionable because they label folks such as Linus Torvalds, whom I find admirable and unique, as "simply figureheads", a description that can hardly be intended as complimentary. I find the claim that "Linux or its equivalent was bound to happen eventually, regardless of whether Linus decided to release a kernel in 1991" both questionable and somewhat rude. One can make a sort of argument that "Buddhism would have occurred with or without the Buddha", but try it on a Bhuddist and see how much respect it elicits.
As for the existence of a community, I think part of the confusion on my part, and perhaps on the part of others, is that when I say "open source" I use it in the broadest sense, including "Free Software" and everything else. So if you grant that there's a Free Software community, I'll claim that there automatically exists an open source community that contains it and perhaps others.
I don't understand the insistence on a definition of "community" that requires "an ideological fence to keep insiders in and outsiders out", or "'they are all pragmatists' or 'they are all libertarians' or 'they all want to beat Windows'". Consider the quilting community. I don't know much about it, but surely it is made up of liberals and conservatives, hippies and fascists (though the image of a "fascist quilter" amuses me greatly), those who view the activity as pure art and those who view it as purely a moneymaking opportunity. Yet I know quilters regularly get together to discuss quilting and show off their work. I would guess that quilters have common views on many quilting-related issues. There are also probably many factions within the community, that argue about the details. I know quilters share life events with each other; they form friendships and loving relationships that are supported by the community and that transcend it. By any definition of community I'm comfortable with, the quilters have one.
We can argue whether the open source community has enough importance, cohesiveness and force of will to have a major impact on world affairs. The quilters have not, so far. But to deny the impact of a community is hardly to deny its existence, and that's why I (and apparently other responders to my original comment) found the article title to be both deliberately provocative and unintentionally silly.
It's an Oregon USA organization, initially, so please don't take it personally :-).
You're a smart guy, and I have great respect for you. Certainly if I'd realized this article was your editorial decision, I would have read it carefully before posting; as I stated up front, I did not. For that I apologize.
However, I'm afraid I still have problems with your claim that open source developers and users have nothing in common except open source. I'm not sure whether it's true; more importantly I don't understand why it's relevant. Explain to me who attends OSCON? It has always looked to me like folks who have common interests and yes, even values. I believe you were at the last OSCON. Did you notice that a lot of the folks there knew each other well even before they turned up? That they spent a lot of time together catching up on each others' lives and interests? Did you notice that there were statements that led to the loud acclamation of the entire room? That there were others that led to near-universal disappointment, evinced by booing and muttering? That's a community, with community values.
Anyway, the "facile characterization" you refer to isn't mine. It's the title of the article. "There Is No Open Source Community." That's how John Mark, you, porkrind and then Zonk chose to summarize the article. Not "Open Source Activists Don't Matter", which is at least arguable. Not "The Loose-Knit Open Source Community", which is likely true and quite non-controversial.
The abstract porkrind and Zonk chose to put on it is hardly more promising. "Really, open source is much more about supply and demand than it is about an activist community or individual drivers (individuals or individual companies) affecting change on society." This at least is an arguable premise, but I think it's pretty goofy. I've watched the impact folks and institutions like Linus Torvalds, Richard Stallman, Keith Packard, Debian, Red Hat, and IBM have had on the community, and it's hard for me to believe that this is all just inexorable law of supply and demand. If these people and organizations had been different, I am convinced that open source would be different today. If you ignore or antagonize these people and institutions, I'm convinced you'll have a measurably harder time working in and with open source. Do you really believe otherwise?
Perhaps the article title and summary that was wanted is "There is No Open Source User Community"? Again, a questionable premise in my mind, but more defensible. It is true that the open source community is heavy on developer-users and paid developers at this point. Now that the open source desktop user share is creeping up on that of Apple, I think we can start to see a pure user community forming, but I agree that it's early days yet. The PC community, back when there was one, had fewer user-developers and more pure users at the early users' group meetings, from what I can recall. Eventually, the community did diffuse to the point that it was no longer identifiable. This happened, though, only when the PC was so mainstream that the overall PC culture became identified with the dominant culture (in the broadest sense) rather than a subculture.
As for Mr. Marks, I've read his article more carefully now, and I still have a hard time believing he seriously believes what he is saying. A key sentence: "What if you learned that the recognized leaders of the open source movement were simply figureheads of a process already well under way?" Friend, I was there for a lot of this. I know some of these guys. Let me tell you, they are unique and brilliant, and a lot of things work because they made them work. To argue that the birth of the GPL, or the Linux kernel, or the X Window System is either inconsequential or inevitable is an extraordinary claim, and requires extraordinary evidence. Would there have been some mechanism produced for dealing with software licenses, some community-developed operating system, some way of rendering text and graphics across the network? Possibly. But it would have been
I'm about one more front-page troll away from bagging /. altogether. I haven't even RTFA, because this is just a sadly successful attempt to increase pageviews on this site and OnLamp simultaneously.
If there's no open source community, who the heck is it I keep going to conferences with? Who are the folks I am putting on the board of my newly formed open source organization? Who are the folks who keep volunteering to teach in my open source classes? Who is volunteering to work on my open source projects?
I guess I shouldn't be surprised that management thinks this way; they never seem to get how valuable communities are to their organizations. But the /. editors should, and I suspect do, know better.
Heck, even the author should know better—he's the director of LinuxWorld Expo! There's a terrifying thought. Where does he think his conference attendees come from? He knows. He just wants to be read. He's a troll. Zonk's a troll. IHBT.
"People consider themselves excellent drivers, even when they are not, because they think they are so good they are actually really bad."
C.f. Unskilled and Unaware Of It . It has been widely reported that most drivers consider themselves above average, although I can't find any primary reference in a quick Google search. I did find a report on a study of driver's education, though, that reached the surprising conclusion that advanced driver training is basically worthless. Go figure.
As I said, if you're using a reasonable language, the "hassle" is exceptionally low. Type declarations shouldn't "get in the way of refactoring": quite the opposite. Once you have type guarantees on something, you can rearrange or reuse it with confidence that it won't go wrong at runtime.
As for "I find that I make so few errors that would be caught by a static type system", I think you might be surprised. If not, you're a truly exceptional programmer; one in a thousand, if not one in a million. At any rate, I've never met your like, and I teach programming for a living.
As I said, if you're used to older, restrictive static type systems, this is a real problem. Check out Nickle or ML or Haskell or Java 1.5 (formerly GJ). All of these languages have easy ways around the problem you cite. In any of these languages, it's actually challenging to write something that isn't statically type-correct but will work correctly at runtime. Nickle, in particular, tries to guarantee that any program that results in a static type error would have failed if it had been executed with only the runtime type system. Also, because Nickle has subtyping, you can simply type anything you don't care about as "poly" and the static type system will get out of the way.
When I type
string copies(string arg, int count) {
string result = "";
for (int i = 0; i < count; i++)
result += arg;
return result;
}
and then accidentally say
string s = copies(5, "foo");
deep in some rarely-executed code, I really appreciate having the Nickle compiler stop me. And unless I make a mistake like that, Nickle really does get out of my way.
"It is strongly, dynamically typed, which means that you can spend more effort on telling your program what to do rather than the nitpicky details of how to do it."
I'm not sure what the first part of this sentence has to do with the second. I like (good) static typing precisely because it saves me effort—I find out about my mistakes at compile time rather than runtime. See Nickle's type system for an example of what I like.
It's a bad thing because Linux's process—which involves having thousands of alpha and beta testers of the patch with direct access to the source code and the knowledge to make that access useful deploy it on their boxes—turns out to produce better patches faster. You, as a user who "doesn't want to be their beta tester", don't have to be. In 5-10 days (not 46 or 135) your distro vendor will have enough evidence that the patch is harmless and effective that they will make it available to you, and you will have enough evidence that you can make a rational decision about whether you want it.
Note that if an OS has UDF read support, you could ship UDF write support code for it on the storage device.