0

@J-ose

I genuinely don't understand any of your arguments in your latest post: my bad.

Humorous? Not as such, no.

"I ceded I got details wrong in this case." No you did not. And even if you had, the details you got wrong entirely invalidate your argument.

"Speaking from someone who didn't even have a clue about what Dr Loser was getting at with that C preprocessor directive bit." (A comment from JoeMonco.)

It most definitely was not a challenge for you to use the preprocessor. Can't you read? Do you care? Here is what I actually said (refer specifically to point 4):

(1) Arguments ignored. Check. That's a Linux fanboi staple.
(2) No documentation. Check. That's a Linux fanboi staple.
(3) Unnecessary dependency (in this case, C99). Check. That's a Linux fanboi staple.
(4) Totally irrelevant use of a toy (in this case, the preprocessor). Check. That's a Linux fanboi staple.
(4) Even more irrelevant undef at the end. OK, fair enough. Not a Linux fanboi staple. Sure smacks of Asperger's syndrome to me, though.
(5) Smarter than the average bear: all this playing around with character sets? Check. That's a Linux fanboi staple.
(6) Ignoring other cultures, any one of which is unlikely to use the same character set? Check. That's a Linux fanboi staple.

(1) is a joke, and since you go to such amazing lengths to simulate humour, you might appreciate it.
(2) is not invalidated by some pathetic one-line comment. The code is so ridiculously convoluted that it demands documentation.
(3) re C99. Here's your "documentation":

//Yes, I was getting tired of making it so simple.
// Here's a hint. Get yourself a good Linux distro and use `` gcc -std=c99 '' so that the above works out for you.

Sure looks like the Church Lady Dance of Superiority to me. I accept your humorous observation, and back at you: were you aware that almost every C compiler in the world (including several available on good Microsoft distros) has a similar switch for C99?

Did you spot that JoeMonco was mocking you for using this simply so that you can write a for loop with an internal type declaration? I mean, what sort of idiot would consider this either funny or sensible?

(5) & (6) Can't be bothered. I still stand by these points.

Here is another one you missed (and related to ctype.h): Monopolists are so bad, that to fully define one, you have to "tolower" them even when you think you are done and it can't get worse.

>> Good grief. That's so utterly stupid that I can't even think of a decent response.

I'm cheating here. (Go on, it's funny!) Those two paragraphs are not really connected.

On the other hand -- and it's a direct quote from your latest post -- my comment is equally valid in this instance. What on earth do you mean? I didn't miss it. It's not related. The question of monopoly is an irrelevance. Given that irrelevance, there are several perfectly serviceable definitions of a monopoly. Directly using tolower() isn't going to help you, and as a metaphor it is astonishingly pointless. Are we done? Can it get worse?

What on earth do you mean?

I'm going to repeat this, for your own good. You are not now, and never will be, a C programmer. You have no logical facility, no grasp of the language, no understanding of the principles of software, no honesty, no shame, no sense of humour, and, as JoeMonco says, no discipline.

The sheer amount of disconnected and badly-presented bilge that you've poured out in the last six pages or so leads me to think that you are best positioned for a high-level job in Marketing. Go for it! You will make a lot of money, and do minimal amounts of damage.

0

And you wanted a justification for the "good grief" thing. Here's the original:

"Dr. Loser, best I can tell right now (googling), Linux, as is, is too complex to likely be used in the most demanding applications in terms of security and safety. Very likely no one has succeeded (or attempted) to verify correctness at the most demanding levels.

My comparisons have been against Windows and similar complex and full-featured OS."

Good grief. That's so utterly stupid that I can't even think of a decent response.

I'm still in shock, but I'll fill in the odd blank:

