But it didn't work the way you expected it to:-) And sometimes (e.g., late at night, early in morning) that makes it harder to infer the real cause.
On Linux I've had a ton of success using Valgrind to find memory errors. It can identify bad memory reads, writes, uninitialized values, etc. during runtime. Figuring out what is causing those errors is up to you, however.
It doesn't substitute for intelligence but it helps narrow the search incredibly.
All you need for debugging is print statements everywhere. Always works:)
Actually it doesn't always work. On more than one occassion I've seen a bug stop happening when I put in a print statement. Take the print statement out, bug comes back.
This always indicates some kind of memory error, usually an overflow of a local buffer, or a bug in your pointer arithmetic somewhere. By making the call to printf() you are modifying the contents of the stack (by pushing the function arguments) and this changes conditions in such a way that the bug no longer occurs.
They changed the brightness, contrast, and colors for each planet and moon independently.
What they actually did (if you manage to decipher they're somewhat unclear description of the colorization process), is to use the high-resolution grayscale images as indexes to match with lower resolution color photos they already had.
Basically, they reduced the 24-bit color down to 8-bit grayscale and sorted in order of intensity. They also sorted the grayscale images in order of intensity. Then they mapped the colors from one, in a 1-to-1 fashion, onto the other. Pretty straightforward really.
So the process of colorizing was so lossy and brought out so much noise...
The process wasn't lossy or noisy, because pixels of identical color in the result image are also of identical color in the original. The colors themselves have changed, but the distinct identity of each color remains intact. Black just happened to map to a nonblack color, so they changed it back to black. This is no different than any other "false" colorization process used in any other area of science. In fact, it's really quite aesthetic since most false color images have highly saturated colors (bright red, blue, green, etc), not the less saturated, natural looking colors these images have.
Google is under everyone's control. Post something anywhere on the web and wait for Google to cache it.
A truly genius virus author would post the payload on some site, allow it to "mature" for 6 months until it's archived over at the Wayback Machine, then release the virus. It spreads, but nobody can analyze the payload since it is delivered seperately. And nobody thinks to look on the Wayback Machine because hey, the virus just came out last week! How could the payload be sitting on some cache from a year ago?
The guy said that RedHat and SuSE are the two distributions that are going to be supported by IT vendors for the forseeable future. The guy isn't claiming that RedHat and SuSE are the only two Linux distros, that would be utterly insane.
He's saying that as far as the corporate world goes, Linux == RedHat | SuSE. If you buy a pre-installed Linux box from some IT vendor somewhere, it will have RedHat or SuSE on it. This is basically true.
So don't jump the gun on tearing this guy a new asshole.
The anti-virus guys at F-Secure don't know what will happen if they don't shut down the 20 addresses in time, only that something might happen if they don't take down all addresses.
What a stupid idea. Suppose the guy put all of Google's IP addresses in there. I suppose they would shut down Google?
Bayesian analysis can match writers to messages regardless of the email address.
You just pulled that out of your ass, and you know it. There are so many gigantic misunderstandings underlying that statement that I can't even begin to attack it, so suffice it to say, a simple Bayesian analysis more than likely cannot identify people based solely on what they write.
Ok, I'll give you a hint. Suppose we apply this method to Slashdot. There are about 650000 Slashdot readers. You are talking about calculating the class-conditional probability for every user on Slashdot. The differences in class-conditional probability (per user) are going to unbelievably small -- so small that any results you achieve are going to be statistically meaningless.
Bayesian techniques work okay for classifying when you've only got two or three buckets. But when you try to apply it to say, thirty buckets (much less 650000!!) it breaks down really quickly.
Also, remember that the true name for the technique is "Naive Bayesian inference." In this case (heh, in most cases) the term "naive" doesn't mean "clever and infallible."
Yes, I do research on text analysis algorithms with applications to anti-spam filters, so I do have some clue what I'm talking about.
Isn't outlawing card counting kind of like outlawing a certain thought process?
First, this isn't any attempt to outlaw card counting. It's legal to count cards -- you just can't legally use any "external device" to do it. However, if the casino suspects that you are counting, they are perfectly within their rights to kick you out -- it's their private property, after all, and they can kick out anyone they please -- but you haven't done anything illegal by counting cards.
In general if you are winning far higher than the odds say you should be winning, the casino will be suspicious. Even if they can't prove anything, they can still ban you from playing. It's kind of like being an annoying ass in a movie theater; it's not illegal to be an annoying ass, but you'll probably get kicked out of the theater.
Second, if card counting was outlawed, then it would basically be no different than the laws against insider trading on the stock market. Those laws say, "If you have certain priviledged information, you may not use that information in a way that gives you an unfair advantage over other investors." It isn't outlawing a thought process, it is outlawing the use of that knowledge for gain over other people who don't have the knowledge.
1) People whine that MS security is "teh suck"
2) People whine that users are too lazy/stupid to install the patches
3) People whine about automatic patch installation
Well geez people, it looks like you're going to have to quit whining about at least one of these three things, because they aren't all compatible. If we admit that users are too ignorant/lazy/stupid to install patches, then we have no right to complain about MS wanting to automatically update things, because everyone is complaining that their security is terrible. It isn't fair to put people into an impossible situation like that, then blame them for it.
Like my ex-NASA boss likes to say: "Faster, better, cheaper. You can pick two."
Re:The buddy system and a couple of rules
on
Solving a Wiring Mess?
·
· Score: 2, Interesting
Do not wear anything metallic such as chains, watches, rings etc.
Actually, wouldn't it make sense to wear a metal bracelet with a thick gauge copper wire wired directly to ground? Then if current happened to flow into your hand it would preferentially flow straight to ground through the copper path, instead of through your body.
Not that I'm advocating working on a high voltage setup, I'm simply asking out of curiosity...
It's more important to have consistent standards that work and that everbody understands than to get additional speed that few people will need.
No, it's better to spend a lot of time experimenting with different technologies, and determining the strengths and weaknesses of each, before settling on a single standard that could possibly lock us all in to a mediocre technology for decades to come (see Microsoft, x86 platform, etc.).
WiFi hasn't been around that long. I'm willing to wait several more years before standardization. The last thing I want is for everyone to rush to a standard and pour time, money, and effort into it, when we don't even know what the other options are, yet.
If 802.11* turns out to be pretty stupid compared to some of the newer tech, then won't we all feel dumb after investing thousands in wireless gear, and even dumber that we now have to restrict ourselves to equipment which is backward compatible with a deficient standard. I'm not saying this has happened, but obviously it could.
Be patient and let people experiment with new tech, we'll all come out better for it in the end...
A virus requires a "host program" to operate. That is, it attaches its code to another program, so that when that program executes, the virus itself gets a chance to run. So a virus is enable to "infect" another program (usually an EXE file), and when the infected program executes the virus can spread to other programs. So it spreads much like a biological virus.
A worm is an independent program that executes on its own, and doesn't require a host program. It usually takes advantage of some known vulnerability to inject itself into a system and start executing. It also tries to spread itself much more aggressively and actively than a virus does.
But the distinction can blur. It's possible to have a worm that can also spread like a virus, by infecting other files. And you could have a virus that, for example, takes advantage of some rare vulnerability to spread more aggressively in certain environments. But the fundamental difference is, a virus requires a host program to infect in order to operate.
If I went into your home when you were away, but all I did was make sure all the lights are off and windows/doors are locked, would you be OK with that?
Hmm, no, but if you were walking past and happened to look in and see my wife being strangled by a dude wearing a ski mask, I'd hope to hell you did something about it.
Of course, neither analogy is completely perfect, but obviously this situation isn't as black-and-white as you want it to appear.
For fucks sake moderators, this is a well-known troll, and he just spewed a bunch of BS and you modded it "informative."
Hawking radiation is obtained from matter that is otherwise lost frrm the universe and as such does not obey the classical laws of thermodynamics. Because of this the amount of energy in the universe is actually increasing although the rate at which it is doing so is extremely slow.
Wrong, the black hole loses mass in exact proportion to the energy radiated away, mass-energy is still CONSERVED. Don't you think the entire scientific world would be in an absolute uproar if this were not the case? Come on, when people say shit like "Total energy is really increasing" your BS alarm should be screaming bloody murder.
As mentioned by the article however the number of black holes is increasing (all matter is drawn together by gravity so in a long enough timescale it will eventually coalesce to form a black hole) and so the hawking radiation will increase.
Wrong, larger black holes produce LESS Hawking radiation. This is clearly spelled out on the second Google hit if you search for "Hawking radiation."
What always bothers me is when people want uniformly distributed random numbers. I know why its valuable but if you make sure that your numbers are uniformly distributed they aren't really random anymore.
You don't understand what is meant by "uniformly distributed." Say you have a uniform random variable taking on the values 1..10. A "uniform random variable" means that each possible outcome has an equal probability of occurring. It doesn't mean that there must necessarily be equal numbers of 1,2,3,4, etc. in the output.
Imagine the previous random source generating two sequences. The first is [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. The second sequence is [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]. How much less likely is it to generate the second sequence than the first one? The answer is, it is no less likely. Both sequences are equally likely. This is the meaning of a "uniform source." It certainly doesn't mean that sequences such as [1, 1, 1,...] cannot occur!
9 out of 10 people would probably say all 0's or all 1's isn't a random result, even when it comes from a random source.
They probably would say that, but they'd be wrong. People have major misconceptions about randomness. If a random source generates the sequence [1, 6, 3, 3, 8, 2] people will say "Ho hum." If the same source outputs [1, 2, 3, 4, 5, 6] people all of a sudden get interested and say "I wonder what's going on." There's nothing going on. The random source doesn't care whether your brain wants to ascribe some special meaning to the sequence [1, 2, 3, 4, 5, 6]; it generated it mindlessly, and your human tendency to pick out patterns has kicked in. You are imposing your own order on it, when no real order exists.
Skynet had 60 Teraflops IIRC and they're talking about 100!
Let's hope this isn't tied into Nukes somehow. Wait a sec, a massive virus has already spread disabling millions of computers!
Yeah, since we all know that any intelligent, distributed computer system's first goal is to blow itself up. Think about it: if SkyNet was running as a massively parallel program on all the PCs in the world, then by blowing up the cities, wasn't SkyNet blowing itself up? This plot hole is so big you can drive a Toyota Tundra through it.
You're asking if there are mirrors of the content on a Free Software organization's website, an organization that prides itself in producing and improving software whose raison d'etre is to be freely, unhinderably distributed among the people of the world.
And you think colleges are any different? Given the vast number of poor undergraduate college students working in the offices of universities around the country, I wouldn't be surprised if just as much identity theft is committed there as in the military.
Ever noticed that at a great number of schools, your student ID number is your SSN? Ever noticed that Wells Fargo's website uses your SSN as your username by default? Why does a bank need to know your SSN?
The SSN is probably the most abused piece of government paperwork. I haven't carried my SS card in years, but I do believe on the back of the card are words to the effect of: "This number is not to be used for purposes of identification," and yet it is the primary key ID number in nearly every large scale database in the country.
How can the human element be totally removed from this? There's a computer somewhere deciding whether or not it sees "infringing" material and sends out legal harrassment letters without any human intervention whatsoever? And people are not absolutely outraged by this?
What's next, automatic indictment by computer? "Sorry sir, the computer has ascertained that there is a 94% probability that you murdered your wife. The trial begins Wednesday."
That's nice. Calling a techmonkey a "support specialist" is like calling a mechanic a "engine configuration specialist." It makes you sound smart, but you're still a monkey.
The problem with tech support is their default attitude is that the customer is an idiot. You think that anyone calling up who seems to know what they are doing is putting on a show. How fucking hard is it for you to believe that there are people out there who are as proficient as you are (which isn't difficult to pull off)? How hard is it to believe that there are people who are unbelievably more proficient than you are, and they're only calling because the stupid fucking cable connection is down?
Do you always have such a big chip on your shoulder?
If you called yourself up on tech support and your doppelganger asked you all these moronic questions, would you feel like shooting yourself?
How about this -- we'll do our "job": learn to follow your suggestions patiently -- if you do your "job": learn what the fuck Linux is, so when we call with things like cable modem problems we don't need to hear bullshit like "Oh, Linux doesn't work with the Internet."
Why not have some sort of "accelerated script" that you can switch to when you realize the caller isn't a friggin retard?
Why can't tar figure out if the archive is compressed and with which method without me giving the -z or -j option?
Because the UNIX way of thinking is, different functionalities should be embodied in different programs. If someone, say, upgrades the bzip2 algorithm, all you have to do is update bzip2. If it was built into tar, then you'd have to update tar and bzip2 whenever the algorithm changes. This is just an example, but it demonstrates the way UNIX is "supposed" to work.
I admit it seems arrogant. It is arrogant. The problem Linux is having and will continue to have is, there is a rather large subset of "old school" users who harbor certain ingrained ideologies about what is "correct" behavior. This subset happens to overlap a great deal with the subset of people who actually program Linux apps. What this means is, the operating system has evolved largely in the direction that hard-core, old-school UNIX hackers wanted it to.
Someone else brought up the example that users have to edit config files by hand. As a developer, it's really easy for me to see why this is the case. It really sucks designing configuration dialog boxes. It's boring. As a developer, you just want the correct configuration loaded into variables right now, and as bizarre as it seems, the developer really would rather not care what makes the user's life easier.
For MS and Apple, this is a necessity because they are selling a product to users. But you have to understand that Linux developers really don't have customers. There are users, and the users often complain loudly on mailing lists about lack of functionality, or ease-of-use. It isn't that I'm not sympathetic to that. But it's really hard to motivate yourself to do boring programming work (UI design is really really boring for most people), when the only motivation is a bunch of screaming users, and no compensation.
The rewards for programming free software are largely egotistical -- "I implemented this cool functionality in a better, cleverer way than anyone else has!" -- and time spent writing user-friendly interfaces is time not spent stroking the ego.
On Linux I've had a ton of success using Valgrind to find memory errors. It can identify bad memory reads, writes, uninitialized values, etc. during runtime. Figuring out what is causing those errors is up to you, however. It doesn't substitute for intelligence but it helps narrow the search incredibly.
Actually it doesn't always work. On more than one occassion I've seen a bug stop happening when I put in a print statement. Take the print statement out, bug comes back.
This always indicates some kind of memory error, usually an overflow of a local buffer, or a bug in your pointer arithmetic somewhere. By making the call to printf() you are modifying the contents of the stack (by pushing the function arguments) and this changes conditions in such a way that the bug no longer occurs.
It's called a "Heisenbug" :-)
What they actually did (if you manage to decipher they're somewhat unclear description of the colorization process), is to use the high-resolution grayscale images as indexes to match with lower resolution color photos they already had.
Basically, they reduced the 24-bit color down to 8-bit grayscale and sorted in order of intensity. They also sorted the grayscale images in order of intensity. Then they mapped the colors from one, in a 1-to-1 fashion, onto the other. Pretty straightforward really.
So the process of colorizing was so lossy and brought out so much noise ...
The process wasn't lossy or noisy, because pixels of identical color in the result image are also of identical color in the original. The colors themselves have changed, but the distinct identity of each color remains intact. Black just happened to map to a nonblack color, so they changed it back to black. This is no different than any other "false" colorization process used in any other area of science. In fact, it's really quite aesthetic since most false color images have highly saturated colors (bright red, blue, green, etc), not the less saturated, natural looking colors these images have.
A truly genius virus author would post the payload on some site, allow it to "mature" for 6 months until it's archived over at the Wayback Machine, then release the virus. It spreads, but nobody can analyze the payload since it is delivered seperately. And nobody thinks to look on the Wayback Machine because hey, the virus just came out last week! How could the payload be sitting on some cache from a year ago?
Sure, but if you'll notice those are all desktop machines, not servers.
He's saying that as far as the corporate world goes, Linux == RedHat | SuSE. If you buy a pre-installed Linux box from some IT vendor somewhere, it will have RedHat or SuSE on it. This is basically true.
So don't jump the gun on tearing this guy a new asshole.
What a stupid idea. Suppose the guy put all of Google's IP addresses in there. I suppose they would shut down Google?
Ever heard of a "decoy?" A "Joe job?"
You just pulled that out of your ass, and you know it. There are so many gigantic misunderstandings underlying that statement that I can't even begin to attack it, so suffice it to say, a simple Bayesian analysis more than likely cannot identify people based solely on what they write.
Ok, I'll give you a hint. Suppose we apply this method to Slashdot. There are about 650000 Slashdot readers. You are talking about calculating the class-conditional probability for every user on Slashdot. The differences in class-conditional probability (per user) are going to unbelievably small -- so small that any results you achieve are going to be statistically meaningless.
Bayesian techniques work okay for classifying when you've only got two or three buckets. But when you try to apply it to say, thirty buckets (much less 650000!!) it breaks down really quickly.
Also, remember that the true name for the technique is "Naive Bayesian inference." In this case (heh, in most cases) the term "naive" doesn't mean "clever and infallible."
Yes, I do research on text analysis algorithms with applications to anti-spam filters, so I do have some clue what I'm talking about.
First, this isn't any attempt to outlaw card counting. It's legal to count cards -- you just can't legally use any "external device" to do it. However, if the casino suspects that you are counting, they are perfectly within their rights to kick you out -- it's their private property, after all, and they can kick out anyone they please -- but you haven't done anything illegal by counting cards.
In general if you are winning far higher than the odds say you should be winning, the casino will be suspicious. Even if they can't prove anything, they can still ban you from playing. It's kind of like being an annoying ass in a movie theater; it's not illegal to be an annoying ass, but you'll probably get kicked out of the theater.
Second, if card counting was outlawed, then it would basically be no different than the laws against insider trading on the stock market. Those laws say, "If you have certain priviledged information, you may not use that information in a way that gives you an unfair advantage over other investors." It isn't outlawing a thought process, it is outlawing the use of that knowledge for gain over other people who don't have the knowledge.
2) People whine that users are too lazy/stupid to install the patches
3) People whine about automatic patch installation
Well geez people, it looks like you're going to have to quit whining about at least one of these three things, because they aren't all compatible. If we admit that users are too ignorant/lazy/stupid to install patches, then we have no right to complain about MS wanting to automatically update things, because everyone is complaining that their security is terrible. It isn't fair to put people into an impossible situation like that, then blame them for it.
Like my ex-NASA boss likes to say: "Faster, better, cheaper. You can pick two."
Actually, wouldn't it make sense to wear a metal bracelet with a thick gauge copper wire wired directly to ground? Then if current happened to flow into your hand it would preferentially flow straight to ground through the copper path, instead of through your body.
Not that I'm advocating working on a high voltage setup, I'm simply asking out of curiosity...
No, it's better to spend a lot of time experimenting with different technologies, and determining the strengths and weaknesses of each, before settling on a single standard that could possibly lock us all in to a mediocre technology for decades to come (see Microsoft, x86 platform, etc.).
WiFi hasn't been around that long. I'm willing to wait several more years before standardization. The last thing I want is for everyone to rush to a standard and pour time, money, and effort into it, when we don't even know what the other options are, yet.
If 802.11* turns out to be pretty stupid compared to some of the newer tech, then won't we all feel dumb after investing thousands in wireless gear, and even dumber that we now have to restrict ourselves to equipment which is backward compatible with a deficient standard. I'm not saying this has happened, but obviously it could.
Be patient and let people experiment with new tech, we'll all come out better for it in the end...
A worm is an independent program that executes on its own, and doesn't require a host program. It usually takes advantage of some known vulnerability to inject itself into a system and start executing. It also tries to spread itself much more aggressively and actively than a virus does.
But the distinction can blur. It's possible to have a worm that can also spread like a virus, by infecting other files. And you could have a virus that, for example, takes advantage of some rare vulnerability to spread more aggressively in certain environments. But the fundamental difference is, a virus requires a host program to infect in order to operate.
Hmm, no, but if you were walking past and happened to look in and see my wife being strangled by a dude wearing a ski mask, I'd hope to hell you did something about it.
Of course, neither analogy is completely perfect, but obviously this situation isn't as black-and-white as you want it to appear.
Hawking radiation is obtained from matter that is otherwise lost frrm the universe and as such does not obey the classical laws of thermodynamics. Because of this the amount of energy in the universe is actually increasing although the rate at which it is doing so is extremely slow.
Wrong, the black hole loses mass in exact proportion to the energy radiated away, mass-energy is still CONSERVED. Don't you think the entire scientific world would be in an absolute uproar if this were not the case? Come on, when people say shit like "Total energy is really increasing" your BS alarm should be screaming bloody murder.
As mentioned by the article however the number of black holes is increasing (all matter is drawn together by gravity so in a long enough timescale it will eventually coalesce to form a black hole) and so the hawking radiation will increase.
Wrong, larger black holes produce LESS Hawking radiation. This is clearly spelled out on the second Google hit if you search for "Hawking radiation."
Somebody, mod parent post down.
Well, Industrial Light and Magic (Lucas's special effects firm) does use Linux clusters...
You don't understand what is meant by "uniformly distributed." Say you have a uniform random variable taking on the values 1..10. A "uniform random variable" means that each possible outcome has an equal probability of occurring. It doesn't mean that there must necessarily be equal numbers of 1,2,3,4, etc. in the output.
Imagine the previous random source generating two sequences. The first is [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. The second sequence is [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]. How much less likely is it to generate the second sequence than the first one? The answer is, it is no less likely. Both sequences are equally likely. This is the meaning of a "uniform source." It certainly doesn't mean that sequences such as [1, 1, 1, ...] cannot occur!
9 out of 10 people would probably say all 0's or all 1's isn't a random result, even when it comes from a random source.
They probably would say that, but they'd be wrong. People have major misconceptions about randomness. If a random source generates the sequence [1, 6, 3, 3, 8, 2] people will say "Ho hum." If the same source outputs [1, 2, 3, 4, 5, 6] people all of a sudden get interested and say "I wonder what's going on." There's nothing going on. The random source doesn't care whether your brain wants to ascribe some special meaning to the sequence [1, 2, 3, 4, 5, 6]; it generated it mindlessly, and your human tendency to pick out patterns has kicked in. You are imposing your own order on it, when no real order exists.
Let's hope this isn't tied into Nukes somehow. Wait a sec, a massive virus has already spread disabling millions of computers!
Yeah, since we all know that any intelligent, distributed computer system's first goal is to blow itself up. Think about it: if SkyNet was running as a massively parallel program on all the PCs in the world, then by blowing up the cities, wasn't SkyNet blowing itself up? This plot hole is so big you can drive a Toyota Tundra through it.
Are you fucking MAD, man?
Ever noticed that at a great number of schools, your student ID number is your SSN? Ever noticed that Wells Fargo's website uses your SSN as your username by default? Why does a bank need to know your SSN?
The SSN is probably the most abused piece of government paperwork. I haven't carried my SS card in years, but I do believe on the back of the card are words to the effect of: "This number is not to be used for purposes of identification," and yet it is the primary key ID number in nearly every large scale database in the country.
What's next, automatic indictment by computer? "Sorry sir, the computer has ascertained that there is a 94% probability that you murdered your wife. The trial begins Wednesday."
I'm only KIDDING, jeez!
The problem with tech support is their default attitude is that the customer is an idiot. You think that anyone calling up who seems to know what they are doing is putting on a show. How fucking hard is it for you to believe that there are people out there who are as proficient as you are (which isn't difficult to pull off)? How hard is it to believe that there are people who are unbelievably more proficient than you are, and they're only calling because the stupid fucking cable connection is down?
Do you always have such a big chip on your shoulder?
How about this -- we'll do our "job": learn to follow your suggestions patiently -- if you do your "job": learn what the fuck Linux is, so when we call with things like cable modem problems we don't need to hear bullshit like "Oh, Linux doesn't work with the Internet."
Why not have some sort of "accelerated script" that you can switch to when you realize the caller isn't a friggin retard?
Because the UNIX way of thinking is, different functionalities should be embodied in different programs. If someone, say, upgrades the bzip2 algorithm, all you have to do is update bzip2. If it was built into tar, then you'd have to update tar and bzip2 whenever the algorithm changes. This is just an example, but it demonstrates the way UNIX is "supposed" to work.
I admit it seems arrogant. It is arrogant. The problem Linux is having and will continue to have is, there is a rather large subset of "old school" users who harbor certain ingrained ideologies about what is "correct" behavior. This subset happens to overlap a great deal with the subset of people who actually program Linux apps. What this means is, the operating system has evolved largely in the direction that hard-core, old-school UNIX hackers wanted it to.
Someone else brought up the example that users have to edit config files by hand. As a developer, it's really easy for me to see why this is the case. It really sucks designing configuration dialog boxes. It's boring. As a developer, you just want the correct configuration loaded into variables right now, and as bizarre as it seems, the developer really would rather not care what makes the user's life easier.
For MS and Apple, this is a necessity because they are selling a product to users. But you have to understand that Linux developers really don't have customers. There are users, and the users often complain loudly on mailing lists about lack of functionality, or ease-of-use. It isn't that I'm not sympathetic to that. But it's really hard to motivate yourself to do boring programming work (UI design is really really boring for most people), when the only motivation is a bunch of screaming users, and no compensation.
The rewards for programming free software are largely egotistical -- "I implemented this cool functionality in a better, cleverer way than anyone else has!" -- and time spent writing user-friendly interfaces is time not spent stroking the ego.