-.HACK uses episodic content in four episodes. How well would it work in a single edition, especially when you consider how well things can pack on a single disk? Also, why should a person be forced to read all the "prequels" to a given story to read the current one? - Chrono Trigger and Chrono Cross follow a different type of episodic content known as sequels. - Doom 3 is the main game that is used as an engine demo. The developers released an "expansion pack" for the game.
Episodic content might not be good for gamers, but killing out all forms of episodes would leave too many people unsatisified - the result would be improvised fan fiction that sometimes conflicts with the "official story" and other fan-fics. We wouldn't want that, would we?
My math teacher in highschool once explained (with examples) why 0/0 is not 0, but is instead undefined (like anything else over zero). I can't remember the examples, but you could get it to be infinity, zero, four, whatever. Anyone care to post similar?
The proof I had stated that 0/0 is indeterminate, using the definition that division is the opposite of multiplication.
Consider: x/y=z Therfore, x=z*y
Assume x=0 and y=0
0/0=z and therefore 0=z*0
Every single value of 'z' fits into the result. Because of this, 'z' is a set rather than a single number, which matches both indeterminate (since you cannot get the correct/intended value) and NaN.
Overall, I don't think this discovery is anything new. I can already divide by zero by creating a new numerical axis in the same way that the square root of -1 is an imaginary number - for example:
x/0 = xj
where j*0 = 1
At this point, it's a useless definition, but it allows "proper" division by zero, even though it is counterintuitive and leaves questions concerning the 0/0 case. It's also something that is easily cut to shreads by the slashdot crowd, as there's plenty of peope who are familiar enough with math to know how to slay this definition.
In my opinion, the series went out the window earlier - at Red Alert 2.
Here's my opinion: - In Tiberiun Sun (and Firestorm), even though the AI is weak, it gave the illusion of being strong enough to withstand everything other than a massive zergling rush. There are debates about game balance - of course, these can't really be fixed in the main code without having a potential disruption to gameplay. While it may be possible to nibble away the base with long range attacks, it either takes a while or there's more than enough time to respond. - In Red Alert 2, the AI is weak and it shows. Most people know how to counter 2-3 prism tanks destroying your base - and the AI doesn't seem to really notice.
Generals seemed to show that the game series lost it's fame. - In Tiberiun Sun and Red Alert 2, you will notice some lines showing the current orders of units - when an attack order is finished with the target being destroyed, the lines move from the target unit to just outside of the range of the unit (as most sane soldiers would do.) In Generals, the units unconditionally stop in their tracks even if it means standing 3 inches from the barracks they were deployed from.
Irrelevant. The grandparent post said "doing the same in C++ would be a couple hundred (or more) lines of template monstrosity."
Which can and will happen if you need multiple classes.
Programming languages are supposed to be designed as efficiently as possible (within a reasonable scope). You should not have to worry about having to type more than you have to - for example, it would be nice to explicitly declare fields like so:
class thing {
int value = 5; };
Rather than having to type value twice to initialize it.
But even with a non-default constructor and explicit initialization of members, you're STILL not going to get "a couple hundred (or more) lines of template monstrosity."
That is correct. However, C++ is one of the languages where this is easily possible, which can happen if a class should receive an excessivly large number of variables. Granted, you want to check the design, but it's still harder to maintain than other languages such as Java.
The only advantage of not auto-initializing the variables is a slight performance boost.
Applications get a very distinct message indicating a shutdown of Windows. If the application doesn't handle said message and not turn off, Windows is forced to kill the program.
Quick test: - Open up notepad. - Type something. - Try to shutdown windows.
Notepad, at least in Windows XP, will ask if you want to save changes. If you wait for these 20 seconds, Windows will think Notepad is hung and wants to shut down the application.
This is actually a more common problem that even appears in Microsoft Office. If you have unsaved data, applications want to be sure whether or not the user wants to keep it if the system is going down.
Because frankly, I'm not very adept at serious programming, and don't know where in the code they're occuring. All I know is that when I have FF open with a lot of tabs, and leave it running, it consumes more and more ram as the day(s) go by, even without extensions. I don't see this behavior in Opera, or on my machine on IE 7.
Write a memory leak detector - even if you are an amateur programmer, you need to have one in your portfolio or otherwise know how to deploy one.
This is the exact same method I used to suppliment the MSVC 6.0 memory leak detector - since it wasn't properly giving the line and filename of the affected source file in question, I patched the malloc() function and new operator to correct the filename and line number for allocated memory.
From there, you can instantly detect the line number and filename for the memory leak - and submit a bug report stating that this line is causing a leak. It won't detect memory inefficiencies, such as holding onto a cached page much longer than it should, but it will find the issue you claim is present. Of course, most Mozilla developers know how to find these memory leaks as well.
MyClass *MyClass::factory() {
return new MyClass(); }
Technically, that is a basic class factory.
However, you need a constructor - otherwise the fields within the new MyClass() would most likely be undefined (or perceived to be undefined, since the new operator is an offshoot of the malloc function). This adds a few more lines to the code.
It's not as much of a problem if you stick with C++ classes, but primitives generally need to be initialized - including pointers that is required if you have a circular class dependancy. (e.g. class world contains vector, and class thing wants to know which class world it's contained in.)
I remember it being a fun show, but I think that was because I was so young and his powers were so silly.
He floated.
It's not that silly... more like a weakened version of a flight power which he obtained later in the series (alongside super-strength, although that was also faked out in an early episode). Even though the powers may seem silly, the limitations on power were part of the plot.
Wouldn't that also defeat the purpose of the whole promotion though? I mean, if you're giving away a hundred x-boxes to drag as many people as possible to your site, and all you get out of them is 100 xBox sales, you've lost cash. It's the continued shopping that you're hoping for....
It's not that difficult to hard-code "People who buy X-Boxes also purchase" into the.HTML description page. Granted, it might not be optimal, but it works enough - at the very least, include links to hard-coded pages that show a list of common (or well-hyped) X-Box games.
Even so, just because someone makes a one-time purchase of an XBox doesn't automatically mean money is lost. As soon as they make the purchase (and it turns out perfectly), it will add one more voice to the group of people who wonder why the "Amazon Suxors" site exists.
The difference is, nobody spends $1 billion developing a basic software algorithm.
If it is basic, then it would be easy to produce.
A company that dumped $1 billion into a software algorith probably did some R&D - let's say their fruits result in a sorting algorithm that sorts random data at O(n) efficiency with a worst case of O(n*log n) (which is impossible, but for now, let's continue.) While the resulting algorithm may be basic to copy, it is not considered something that most professional programmers can write themselves - especially when it took a whole team of scientists a large amount of time to produce such an algorithm.
Just because the example in question is extreme does not mean that it is a Strawman. For a more practical example, take a look between an Oracle database and an MS Access database - a skilled programmer could make an MSAccess clone, but could not as easily create enterprise-level optimizations required for large databases.
People now are more separated than they are connected. Through a combination of technology, and paranoia, we've started sealing ourselves off from the world around us. How often do you see kids playing in your neighborhood on a summer's day? I was visiting my folks this summer and I know for a fact the neighborhood they live in is filled with little kids. Not a single one went outside to play the several days I was there. This is pretty much the norm.
What were they doing instead? Video games, TV, movies etc.
"My mommy told me never to talk with strangers."
On a more serious note, a lot of people in this generation were trained to avoid kidnappings from strangers because of some 1980s scare. It seemed to stick around for a while and perhaps backfired when combined with the computer age (where people can effectivly safely contact strangers.) When combined with the fact that there are school tends to be rough... you get the idea.
Another issue - my condominium mothballed the swimming pool last year because of "construction", and tried to close permanently this year because of lack of use (which caused an petition that forced a late-season opening of the pool). As my example demonstrates, there's a limited amount of space in the public swimming pool, playpark and whatever - assuming that one is available.
Video games, TV and movies are "always" available, and are much easier to setup.
To resolve this, there needs to be significant social engineering now, to encourage community involvement with others. I'm not a sociologist, but there is something that will work.
I was actually thinking of working on one recently, but I don't remember the specifics of the game enough (how big walls/cannons should be etc.) The game would be just transformed with the use of a mouse, though, so maybe that's not too important...
Ramapart was released for DOS, where the mouse was one of the control options.
IIRC, the original Aracde version used a trackball for aiming - which has the same effect as a mouse.
It is annoying that users bring it up over and over again despite myself telling them there is no effort involved.
As mentioned previously, create a FAQ entry - and include links to sites known to host cross-platform projects (such as Sourceforge, Freshmeat, etc.) or major cross-platform applications (e.g. Firefox).
I'm also concerned with the programming community as a whole that we're somehow projecting an image that portability is just too hard.
Portability is not hard, nor is there such a projection taking place (except from automatic code generators.)
If you take a look at comp.lang.c and comp.lang.c++, most posters to that newsgroup will refuse to answer questions concerning Windows, in the same way they refuse to answer questions about POSIX sockets. At first, you may feel limited but you will also learn tactics to isolate non-portable code from your program.
However some of them are programmers in themselves who say they'll contribute if we have a more focused target platform.
You already have a "focused" target platform - it's called QT. Likewise, I already have a focused platform for some of the applications I write - it's called "Platform independant", which is supposed to compile on any platform that I can access. The easist method for my platform is to contain all platform specific function calls to a specific section of the source code.
What they really mean is that they will help out if you program exclusivly for their platform. In this case, reprogramming the application for that single platform will take more time then keeping the current trend.
Yes, it is. Counting x*1000 votes is really a monotonous job, and you quickly lose your ability to concentrate by doing so. I think that an accuracy of 99.95 would be an acceptable value of accuracy (which means you miscount every 2000th vote) for manual counting.
That's why you don't have a fully-centralized ballot box.
My voting station has more than one ballot box for a given area - when there's an election, you are given the address where you need to vote along with the polling station you report to. Show your voter identification card, get the ballot to fill in, and drop it off at the appropriate ballot box.
The result is that a single counter only needs to count 500 ballots rather than x*1000 - if lucky, a worker only has to count a single ballot. An example count is shown in the Poll-by-poll Results for Electorial Districts.
Wandering slightly back on-topic, the thing that bugs me about 'text speak' is that it is impolite.
It's not just that, "text speak" and all other slang languages are non-standard. Aside from the most common usage, it changes from year to year and information will become lost because of this shift of language. It is no different than pre-Shakespearian english, where there is no consistant spelling of words (i.e. they were written down phonetically.)
If all English words had the same number of spellings as Salmonella, you would find it slightly difficult to understand what is being written down. In the modern Internet age, you may also find it difficult to track down the text once again, since you have to remember the exact spelling that was used. (This may actually be helpful, but isn't guarenteed to work.)
My ballot today had 30 separate races/questions on it, and this was a light year. In 2008 it will be around 50. There's no way you're going to record all of that information in five seconds.
A scanatron can fix that, and give a preliminary result within that time. The official counting can be done later, handled similar to a mass-production chain.
Of course, a properly designed ballot is as simple as possible - if you need to fill in around 30 questions, then that's a lot more overhead that the voter had to do - unless he strictly follows party lines. Since most voters are going to do that, you might as well simply have a box that chooses between "Republican" or "Democrat" rather than these 30+ votes. While there are some cases where a person might vote against their normal party affiliation, these are the exception rather than the rule.
But the limited user account can't even access the stupid CD drive to let him get by the disc in CD issue all games have these days...
Works for me. Perhaps you were running an application that wasn't designed for Windows XP, including those that use such legacy copy-protection systems?
Try a NO-CD crack on whatever software is affected. If it's old enough that it can't run from a LUA, it's old enough that it should have a NO-CD crack running around on the Internet several times over.
That's exactly what I worry about with them. Leaving it logged in like they do leaves it open to exploits. And I'm not talking about logging out every time you go to the bathroom or eat dinner - They leave it logged in literally all the time and leave it on 24/7. It's just asking for trouble.
If an exploit requires a user to be logged in, that means there's physical access to the computer. Grab and run.
If an exploit requires a specific app to be running, then disable that app (or otherwise confire the app so that it doesn't even receive strange requests.) AIM/MSN may be one such app, and it can be configured server-side to block everyone who is not a friend from sending you messages. Alternativly, get a 3rd-party client, provided you aren't using a messenger service that explicitly intends to lock out such clients.
If an exploit requires net access... get a firewall. A stock WXP firewall is "good enough", even if it is disabled - if you want more protection, get a NAT, firewall, or IDS. Which reminds me - I should check my notebook since I forgot about disabling the firewall in order to get windows file sharing to work.
The battleship levels (and other kind of auto-scrolling levels) are actually more annoying than interesting. They may have been good when they came out, but now it's more used as a crutch than anything.
If the character can already keep up with the camera (e.g. as in the Tool Assisted Demos), those levels are more tedious than anything since there's almost nothing to.
Some auto-scroll levels are badly designed as well, since you have to do a series of jumps within the first 1.5 seconds of the level.
It fails to mention popular levels as for instance CS_dust in counterstrike,
Popular != best. If anything, treating cs_dust as the best level in CS is just like treating cs_dust as the only level - as most players would whine if something gets fixed or updated on that map.
What difference should a laptop have that would cause you to open less windows than a "real" computer? You should treat a laptop just the same except that it's portable; I would say that not having a working suspend function is limiting your ability to get things accomplished.
Sometimes, I'm not doing as much work on the notebook as I do on my desktop computer. Sometimes, I find that opening a large number of windows causes the taskbar to become filled up (making task switching more difficult). While I know that I can still open as many windows as I want, it looks like there's too many windows open if the task bar becomes nearly full (especially when I have two lines for that taskbar.)
It's more of an emotional reason rather than a logical reason.
As part of a recent piece of coursework (I'm a student) I talked to a number of people about how many windows they typically have open at any one time. I received a startling range of responses, and that got me thinking about what people consider a 'normal' working environment in terms of the number of windows they have open and what they like to get done.
Inexperienced users, or those who prefer to focus on one task at a time, generally want to keep one single window open. I know this, since most customers that I've helped troubleshoot tend to close browser windows for their Router configuration page as soon as I want to open a command prompt window.
Some users feel that running too many applications at once can slow down the system - in a way they are correct, but they also know that multitasking is more efficient than closing down the application window.
Naturally, you have a crowd that works on mutliple things at once, and are willing to open as many windows as necessary - they either activly use these windows, or have them waiting in the background when done with the current task. This is what I do normally, but right now, I only have ~2 windows open since I'm using a laptop. I have no problem opening up much more windows on a real computer.
And after reading this thread, you have users that open windows "just in case." Enough said.
Do you have a points of comparison?
.HACK uses episodic content in four episodes. How well would it work in a single edition, especially when you consider how well things can pack on a single disk? Also, why should a person be forced to read all the "prequels" to a given story to read the current one?
-
- Chrono Trigger and Chrono Cross follow a different type of episodic content known as sequels.
- Doom 3 is the main game that is used as an engine demo. The developers released an "expansion pack" for the game.
Episodic content might not be good for gamers, but killing out all forms of episodes would leave too many people unsatisified - the result would be improvised fan fiction that sometimes conflicts with the "official story" and other fan-fics. We wouldn't want that, would we?
The proof I had stated that 0/0 is indeterminate, using the definition that division is the opposite of multiplication.
Consider:
x/y=z
Therfore,
x=z*y
Assume x=0 and y=0
0/0=z
and therefore
0=z*0
Every single value of 'z' fits into the result. Because of this, 'z' is a set rather than a single number, which matches both indeterminate (since you cannot get the correct/intended value) and NaN.
Overall, I don't think this discovery is anything new. I can already divide by zero by creating a new numerical axis in the same way that the square root of -1 is an imaginary number - for example:
x/0 = xj
where j*0 = 1
At this point, it's a useless definition, but it allows "proper" division by zero, even though it is counterintuitive and leaves questions concerning the 0/0 case. It's also something that is easily cut to shreads by the slashdot crowd, as there's plenty of peope who are familiar enough with math to know how to slay this definition.
Wrong - 'i' is either +SQRT(-1) or -SQRT(-1), not both.
If you want proof, try solving X^2=4 in the same manner.
In my opinion, the series went out the window earlier - at Red Alert 2.
Here's my opinion:
- In Tiberiun Sun (and Firestorm), even though the AI is weak, it gave the illusion of being strong enough to withstand everything other than a massive zergling rush. There are debates about game balance - of course, these can't really be fixed in the main code without having a potential disruption to gameplay. While it may be possible to nibble away the base with long range attacks, it either takes a while or there's more than enough time to respond.
- In Red Alert 2, the AI is weak and it shows. Most people know how to counter 2-3 prism tanks destroying your base - and the AI doesn't seem to really notice.
Generals seemed to show that the game series lost it's fame.
- In Tiberiun Sun and Red Alert 2, you will notice some lines showing the current orders of units - when an attack order is finished with the target being destroyed, the lines move from the target unit to just outside of the range of the unit (as most sane soldiers would do.) In Generals, the units unconditionally stop in their tracks even if it means standing 3 inches from the barracks they were deployed from.
Which can and will happen if you need multiple classes.
Programming languages are supposed to be designed as efficiently as possible (within a reasonable scope). You should not have to worry about having to type more than you have to - for example, it would be nice to explicitly declare fields like so:
class thing
{
int value = 5;
};
Rather than having to type value twice to initialize it.
That is correct. However, C++ is one of the languages where this is easily possible, which can happen if a class should receive an excessivly large number of variables. Granted, you want to check the design, but it's still harder to maintain than other languages such as Java.
The only advantage of not auto-initializing the variables is a slight performance boost.
Quick test:
- Open up notepad.
- Type something.
- Try to shutdown windows.
Notepad, at least in Windows XP, will ask if you want to save changes. If you wait for these 20 seconds, Windows will think Notepad is hung and wants to shut down the application.
This is actually a more common problem that even appears in Microsoft Office. If you have unsaved data, applications want to be sure whether or not the user wants to keep it if the system is going down.
Write a memory leak detector - even if you are an amateur programmer, you need to have one in your portfolio or otherwise know how to deploy one.
This is the exact same method I used to suppliment the MSVC 6.0 memory leak detector - since it wasn't properly giving the line and filename of the affected source file in question, I patched the malloc() function and new operator to correct the filename and line number for allocated memory.
From there, you can instantly detect the line number and filename for the memory leak - and submit a bug report stating that this line is causing a leak. It won't detect memory inefficiencies, such as holding onto a cached page much longer than it should, but it will find the issue you claim is present. Of course, most Mozilla developers know how to find these memory leaks as well.
Technically, that is a basic class factory.
However, you need a constructor - otherwise the fields within the new MyClass() would most likely be undefined (or perceived to be undefined, since the new operator is an offshoot of the malloc function). This adds a few more lines to the code.
It's not as much of a problem if you stick with C++ classes, but primitives generally need to be initialized - including pointers that is required if you have a circular class dependancy. (e.g. class world contains vector, and class thing wants to know which class world it's contained in.)
It's not that silly... more like a weakened version of a flight power which he obtained later in the series (alongside super-strength, although that was also faked out in an early episode). Even though the powers may seem silly, the limitations on power were part of the plot.
The weakness on the other hand, is silly.
It's not that difficult to hard-code "People who buy X-Boxes also purchase" into the
Even so, just because someone makes a one-time purchase of an XBox doesn't automatically mean money is lost. As soon as they make the purchase (and it turns out perfectly), it will add one more voice to the group of people who wonder why the "Amazon Suxors" site exists.
If it is basic, then it would be easy to produce.
A company that dumped $1 billion into a software algorith probably did some R&D - let's say their fruits result in a sorting algorithm that sorts random data at O(n) efficiency with a worst case of O(n*log n) (which is impossible, but for now, let's continue.) While the resulting algorithm may be basic to copy, it is not considered something that most professional programmers can write themselves - especially when it took a whole team of scientists a large amount of time to produce such an algorithm.
Just because the example in question is extreme does not mean that it is a Strawman. For a more practical example, take a look between an Oracle database and an MS Access database - a skilled programmer could make an MSAccess clone, but could not as easily create enterprise-level optimizations required for large databases.
"My mommy told me never to talk with strangers."
On a more serious note, a lot of people in this generation were trained to avoid kidnappings from strangers because of some 1980s scare. It seemed to stick around for a while and perhaps backfired when combined with the computer age (where people can effectivly safely contact strangers.) When combined with the fact that there are school tends to be rough... you get the idea.
Another issue - my condominium mothballed the swimming pool last year because of "construction", and tried to close permanently this year because of lack of use (which caused an petition that forced a late-season opening of the pool). As my example demonstrates, there's a limited amount of space in the public swimming pool, playpark and whatever - assuming that one is available.
Video games, TV and movies are "always" available, and are much easier to setup.
To resolve this, there needs to be significant social engineering now, to encourage community involvement with others. I'm not a sociologist, but there is something that will work.
Ramapart was released for DOS, where the mouse was one of the control options.
IIRC, the original Aracde version used a trackball for aiming - which has the same effect as a mouse.
As mentioned previously, create a FAQ entry - and include links to sites known to host cross-platform projects (such as Sourceforge, Freshmeat, etc.) or major cross-platform applications (e.g. Firefox).
Portability is not hard, nor is there such a projection taking place (except from automatic code generators.)
If you take a look at comp.lang.c and comp.lang.c++, most posters to that newsgroup will refuse to answer questions concerning Windows, in the same way they refuse to answer questions about POSIX sockets. At first, you may feel limited but you will also learn tactics to isolate non-portable code from your program.
You already have a "focused" target platform - it's called QT. Likewise, I already have a focused platform for some of the applications I write - it's called "Platform independant", which is supposed to compile on any platform that I can access. The easist method for my platform is to contain all platform specific function calls to a specific section of the source code.
What they really mean is that they will help out if you program exclusivly for their platform. In this case, reprogramming the application for that single platform will take more time then keeping the current trend.
That's why you don't have a fully-centralized ballot box.
My voting station has more than one ballot box for a given area - when there's an election, you are given the address where you need to vote along with the polling station you report to. Show your voter identification card, get the ballot to fill in, and drop it off at the appropriate ballot box.
The result is that a single counter only needs to count 500 ballots rather than x*1000 - if lucky, a worker only has to count a single ballot. An example count is shown in the Poll-by-poll Results for Electorial Districts.
It's not just that, "text speak" and all other slang languages are non-standard. Aside from the most common usage, it changes from year to year and information will become lost because of this shift of language. It is no different than pre-Shakespearian english, where there is no consistant spelling of words (i.e. they were written down phonetically.)
If all English words had the same number of spellings as Salmonella, you would find it slightly difficult to understand what is being written down. In the modern Internet age, you may also find it difficult to track down the text once again, since you have to remember the exact spelling that was used. (This may actually be helpful, but isn't guarenteed to work.)
A scanatron can fix that, and give a preliminary result within that time. The official counting can be done later, handled similar to a mass-production chain.
Of course, a properly designed ballot is as simple as possible - if you need to fill in around 30 questions, then that's a lot more overhead that the voter had to do - unless he strictly follows party lines. Since most voters are going to do that, you might as well simply have a box that chooses between "Republican" or "Democrat" rather than these 30+ votes. While there are some cases where a person might vote against their normal party affiliation, these are the exception rather than the rule.
Gullible is not a word either.
As you know, touchpads on laptops "click" whenever you do a "tap" on them. By default, this is sensitive.
The mandatory no-clicking tends to mess users up - then again, nobody should be using defective hardware anyway.
Works for me. Perhaps you were running an application that wasn't designed for Windows XP, including those that use such legacy copy-protection systems?
Try a NO-CD crack on whatever software is affected. If it's old enough that it can't run from a LUA, it's old enough that it should have a NO-CD crack running around on the Internet several times over.
If an exploit requires a user to be logged in, that means there's physical access to the computer. Grab and run.
If an exploit requires a specific app to be running, then disable that app (or otherwise confire the app so that it doesn't even receive strange requests.) AIM/MSN may be one such app, and it can be configured server-side to block everyone who is not a friend from sending you messages. Alternativly, get a 3rd-party client, provided you aren't using a messenger service that explicitly intends to lock out such clients.
If an exploit requires net access... get a firewall. A stock WXP firewall is "good enough", even if it is disabled - if you want more protection, get a NAT, firewall, or IDS. Which reminds me - I should check my notebook since I forgot about disabling the firewall in order to get windows file sharing to work.
The battleship levels (and other kind of auto-scrolling levels) are actually more annoying than interesting. They may have been good when they came out, but now it's more used as a crutch than anything.
If the character can already keep up with the camera (e.g. as in the Tool Assisted Demos), those levels are more tedious than anything since there's almost nothing to.
Some auto-scroll levels are badly designed as well, since you have to do a series of jumps within the first 1.5 seconds of the level.
Popular != best. If anything, treating cs_dust as the best level in CS is just like treating cs_dust as the only level - as most players would whine if something gets fixed or updated on that map.
Sometimes, I'm not doing as much work on the notebook as I do on my desktop computer. Sometimes, I find that opening a large number of windows causes the taskbar to become filled up (making task switching more difficult). While I know that I can still open as many windows as I want, it looks like there's too many windows open if the task bar becomes nearly full (especially when I have two lines for that taskbar.)
It's more of an emotional reason rather than a logical reason.
Inexperienced users, or those who prefer to focus on one task at a time, generally want to keep one single window open. I know this, since most customers that I've helped troubleshoot tend to close browser windows for their Router configuration page as soon as I want to open a command prompt window.
Some users feel that running too many applications at once can slow down the system - in a way they are correct, but they also know that multitasking is more efficient than closing down the application window.
Naturally, you have a crowd that works on mutliple things at once, and are willing to open as many windows as necessary - they either activly use these windows, or have them waiting in the background when done with the current task. This is what I do normally, but right now, I only have ~2 windows open since I'm using a laptop. I have no problem opening up much more windows on a real computer.
And after reading this thread, you have users that open windows "just in case." Enough said.