(1) Complexity is not correlated with suitability. That you think you can figure out either end of this proposition via ten minutes' googling is, I'm afraid, utterly stupid.
(1a) Complexity in an OS kernel is not, per se, an advantage. You might not be suggesting that it is. If you are, then this is utterly stupid.
(1b) The issues to do with using Linux in a RTOS are far beyond questions of complexity. They're actually to do with suitability. You of course ignored me on this one, so you're not being utterly stupid, just deliberately or accidentally disingenuous. (To save time, I will point out that there are RTOS Linux kernels out there -- but they're heavily modified, and not one of them is FLOSS.)
(1c) As for "security and safety," these are usually features promoted by Linux advocates. Excellent! In this case, you are not being utterly stupid.
(2) It is empirically impossible to "prove" correctness in a large enough system, and every OS since 1980 has qualified as a "large enough system." Even to pose this false dichotomy is to reveal yourself as utterly stupid.
(2a) What you do is to test the bejabbers out of it. I would have thought this is obvious. Anybody who thinks otherwise is utterly stupid.
(2b) This misses my point anyway, which is that, if you're going to carry an OS-enhanced system into the battlefield, you're going to depend upon custom hardening and custom hardware and custom device drivers and custom everything else. This flies in the face of the GPL (though not the WTFPL or the BSD license).
(3) You haven't made any comparisons at all. You haven't proposed a single case where a Windows feature is inferior to a Linux feature, or even vice-versa.

In short, you're being utterly stupid. I'd like to explain further, but I've got a bus to catch.

0

>> Forget about the contractors and the sub-contractors who actually get paid for the design, implementation and maintenance of the components, because, apparently, "software freedom" is somehow really serving as more than just an irrelevant part of the picture. Seriously, if you think the Navy is crazy enough to simply ask Captain Propellerhead

You favor alchemy, and I favor chemistry. People got paid to practice either, but only one allows the public access and peer review.

Expect to see a derivative of Linux or some different slimmer OS running all sorts of critical real-time systems in the future.

The FOSS community keeps growing at the expense of the closed source one.

>> Let's say, for one reason or another, someone needs to insert extra subroutines to the code or simply change the code from printing "FunnyMan" to "HappyDude".

No, see, the objective I set out was met.

I did not print "Hello World", the actual solution to the problem you seem to think I was trying to solve, because that was not the goal.

>> In this case, the substituent for "STRIKES_NEEDED" and a whole slew of other things will need to be changed.

You still don't recognize that STRIKES_NEEDED and the other "redundant" variables were an intentional part of what I set out to achieve.

If this were an actual program, you do not know what build environment I had set up and what other uses I might have for such code. I might use tools outside of the gnu toolchain that would perform more sophisticated typing analysis through the use of macros based on a related library that was part of this build system. I may even have set up the code in that way because of hardware constraints or efficiencies I might be taking into account. None of these things are obvious from the bit of code I wrote and they all impact a thorough analysis of the quality of such code and would annul all of these statements you are making out of ignorance.

-- Heck, you have no idea the software patents I was trying to code around!

Your goal is to make FOSS look bad, but you can't do that on this thread because I was not writing a program to accomplish a functional objective (or for that matter, an objective known a priori). Note, I gave no information on the build or runtime environments -- a necessity. Note, I did not mention patents I was trying to avoid. Note, a problem to be solved (which would supply some of this missing information) was never posed ahead of time.

I wrote a program to accomplish a particular expressive objective within the source code. Note, this objective was not defined by you as much as you may want to do so after the fact.

If I was writing a typical program and had been paying attention to best practices, I would have simply printed "FunnyMan". That's it! End of story.

But as I stated, that was not my goal.

In terms of what my options were during the brief moment I was writing that snippet of code (which I formalized as a program only so that you all could compile it to see the result in case you couldn't follow the source code), I never gave consideration to spending numerous hours or days in order to consider proper data structures, security practices, internationalization, portability, maintainability, etc, to write some large application that did more than simply print "FunnyMan".

I encourage you to first look at objectives and design and legal constraints and only afterward provide criticism based on these.

If you want to criticize FOSS, then start with the Linux kernel. Waste all of this time you are wasting criticizing an expressive work, instead criticizing FOSS developers doing their work -- creating functional works.

But apparently you know there is not too much to criticize, so you take the cheap shots attacking someone who was not creating a program for functional usage (maintainability, internationalization, portability, etc).

Here, I'll give an analogy because I am beginning to think you guys need all the help you can get: I grabbed some duct tape to mend a chair so that I could sit on it the remainder of the night before I went out and bought a new chair the next day. I was also interested in a particular style of duct-taping to help add humor to that particular situation and convey a particular message. Clueless, fearful, with chips on your shoulders, or doing work on behalf of one of more third parties having some of these characteristics, you guys then spend paragraph after paragraph analyzing the design decisions I did or did not take, imagining, despite my statements to the contrary, that I had goal X to achieve rather than goal Y as I indicate. You criticize how the chair won't be able to hold the weight required by law or is not likely to last in one piece for a year. You judge me based on the goals you wish I was solving rather than on the goals I set out to solve (to add humor and with minimal effort get a chair to last one more evening).

I was fairly efficient considering the time I was willing to spend and the goals I had in mind. I never intended to write the best program I could based on C best practices for a general purpose computing platform with only gnu tools at my disposal and no patent worries. If I did, I would have simply re-created a ubiquitous "hello world" program.

There are plenty of actual FOSS projects (my little program here never made it into that space because I did not spec it out for that) that would appreciate a good audit and contributions. Please consider helping them out. Your time helping them will accomplish much more for society than will you criticizing a solution on this forum based on your misunderstanding of the problem that was solved. Alternatively, you can also help society by staying on this forum and speaking accurately about Linux and FOSS.

0

>> (1) Complexity is not correlated with suitability.

Yes, it is.

Since we like to invoke Einstein: "Make things as simple as possible, but not simpler."

If something were overly complex for a given purpose, it may still perform, but there are unnecessary risks.

In the particular case, proving correctness is made difficult because of this complexity.

Proving correctness (or something close to that) is required for EAL7 http://www.cygnacom.com/labs/cc_assurance_index/CCinHTML/PART3/PART36.HTM. EAL5&6 require something approaching this.

One or more of EAL5, EAL6, or EAL7 are requirements for certain DoD tasks.

>> That you think you can figure out either end of this proposition via ten minutes' googling is, I'm afraid, utterly stupid.

Well, complexity *is* correlated with suitability.

It's one reason why we don't have arbitrarily complex systems being used for tasks. You don't see too many people using a hygienic 10 ton tractor to eat spaghetti, for example. You don't see an armada of security personnel from French and Colombian forces in the US to turn the handle on a 25 cent gumball machine for a kid.

If you don't believe Occam's Razor, consider almost any probability model you might use to analyze the failure rate of an OS where in one case the event space is much much larger than in the other case. All else being equal and assuming both systems perform correctly, the odds of mis-analyzing the scenario with the much much larger event space is larger; hence, you have a higher degree of uncertainty or will at least take a much longer period of time and likely require numerous intermediate "lemma's" to derive your conclusions.

Now, if we judge by your words of judgment, I think they imply you are utterly stupid and that I am not (at least on this count).

>> That you think you can figure out either end of this proposition via ten minutes' googling is, I'm afraid, utterly stupid.

Since I know myself better, I can say with more likelihood of being correct that you can that you have completely mischaracterized my experience here.

If we judge by your words of judgment, then, I think they imply that the likelihood of you being more utterly stupid than I is greater than 50% (for this analysis I did rely on external correlations and other likelihoods, including that you were utterly wrong in (1)).

>> (1b) The issues to do with using Linux in a RTOS are far beyond questions of complexity. They're actually to do with suitability. You of course ignored me on this one, so you're not being utterly stupid, just deliberately or accidentally disingenuous.

Alright, maybe we were answering different questions.

>> (To save time, I will point out that there are RTOS Linux kernels out there -- but they're heavily modified, and not one of them is FLOSS.)

I don't follow closely why none of these patches have been accepted (of any that may have been submitted) but there could be many reasons. Eg, if you don't code and prepare a patchwork properly, I believe it won't be accepted by Linus or even be given much thought by many reading the lkml. [Obviously, if it's an important work, people will look if you post.]

You can't modify the Linux kernel so that the new product is anything but GPL2, which is 100% FLOSS.

You can keep the code under lock and key if you don't distribute binaries, but that doesn't change the fact the end product, once it is patched and running, is a copyrightable work that must be licensed GPLv2 according to copyright law in the US and the Linux licensing (or at least my interpretations of these and feel free to disagree).

I think there are significant disagreements over just how far "derivative work" goes, so there's room for variability (including no GPL2 necessity up to perhaps even the hardware needing GPLv2).

>> (2) It is empirically impossible to "prove" correctness in a large enough system, and every OS since 1980 has qualified as a "large enough system." Even to pose this false dichotomy is to reveal yourself as utterly stupid.

Well, you made some claims here that are quite subjective and presumptuous of what systems have been created since 1980.

Further, there appears to be some degree of contradiction between the definition of EAL7 (which I think several respectable vendors have worked towards post 1980) and your statement above.

From this evidence and from your words of judgment, I would say I was not utterly stupid, but you certainly might be.

>> (2a) What you do is to test the bejabbers out of it. I would have thought this is obvious. Anybody who thinks otherwise is utterly stupid.

Well, the question is if today there are application needs for simpler systems that might have a fair hope of being formally or semi-formally proved?

That EAL7 (and to a lesser degree EAL5 and EAL6) exists and is taken seriously by various professional groups, suggests the answer to question just posed is yes.

Once again, I think this all suggests I am not utterly stupid on this count but the odds that you are is at least a bit larger.

>> (2b) This misses my point anyway, which is that, if you're going to carry an OS-enhanced system into the battlefield, you're going to depend upon custom hardening and custom hardware and custom device drivers and custom everything else. This flies in the face of the GPL (though not the WTFPL or the BSD license).

No, you aren't necessarily going to customize (and potentially invalidate the security analysis) beyond changing certain key data (that would be a part of any security model) and in ways that would be acceptable by the GPL.

>> (3) You haven't made any comparisons at all. You haven't proposed a single case where a Windows feature is inferior to a Linux feature, or even vice-versa.

In that third statement, I didn't state a position on which was better, Linux or Windows. The statement simply said (or implied) that both Linux and Windows were ill suited for certain applications.

[However, in other places within this thread, I have provided links/evidence that suggest Linux is preferred over Windows in a number of environments (including, My Favorite (tm), supercomputing).]

BTW, thanks for dropping the "utterly stupid" thing for several sections now. That can always come back to bite the person. [It's risky.. OTOH, we only live once so never mind.]

>> In short, you're being utterly stupid. I'd like to explain further, but I've got a bus to catch.

I guess you do live la vida loca.

And take your time with the bus. I actually didn't plan on returning to this thread today, but I bowed to the temptation. Hopefully, I won't return at least until tomorrow.

0

To try and avoid some confusion and more barking up the wrong tree, let me clarify further some comments I recently made:

>> I wrote a program to accomplish a particular expressive objective within the source code.

Maintainability, of a program design primarily for its functional attributes, is not what I would call (in the given context) an "expressive" attribute because the maintenance is totally controlled by the need for functional correctness. As an example, what would constitute a typically maintainable program for computer consumption would be different than what a fiction writer would consider a maintainable fictional work.

>> If this were an actual program, you do not know what build environment I had set up and what other uses I might have for such code. I might use tools outside of the gnu toolchain that would perform more sophisticated typing analysis through the use of macros based on a related library that was part of this build system. I may even have set up the code in that way because of hardware constraints or efficiencies I might be taking into account. None of these things are obvious from the bit of code I wrote and they all impact a thorough analysis of the quality of such code and would annul all of these statements you are making out of ignorance.

>> -- Heck, you have no idea the software patents I was trying to code around!

One example of hardware + build environment requirements that would favor my program over the typical "hello world" program would be if the hardware had more efficient processing of output when the data to be outputted was divided across exactly three particular sets of array registers. If I then had access to a compiler that was able to take three explicit variables used to build the output and map these to that highly efficient section of the I/O processing pipeline, then I would want to have taken the three explicit variable approach rather than the "hello world" approach, which would have been compiled into instructions that did not take the short-cut hardware execution path.

An example of the build environment favoring my program would be if that little application was to be a part of a larger environment where each component had to fulfill certain requirements that could be checked using AI and an expert system but only if I used certain data and coding structures (such as certain macros). In this case, we would not ask, "what if someone else wants to change the string to 'HappyDude'," but instead we would ask, "is 'FunnyMan' the proper output to produce with that application? To find out, code the application using this set of primitives and structures."

An example of a patent work-around would be if one patent was over "one-step" output of the desired message [like the one-click patent].. or two-step. And another patent was over the absence of conditionals within a full application, when the target platform was a single homogeneous platform, where homogeneous means ... blah blah.

0

Dr, Loser:

>> No you did not. And even if you had, the details you got wrong entirely invalidate your argument.

It would help if you mention which argument specifically. Keep beating this little horse! I'll try and help you where I can.

>> It most definitely was not a challenge for you to use the preprocessor. Can't you read? Do you care? Here is what I actually said (refer specifically to point 4):

Wrong. The 6 points you then proceeded to quote came after that "speaking" line by JoeMonco.

How could JoeMonco have been referring to something the Dr Loser had not yet said?

Get the reference correct first (remember, it has to be *before* the "FunnyMan" script was written.. before the "speaking" line was written..), and then we can talk.

>> (2) is not invalidated by some pathetic one-line comment. The code is so ridiculously convoluted that it demands documentation.

Make sure to read my last comment to JoeMonco. It's the comment where I repeat that my objective was not to write code that Dr Loser was going to be tasked with maintaining. No, that was not my objective. Rather, the code's purpose was to mock JoeMonco a little using a different technique than simply calling him Funny Man in clear text because of his ridiculous views on patents or any of the other things to which I had earlier replied with an explicit "Funny Man".

The next line is very important.

If you know anything about humor, you will know that sometimes a better job is achieved by ***not*** "fully documenting" your work.

>> were you aware that almost every C compiler in the world (including several available on good Microsoft distros) has a similar switch for C99?

What point are you trying to make now?

I don't use "almost every C compiler in the world". When I use a C compiler, I tend to use gcc. More to the point, you can be the top C coder in the world (to take an extreme scenario) without knowing or remembering the flags of any compiler product in the market besides the one you use regularly.

So do you get a high out of potentially mocking the top C coder in the world for not knowing the particulars of the compiler you and your friends have used during your lives?

Further, that comment I made at the bottom of the little program/expression was directed at any arbitrary reader that might not realize to use that flag.

In particular, I vaguely remember someone's initial analysis including mentioning that the code did not compile.

Should I go back and look that up to see if I remember correctly? If I am remembering, this means the tip to use C99 was a good one since it appears someone with C experience failed to catch from reading the code that you would need C99 mode.

>> Did you spot that JoeMonco was mocking you for using this simply so that you can write a for loop with an internal type declaration? I mean, what sort of idiot would consider this either funny or sensible?

Your infinite wisdom falls short so frequently, I'm starting to think it's not so infinite.

First, you apparently want to bias against anyone that learned and practices (and perhaps is encouraged to practice exclusively) the latest C standard. The standard is 10 years old not 1 year or anything like that.

In particular, the person who might use such a construction might be part of a compiler writing team with the task of maintaining and improving the C99 compatibility mode. The person might eat the ANSI/ISO standard for breakfast every day, submit errata to the standardization task group, and be actively discouraged by employer to juggle any other C standard.

Second, it can certainly be considered better documentation to include the index declaration within the for loop header than to declare it anywhere else.

Third, the scope of the variable when declared within the header is different than when declared anywhere else. It's scope covers the rest of the for loop header and the body but excludes anything lying outside the for loop. To simulate this with C89, you would have to create extra scope blocks, which adds a little extra room for errors and misunderstanding (especially since it's repetitive extra work).

Fourth, the latest and most advanced build tools being used by the programmer (eg, the hypothetical custom fork of gcc used by me here in my laboratory) or perhaps of the latest gcc may give superior results when that C99 feature is used. That would explain a reflex to use that construction as a best practice.

Fifth, the use of it can be a habit left-over from a project that uses this sort of feature to help catch potential usage of anything but C99 code. [If it pays the salary, you accept their code writing requirements.]

I could go on trying to come up with more possible scenarios.

>> (5) & (6) Can't be bothered. I still stand by these points.

By "stand" you actually mean "fall", right?

Don't bother.

I'm sure you could find examples to go either way, so naturally, you will generalize to all "Linux fanboi".

Or maybe by "Linux fanboi" you mean people like Windows developers or tree growers or apple seed eaters. Who knows what you mean by that.

>> Directly using tolower() isn't going to help you, and as a metaphor it is astonishingly pointless.

Lowering a monopolist won't help me. I wasn't suggesting it would.

My comment stands, as it is an opinion about a certain group of people/businesses.

I'll repeat it with modification for clarity:

> Monopolists are so bad, that to fully define one [within your program], you have to "tolower" [their assigned karma value] even when you think you are done and it can't get worse.

Of course, now you will want to point out that the code was not dealing with karma value (yeah, as if you could tell how karma is encoded within my set of applications).

My main reply to that is that because it was a joke, I only needed to suggest an interpretation on the surface. Double meaning and insinuations are common in communication intended primarily for human consumption.

>> I'm going to repeat this, for your own good. You are not now, and never will be, a C programmer. You have no logical facility, no grasp of the language, no understanding of the principles of software, no honesty, no shame, no sense of humour, and, as JoeMonco says, no discipline.

On this occasion, I'll reply seriously rather than to try and soften the conversation:

You can get away with cheap talk backed by nothing but inaccuracies and some of these same flaws yourself.

Thank goodness your next paycheck doesn't depend on the reflection in reality of many of your statements on this forum. And for all I know, you actually get paid for a dishonest performance like the one you have shown.

0

@J-ose

Still going off like a vuvuzela, eh?

"You favor alchemy, and I favor chemistry. People got paid to practice either, but only one allows the public access and peer review."

No, you don't practice chemistry. In fact, you don't even have the slightest idea about how a proper "peer review" is supposed to work. Let me give you a clue - it has zero thing to do with giving your journal article to old Mrs. Bigsby from down the street to read.

"Expect to see a derivative of Linux or some different slimmer OS running all sorts of critical real-time systems in the future.

The FOSS community keeps growing at the expense of the closed source one."

The FOSS community has never managed to grow at the expense of anything except its own. The only ones really cashing in on Linux are companies like IBM, Novell (despite even I doubt that it has really been doing that well recently) and other big names in proprietary software - if you forget about defense or other project contractors who give virtually nothing back to the community. Only idiots with too much time to burn would think that being used like a roll of toilet paper is a good thing.

"I did not print "Hello World", the actual solution to the problem you seem to think I was trying to solve, because that was not the goal."

No, it was just some pointless thrashing around that the FOSS community does on a daily basis.

"If this were an actual program, you do not know what build environment I had set up and what other uses I might have for such code. I might use tools outside of the gnu toolchain that would perform more sophisticated typing analysis through the use of macros based on a related library that was part of this build system. I may even have set up the code in that way because of hardware constraints or efficiencies I might be taking into account. None of these things are obvious from the bit of code I wrote and they all impact a thorough analysis of the quality of such code and would annul all of these statements you are making out of ignorance."

So, what's is the point of creating such code if no one is going to know what on earth it's there for anyway? You see, if you expect someone to even just play along, at least give him something to work with.

"Peer review"...

"Your goal is to make FOSS look bad, but you can't do that on this thread because I was not writing a program to accomplish a functional objective"

Just like the rest of the FOSS community - thrashing around pointlessly for the sake of thrashing around pointlessly.

"Note, I gave no information on the build or runtime environments -- a necessity. Note, I did not mention patents I was trying to avoid. Note, a problem to be solved (which would supply some of this missing information) was never posed ahead of time."

And you don't have to. Not that anyone is going to give two squats about what you have got to show everyone anyway given our previous exchange.

"If I was writing a typical program and had been paying attention to best practices, I would have simply printed "FunnyMan". That's it! End of story.

But as I stated, that was not my goal."

Yeah, we get it - LinuxIsFunny(TM). Can we move on now?

"I encourage you to first look at objectives and design and legal constraints and only afterward provide criticism based on these."

I don't think you are actually in the position to encourage anyone to do anything in that regard. Not that your opinion carries any weight anyway.

Let me get this straight. If these supposed "algorithms" are in fact so commonly used in all areas of computing, do you honestly think that a patent claim on them is going to hold any water at the court of law? In fact, even a claim on copyrights would be stretching it.

"In terms of what my options were during the brief moment I was writing that snippet of code (which I formalized as a program only so that you all could compile it to see the result in case you couldn't follow the source code), I never gave consideration to spending numerous hours or days in order to consider proper data structures, security practices, internationalization, portability, maintainability, etc, to write some large application that did more than simply print "FunnyMan"."

But you were nevertheless determined to go through such painstaking length to come up with your convoluted code. Honestly, I have seen cats coughing up hairballs with more elegance and style than this.

"If you want to criticize FOSS, then start with the Linux kernel. Waste all of this time you are wasting criticizing an expressive work, instead criticizing FOSS developers doing their work -- creating functional works."

Yeah - because I am really gonna to work with a bunch of ill-disciplined bozos - for free.

"Here, I'll give an analogy because I am beginning to think you guys need all the help you can get: I grabbed some duct tape to mend a chair so that I could sit on it the remainder of the night before I went out and bought a new chair the next day"

Oh! Did you ask what kind of materials the manufacturer actually used for the chair? Or - heaven forbids - did you even ask for the "blueprint"? (And please do tell me that you got the chair from IKEA - I can see a torrent of jokes coming this way!)

"Clueless, fearful, with chips on your shoulders, or doing work on behalf of one of more third parties having some of these characteristics, you guys then spend paragraph after paragraph analyzing the design decisions I did or did not take, imagining, despite my statements to the contrary, that I had goal X to achieve rather than goal Y as I indicate."

Actually, neither X nor Y would actually amount to anything that mattered at the end of the day. You were stuffed either way.

There is a gaping difference between "being stripped naked" and "streaking", you know, with one being involuntary and the other being a spontaneous act of shamelessness.

"There are plenty of actual FOSS projects (my little program here never made it into that space because I did not spec it out for that) that would appreciate a good audit and contributions."

And I, for one, have chosen not to care about it. Not that the FOSS community as I know it really gives two squats about user opinions anyway.

"Yes, it is.

Since we like to invoke Einstein: "Make things as simple as possible, but not simpler.""

Einstein is probably spinning in his grave right now given this gross misrepresentation of his words.

Merriam-Webster Dictionary defines "correlation" as "the state or relation of being correlated; specifically: a relation existing between phenomena or things or between mathematical or statistical variables which tend to vary, be associated, or occur together in a way not expected on the basis of chance alone". Notice the last part of the definition where it says "in a way not expected on the basis of chance alone". Notice how you have completely misunderstood the concept of "correlation". Notice also how the concept of correlation is frequently employed in both theoretical and applied physics. One is also reminded of the correlation between electromagnetism and space/time - the foundation of special/general relativity. If complexity gives you the needed accuracy and precision, so be it - for there is simply no point in under-doing or over-doing it at the expense of other crucial parameters. You, on the other hand, is suggesting that complexity is, in fact, correlated to correctness, and, that, my friend, is arguably one of the dumbest things you have ever said here.

"It's one reason why we don't have arbitrarily complex systems being used for tasks. You don't see too many people using a hygienic 10 ton tractor to eat spaghetti, for example. You don't see an armada of security personnel from French and Colombian forces in the US to turn the handle on a 25 cent gumball machine for a kid."

No, you most certainly don't need the Spanish armada or anything of that nature to man a gumball machine. What you need, though, is to make the machine take a quarter for a gumball rather than a dollar or 5 cents. This is basically what correctness is all about. And your point is?

"Since I know myself better, I can say with more likelihood of being correct that you can that you have completely mischaracterized my experience here."

I think this particular issue is more or less related to how you have represented yourself here rather than who you really are behind the keyboard.

"Well, you made some claims here that are quite subjective and presumptuous of what systems have been created since 1980."

Again, take the patriot missile bug in the early 90s as an example. The system had basically nothing more to do than intercepting flying objects, but the task of covering all possible angles (or, in this case, the speed of the incoming missiles) was nevertheless proved to be difficult at best. Yes, correctness is crucial in all software systems, but dead-on correctness without the thorough understanding of the criteria is simply nothing more than a pipe dream. When we say "large system", we are usually talking about a project with the requirement specifications document of the size of a phone book (OK, that's kind of an exaggeration, but you get the idea). Determining whether each requirement is met is hard enough (and one is reminded of the often-cited "swing set scenario" in software engineering), and finding out whether each requirement has actually been covered is even harder. There are always things that look good on paper but practically nigh impossible to follow in practice, and unless you have put yourself in that kind of situations, you will never understand how much talking rather than coding you will need to just get one thing right. The old saying "there is no silver bullet" comes to mind.

"No, you aren't necessarily going to customize (and potentially invalidate the security analysis) beyond changing certain key data (that would be a part of any security model) and in ways that would be acceptable by the GPL."

The vanilla Linux kernel is monolithic. RTLinux, on the other hand, is a microkernel. And I am only citing RTLinux as a possibility rather than suggesting that it is definitely used in the battlefield in any way.

"[However, in other places within this thread, I have provided links/evidence that suggest Linux is preferred over Windows in a number of environments (including, My Favorite (tm), supercomputing).]"

Yep, Linux can run on parts that you can buy from newegg.com. That's exciting. There is a reason that we Linux Haters tend to call these beasties "DurdenStations", you know.

Edited by JoeMonco: n/a

0

>> Forget about the contractors and the sub-contractors who actually get paid for the design, implementation and maintenance of the components, because, apparently, "software freedom" is somehow really serving as more than just an irrelevant part of the picture. Seriously, if you think the Navy is crazy enough to simply ask Captain Propellerhead

You favor alchemy, and I favor chemistry. People got paid to practice either, but only one allows the public access and peer review.

Expect to see a derivative of Linux or some different slimmer OS running all sorts of critical real-time systems in the future.

The FOSS community keeps growing at the expense of the closed source one.

>> Let's say, for one reason or another, someone needs to insert extra subroutines to the code or simply change the code from printing "FunnyMan" to "HappyDude".

No, see, the objective I set out was met.

I did not print "Hello World", the actual solution to the problem you seem to think I was trying to solve, because that was not the goal.

>> In this case, the substituent for "STRIKES_NEEDED" and a whole slew of other things will need to be changed.

You still don't recognize that STRIKES_NEEDED and the other "redundant" variables were an intentional part of what I set out to achieve.

If this were an actual program, you do not know what build environment I had set up and what other uses I might have for such code. I might use tools outside of the gnu toolchain that would perform more sophisticated typing analysis through the use of macros based on a related library that was part of this build system. I may even have set up the code in that way because of hardware constraints or efficiencies I might be taking into account. None of these things are obvious from the bit of code I wrote and they all impact a thorough analysis of the quality of such code and would annul all of these statements you are making out of ignorance.

-- Heck, you have no idea the software patents I was trying to code around!

Your goal is to make FOSS look bad, but you can't do that on this thread because I was not writing a program to accomplish a functional objective (or for that matter, an objective known a priori). Note, I gave no information on the build or runtime environments -- a necessity. Note, I did not mention patents I was trying to avoid. Note, a problem to be solved (which would supply some of this missing information) was never posed ahead of time.

I wrote a program to accomplish a particular expressive objective within the source code. Note, this objective was not defined by you as much as you may want to do so after the fact.

If I was writing a typical program and had been paying attention to best practices, I would have simply printed "FunnyMan". That's it! End of story.

But as I stated, that was not my goal.

In terms of what my options were during the brief moment I was writing that snippet of code (which I formalized as a program only so that you all could compile it to see the result in case you couldn't follow the source code), I never gave consideration to spending numerous hours or days in order to consider proper data structures, security practices, internationalization, portability, maintainability, etc, to write some large application that did more than simply print "FunnyMan".

I encourage you to first look at objectives and design and legal constraints and only afterward provide criticism based on these.

If you want to criticize FOSS, then start with the Linux kernel. Waste all of this time you are wasting criticizing an expressive work, instead criticizing FOSS developers doing their work -- creating functional works.

But apparently you know there is not too much to criticize, so you take the cheap shots attacking someone who was not creating a program for functional usage (maintainability, internationalization, portability, etc).

Here, I'll give an analogy because I am beginning to think you guys need all the help you can get: I grabbed some duct tape to mend a chair so that I could sit on it the remainder of the night before I went out and bought a new chair the next day. I was also interested in a particular style of duct-taping to help add humor to that particular situation and convey a particular message. Clueless, fearful, with chips on your shoulders, or doing work on behalf of one of more third parties having some of these characteristics, you guys then spend paragraph after paragraph analyzing the design decisions I did or did not take, imagining, despite my statements to the contrary, that I had goal X to achieve rather than goal Y as I indicate. You criticize how the chair won't be able to hold the weight required by law or is not likely to last in one piece for a year. You judge me based on the goals you wish I was solving rather than on the goals I set out to solve (to add humor and with minimal effort get a chair to last one more evening).

I was fairly efficient considering the time I was willing to spend and the goals I had in mind. I never intended to write the best program I could based on C best practices for a general purpose computing platform with only gnu tools at my disposal and no patent worries. If I did, I would have simply re-created a ubiquitous "hello world" program.

There are plenty of actual FOSS projects (my little program here never made it into that space because I did not spec it out for that) that would appreciate a good audit and contributions. Please consider helping them out. Your time helping them will accomplish much more for society than will you criticizing a solution on this forum based on your misunderstanding of the problem that was solved. Alternatively, you can also help society by staying on this forum and speaking accurately about Linux and FOSS.

"I did not print "Hello World", the actual solution to the problem you seem to think I was trying to solve, because that was not the goal."

Help me here. Your goal is still obscure. (In fact, AFAIK you suggest that you didn't even know what it was before you started. Usually a good thing to decide in advance, I find.)

"If this were an actual program, you do not know what build environment I had set up and what other uses I might have for such code."

(1) Sure looks like an actual program to me. Not a very well-written or useful one, but still an actual program.
(2) You specified a build environment, remember? From memory, "a suitable Linux environment that supports C99."

I took this to mean Cygwin and gcc jose -std=c99 jose.c

This works out of the box as a runtime environment, too.

Even allowing for refactoring to an astonishing degree, you are never in a world of Sundays going to find "other uses for this code." It's garbage.

"I might use tools outside of the gnu toolchain that would perform more sophisticated typing analysis through the use of macros based on a related library that was part of this build system."

Go on, this is going to be fun. Explain how, even theoretically, it is possible to provide "more sophisticated typing analysis through the use of macros." And while you're at it, would this related library catch the obvious buffer overrun issues that JoeMonco pointed out?

"Note, I gave no information on the build or runtime environments -- a necessity. Note, I did not mention patents I was trying to avoid. Note, a problem to be solved (which would supply some of this missing information) was never posed ahead of time."

Yes you did (see above). What patents? Are you insane? And how can you illustrate anything of any importance without explaining "ahead of time" the problem to be solved, even in the most cursory terms?

0

@J-ose

"Well, complexity *is* correlated with suitability.

It's one reason why we don't have arbitrarily complex systems being used for tasks..."

Just to reinforce JoeMonco's total demolition of this absurdity ... I was going to add "(except, in many cases, inversely)" -- your little HelloFunnyMan program being the poster child for this inverse correlation.

Then I realised that your program is a statistical outlier, and thus irrelevant.

Anybody who believes that complexity is strongly positively correlated with suitability in all cases is a loon. Anybody who believes that eating spaghetti with a combine harvester, or whatever that fanciful comparison was, has any bearing on the matter is also a loon. Eating spaghetti with a combine harvester is quite close to writing an awful and extremely fragile program in C, I agree, but it is neither a suitable solution nor a particularly complex one.

0

"You favor alchemy, and I favor chemistry. People got paid to practice either, but only one allows the public access and peer review."

Er, what?

0

"Proving correctness (or something close to that) is required for EAL7."

Er, what?

To quote , "Practical application of EAL7 is currently limited to TOEs with tightly focused security functionality that is amenable to extensive formal analysis."

Not only does this not apply to Linux. It doesn't apply to Windows. It doesn't apply to OSX. It doesn't apply to Solaris. In fact, I doubt it applies to Qnix, Wind River, Greenhills, or any other RTOS I can think of, as a general thing. To quote again,

"Practical application of EAL7 is currently limited to TOEs with tightly focused security functionality that is amenable to extensive formal analysis."

Why you're bringing EAL7 up is beyond me.

0

"One example of hardware + build environment requirements that would favor my program over the typical "hello world" program would be if the hardware had more efficient processing of output when the data to be outputted was divided across exactly three particular sets of array registers. If I then had access to a compiler that was able to take three explicit variables used to build the output and map these to that highly efficient section of the I/O processing pipeline, then I would want to have taken the three explicit variable approach rather than the "hello world" approach, which would have been compiled into instructions that did not take the short-cut hardware execution path."

Er, what?

I almost don't want to respond to this idiotic claim. However: let us consider the canonical

int main (int argc, char** argv)
{
    printf ("Funny Man!\n");

    /* In deference to the funny man in question, we'll provide a largely pointless */
    /* return value.  Notice that this comment is K&R or ANSI or C88 style, for convenience */
    return 0;
}

Are you really trying to say that a loop with a lot of abstruse character fiddling and three available registers (shit, you can do that on a Z80) and mapping to a "highly efficient I/O pipeline" will be more performant than a static string in an executable?

Even if it were, is it likely to be correct, and provably so?

Er, What?

0

"If you want to criticize FOSS, then start with the Linux kernel. Waste all of this time you are wasting criticizing an expressive work, instead criticizing FOSS developers doing their work -- creating functional works."

Er, what?

We were criticising your "expressive work." Had you been expressing a dog's anal gland, we wouldn't have criticised. Expressing a dog's anal gland is a useful thing to do. Writing a dysfunctional program in C in order to satisfy your own childish desire for name-calling isn't.

Why should it be necessary to criticise the kernel before criticising anything else in the Linux world? As any good student of GNU/Linux (copyright RMS) knows, the kernel is not the OS.

Even if it were, and let's assume it's perfect, there's no reason not to laugh at hideously convoluted code, unsuited for any purpose known to man. Let's face it, if you'd written that rubbish inside VC6, we'd still be chortling.

You appear to be claiming that your opus mirabile is "functional."

Er, what?

0

"You can keep the code under lock and key if you don't distribute binaries, but that doesn't change the fact the end product, once it is patched and running, is a copyrightable work that must be licensed GPLv2 according to copyright law in the US and the Linux licensing (or at least my interpretations of these and feel free to disagree)."

The way this works, btw, is that you do one of two things:

(1) You keep the whole thing in-house. That's what Google does. Result, blammo! No source for you!
(2) You segregate the proprietary parts and the GPL parts. The first parts are built as objects or executables, and the second parts are left to one side. You distribute your own objects and executables, and provide a README on how to download and integrate the rest.

Frankly, you could probably add (3), and I'm not sure whether or not RTOS Linux-based providers do:

(3) Just ship the lot and publish your own source code on your website. Hell, nobody in FOSS-land is going to notice, or care, or spend a couple of years analysing 500,000 lines of complex code referring to obscure algorithms and even more obscure hardware. What's the risk?

In any event, experience suggests that (even in the case of RTLinux) none of this gets back to the mainstream. Part of that is because the mainstream is a monolithic kernel, and RTOSes typically are not. Impedance mismatch, mate.

0

Just picking up the bollocks as I go along:

"Our current understanding of nature (eg, chemistry) is more limited than the full scope of what we can carefully and predictably design through (idealized/math/digital) software"

I have no hesitation in pointing out that you are being idiotic here. What do you think "current understanding" means?

"We have learned not to eat rocks..."

Well, most of us have. I'm not so sure about you.

"Dr Loser, explain to me all those places where you say you need access to source code in Linux. Certainly, if people had access to source code for Widnows, more could be done with Windows."

That's the mantra, baby. You buy into the Linux gig, you do the hard time on source code. You buy into Windows, you take what you get. Strangely, 99% of people prefer the latter.

"In particular, I vaguely remember someone's initial analysis including mentioning that the code did not compile.

"Should I go back and look that up to see if I remember correctly? If I am remembering, this means the tip to use C99 was a good one since it appears someone with C experience failed to catch from reading the code that you would need C99 mode."

No need to go back. It was you. Your original post had a smiley in the middle, remember?

It also had something that looked vaguely functional (as in functional programming), which is to say that you used parentheses rather than brackets. Over to you on that one. My time is, albeit infinitessimally, valuable.

"Honestly, I don't know who knows C here or not."

I think we've all figured that one out.

"So do you get a high out of potentially mocking the top C coder in the world for not knowing the particulars of the compiler you and your friends have used during your lives?"

Nope. Didn't even get a high out of kicking a kid whilst he was down. Some things just have to be done, you know?

For the record, I've used the VOS C compiler, I've used the Microsoft C compiler pre-Windows, I've used Borland, I've used VC6, I've used Solaris, I've used HP-UX, I've used AIX, I've used gcc (quite frequently, from 2.96 onwards), I've used anything thrown at me. And, if any of those compilers had a human personality, they'd have just laughed at your puny little effort.

I believe your original point concerned finding the correct switch for C99 compliance. Guess what...

"First, you apparently want to bias against anyone that learned and practices (and perhaps is encouraged to practice exclusively) the latest C standard. The standard is 10 years old not 1 year or anything like that."

Hardly. Both JoeMonco (first) and me (second) pointed out that the only specific C99 element in your wonderful jokelet was, in fact, an inline type definition. Rather pointless, really. And you were the one who insisted on a C99 compliant compiler. An outsider would presumably suspect that you have an ulterior motive for this, rather than just to save typing "int i;" at the beginning of the function. It's not like you saved typing anywhere else.

"Expect to see a derivative of Linux or some different slimmer OS running all sorts of critical real-time systems in the future."

In fact the GPL makes a "derivative" in this case quite difficult. I'll give you different and slimmer. Strangely enough, there are about ten of them out there already.

"Wrong. The 6 points you then proceeded to quote came after that "speaking" line by JoeMonco."

OK, I tracked that back inaccurately. I'm fairly sure there's one of your comments before that fits, but to be honest, I'm not going to look it up unless you insist. Instead, I'll try to perform the equivalent task, only more accurately, for your following objection:

--------------------------------------------------------------------------------------------------------------------------------

">> No you did not. And even if you had, the details you got wrong entirely invalidate your argument.

It would help if you mention which argument specifically. Keep beating this little horse! I'll try and help you where I can."

OK, challenge accepted. Here's the "No you did not" bit:

"I ceded I got details wrong in this case." No you did not. And even if you had, the details you got wrong entirely invalidate your argument." Who ceded what?

"I think I had the USS Yorktown in mind and apparently it was only for two hours. I ceded I got details wrong in this case. I also ceded that Linux (just like Windows) is probably not used in certain classes of application by the DoD. Most people here agree that Linux might be used in other places."

That's you. Don't try to change the subject by claiming that "Most people here agree that Linux might be used in other places." Hell, even I agree with that.

So, did you cede that you got details wrong in this case? (That one's on page 6. Forgive me if I've missed a screed or two.) If it's "Please, I accepted (to Dr Loser) that the DoD is likely not baking Linux into everything over there," which is a direct quote from you on the same page, then that is hardly relevant to the specific incident in question.

"Sunk by Windows NT ... A system failure on the USS Yorktown last September temporarily paralyzed the cruiser, leaving it stalled in port for the remainder of a weekend.

"It was 1998 which is quite old. I guess the experiment didn't work out. Oh, and it was a cruiser, not a carrier." You, from page 5.

Unless otherwise advised, I will accept that as a concession. Why the particular class of the boat in question is relevant, I don't know, but I'm sure you have your reasons. I believe the outage was two hours, which is roughly what you'd expect from a turbine failure, a radar failure, or just about any other system failure in the USF. Why did they keep the boat in port for a weekend? Because they're nowhere near as stupid or dangerous as you are. They'd have done the same for any other system failure.

Granted, it's an implied argument, but it's still pretty bloody silly. Likewise your tiresome comments on NYSE, the London Stock Exchange, and all the rest. Is there some reservoir for incompetent Linux evangelists, wherefrom you sad, sad, people drag this crap up and repeat it ad nauseam? If so, it's working well. I'm getting nauseous.

Potentially the top C coder in the world? You're not even in the bottom 10%. I used to interview people like you for a job programming C in Phoenix for American Express, twenty years ago. Guess what? You wouldn't have made it past the coffee break.

0

@J-ose

Still going off like a vuvuzela, eh?

"You favor alchemy, and I favor chemistry. People got paid to practice either, but only one allows the public access and peer review."

No, you don't practice chemistry. In fact, you don't even have the slightest idea about how a proper "peer review" is supposed to work. Let me give you a clue - it has zero thing to do with giving your journal article to old Mrs. Bigsby from down the street to read.

"Expect to see a derivative of Linux or some different slimmer OS running all sorts of critical real-time systems in the future.

The FOSS community keeps growing at the expense of the closed source one."

The FOSS community has never managed to grow at the expense of anything except its own. The only ones really cashing in on Linux are companies like IBM, Novell (despite even I doubt that it has really been doing that well recently) and other big names in proprietary software - if you forget about defense or other project contractors who give virtually nothing back to the community. Only idiots with too much time to burn would think that being used like a roll of toilet paper is a good thing.

"I did not print "Hello World", the actual solution to the problem you seem to think I was trying to solve, because that was not the goal."

No, it was just some pointless thrashing around that the FOSS community does on a daily basis.

"If this were an actual program, you do not know what build environment I had set up and what other uses I might have for such code. I might use tools outside of the gnu toolchain that would perform more sophisticated typing analysis through the use of macros based on a related library that was part of this build system. I may even have set up the code in that way because of hardware constraints or efficiencies I might be taking into account. None of these things are obvious from the bit of code I wrote and they all impact a thorough analysis of the quality of such code and would annul all of these statements you are making out of ignorance."

So, what's is the point of creating such code if no one is going to know what on earth it's there for anyway? You see, if you expect someone to even just play along, at least give him something to work with.

"Peer review"...

"Your goal is to make FOSS look bad, but you can't do that on this thread because I was not writing a program to accomplish a functional objective"

Just like the rest of the FOSS community - thrashing around pointlessly for the sake of thrashing around pointlessly.

"Note, I gave no information on the build or runtime environments -- a necessity. Note, I did not mention patents I was trying to avoid. Note, a problem to be solved (which would supply some of this missing information) was never posed ahead of time."

And you don't have to. Not that anyone is going to give two squats about what you have got to show everyone anyway given our previous exchange.

"If I was writing a typical program and had been paying attention to best practices, I would have simply printed "FunnyMan". That's it! End of story.

But as I stated, that was not my goal."

Yeah, we get it - LinuxIsFunny(TM). Can we move on now?

"I encourage you to first look at objectives and design and legal constraints and only afterward provide criticism based on these."

I don't think you are actually in the position to encourage anyone to do anything in that regard. Not that your opinion carries any weight anyway.

Let me get this straight. If these supposed "algorithms" are in fact so commonly used in all areas of computing, do you honestly think that a patent claim on them is going to hold any water at the court of law? In fact, even a claim on copyrights would be stretching it.

"In terms of what my options were during the brief moment I was writing that snippet of code (which I formalized as a program only so that you all could compile it to see the result in case you couldn't follow the source code), I never gave consideration to spending numerous hours or days in order to consider proper data structures, security practices, internationalization, portability, maintainability, etc, to write some large application that did more than simply print "FunnyMan"."

But you were nevertheless determined to go through such painstaking length to come up with your convoluted code. Honestly, I have seen cats coughing up hairballs with more elegance and style than this.

"If you want to criticize FOSS, then start with the Linux kernel. Waste all of this time you are wasting criticizing an expressive work, instead criticizing FOSS developers doing their work -- creating functional works."

Yeah - because I am really gonna to work with a bunch of ill-disciplined bozos - for free.

"Here, I'll give an analogy because I am beginning to think you guys need all the help you can get: I grabbed some duct tape to mend a chair so that I could sit on it the remainder of the night before I went out and bought a new chair the next day"

Oh! Did you ask what kind of materials the manufacturer actually used for the chair? Or - heaven forbids - did you even ask for the "blueprint"? (And please do tell me that you got the chair from IKEA - I can see a torrent of jokes coming this way!)

"Clueless, fearful, with chips on your shoulders, or doing work on behalf of one of more third parties having some of these characteristics, you guys then spend paragraph after paragraph analyzing the design decisions I did or did not take, imagining, despite my statements to the contrary, that I had goal X to achieve rather than goal Y as I indicate."

Actually, neither X nor Y would actually amount to anything that mattered at the end of the day. You were stuffed either way.

There is a gaping difference between "being stripped naked" and "streaking", you know, with one being involuntary and the other being a spontaneous act of shamelessness.

"There are plenty of actual FOSS projects (my little program here never made it into that space because I did not spec it out for that) that would appreciate a good audit and contributions."

And I, for one, have chosen not to care about it. Not that the FOSS community as I know it really gives two squats about user opinions anyway.

"Yes, it is.

Since we like to invoke Einstein: "Make things as simple as possible, but not simpler.""

Einstein is probably spinning in his grave right now given this gross misrepresentation of his words.

Merriam-Webster Dictionary defines "correlation" as "the state or relation of being correlated; specifically: a relation existing between phenomena or things or between mathematical or statistical variables which tend to vary, be associated, or occur together in a way not expected on the basis of chance alone". Notice the last part of the definition where it says "in a way not expected on the basis of chance alone". Notice how you have completely misunderstood the concept of "correlation". Notice also how the concept of correlation is frequently employed in both theoretical and applied physics. One is also reminded of the correlation between electromagnetism and space/time - the foundation of special/general relativity. If complexity gives you the needed accuracy and precision, so be it - for there is simply no point in under-doing or over-doing it at the expense of other crucial parameters. You, on the other hand, is suggesting that complexity is, in fact, correlated to correctness, and, that, my friend, is arguably one of the dumbest things you have ever said here.

"It's one reason why we don't have arbitrarily complex systems being used for tasks. You don't see too many people using a hygienic 10 ton tractor to eat spaghetti, for example. You don't see an armada of security personnel from French and Colombian forces in the US to turn the handle on a 25 cent gumball machine for a kid."

No, you most certainly don't need the Spanish armada or anything of that nature to man a gumball machine. What you need, though, is to make the machine take a quarter for a gumball rather than a dollar or 5 cents. This is basically what correctness is all about. And your point is?

"Since I know myself better, I can say with more likelihood of being correct that you can that you have completely mischaracterized my experience here."

I think this particular issue is more or less related to how you have represented yourself here rather than who you really are behind the keyboard.

"Well, you made some claims here that are quite subjective and presumptuous of what systems have been created since 1980."

Again, take the patriot missile bug in the early 90s as an example. The system had basically nothing more to do than intercepting flying objects, but the task of covering all possible angles (or, in this case, the speed of the incoming missiles) was nevertheless proved to be difficult at best. Yes, correctness is crucial in all software systems, but dead-on correctness without the thorough understanding of the criteria is simply nothing more than a pipe dream. When we say "large system", we are usually talking about a project with the requirement specifications document of the size of a phone book (OK, that's kind of an exaggeration, but you get the idea). Determining whether each requirement is met is hard enough (and one is reminded of the often-cited "swing set scenario" in software engineering), and finding out whether each requirement has actually been covered is even harder. There are always things that look good on paper but practically nigh impossible to follow in practice, and unless you have put yourself in that kind of situations, you will never understand how much talking rather than coding you will need to just get one thing right. The old saying "there is no silver bullet" comes to mind.

"No, you aren't necessarily going to customize (and potentially invalidate the security analysis) beyond changing certain key data (that would be a part of any security model) and in ways that would be acceptable by the GPL."

The vanilla Linux kernel is monolithic. RTLinux, on the other hand, is a microkernel. And I am only citing RTLinux as a possibility rather than suggesting that it is definitely used in the battlefield in any way.

"[However, in other places within this thread, I have provided links/evidence that suggest Linux is preferred over Windows in a number of environments (including, My Favorite (tm), supercomputing).]"

Yep, Linux can run on parts that you can buy from newegg.com. That's exciting. There is a reason that we Linux Haters tend to call these beasties "DurdenStations", you know.

Incidentally, you forgot Oracle and Hewlett-Packard and IBM and also Mom & Pop Enterprises, Inc, Arkansas. Freedom writ large.

I kind of object to that supercomputer thing, though. If I hadn't mentioned it, I doubt the idiot would even have noticed. (And, as I said, who cares? Good for supercomputer consumers. Can I haz Cheezburger?)

0

This article reads as nothing more than a Linux zealot crying to his fellow zealots. People come in, criticize the infrastructure and give reasons for its flaws and give solutions to the problem; the zealots label these people trolls.

And then I had a bunch more here, but your system truncated it in the preview. I wouldn't expect any less shoddiness from you guys. I'll just say this, we're the people cleaning up after your stupid mistakes. Before you criticize us, understand that we probably have more code submitted to the open source world than you and your fanboy group combined, and then several times over.

Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.