Here's another metaphor that supports the same position: food product packaging (in the US, at least; I'm ignorant of international regs) is similar to open source security. When buying a can of soup (or whatever), I'm entitled to a label that tells me what's actually in the can - both ingredients and nutritional breakdown. Unethical manufacturers *HATE* this, because it allows the consumer to make informed choices, thus giving us leverage on quality and price, but they simply aren't allowed to sell a product labeled "This is good for you; just trust us!"
(Just how much they hate it is evidenced by the occurrence of labels with weird arithmetic, such as a container I saw recently which claimed to contain 1.8 servings! They're still trying to pull something on those who don't read carefully, but at least the "open label" gives us access to the data - even if they try to obfuscate the source.;-)
I believe the user ID on the parent post says it all; as usual "no data" means "not in a position to offer anything of value". I suggest that those who would like to see open source software succeed might learn something from the experience of people who've actually *done*something* to help make that happen.
Have you had your blood glucose levels tested? Frequent urination is also a symptom of diabetes, which is increasingly common among those of us with a sedentary lifestyle (e.g. the stereotypical geek).
Taking the coin-flipping argument as metaphorical (instead of a precise description of the relevant mathematics), the point is still valid.
Chaos theory is full of examples of systems that show high sensitivity to initial conditions, so that tiny differences of values at one point in time rapidly "blow up" into divergent behavior trajectories, yet the overall envelope of system behavior can be described precisely.
IOW, large-scale/long-term behavior can be accurately predicted even though small-scale/short-term behavior is expensive/difficult to predict.
In the context of development, "faster" and "cheaper" are somewhat well-defined, but "better" is simply too fuzzy. There are many qualities which contribute to "better", and some of them are in conflict (e.g. "more profitable for the marketer" vs. "easier to get bugs fixed"), depending on the value system of the speaker.
We need to be more precise in our terms when defending or advocating open source, else we'll appear as silly as the suits that think that programmers that expend more lines of code to produce a solution are thereby more productive (or geeks-who-should-know-better who think that execution wall clock time is the only measure of "efficiency").
In addition to the other good comments already posted (especially those regarding refactoring), let me suggest making increased testability part of the ongoing maintenance process. Specifically, every time a problem is reported, make the creation of a test that exposes the error the first order of business. (Of course, make it as fine-grained as possible, and refactor as necessary to achieve that focus.) Then use that test to guide the resolution of the problem. Iterate throughout the life of the project.
I just found it interesting that one of two surviving Enigma boxen is "valued at" $144,000. How would such a figure be determined? (I assume that standard "what it would bring at auction" concepts don't apply, there being only two instances, neither of which is -- any more -- on the open market.)
Re:More importantly :how to pronounce J# ?
on
J#
·
· Score: 2, Interesting
According to The Elements of Typographic Style by Robert Bringhurst (a standard and
highly-respected reference in the field), the
character "#" is named "octothorp". The origin
of this name? "In cartography, it is also a
symbolfor a village: eight fields around a
central square... Octothorp means eight fields."
To the larger culture (great unwashed masses?;-) of today, "computer" and "Microsoft" are pretty much synonymous.
Some of us still remember when the public synonym for "computer" was "IBM machine" (and IBM did have an O/S called "DOS" before uSoft was a gleam in Billy's eye;-).
A shrinking minority of us still remember when "UNIVAC machine" was the standard pubref for "computer", and Walter Cronkite stood in front of a UNIVAC box on live TV as CBS made early attempts to do live, evening-of-election-day results forecasts.
I think not! Most programs that I am familiar with ignore pair programming, deal with after-the-fact testing, don't discuss refactoring (except perhaps in passing), very much DO NOT emphasize "do the simplest thing that could possibly work". Most academic programs that I've seen push early generalization as a noble design goal, instead of deferring generalization until the point of need (and generalizing by refactoring).
...if all sites could agree on a common (e.g. XML-based) content exchange format and conventions/protocols for agents to visit from remote sites and swap/glean content.
(i.e., "We don't need no stinkin'.NET; we're standards-based open source!")
...who told us explicitly, "I don't want you to
memorize formulae; I want you to understand what
an integral IS well enough that you can
derive any formula you need for the task at hand."
His insistence on comprehension over brute force
rote repetition has serve me well in all my work
in Math, Computing Science, systems analysis, and
everyday programming (even though it sometimes
drives my co-workers nuts;-).
... that the E10K-review-ripoff story appeared
in my browser under a banner add for The Perl
Journal (in view of the uncertain future of
THAT formerly-reliable-and-enjoyable source of
real information).
Find out who's hiring whom
on
CS vs CIS
·
· Score: 1
Talk to the departments about where their graduates are going, then ask yourself which set of employers is more to your taste.
First, let's clarify "too big". Of course, most distros are not too big for multiple-CD packaging, but they are too big for most newbies (or not-so-newbies) to understand what they are / should be installing, and they are too big for most folks to download. So...
Why not a "gentle slope" distro that installs the kernel and an introduction app that holds a text-mode conversation with the user about what (s)he wants to do with the box. Based on the conversation, the intro app would build a manifest of what capabilities to install. The intro app would also be able to explain what each capability does (including, of course, those required by the transitive closure of dependencies from the requested capabilities.) It could be run at any time to respond the user's wish to:
add or remove capabilities
inquire about currently-installed capabilities
check for (and upgrade to) newer versions of installed capabilities
... etc... (I'm sure you can expand on this list)
Please notice two things:
I said "capabilities" instead of modules, RPMs, components, etc... because the orientation of the conversation is on what the user can / wants to do, not on conventional software structures.
I got through the entire description without once mentioning AI (Foo! I blew it!)
Think of the kind of conversation that an ubergeek would have if volunteering to set up a box for a totally non-geek friend...
Others have adequately addressed the on-clock/off-clock issues. However, there's another issue I haven't seen while skimming the discussion -- corporate citizenship.
Most of my department at work (including three levels of managment) spent today helping transport toys for a local charity's Christmas program. In addition to good "team building", such activities are a way for the company to give back to the larger community in which it exists. (Some companies also view this as PR fodder, but in our case no media were involved.)
What does this have to do with Open Source? Simply that most companies are at least potentially beneficiaries of the work of open source projects. Web servers running Linux and Apache, ubiquitous Perl/Python scripts, and GCC are but tiny examples of this principle. Just as enlightened management of many companies sees fit to support standards efforts and industry conferences with subsidized employee effort, it is entirely reasonable to assume that some companies would also follow the lead of O'Reilly, Transmeta, and other non-myopically-self-obsessed companies that not only allow, but even encourage, some reasonable part of their employee-hours resource to be contributed to the common good.
I'd even argue that it is irrelevant whether they view this as good PR, a way to pay back for the value of open source software used internally, a way to have a voice in the direction of projects to influence them to serve their own needs better, or as a perq to attract high-performance talent. The net effect for open source is good, and the net effect for the company is good as well.
Fortunately, some companies have management that understands these matters better than the questioner above.
Q: What do you call someone who speaks three languages?
A: Trilingual
Q: What do you call someone who speaks two languages?
A: Bilingual
Q: What do you call someone who speaks one language?
A: American
Perhaps it's time we admit that the North American continent isn't the center of the planet. For examples from history of those who lost thier perspective, consider the Babylonians, Alexandrian Greeks, Romans, and the various European maritime empires (no offense intended). The point is that the surest way to become irrelevant in the long run is to assume that it can't happen.
Ob-Tech-Relevance: Anybody remember the days of IBM's dominance? How about Microsoft's?
Here's another metaphor that supports the same position: food product packaging (in the US, at least; I'm ignorant of international regs) is similar to open source security. When buying a can of soup (or whatever), I'm entitled to a label that tells me what's actually in the can - both ingredients and nutritional breakdown. Unethical manufacturers *HATE* this, because it allows the consumer to make informed choices, thus giving us leverage on quality and price, but they simply aren't allowed to sell a product labeled "This is good for you; just trust us!"
;-)
(Just how much they hate it is evidenced by the occurrence of labels with weird arithmetic, such as a container I saw recently which claimed to contain 1.8 servings! They're still trying to pull something on those who don't read carefully, but at least the "open label" gives us access to the data - even if they try to obfuscate the source.
...bypass virus scanning for malware authors who pay Microsoft?
The program's source is the haiku, not its output.
I believe the user ID on the parent post says it all;
as usual "no data" means "not in a position to offer anything of value". I suggest that those who would like to see open source software succeed might learn something from the experience of people who've actually *done*something* to help make that happen.
Have you had your blood glucose levels tested? Frequent urination is also a symptom of diabetes, which is increasingly common among those of us with a sedentary lifestyle (e.g. the stereotypical geek).
Taking the coin-flipping argument as metaphorical (instead of a precise description of the relevant mathematics), the point is still valid.
Chaos theory is full of examples of systems that show high sensitivity to initial conditions, so that tiny differences of values at one point in time rapidly "blow up" into divergent behavior trajectories, yet the overall envelope of system behavior can be described precisely.
IOW, large-scale/long-term behavior can be accurately predicted even though small-scale/short-term behavior is expensive/difficult to predict.
In the context of development, "faster" and "cheaper" are somewhat well-defined, but "better" is simply too fuzzy. There are many qualities which contribute to "better", and some of them are in conflict (e.g. "more profitable for the marketer" vs. "easier to get bugs fixed"), depending on the value system of the speaker.
We need to be more precise in our terms when defending or advocating open source, else we'll appear as silly as the suits that think that programmers that expend more lines of code to produce a solution are thereby more productive (or geeks-who-should-know-better who think that execution wall clock time is the only measure of "efficiency").
In addition to the other good comments already posted (especially those regarding refactoring), let me suggest making increased testability part of the ongoing maintenance process. Specifically, every time a problem is reported, make the creation of a test that exposes the error the first order of business. (Of course, make it as fine-grained as possible, and refactor as necessary to achieve that focus.)
Then use that test to guide the resolution of the problem. Iterate throughout the life of the project.
Followed by the "discovery" of a new law:
"The love of money is the root of all kinds of evil."
I'd like to recommend Open Source Development with CVS
as a good starting point.
I just found it interesting that one of two surviving Enigma boxen is "valued at" $144,000. How would such a figure be determined? (I assume that standard "what it would bring at auction" concepts don't apply, there being only two instances, neither of which is -- any more -- on the open market.)
The good folks at the MIT Media Lab (especially under the Things That Think research program) have been researching such things for years.
The July/August issue of IEEE Micro contains several articles on their work, including one on parasitic power.
According to The Elements of Typographic Style by Robert Bringhurst (a standard and
highly-respected reference in the field), the
character "#" is named "octothorp". The origin
of this name? "In cartography, it is also a
symbolfor a village: eight fields around a
central square... Octothorp means eight fields."
(Insert appropriate wisecrack here...)
... so why renormalize to the surface of the sphere? You could give "IP tunnelling" a whole new meaning!
To the larger culture (great unwashed masses? ;-) of today, "computer" and "Microsoft" are pretty much synonymous.
Some of us still remember when the public synonym for "computer" was "IBM machine" (and IBM did have an O/S called "DOS" before uSoft was a gleam in Billy's eye ;-).
A shrinking minority of us still remember when "UNIVAC machine" was the standard pubref for "computer", and Walter Cronkite stood in front of a UNIVAC box on live TV as CBS made early attempts to do live, evening-of-election-day results forecasts.
... since it claims that such proofs can't be done.
I think not! Most programs that I am familiar with ignore pair programming, deal with after-the-fact testing, don't discuss refactoring (except perhaps in passing), very much DO NOT emphasize "do the simplest thing that could possibly work". Most academic programs that I've seen push early generalization as a noble design goal, instead of deferring generalization until the point of need (and generalizing by refactoring).
...if all sites could agree on a common (e.g. XML-based) content exchange format and conventions/protocols for agents to visit from remote sites and swap/glean content.
.NET; we're standards-based open source!")
(i.e., "We don't need no stinkin'
...who told us explicitly, "I don't want you to memorize formulae; I want you to understand what an integral IS well enough that you can derive any formula you need for the task at hand."
;-).
His insistence on comprehension over brute force rote repetition has serve me well in all my work in Math, Computing Science, systems analysis, and everyday programming (even though it sometimes drives my co-workers nuts
... that the E10K-review-ripoff story appeared in my browser under a banner add for The Perl Journal (in view of the uncertain future of THAT formerly-reliable-and-enjoyable source of real information).
Talk to the departments about where their graduates are going, then ask yourself which set of employers is more to your taste.
First, let's clarify "too big". Of course, most distros are not too big for multiple-CD packaging, but they are too big for most newbies (or not-so-newbies) to understand what they are / should be installing, and they are too big for most folks to download. So...
Why not a "gentle slope" distro that installs the kernel and an introduction app that holds a text-mode conversation with the user about what (s)he wants to do with the box. Based on the conversation, the intro app would build a manifest of what capabilities to install. The intro app would also be able to explain what each capability does (including, of course, those required by the transitive closure of dependencies from the requested capabilities.) It could be run at any time to respond the user's wish to:
Please notice two things:
Think of the kind of conversation that an ubergeek would have if volunteering to set up a box for a totally non-geek friend...
Others have adequately addressed the on-clock/off-clock issues. However, there's another issue I haven't seen while skimming the discussion -- corporate citizenship.
Most of my department at work (including three levels of managment) spent today helping transport toys for a local charity's Christmas program. In addition to good "team building", such activities are a way for the company to give back to the larger community in which it exists. (Some companies also view this as PR fodder, but in our case no media were involved.)
What does this have to do with Open Source? Simply that most companies are at least potentially beneficiaries of the work of open source projects. Web servers running Linux and Apache, ubiquitous Perl/Python scripts, and GCC are but tiny examples of this principle. Just as enlightened management of many companies sees fit to support standards efforts and industry conferences with subsidized employee effort, it is entirely reasonable to assume that some companies would also follow the lead of O'Reilly, Transmeta, and other non-myopically-self-obsessed companies that not only allow, but even encourage, some reasonable part of their employee-hours resource to be contributed to the common good.
I'd even argue that it is irrelevant whether they view this as good PR, a way to pay back for the value of open source software used internally, a way to have a voice in the direction of projects to influence them to serve their own needs better, or as a perq to attract high-performance talent. The net effect for open source is good, and the net effect for the company is good as well.
Fortunately, some companies have management that understands these matters better than the questioner above.
This reminds me of the old joke:
Q: What do you call someone who speaks three languages?
A: Trilingual
Q: What do you call someone who speaks two languages?
A: Bilingual
Q: What do you call someone who speaks one language?
A: American
Perhaps it's time we admit that the North American continent isn't the center of the planet. For examples from history of those who lost thier perspective, consider the Babylonians, Alexandrian Greeks, Romans, and the various European maritime empires (no offense intended). The point is that the surest way to become irrelevant in the long run is to assume that it can't happen.
Ob-Tech-Relevance: Anybody remember the days of IBM's dominance? How about Microsoft's?