Software is not at all like a skyscraper or a large jet airliner. Punch a few holes in the wall of a skyscraper, or put a few bullet through the skin of an airliner, and they'll both still probably work safely.
Write a couple of zero bytes at an arbitrary point in your favorite executable and run it. Chances are that it will fail catastrophically.
That's what the OP meant by tiny pieces that ALL have to work in order for the whole to work. A small subroutine for a little-used feature that isn't even critical to the function of the application can usually take down the software more easily than the equivalent in any physical object.
The reason is that the raw material of software is instructions to a machine. They are more abstract and therefore has less inherent resistance to damage than concrete or aluminum.
CList<int, int> foo; for (POSITION pos = foo.GetHeadPosition(); NULL != pos; foo.GetNext(pos)) {
int i = foo.GetAt(pos); }
I agree that MFC collections are weird: the CClass<VAL, ARGVAL> syntax is horrid, and POSITIONs aren't nearly as elegant as STL iterators, but your assertion is incorrect...
Do you really believe that MSFT shall hand the DTD for XDoc(s) over to some external body?
Don't know, yet. They have submitted some things (MSN messenger protocol, C#), and have withheld others (CIFS). But that's not what my point was.
If not, XDoc, whether XML based or not, is proprietary, and PDF is not.
*sigh* My point was that, regardless of whether XDoc is open, proprietary, or imaginary, PDF is proprietary. Proprietary doesn't mean secret, or binary, or evil, or good, or whatever else your definition of the week is. It means that it is the property, and remains under the control of, a single private source.
PDF is proprietary in the same way that Java is. They are controlled by a single company, which can change the meaning of the format at its whim--including adding "features" that happen to be backwards compatible with older versions of the controller's software but not that of competitors (AOL Instant Messenger is a perfect example).
XML is not proprietary; the basic syntax, most extensions, and many DTDs and schemas are controlled by a standards body.
I disagree with #2. A game doesn't have to have a multiplayer component to be successful. Recent examples include The Sims, Deus Ex, Tropico, and Railroad Tycoon II (which has multiplayer, but it's practically a different game).
I would agree, though, that you have to decide up front whether you're making a multiplayer game or not. Some games (Deus Ex, Tropico) just don't lend themselves to being multiplayer games. That's OK--just done try to pound a single-player game into a multiplayer hole. Your reviews and sales will suffer badly.
Re:Cool...but an old concept
on
Water Computing
·
· Score: 2
I don't know if it was factual or not, but such a beast was alluded to in the fiction book "The Adolescence of P-1".
Doncha hate it when respondents don't read the article first? Even more so, when it's posted in the wrong section.
It's a joke, and should have been posted in the humor section.
An excerpt: "CD-ROMs are relatively easy to secure. Once we remove the motors (3! Tray, spinny motor and the wee one that moves the optics back and forth), the rest is child's play. I doubt this Lite-On drive will make much electronic vibration afterwards, but I'm also removing any chips that have the potential to create noise, just to be safe."
There are lots of these "damned if you do, damned if you don't" cases in Windows. Mostly due to APIs that state, "If the return error is , the call failed, and the specific error can be obtained by calling GetLastError()."
But of course, the API didn't bother to call SetLastError(), so the apps programmer is screwed either way.
Depends on your MOS (roughly translated, your job title). My dad just retired after 32 years as an enlisted in the Army. Mechanized infantry for 28, then a brief tour in a support battalion after the decommissiond his unit. He went to Germany for a while and other than Checkpoint Charlie, saw mostly dirt, mud, and the inside of a M113 personnel carrier. Since then he was mostly stateside by his own choice (although the Gulf War was dicey).
My brother, on the other hand, is a REMF (rear echelon m* f*, one of the guys least likely to be pointing a weapon in any meaningful direction). He came straight out of college and right to Korea for two years. Lots of fun stuff to see and eat, some of it food. Nice grey market in electronics, too. Now the Army's paying him to go to grad school in Texas (for physical therapy).
I agree with most of your points, but I have to disagree with one:
As a user, I don't *want* my main browser to have Javascript, ActiveX, DreckiFire!, or even Java, and I'd rather not have it enforcing the author's ugly little fonts on me either.
That may be true for you, and it may have been true at one time, but I don't think it's true anymore for the web-using population at large.
Take the average person, and show them the Harry Potter website. Then show them (for example) the bog-standard-following gnu.org website. Then ask them which they prefer.
Okay, that's a straw man, because of the difference in content.:-) But I think that the current web-using-public at large want flash with their content.
Personally, I prefer the gnu.org website. Then again, I once said that this new Mosaic thing was pretty worthless, because we already had FTP for files, Gopher for information, and Usenet for discussion.
I agree that I don't want an email client, an editor, and an IRC client (what was THAT person smoking?!) in my browser. But even so, if you take a look at the code for a web browser that does all the things you ask for (especially showing pages "quickly and correctly" no matter how screwed up the HTML is), and you look at the code for checkbook balancing, rocket control, or web page serving, you'll find that the browser code is more complex.
I know that's true for the first and third examples, because I've written that code before.
For the second example, I'm going by published accounts that peg the total Shuttle code at about 400,000 lines of mixed ADA and assembly language.
That one is a special case, because it runs on a grand total of one hardware configuration (not two major hardware platforms, four different operating systems, and god-knows-how-many hardware configurations as IE must), using known, fixed inputs (not Joe Goofball's randomly borked HTML), and a known software configuration (not the plugin-fest that consumer browsers have to navigate).
Yep, been there, done that, wanna see the scars?
Additionally, you have an interesting contradiction: "screw the spec, render anything that's close, and show it to me correctly." For which value of correct? I have to admit I'm out of my depth on this one, because I don't know what is the state of the art in software that can read the mind of some crack-smoking web designer using a WYSIWYG editor written by a team of anencephalitic code monkeys, without having some kind of spec.
For some of us, there are more than two reasons for not wearing glasses.
My eyes are highly different. One prescription is -4.75; the other is -0.50.
Wearing glasses is just not feasible, as the spherical distortion from the stronger lens differs so much from the much lower distortion in the weaker lens that only the very center of the field of view is seeable without double images.
Contacts, of course, don't suffer from this problem.
Re:need advice on sorting advice
on
Resume Tips For Jobs
·
· Score: 3, Informative
Oh, and another thing: my "Education" section is the best way I've found to honestly document that fact that I don't have a sheepskin. Over the years, I've had several people read it, ask about the degree, shrug, and make the offer anyway. Be honest.
Re:need advice on sorting advice
on
Resume Tips For Jobs
·
· Score: 3, Interesting
Hired less than a year ago. Got interviews from about 20% of the cold contacts I made; got offers from 5 out of the 6 interviews.
Looks like I followed >50% of the recommendations. The best one in the thread so far is to analyze all the competencies you list, and break them up into categories (I use three, from "very strong/good " to "experienced" to "familiar"). That was picked up at every interview but one.
It helps an interviewer tailor his/her questions. For example, if I say "familiar with C++", an interviewer can feel comfortable asking about public/private/protected, extern "C", etc. If I say "very strong C++", I'd better damned well be able to answer questions about things like vtbl layout, partial specialization, the current state of the standard, etc.
*sigh* Three seconds with Google and the words "cerf myth nuclear" yields:
http://www.usatoday.com/life/cyber/tech/ctg000.htm "I think that the old arguments that will come up at the (UCLA) conference and have come up over and over is everybody is claiming responsibility for everything at this point," says [Lawrence] Roberts, who was the designer and developer of ARPANET.
But one thing all agree on is that the Internet was not conceived as a fail-safe communications tool in case of nuclear war, a much-promulgated myth over the years. The Rand Research Institute was developing a study shortly after ARPANET's birth that has been confused with the research-oriented ARPANET and subsequent developments.
Nuclear war "wasn't the reason we did anything," Roberts says. "That story is just wrong."
While it is true that the design of the ARPANET was not at all influenced by concerns about surviving a nuclear attack, it is also true that the designers of the ARPANET and other ARPA-sponsored networks were always concerned about "robustness", which means the ability to keep operating in spite of failures in individual nodes or the circuits connecting them.
http://www.ibiblio.org/pioneers/ The architecture of the ARPANET relied heavily on the ideas of Paul Baran who co-invented a new system known as packet-switching.( A British computer scientist, Donald Davies, independently came up with his own theories of packet-switching). Baran also suggested that the network be designed as a distributed network. This design, which included a high level of redundancy, would make the network more robust in the case of a nuclear attack. This is probably where the myth that the Internet was created as a communications network for the event of a nuclear war comes from. As a distributed network the ARPANET definitely was robust, and possibly could have withstood a nuclear attack, but the chief goal of its creators was to facilitate normal communications between researchers.
And that's just the first three hits. Why is it that people are all too willing to tell others to provide links, when it's now just as easy to find them yourself? While it's true that the "burden of proof" usually rests with the party proposing an opinion, when that burden becomes as light as it is with the modern Internet, it's irresponsible and unproductive to just lob "links, please" comments without engaging one's own brain.
Mr. Simonyi's departure, to be announced today, will leave Microsoft with only three senior people from the team that led the company in the early 1980's: Bill Gates, a co-founder and the company's chairman; Steven A. Ballmer, the chief executive; and Jeffrey S. Raikes, a group vice president.
I'm pretty sure Marc Macdonald is there again; Marc was the first employee of Microsoft.
A wonderfully circular argument. I can paraphrase:
Unless I misinterpreted your words, you have implied that the private sector has the ability to destroy the planet. This is impossible. Because currently all participants in the private sector are residents of our planet, only the planet can allow, or generate, the destruction of the planet.
I don't mean any disrespect, but I think the fallacy here is anthropomorphizing "government". The government is not a cohesive whole; it is made up of individuals, whose actions cannot always be extrapolated to be actions of "the government".
Also, corruption doesn't need to involve force; it can involve positive feedback only (enticement), which is often the case in government corruption.
BTW, I also agree with the main point, that business model patents do more harm than good.
I believe you're right... it was driving 386 sales, not 486.
When you mentioned the 386/16, that jogged my memory--my roommate had one of those, and it was truly a godlike machine running OS/2 (I remember Gunship 2000 for DOS ran far, far better under OS/2 than under DOS... go figure).
By the way, AotP was and still is one of my favorite flight sims of all time (second only to Gunship 2K).
This has been going on for a LONG, long time. I remember a comment years ago (in PC Magazine? can't recall the source) that Wing Commander drove more sales of 486-class machines than any other software of the day.
Because in most of the cases you point out (Evolution, ICQ, OpenOffice), the Open Source replacement needs to be compatible with the closed source original, or else many people won't use it.
Software is not at all like a skyscraper or a large jet airliner. Punch a few holes in the wall of a skyscraper, or put a few bullet through the skin of an airliner, and they'll both still probably work safely.
Write a couple of zero bytes at an arbitrary point in your favorite executable and run it. Chances are that it will fail catastrophically.
That's what the OP meant by tiny pieces that ALL have to work in order for the whole to work. A small subroutine for a little-used feature that isn't even critical to the function of the application can usually take down the software more easily than the equivalent in any physical object.
The reason is that the raw material of software is instructions to a machine. They are more abstract and therefore has less inherent resistance to damage than concrete or aluminum.
Huh?I agree that MFC collections are weird: the CClass<VAL, ARGVAL> syntax is horrid, and POSITIONs aren't nearly as elegant as STL iterators, but your assertion is incorrect...
Nothing in the article (as opposed to the Slashdot summary) attributed the damage to the CRT itself. In fact, they never mention the word CRT!
A video display terminal (VDT) refers to the whole workstation, not just the monitor.
Do you really believe that MSFT shall hand the DTD for XDoc(s) over to some external body?
Don't know, yet. They have submitted some things (MSN messenger protocol, C#), and have withheld others (CIFS). But that's not what my point was.
If not, XDoc, whether XML based or not, is proprietary, and PDF is not.
*sigh* My point was that, regardless of whether XDoc is open, proprietary, or imaginary, PDF is proprietary. Proprietary doesn't mean secret, or binary, or evil, or good, or whatever else your definition of the week is. It means that it is the property, and remains under the control of, a single private source.
PDF is proprietary in the same way that Java is. They are controlled by a single company, which can change the meaning of the format at its whim--including adding "features" that happen to be backwards compatible with older versions of the controller's software but not that of competitors (AOL Instant Messenger is a perfect example).
XML is not proprietary; the basic syntax, most extensions, and many DTDs and schemas are controlled by a standards body.
I disagree with #2. A game doesn't have to have a multiplayer component to be successful. Recent examples include The Sims, Deus Ex, Tropico, and Railroad Tycoon II (which has multiplayer, but it's practically a different game).
I would agree, though, that you have to decide up front whether you're making a multiplayer game or not. Some games (Deus Ex, Tropico) just don't lend themselves to being multiplayer games. That's OK--just done try to pound a single-player game into a multiplayer hole. Your reviews and sales will suffer badly.
I don't know if it was factual or not, but such a beast was alluded to in the fiction book "The Adolescence of P-1".
Doncha hate it when respondents don't read the article first? Even more so, when it's posted in the wrong section.
It's a joke, and should have been posted in the humor section.
An excerpt:
"CD-ROMs are relatively easy to secure. Once we remove the motors (3! Tray, spinny motor and the wee one that moves the optics back and forth), the rest is child's play. I doubt this Lite-On drive will make much electronic vibration afterwards, but I'm also removing any chips that have the potential to create noise, just to be safe."
There are lots of these "damned if you do, damned if you don't" cases in Windows. Mostly due to APIs that state, "If the return error is , the call failed, and the specific error can be obtained by calling GetLastError()."
But of course, the API didn't bother to call SetLastError(), so the apps programmer is screwed either way.
Depends on your MOS (roughly translated, your job title). My dad just retired after 32 years as an enlisted in the Army. Mechanized infantry for 28, then a brief tour in a support battalion after the decommissiond his unit. He went to Germany for a while and other than Checkpoint Charlie, saw mostly dirt, mud, and the inside of a M113 personnel carrier. Since then he was mostly stateside by his own choice (although the Gulf War was dicey).
My brother, on the other hand, is a REMF (rear echelon m* f*, one of the guys least likely to be pointing a weapon in any meaningful direction). He came straight out of college and right to Korea for two years. Lots of fun stuff to see and eat, some of it food. Nice grey market in electronics, too. Now the Army's paying him to go to grad school in Texas (for physical therapy).
All depends on your job.
I agree with most of your points, but I have to disagree with one:
:-) But I think that the current web-using-public at large want flash with their content.
As a user, I don't *want* my main browser to have Javascript, ActiveX, DreckiFire!, or even Java, and I'd rather not have it enforcing the author's ugly little fonts on me either.
That may be true for you, and it may have been true at one time, but I don't think it's true anymore for the web-using population at large.
Take the average person, and show them the Harry Potter website. Then show them (for example) the bog-standard-following gnu.org website. Then ask them which they prefer.
Okay, that's a straw man, because of the difference in content.
Personally, I prefer the gnu.org website. Then again, I once said that this new Mosaic thing was pretty worthless, because we already had FTP for files, Gopher for information, and Usenet for discussion.
I agree that I don't want an email client, an editor, and an IRC client (what was THAT person smoking?!) in my browser. But even so, if you take a look at the code for a web browser that does all the things you ask for (especially showing pages "quickly and correctly" no matter how screwed up the HTML is), and you look at the code for checkbook balancing, rocket control, or web page serving, you'll find that the browser code is more complex.
I know that's true for the first and third examples, because I've written that code before.
For the second example, I'm going by published accounts that peg the total Shuttle code at about 400,000 lines of mixed ADA and assembly language.
That one is a special case, because it runs on a grand total of one hardware configuration (not two major hardware platforms, four different operating systems, and god-knows-how-many hardware configurations as IE must), using known, fixed inputs (not Joe Goofball's randomly borked HTML), and a known software configuration (not the plugin-fest that consumer browsers have to navigate).
Yep, been there, done that, wanna see the scars?
Additionally, you have an interesting contradiction: "screw the spec, render anything that's close, and show it to me correctly." For which value of correct? I have to admit I'm out of my depth on this one, because I don't know what is the state of the art in software that can read the mind of some crack-smoking web designer using a WYSIWYG editor written by a team of anencephalitic code monkeys, without having some kind of spec.
We can write software to manage checkbooks, to run space shuttles, to even serve more porn than the world ever needs.
But we can't get a decent browser out the door.
Why? Why is this?
Because a browser that does what you want it to do is significantly more complex than any of the three examples you gave.
For some of us, there are more than two reasons for not wearing glasses.
My eyes are highly different. One prescription is -4.75; the other is -0.50.
Wearing glasses is just not feasible, as the spherical distortion from the stronger lens differs so much from the much lower distortion in the weaker lens that only the very center of the field of view is seeable without double images.
Contacts, of course, don't suffer from this problem.
Oh, and another thing: my "Education" section is the best way I've found to honestly document that fact that I don't have a sheepskin. Over the years, I've had several people read it, ask about the degree, shrug, and make the offer anyway. Be honest.
Here's mine.
Hired less than a year ago. Got interviews from about 20% of the cold contacts I made; got offers from 5 out of the 6 interviews.
Looks like I followed >50% of the recommendations. The best one in the thread so far is to analyze all the competencies you list, and break them up into categories (I use three, from "very strong/good " to "experienced" to "familiar"). That was picked up at every interview but one.
It helps an interviewer tailor his/her questions. For example, if I say "familiar with C++", an interviewer can feel comfortable asking about public/private/protected, extern "C", etc. If I say "very strong C++", I'd better damned well be able to answer questions about things like vtbl layout, partial specialization, the current state of the standard, etc.
"I think that the old arguments that will come up at the (UCLA) conference and have come up over and over is everybody is claiming responsibility for everything at this point," says [Lawrence] Roberts, who was the designer and developer of ARPANET.
But one thing all agree on is that the Internet was not conceived as a fail-safe communications tool in case of nuclear war, a much-promulgated myth over the years. The Rand Research Institute was developing a study shortly after ARPANET's birth that has been confused with the research-oriented ARPANET and subsequent developments.
Nuclear war "wasn't the reason we did anything," Roberts says. "That story is just wrong."
While it is true that the design of the ARPANET was not at all influenced by concerns about surviving a nuclear attack, it is also true that the designers of the ARPANET and other ARPA-sponsored networks were always concerned about "robustness", which means the ability to keep operating in spite of failures in individual nodes or the circuits connecting them.
The architecture of the ARPANET relied heavily on the ideas of Paul Baran who co-invented a new system known as packet-switching.( A British computer scientist, Donald Davies, independently came up with his own theories of packet-switching). Baran also suggested that the network be designed as a distributed network. This design, which included a high level of redundancy, would make the network more robust in the case of a nuclear attack. This is probably where the myth that the Internet was created as a communications network for the event of a nuclear war comes from. As a distributed network the ARPANET definitely was robust, and possibly could have withstood a nuclear attack, but the chief goal of its creators was to facilitate normal communications between researchers.
And that's just the first three hits. Why is it that people are all too willing to tell others to provide links, when it's now just as easy to find them yourself? While it's true that the "burden of proof" usually rests with the party proposing an opinion, when that burden becomes as light as it is with the modern Internet, it's irresponsible and unproductive to just lob "links, please" comments without engaging one's own brain.
Its amazing how a Slashdot story about a newspaper article comes to the exact opposite conclusion that the original article does.
Did the submitter read the article past the headline?
It states:
Mr. Simonyi's departure, to be announced today, will leave Microsoft with only three senior people from the team that led the company in the early 1980's: Bill Gates, a co-founder and the company's chairman; Steven A. Ballmer, the chief executive; and Jeffrey S. Raikes, a group vice president.
I'm pretty sure Marc Macdonald is there again; Marc was the first employee of Microsoft.
Maybe? so? but? Mozilla? 1.1? shows? the? same? thing.
A wonderfully circular argument. I can paraphrase:
Unless I misinterpreted your words, you have implied that the private sector has the ability to destroy the planet. This is impossible. Because currently all participants in the private sector are residents of our planet, only the planet can allow, or generate, the destruction of the planet.
I don't mean any disrespect, but I think the fallacy here is anthropomorphizing "government". The government is not a cohesive whole; it is made up of individuals, whose actions cannot always be extrapolated to be actions of "the government".
Also, corruption doesn't need to involve force; it can involve positive feedback only (enticement), which is often the case in government corruption.
BTW, I also agree with the main point, that business model patents do more harm than good.
I believe you're right... it was driving 386 sales, not 486.
When you mentioned the 386/16, that jogged my memory--my roommate had one of those, and it was truly a godlike machine running OS/2 (I remember Gunship 2000 for DOS ran far, far better under OS/2 than under DOS... go figure).
By the way, AotP was and still is one of my favorite flight sims of all time (second only to Gunship 2K).
This has been going on for a LONG, long time. I remember a comment years ago (in PC Magazine? can't recall the source) that Wing Commander drove more sales of 486-class machines than any other software of the day.
Because in most of the cases you point out (Evolution, ICQ, OpenOffice), the Open Source replacement needs to be compatible with the closed source original, or else many people won't use it.
It's in the monitor glass. Leaded glass reduces emissions.