Connotations matter, even if they don't matter a lot. The Beatles were successful even though their band name sounded like an insect. However, it is a statistical fact that few products with a trick or negative name become successful.
I wish you would post some more rules like that, or provide links.
I needed to reformat what you said before I could read it easily:
I've been out of C++ programming for several years, but I do remember a couple basic rules I followed that saved me from a lot of memory problems and invalid state problems. This may not be the kind of thing you're looking for, but here it goes...
1) Never allocate memory to a raw pointer. Never. That is, if you allocate memory to something, it better be allocated to a smart pointer like auto_ptr or a reference counting pointer (boost.org at the time had a family of these). The only exception to this rule is in the implementation of the smart pointers themselves. You should be able to find a good number of articles on this.
2) Always follow the "strong exception safety guarantee". Classes that provide this guarantee promise that they will not change their state if they throw an exception. Again, there are many articles. Here's an example of an assignment operator providing the guarantee (please forgive me if my C++ is not quite right - I'm rusty):
The example is a class Whole with two dynamically allocated Parts. The assignment operator instead of having two lines of code - i.e. cloning the two parts and assigning them directly to the member variables - has four. It first clones the parts to temporary variables and then assigns them to the member variables. Why? Without the temporary variables, if the second "new" operation throws an exception (such as bad_alloc), the state of the class would be different and inconsistent from before the call. It would have one original part, and one part from the cloned class.
There are lots of other simple rules like this that can make code more solid, easier to read, and easier to maintain. If I remember right, the C++ FAQ from the C++ newsgroup contains a lot of them.
The Horde web site seems disorganized. There seems to be no demo.
I wish Open Source software authors were more careful about naming their software. Horde means crowd, with a negative connotation. Generally a horde is a group of poorly educated people, often savages.
-- Before, Saddam got Iraq oil profits and paid part to kill Iraqis. Now a few
Americans get Iraq oil profits, and American citizens pay to kill Iraqis.
Improvement?
The "Social Security" plans are designed to get amateur stock investors into
the stock market, where the professionals, who back the plan, can take the
amateur's money.
To make money in the stock market, it is necessary to find
buyers at a higher price than was paid. The social security plan would insure
that there were many new, inexperienced buyers.
I did this, I'm running 1.5.0.1 with a new profile, and it is the worst yet. No extensions, except DOM Inspector, which is a menu choice on installation.
Here's how to know the difference between a money-making press release, and an honest story: The press release says "Fear, fear, fear!!!"
The honest story gives you links to tools for eliminating the threat:
You can run this tool: W32.Blackmal@mm Removal Tool, which apparently removes all variants of the worm.
Can you believe it? I got modded down to -1 for this, even though Jay Leno and David Letterman have been making "Bush is stupid" jokes several times a week for years:
I will be very very glad when someone else is elected, so I don't have to hear all those "Bush is an idiot" jokes. It's even worse outside the U.S., where there aren't any Republican fundamentalists, so almost everybody makes "Bush is an idiot" jokes.
-- Before, Saddam got Iraq oil profits and paid part to kill Iraqis. Now a few Americans get Iraq oil profits, and American citizens pay to kill Iraqis. Improvement?
Don't take what he said so personally; he's not saying everyone is an idiot in
the United States. And, he's honest in what he's saying. People outside the
U.S. are amazed that Reagan, Bush, and Bush again could get votes.
I got on a bus in Munich, Germany, during Reagan's first
administration. Even though I know no German, I needed some information from
the bus driver. I pointed to a paper on which was written the name of where I
wanted to go. The bus driver was friendly, and obviously got the idea, that he
should tell me where to get off the bus. Then somehow he communicated to me
that he wanted to know my country. Somehow I communicated to him that I was
from the United States.
Then, so loudly that everyone on the bus could hear, he shouted
"Reagan [something in German] GROSS BANDIT". Clearly he thought that no one on
the bus would disagree with him. Unlike most people in the U.S., I know
something of the activities of the
U.S. government, so I agreed. I sat next to him, and he was very friendly.
He stopped the bus and pointed to where I should walk.
The fact is, the reputation of the U.S. is worsening because most U.S.
citizens live in a fantasy world and don't want to know that their government
is corrupt.
Becoming angry about a reality is not a successful strategy. Almost
everyone I've met outside the U.S. realizes that U.S. citizens should be
judged personally, and not for the foolishness and ignorance of most of them.
- Before, Saddam got Iraq oil profits and paid part to kill Iraqis.
Now a few Americans get Iraq oil profits, and American citizens pay to kill
Iraqis. Improvement?
Most people don't realize that those who back Bush have exactly zero interest in Social Security.
The "Social Security" plans are designed to get amateur stock investors into the stock market, where the professionals, who back the plan, can take the amateur's money.
I will be very very glad when someone else is elected, so I don't have to hear all those "Bush is an idiot" jokes. It's even worse outside the U.S., where there aren't any Republican fundamentalists, so almost everybody makes "Bush is an idiot" jokes.
Before, Saddam got Iraq oil profits and paid part to kill Iraqis. Now a few Americans get Iraq oil profits, and American citizens pay to kill Iraqis. Improvement?
That OO bug report is a CLASSIC. That's the same problem I'm having with Mozilla developers. Not one of them has bothered to read everything and clearly understand what I'm saying.
I did not want to imply anything negative about you. I was just mentioning the normal excuses provided by Mozilla developers. I'm sympathetic to them, however. I think there are some issues that no one inside Mozilla development feels that they have the authority to address.
The fact is, Mozilla.org heavily advertises the existence of extensions. Then, when you have problems with them, blames the problems on the user or the extensions author. Not even the author thinks that recent versions of Adblock Plus actually have worked well. Here are the recent bugs:
Detailed changelog for Adblock Plus 0.6.0.4, released on January 21, 2006:
Fixed: "Not loaded" in the status bar on startup and context menu resetting to default (dropping compatibily with Mozilla Suite before 1.7 and Firefox before 0.9 for that reason)
Added an icon to the toolbar (Firefox only, can be moved/removed via standard "Customize" dialog)
Added an option to hide "Adblock" in the status bar
Added an option to block ads in local pages (for compatibility with Sage)
Made whitelist filters apply to both whole pages and individual items
Made "Disable on site" add more specific filters
Preferences dialog: Parts of the "Options" menu moved into the new "Filters" menu and the context menu
Preferences dialog: Made "Options" menu apply changes immediately and not when "OK" was pressed
Preferences dialog: Made menu items to disable whenever necessary
Added "Adblock Link" to the context menu (if "Check banner links" is enabled)
Many minor changes
It's the old Mozilla baloney: "Oh yes, it didn't work before, but NOW it works."
On another machine I'm using only DOM Inspector, that can't be deleted from the menu. Same problem.
However, the real issue is that the excuse "Oh, it's probably an extension" is just a diversion. Firefox needs to run reliably, period. Not, "The reasons for the problems are probably...", but reliably.
Plug-ins: DOM Inspector, Talkback, Adblock, and Image Resizer, all the latest
versions.
However, I don't think those are the issue. I've identified two major
problems:
1) Somehow Firefox has more problems with virtual memory in Windows.
I'm guessing that Firefox overruns some stack space, and that doesn't matter
as much until the operating system begins using virtual memory. When I
upgraded from 500 MB to 1,000 MB, the problems became much less.
2) People who do a lot of research, such as buyers for computer
companies, often have very large bookmark files and history files. That causes
problems. Firefox becomes very unstable when bookmark and history files are
large.
The evidence is that someone who programmed Firefox made an assumption
about intensity of use that is incorrect. Often programmers are not heavy
users of their browsers. Everything I've seen indicates that not enough
resources have been allocated inside Firefox.
Firefox is the most unstable program in common use
on
Firefox Slides, IE Gains?
·
· Score: 5, Informative
It's an ugly fact, but Firefox is the most unstable program in common use. For me, that's ugly because it is my favorite browser. Perhaps people get tired of the crashing and CPU hogging,
and have moved to Opera, which has no stability problems that I'm able to detect.
The CPU and memory hogging bug in Firefox 1.5 is well known. In two extensive articles, Information Week reports that opening and closing
many Firefox windows and tabs causes crashes and CPU and memory hogging. That
kind of heavy user often sees Firefox consuming 99% CPU while idle and/or more
than 400 Megabytes. See Firefox 1.5: Not Ready For Prime Time? and Firefox 1.5 Stability Problems?
Readers And Mozilla Respond.
The bug seems to be due to insufficient allocation of resources inside Firefox, such as inadequate stack space.
Those who use a browser to do extensive research, for example, are likely to have more windows and
tabs open than the average user. Apparently Firefox developers did not plan for that.
The bug has been reported to Bugzilla, and is very easy to reproduce
(see below), but Firefox developers have marked it invalid because there is
not enough specific information! The bug has existed in Firefox for more than
2 years, and several people report that it is worse in Firefox 1.5. Firefox's
Bugzilla does not allow direct links from Slashdot, so copy and paste Bugzilla
URLs into a new tab. Remove the space:
https://bugzilla.mozilla.org/show_bug.cgi?id=131 456
https://bugzilla.mozilla.org/show_bug.cgi?id=222 660
See comments #48 and #49 of bug 222660 for an example of the symptoms under Windows XP. A typical Windows Task Manager screen shot attached to comment #49 shows the "I/O Other Bytes" increasing by 20K/second with no
program activity. At that point, the bug was not yet showing the worst symptoms.
The huge memory use, and 94% CPU use or more with no activity, normally occur after
opening and closing many Firefox windows and tabs, as happens when researching
something on the internet over a period of hours or days. The bug symptoms are
worse after putting the computer on standby or after hibernating. My
experience has been that the memory and CPU hogging always occur together, so
they appear to be the same bug. However, the CPU hogging symptom takes longer
to appear. If the computer has perhaps 256 Megabytes of memory, the most obvious symptom at the beginning is hard disk thrashing.
You can demonstrate the memory use problem quickly by loading and
closing the following large web page into multiple Firefox tabs a few times:
http://www.gnu.org/software/libc/manual/html_mono/ libc.html. To see the memory and CPU percentage used in Windows, right-click on the Taskbar and choose Task Manager. Choose the Processes tab.This demonstrates one aspect of the bug, but is not representative of big occuring in normal use, since that web page is huge.
Maybe the only solution is for a developer who knows the code to reproduce the
problem and see what causes it. It is not clear to me why they are unwilling to do
so. This bug seems especially interesting to me. It is likely that fixing this
bug will fix other issues. It is likely that fixing this bug will make it easier
to work on the Firefox code.
In that theory, it is the parents who have inner conflict. Inner conflict does in fact change body chemistry, and could affect the growth of an unborn child.
Quote from the BBC article: "Professor Baron-Cohen said the rise in autism may be linked to the fact that it has become easier for systemizers to meet each other, with the advent of international conferences, greater job opportunities and more women working in these fields."
This guy deserves zero respect. There is nothing scientific about such a statement. He presents no evidence, and his explanation fits no facts.
Anyone can teach themselves to be analytical, in the good sense of the word.
Professor Baron-Cohen is confusing the healthy analytical use of the brain with obsessive analytical behavior. People who are obsessive are that way for the reason that they have an enormous amount of inner conflict. It is the inner conflict that pushes children toward being autistic, not something healthy like being analytical.
Link to WinAmp Free Player.
Connotations matter, even if they don't matter a lot. The Beatles were successful even though their band name sounded like an insect. However, it is a statistical fact that few products with a trick or negative name become successful.
I needed to reformat what you said before I could read it easily:
I've been out of C++ programming for several years, but I do remember a couple basic rules I followed that saved me from a lot of memory problems and invalid state problems. This may not be the kind of thing you're looking for, but here it goes...
1) Never allocate memory to a raw pointer. Never. That is, if you allocate memory to something, it better be allocated to a smart pointer like auto_ptr or a reference counting pointer (boost.org at the time had a family of these). The only exception to this rule is in the implementation of the smart pointers themselves. You should be able to find a good number of articles on this.
2) Always follow the "strong exception safety guarantee". Classes that provide this guarantee promise that they will not change their state if they throw an exception. Again, there are many articles. Here's an example of an assignment operator providing the guarantee (please forgive me if my C++ is not quite right - I'm rusty):The example is a class Whole with two dynamically allocated Parts. The assignment operator instead of having two lines of code - i.e. cloning the two parts and assigning them directly to the member variables - has four. It first clones the parts to temporary variables and then assigns them to the member variables. Why? Without the temporary variables, if the second "new" operation throws an exception (such as bad_alloc), the state of the class would be different and inconsistent from before the call. It would have one original part, and one part from the cloned class.
There are lots of other simple rules like this that can make code more solid, easier to read, and easier to maintain. If I remember right, the C++ FAQ from the C++ newsgroup contains a lot of them.
The Horde web site seems disorganized. There seems to be no demo.
I wish Open Source software authors were more careful about naming their software. Horde means crowd, with a negative connotation. Generally a horde is a group of poorly educated people, often savages.
Common Malware Enumeration (CME) explanation.
CME List, which has numbers above 900.
--
Before, Saddam got Iraq oil profits and paid part to kill Iraqis. Now a few Americans get Iraq oil profits, and American citizens pay to kill Iraqis. Improvement?
Here's a more complete explanation:
The "Social Security" plans are designed to get amateur stock investors into the stock market, where the professionals, who back the plan, can take the amateur's money.
To make money in the stock market, it is necessary to find buyers at a higher price than was paid. The social security plan would insure that there were many new, inexperienced buyers.
I did this, I'm running 1.5.0.1 with a new profile, and it is the worst yet. No extensions, except DOM Inspector, which is a menu choice on installation.
DANGER!! IsraCast is known, in my opinion, for selling ideas to investors that have little likelihood of making money.
In my opinion, IsraCast is a marketing firm for what have often turned out to be dishonest schemes to take investor money. BE CAREFUL!
Note that the IsraCast press release says, "The company is currently working on a small device..."
Here's how to know the difference between a money-making press release, and an honest story: The press release says "Fear, fear, fear!!!"
The honest story gives you links to tools for eliminating the threat: You can run this tool: W32.Blackmal@mm Removal Tool, which apparently removes all variants of the worm.
Here are manual instructions: WORM_GREW.A, Also known as: CME-24
Here is the list of names of the CME-24 worm, and links to removal methods: CME-24 aliases, information, and removal tools.
Can you believe it? I got modded down to -1 for this, even though Jay Leno and David Letterman have been making "Bush is stupid" jokes several times a week for years:
I will be very very glad when someone else is elected, so I don't have to hear all those "Bush is an idiot" jokes. It's even worse outside the U.S., where there aren't any Republican fundamentalists, so almost everybody makes "Bush is an idiot" jokes.
--
Before, Saddam got Iraq oil profits and paid part to kill Iraqis. Now a few Americans get Iraq oil profits, and American citizens pay to kill Iraqis. Improvement?
Don't take what he said so personally; he's not saying everyone is an idiot in the United States. And, he's honest in what he's saying. People outside the U.S. are amazed that Reagan, Bush, and Bush again could get votes.
I got on a bus in Munich, Germany, during Reagan's first administration. Even though I know no German, I needed some information from the bus driver. I pointed to a paper on which was written the name of where I wanted to go. The bus driver was friendly, and obviously got the idea, that he should tell me where to get off the bus. Then somehow he communicated to me that he wanted to know my country. Somehow I communicated to him that I was from the United States.
Then, so loudly that everyone on the bus could hear, he shouted "Reagan [something in German] GROSS BANDIT". Clearly he thought that no one on the bus would disagree with him. Unlike most people in the U.S., I know something of the activities of the U.S. government, so I agreed. I sat next to him, and he was very friendly. He stopped the bus and pointed to where I should walk.
The fact is, the reputation of the U.S. is worsening because most U.S. citizens live in a fantasy world and don't want to know that their government is corrupt.
Becoming angry about a reality is not a successful strategy. Almost everyone I've met outside the U.S. realizes that U.S. citizens should be judged personally, and not for the foolishness and ignorance of most of them.
-
Before, Saddam got Iraq oil profits and paid part to kill Iraqis. Now a few Americans get Iraq oil profits, and American citizens pay to kill Iraqis. Improvement?
I hope in the future the U.S. has a president who knows how to speak his own language: Bushisms.
Most people don't realize that those who back Bush have exactly zero interest in Social Security.
The "Social Security" plans are designed to get amateur stock investors into the stock market, where the professionals, who back the plan, can take the amateur's money.
I will be very very glad when someone else is elected, so I don't have to hear all those "Bush is an idiot" jokes. It's even worse outside the U.S., where there aren't any Republican fundamentalists, so almost everybody makes "Bush is an idiot" jokes.
Before, Saddam got Iraq oil profits and paid part to kill Iraqis. Now a few Americans get Iraq oil profits, and American citizens pay to kill Iraqis. Improvement?
That OO bug report is a CLASSIC. That's the same problem I'm having with Mozilla developers. Not one of them has bothered to read everything and clearly understand what I'm saying.
I did not want to imply anything negative about you. I was just mentioning the normal excuses provided by Mozilla developers. I'm sympathetic to them, however. I think there are some issues that no one inside Mozilla development feels that they have the authority to address.
The fact is, Mozilla.org heavily advertises the existence of extensions. Then, when you have problems with them, blames the problems on the user or the extensions author. Not even the author thinks that recent versions of Adblock Plus actually have worked well. Here are the recent bugs:
Detailed changelog for Adblock Plus 0.6.0.4, released on January 21, 2006:
It's the old Mozilla baloney: "Oh yes, it didn't work before, but NOW it works."
On another machine I'm using only DOM Inspector, that can't be deleted from the menu. Same problem.
However, the real issue is that the excuse "Oh, it's probably an extension" is just a diversion. Firefox needs to run reliably, period. Not, "The reasons for the problems are probably...", but reliably.
Plug-ins: DOM Inspector, Talkback, Adblock, and Image Resizer, all the latest versions.
However, I don't think those are the issue. I've identified two major problems:
1) Somehow Firefox has more problems with virtual memory in Windows. I'm guessing that Firefox overruns some stack space, and that doesn't matter as much until the operating system begins using virtual memory. When I upgraded from 500 MB to 1,000 MB, the problems became much less.
2) People who do a lot of research, such as buyers for computer companies, often have very large bookmark files and history files. That causes problems. Firefox becomes very unstable when bookmark and history files are large.
The evidence is that someone who programmed Firefox made an assumption about intensity of use that is incorrect. Often programmers are not heavy users of their browsers. Everything I've seen indicates that not enough resources have been allocated inside Firefox.
It's an ugly fact, but Firefox is the most unstable program in common use. For me, that's ugly because it is my favorite browser. Perhaps people get tired of the crashing and CPU hogging, and have moved to Opera, which has no stability problems that I'm able to detect.
The CPU and memory hogging bug in Firefox 1.5 is well known. In two extensive articles, Information Week reports that opening and closing many Firefox windows and tabs causes crashes and CPU and memory hogging. That kind of heavy user often sees Firefox consuming 99% CPU while idle and/or more than 400 Megabytes. See Firefox 1.5: Not Ready For Prime Time? and Firefox 1.5 Stability Problems? Readers And Mozilla Respond.
The bug seems to be due to insufficient allocation of resources inside Firefox, such as inadequate stack space. Those who use a browser to do extensive research, for example, are likely to have more windows and tabs open than the average user. Apparently Firefox developers did not plan for that.
The bug has been reported to Bugzilla, and is very easy to reproduce (see below), but Firefox developers have marked it invalid because there is not enough specific information! The bug has existed in Firefox for more than 2 years, and several people report that it is worse in Firefox 1.5. Firefox's Bugzilla does not allow direct links from Slashdot, so copy and paste Bugzilla URLs into a new tab. Remove the space:
https://bugzilla.mozilla.org/show_bug.cgi?id=131 456
https://bugzilla.mozilla.org/show_bug.cgi?id=222 660
See comments #48 and #49 of bug 222660 for an example of the symptoms under Windows XP. A typical Windows Task Manager screen shot attached to comment #49 shows the "I/O Other Bytes" increasing by 20K/second with no program activity. At that point, the bug was not yet showing the worst symptoms.
The huge memory use, and 94% CPU use or more with no activity, normally occur after opening and closing many Firefox windows and tabs, as happens when researching something on the internet over a period of hours or days. The bug symptoms are worse after putting the computer on standby or after hibernating. My experience has been that the memory and CPU hogging always occur together, so they appear to be the same bug. However, the CPU hogging symptom takes longer to appear. If the computer has perhaps 256 Megabytes of memory, the most obvious symptom at the beginning is hard disk thrashing.
You can demonstrate the memory use problem quickly by loading and closing the following large web page into multiple Firefox tabs a few times:
http://www.gnu.org/software/libc/manual/html_mono/ libc.html. To see the memory and CPU percentage used in Windows, right-click on the Taskbar and choose Task Manager. Choose the Processes tab.This demonstrates one aspect of the bug, but is not representative of big occuring in normal use, since that web page is huge.
Maybe the only solution is for a developer who knows the code to reproduce the problem and see what causes it. It is not clear to me why they are unwilling to do so. This bug seems especially interesting to me. It is likely that fixing this bug will fix other issues. It is likely that fixing this bug will make it easier to work on the Firefox code.
The bug has often been reported on Slashdot. Here are a few examples:
" >http://slashdot.org/comments.pl?sid=169676&cid=14 143632
http://slashdot.org/comments.pl?sid=168683&cid=140 62501
http://slashdot.org/comments.pl?sid=168683&cid=140 62671
"Are you saying that because I am doing the numbers crunching and data analysis, I will have a child with Asperger's Syndrome?"
I was saying the opposite of that, of course.
In that theory, it is the parents who have inner conflict. Inner conflict does in fact change body chemistry, and could affect the growth of an unborn child.
In fact, I think you agree. There is nothing about being analytical that causes disease.
Quote from the BBC article: "Professor Baron-Cohen said the rise in autism may be linked to the fact that it has become easier for systemizers to meet each other, with the advent of international conferences, greater job opportunities and more women working in these fields."
This guy deserves zero respect. There is nothing scientific about such a statement. He presents no evidence, and his explanation fits no facts.
Anyone can teach themselves to be analytical, in the good sense of the word.
Professor Baron-Cohen is confusing the healthy analytical use of the brain with obsessive analytical behavior. People who are obsessive are that way for the reason that they have an enormous amount of inner conflict. It is the inner conflict that pushes children toward being autistic, not something healthy like being analytical.