The reason people need to outsource is that the US has an unsustainably high standard of living. When a plumber or Garbage truck driver in the US earns more than a rocket scientist in other countries somewhere the extra amount of money has to be brought in. If Engineers and IT people want the same benefits of being American that Garbage truck drivers and Dockworkers have then they too should put time and effort into forming unions. If not dont blame management for trying to balance the books through outsourcing. You want a really fair system make it so that anyone from the poorest country can come to the US and do the low end jobs. Soon the cost of living will be low enough in the US to be able to compete on salaries with any other country. Or be like the Doctors and Lawyers who use the law from preventing foreign competition.
Unskilled native US laborers know that masses of Mexican (or otherwise) immigrants would be the death knell for their subsidized lifestyle (and they would lose their political power that they use to keep more citizens from coming in.) As a result, there is heavy opposition to allowing that immigration -- hence quotas and all the barriers put in place to make it difficult to become a US citizen. Slashdot has a population of people that are skilled workers in vast disproportion to the general US population, which is why you get very little dislike of immigration here -- just outsourcing.
People can exhibit very, very extreme behavior when their jobs are threatened. The xenophobia in Germany against Jewish immigrants was largely just an expression of upset over the job market. The US Great Depression had spread into other countries and Germany's economy was badly hurt, with very high unemployment. At the same time, Jews were disproportionately highly educated, and thus often became professionals. Since this was a class of people that was gaining increasingly in power and wealth relative to unskilled labor and the nobility (which had been clobbered by the Weimar Republic), they were targetted.
My first Dell issue happened within hours of turning it on. Some application, that I have yet to isolate, insists on trying to load (twice a day) a non-existent file called "Timer.txt".
Windows is no Linux, even with a sizeable collection of free utilities, but you can at least make it palatable.
My second Dell issue concerns the USB ports. 5 USB 2 ports on the back and 2 on the front, and I normally use most of them -- (1) USB hub for wireless keyboard, (2) USB mouse, (3) USB wireless LAN, (4) USB 3-speakers system, (5) external USB DVD+RW drive (as Dell wanted too much for the internal one, so I went for internal DVD-ROM), and (6) USB hard drive.
You may be simply drawing too much power. Try purchasing an inexpensive *powered* USB hub. Plug that into the computer and plug some of the devices into it (as a bonus, this provides a rather more conveniently locatable thing to plug things into).
The problem is that hard drive failure is so serious an issue that operating systems will understandably make it priority number one and other programs/operations will suffer performance problems or worse (or even worse).
It's not the priority, but the fact that things like the pagefile being on the hard drive and executable code being on the hard drive causes some operations (like memory accesses or simply trying to execute a chunk of code) to take incredibly long.
Computers normally do a good job of faking "multi tasking" but NMI (non-maskable interrupts) rain on that parade.
I could be wrong, but I don't think that a media read error will produce an NMI.
India is seeing something like what we did during about 2000. They are seeing an extremely rapid influx of money into IT, and phenomenal growth in that job market.
Not surprisingly, this is having exactly the same effect as it did in the United States during the.com boom -- lots and lots of people who absolutely should not have been hired to do what they are doing are working in the area, and there is a large chunk of the market that is unskilled. Remember all the horrible, awful, terrible websites made by overpaid people who barely knew what they were doing? Yeah. Think of the same thing, but in a different country.
India will straighten up their act, the same as we're doing. People and companies will start building reputations, the growth will slow to stability, etc. Not every Indian comp.* Usenet poster will be clueless. It'll just take some time.
Free markets are not the end-all-be-all of every system.
They are a powerful tool in that they are stable (assuming a certain degree of government oversight). Also, if certain assumptions are met (consumers can be approximated as being informed, so many providers of a good exist that they can be approximated as a fluid) they can produce fairly efficient output. Plus they solve problems that other systems fall prey to where one person is trusted and abuses his position, thus breaking the system.
However, "stick it on the free market" is *not* always the right answer.
Well, let's suppose that you are an unemployed techie. What do you do (aside from, hopefully, looking for a job)?
You have all day to read (and thus post to) Slashdot.
Just pointing out that Slashdot post count may not be a representative sampling of techies.
Also, I wanted to point out one good thing about competition in your industry: it is anathema to getting nothing done. You know those projects that just keep acquiring more and more developers and turn into a giant J2EE circle-jerk, but never really accomplish much, expecially given the huge amount of expenditures? The kind of thing that large companies love? Not much fun, kind of morale killing? Competition does a number on those kind of money-wasting projects and encourages those that actually get something done.
Most people I've met would rather be working on something meaningful and useful than something awful.
If I sell someone, say, dial-up Internet access, I'm probably charging them $20 a month.
I don't know what percentage of that is profit, but it cannot be very high.
To have someone on the phone tying up some guy I have in tech support for say, twenty minutes probably blows away all the profit I made from them during that month and the next. There just isn't enough profit involved to do much.
Purchasers can't easily evaluate customer service when purchasing an item, but can evaluate price easily. Given this, there's a lot of pressure to reduce support costs. It's expensive having talented engineers who can speak well to people and don't get upset sitting around in chairs waiting for calls to come in. Hiring absolutely rock-bottom cheap workers to read off flow charts to filter out all those people who are unable to read an identical flow chart online helps reduce costs. Having a call backlog also helps, as it ensures that you aren't spending time with your support people doing nothing.
The problem is just the difficulty of selling to the consumer dedicated support.
Redhat is really an enterprise version of Linux that I would only recommend to medium-large businesses that want the reassurance of having a supported version of Linux.
Fedora, on the other hand, is an excellent distribution as long as you are aware of and comfortable with what you are getting.
The problem is that companies like mysql etc provide a number of services that require capital investment -- regression QA, packaging, marketing, support etc.
You can go buy your marketing service if you want it.;-)
I'll grant that there are services that are provided by OSS companies but not by OSS volunteers that are useful, but I'm also somewhat stuck on the fact that I've done quite well without those services, and can't help suspecting that others might as well.
I'd say that packaging and marketing are not really essential to the functioning of the product (they're just an artifact of the current product-creation funding mechanism that our society uses). Regression testing is done by a number of volunteer OSS projects, and support exists in a different form than that provided by a company (I am more comfortable with this format, but I can understand how someone might not be).
I wonder what percentage of Oracle users actually have technical justification (based on a missing feature that they actually need) to buy Oracle instead of just using Postgres or similar.
You start hyping. You have to make sure that your customers know that YOUR, and only YOUR accessories offer the value they're looking for. You NEED those earplugs, because they're original and without, the iPod is no longer cool. You NEED our case because only with it, you show the world that you have the original and only then you are part of the family.
Apple may be pretty good at herding consumers, but they're absolutely nothing compared to, say, De Beers. De Beers created the diamond ring as a cultural item less than a hundred years ago. Now, you have to give your lady love a diamond ring -- no alternatives.
The story I linked to is pretty interesting -- if you have a couple minutes, it's a worthwhile read.
'Jobs' announcement of a new leather case for the iPod was especially ridiculous. Like the queen announcing a new toaster in Buckingham Palace. It seemed odd that Jobs was troubling himself to introduce fashion accessories to Apple's products.
Think about it.
A marketer tried to get the best currently-new offering from a company to sell better.
It's the exact same thing that any marketer, anywhere around the world would do.
If you watch QVC, you can see salesmen doing the same deal for thing after thing, time after time. ("This ball of twine is the most amazing, lifechanging thing ever!")
It's just good business. Apple isn't going to churn out something like the introduction of the Apple, the Macintosh, or the iPod every year. Matter of fact, if you count those lines, they've been managing better than one lucrative industry-changing product line a decade, which is pretty damn good.
The only unusual thing is that some Mac users seem to take a polling approach instead of a event-triggered approach to being notified about new Apple products (which means that sometimes, there isn't much there).
Of course, we also found that we were suffering from "video game tummy", until we stumbled upon DDR (Dance Dance Revolution). All of a sudden there was another game, one that involved some exercise, that also keeps all of us interested, but also draws in the other kids. They all want to play. It's one of the few activities (short of watching "Finding Nemo"...again...) that everyone gets into.
Meanwhile, every time a new DDR title is released, thousands of downstairs-apartment-owning tenants cry out in agony...
Re:It's today's version of the slide projector
on
A History of Flickr
·
· Score: 0, Troll
there is a certian 'je ne sais quoi' that B/W has.
Okay, I'll bite -- why? (I'll assume you aren't just being tautological and defining any non-buggy multithreaded program as "trivial"!)
No, it's not a tautological statement. And, actually, it's probably too strong (120 characters isn't much to say something in). It's a statement about engineering, not about computer science. Futhermore, I was thinking of systems without "hard" priority levels -- RTOSes have legitimate reasons for use of hard priority level threading. However, this is not the case for almost all multithreaded Windows software out there. There probably do exist some preemptively multithreaded systems out there that are written correctly. However, it's far less in the "too strong" realm than most people would probably buy at first.
I've found that preemptively multithreaded systems seem to very, very commonly have synchronization problems. This is due to a number of factors:
1) Writing multithreaded software correctly requires solid knowledge of multithreaded design. This is not something that you can simply pick up a book and learn or take a class and be guaranteed that ability at the end -- it requires a very different way of thinking. I have worked with very experienced engineers (quite competent ones) who have produced designs that they were *certain* were right...only to have scads of synchronization problems turned up. I am amazed by the number of people who fully believe that they understand how to design and implement threaded code and yet cannot produce solid designs. It is a simply overwhelming number. I have yet to meet the person who I would trust to write a multithreaded system that I would trust my life to. I am willing to believe that such a person exists; however, they are dwarfed by the hordes of people who believe that they can properly design multithreaded systems but simply fail to do so (and worse, do not understand that they have failed to do so).
2) Synchronization problems are very easy to introduce, but very difficult for someone else to find while examing the system. If an engineer makes a typing error, we have statically-typed language compilers that can catch the error. We do not have (at least widespread, and in the mainstream) tools for so statically identifying threading errors.
It very easy to use threads incorrectly and hard to use them correctly -- it's easy to say "oh, I won't synchronize this here, and I'll go back and handle it later if we use this for anything other than my current hack", because writing a correct threaded system may require significant changes to existing synchronization design.
Basically, the failure mode for threads is bad compared to most other language features -- it takes effort to correctly design a threaded system, and the result of a misdesigned system is often a very difficult to produce bug that comes up unexpectedly and can cause a wide range of problems. Contrast this with a single-threaded event-driven program -- if a mistake regarding interaction with other tasks is made here, it will probably manifest itself as taking too long to complete a particular chunk of work. The problem is generally easy to localize, and it is generally easier to reproduce.
3) Many synchronization problems with preemptively multithreaded code are essentially impossible to catch with routine testing; their failure rate is very low. Furthermore, even (expensive) full-coverage testing does not necessarily expose synchronization problems.
4) While this is not an inherent reason for failure, it is a reason why threads are overused. Threads "demo" well -- disproportionately better than they perform in the real world. For a language feature to be widely accepted, it is important to be able to produce a trivial example where code using the feature greatly benefits. It is possible to create a trivial threaded example where a thread operates in complete isolation from the rest of the system (the sort of thing that a Unix programmer would use multiple processes for). The problem is that th
Linux is a very popular platform for researchers to try out new kernel ideas in a real-world system, like networking protocol ideas. This is for a number of reasons (it's well-written, it's easy to hack on, it's open source and doesn't have any weird restrictions, it's free, it's already popular among CS folk, etc.
I'm not familiar with the particulars of SCTP, but just the fact that this is available under Linux (and perhaps that some (all?)) distros make it available by default does not mean that MS is trying to squash the standard. They just have different interests.
Microsoft is a business, and a very conservative one (for the technology industry, at any rate). Unless they have demands from their large corporate customers for a feature, or they think it's going to expand their market, they have little reason to include said feature. It's irrelevant to them whether their own acceptance of something is essential to it catching on -- if you can't make a business case for it, they aren't going to put something into the kernel. That doesn't happen because Microsoft is being particularly antisocial. They're just a business, and they function with certain limitations, as such.
Linux (well, Linus's tree -- I'm sure Novell has their own kernel tree) is built by a bunch of engineers who, as a whole, have no business constraints to worry about. They're interested in making the best technical system possible. Sure, maybe IBM's not going to fund engineers to add Coda support to Linux, but if Linus says "yes, this is technically good", it can go into Linux if someone else wants to write it.
Thus, you have a suit at the highest echelon in one system, and an engineer at the highest echelon (in one tree -- another way in which Linux ensures competition) in the other system.
The case that a libertarian or other hard-core free-markets-no-matter-what advocate would probably make would have is that nobody can have an influential monopoly on the market (not true in this case) and so if someone does something sub-optimal for the customer, they will quickly lose business to the competition.
Now, I don't know whether SCTP is a good idea or not. I'm just pointing out that there are times that having *any* business control the bulk of the market is going to lead to suboptimal handling of consumer interests -- that business need not be Microsoft.
That's great, as long as you're the only one that uses your network.
What sucks is when some pompous asshat says "no, I can't provide you with a mechanism to accept incoming connections" or "no, you can't open an outgoing ssh connection".
Slashdot indexes interesting articles and lets us discuss them.
The problem is that some stupidly large chunk of articles in news sources *are* lightly-modified press releases. Because, well, that's just how news works these days.
All you're seeing is a reflection of what the news sources are doing.
Granted, Slashdot can focus more on blogs and so forth than news sources (honestly, the most interesting and in-depth articles do seem to usually come from sources other than conventional news articles). However, it would probably be pretty easy to just write a script that scans each Slashdot article summary for links, and checks to see if those links are to some list of conventional news sources that you dislike and just filter out those articles.
I've been pretty happy with the BBC and other British news sources. C|Net seems to usually be pretty good. I like Economist articles -- they're long enough to have excellent, informative articles. NASA and the ACM seem to be pretty good. The New Scientist seems to get a lot of IMHO bizarre articles referenced on Slashdot -- I dunno about them. If the NYT didn't have that godawful registration, they'd range from not-so-good to pretty-darn-good. On the other hand, CNN tends to do puff pieces -- an attention-grabbing headline, lots of emotional appeal, and then not much in-depth content (and while I dislike Bush, their mudslinging over even trivial things reaches the ridiculous). Fox News...well, I don't think we even need to go there.
In 1952, Turing was convicted of acts of gross indecency after admitting to a sexual relationship with a man in Manchester. He was placed on probation and required to undergo hormone therapy. When Alan Turing died in 1954, an inquest found that he had committed suicide by eating an apple laced with cyanide.
1954: Gay-bashing sets back computer science by years.
And this from a country where his cryptography work during War War II had saved we-can-only-guess-how-many lives of his countrymen.
It isn't simply becoming a-religious though; religion is being replaced in our society even more than it has before by the indirect worship of materialism.
Despite the fact that Christianity tries to hijack the use of the word "good", you can be a perfectly nice person without believing in the translated political ravings of long-dead cult leaders. The only alternative to Christianity is *not* materialism, cruelty, etc.
You need not be greedy or obsessed with consumerism to reject Christianity.
RFID reminds me of XML. It does have some limited applications, but we hear way, way too much about them relative to their actual benefit.
We already have barcodes. Barcodes are reliable, cheap, can be quickly read, and work well for most goods. If you have many boxes of something being shipped somewhere, it's much more reasonable to just slap barcodes on the boxes.
RFID is handy for objects that are all different shapes and sizes, where a failure rate is acceptable (just pass it back through the reader until it beeps, like we do with barcodes today). The obvious application is retail checkout -- but beyond that?
People have vastly inflated notions of the locational accuracy that can be obtained with an RFID tag, as well as the failure-to-read rate, how easy it is to avoid blocking the tag's transmission (your hand will block the read), the range at which the tag can be read, and so forth.
The reason people need to outsource is that the US has an unsustainably high standard of living. When a plumber or Garbage truck driver in the US earns more than a rocket scientist in other countries somewhere the extra amount of money has to be brought in. If Engineers and IT people want the same benefits of being American that Garbage truck drivers and Dockworkers have then they too should put time and effort into forming unions. If not dont blame management for trying to balance the books through outsourcing. You want a really fair system make it so that anyone from the poorest country can come to the US and do the low end jobs. Soon the cost of living will be low enough in the US to be able to compete on salaries with any other country. Or be like the Doctors and Lawyers who use the law from preventing foreign competition.
Unskilled native US laborers know that masses of Mexican (or otherwise) immigrants would be the death knell for their subsidized lifestyle (and they would lose their political power that they use to keep more citizens from coming in.) As a result, there is heavy opposition to allowing that immigration -- hence quotas and all the barriers put in place to make it difficult to become a US citizen. Slashdot has a population of people that are skilled workers in vast disproportion to the general US population, which is why you get very little dislike of immigration here -- just outsourcing.
People can exhibit very, very extreme behavior when their jobs are threatened. The xenophobia in Germany against Jewish immigrants was largely just an expression of upset over the job market. The US Great Depression had spread into other countries and Germany's economy was badly hurt, with very high unemployment. At the same time, Jews were disproportionately highly educated, and thus often became professionals. Since this was a class of people that was gaining increasingly in power and wealth relative to unskilled labor and the nobility (which had been clobbered by the Weimar Republic), they were targetted.
My first Dell issue happened within hours of turning it on. Some application, that I have yet to isolate, insists on trying to load (twice a day) a non-existent file called "Timer.txt".
Windows is no Linux, even with a sizeable collection of free utilities, but you can at least make it palatable.
Use filemon to find the offending process.
My second Dell issue concerns the USB ports. 5 USB 2 ports on the back and 2 on the front, and I normally use most of them -- (1) USB hub for wireless keyboard, (2) USB mouse, (3) USB wireless LAN, (4) USB 3-speakers system, (5) external USB DVD+RW drive (as Dell wanted too much for the internal one, so I went for internal DVD-ROM), and (6) USB hard drive.
You may be simply drawing too much power. Try purchasing an inexpensive *powered* USB hub. Plug that into the computer and plug some of the devices into it (as a bonus, this provides a rather more conveniently locatable thing to plug things into).
The problem is that hard drive failure is so serious an issue that operating systems will understandably make it priority number one and other programs/operations will suffer performance problems or worse (or even worse).
It's not the priority, but the fact that things like the pagefile being on the hard drive and executable code being on the hard drive causes some operations (like memory accesses or simply trying to execute a chunk of code) to take incredibly long.
Computers normally do a good job of faking "multi tasking" but NMI (non-maskable interrupts) rain on that parade.
I could be wrong, but I don't think that a media read error will produce an NMI.
India is seeing something like what we did during about 2000. They are seeing an extremely rapid influx of money into IT, and phenomenal growth in that job market.
.com boom -- lots and lots of people who absolutely should not have been hired to do what they are doing are working in the area, and there is a large chunk of the market that is unskilled. Remember all the horrible, awful, terrible websites made by overpaid people who barely knew what they were doing? Yeah. Think of the same thing, but in a different country.
Not surprisingly, this is having exactly the same effect as it did in the United States during the
India will straighten up their act, the same as we're doing. People and companies will start building reputations, the growth will slow to stability, etc. Not every Indian comp.* Usenet poster will be clueless. It'll just take some time.
Free markets are not the end-all-be-all of every system.
They are a powerful tool in that they are stable (assuming a certain degree of government oversight). Also, if certain assumptions are met (consumers can be approximated as being informed, so many providers of a good exist that they can be approximated as a fluid) they can produce fairly efficient output. Plus they solve problems that other systems fall prey to where one person is trusted and abuses his position, thus breaking the system.
However, "stick it on the free market" is *not* always the right answer.
From the article "A 2005 Gartner study predicts"
I don't have very much faith in the practical usefulness of Gartner studies. They seem to be rather favorable of whomever pays for their study.
Oh Slashdot, why are you being so left wing?
Well, let's suppose that you are an unemployed techie. What do you do (aside from, hopefully, looking for a job)?
You have all day to read (and thus post to) Slashdot.
Just pointing out that Slashdot post count may not be a representative sampling of techies.
Also, I wanted to point out one good thing about competition in your industry: it is anathema to getting nothing done. You know those projects that just keep acquiring more and more developers and turn into a giant J2EE circle-jerk, but never really accomplish much, expecially given the huge amount of expenditures? The kind of thing that large companies love? Not much fun, kind of morale killing? Competition does a number on those kind of money-wasting projects and encourages those that actually get something done.
Most people I've met would rather be working on something meaningful and useful than something awful.
Some of the problem is simply cost.
If I sell someone, say, dial-up Internet access, I'm probably charging them $20 a month.
I don't know what percentage of that is profit, but it cannot be very high.
To have someone on the phone tying up some guy I have in tech support for say, twenty minutes probably blows away all the profit I made from them during that month and the next. There just isn't enough profit involved to do much.
Purchasers can't easily evaluate customer service when purchasing an item, but can evaluate price easily. Given this, there's a lot of pressure to reduce support costs. It's expensive having talented engineers who can speak well to people and don't get upset sitting around in chairs waiting for calls to come in. Hiring absolutely rock-bottom cheap workers to read off flow charts to filter out all those people who are unable to read an identical flow chart online helps reduce costs. Having a call backlog also helps, as it ensures that you aren't spending time with your support people doing nothing.
The problem is just the difficulty of selling to the consumer dedicated support.
You are the first second generation Slashdotter that I'm aware of.
Redhat is really an enterprise version of Linux that I would only recommend to medium-large businesses that want the reassurance of having a supported version of Linux.
Fedora, on the other hand, is an excellent distribution as long as you are aware of and comfortable with what you are getting.
The problem is that companies like mysql etc provide a number of services that require capital investment -- regression QA, packaging, marketing, support etc.
;-)
You can go buy your marketing service if you want it.
I'll grant that there are services that are provided by OSS companies but not by OSS volunteers that are useful, but I'm also somewhat stuck on the fact that I've done quite well without those services, and can't help suspecting that others might as well.
I'd say that packaging and marketing are not really essential to the functioning of the product (they're just an artifact of the current product-creation funding mechanism that our society uses). Regression testing is done by a number of volunteer OSS projects, and support exists in a different form than that provided by a company (I am more comfortable with this format, but I can understand how someone might not be).
I wonder what percentage of Oracle users actually have technical justification (based on a missing feature that they actually need) to buy Oracle instead of just using Postgres or similar.
The inverse of that worked pretty well for the antitrust Microsoft trial.
You start hyping. You have to make sure that your customers know that YOUR, and only YOUR accessories offer the value they're looking for. You NEED those earplugs, because they're original and without, the iPod is no longer cool. You NEED our case because only with it, you show the world that you have the original and only then you are part of the family.
Apple may be pretty good at herding consumers, but they're absolutely nothing compared to, say, De Beers. De Beers created the diamond ring as a cultural item less than a hundred years ago. Now, you have to give your lady love a diamond ring -- no alternatives.
The story I linked to is pretty interesting -- if you have a couple minutes, it's a worthwhile read.
It should be even more basic than that.
'Jobs' announcement of a new leather case for the iPod was especially ridiculous. Like the queen announcing a new toaster in Buckingham Palace. It seemed odd that Jobs was troubling himself to introduce fashion accessories to Apple's products.
Think about it.
A marketer tried to get the best currently-new offering from a company to sell better.
It's the exact same thing that any marketer, anywhere around the world would do.
If you watch QVC, you can see salesmen doing the same deal for thing after thing, time after time. ("This ball of twine is the most amazing, lifechanging thing ever!")
It's just good business. Apple isn't going to churn out something like the introduction of the Apple, the Macintosh, or the iPod every year. Matter of fact, if you count those lines, they've been managing better than one lucrative industry-changing product line a decade, which is pretty damn good.
The only unusual thing is that some Mac users seem to take a polling approach instead of a event-triggered approach to being notified about new Apple products (which means that sometimes, there isn't much there).
Somewhere, the poor schmuck that owns bar.com has been probably getting years of spam at that address.
Of course, we also found that we were suffering from "video game tummy", until we stumbled upon DDR (Dance Dance Revolution). All of a sudden there was another game, one that involved some exercise, that also keeps all of us interested, but also draws in the other kids. They all want to play. It's one of the few activities (short of watching "Finding Nemo"...again...) that everyone gets into.
Meanwhile, every time a new DDR title is released, thousands of downstairs-apartment-owning tenants cry out in agony...
there is a certian 'je ne sais quoi' that B/W has.
:-)
Snobbery?
Okay, I'll bite -- why? (I'll assume you aren't just being tautological and defining any non-buggy multithreaded program as "trivial"!)
No, it's not a tautological statement. And, actually, it's probably too strong (120 characters isn't much to say something in). It's a statement about engineering, not about computer science. Futhermore, I was thinking of systems without "hard" priority levels -- RTOSes have legitimate reasons for use of hard priority level threading. However, this is not the case for almost all multithreaded Windows software out there. There probably do exist some preemptively multithreaded systems out there that are written correctly. However, it's far less in the "too strong" realm than most people would probably buy at first.
I've found that preemptively multithreaded systems seem to very, very commonly have synchronization problems. This is due to a number of factors:
1) Writing multithreaded software correctly requires solid knowledge of multithreaded design. This is not something that you can simply pick up a book and learn or take a class and be guaranteed that ability at the end -- it requires a very different way of thinking. I have worked with very experienced engineers (quite competent ones) who have produced designs that they were *certain* were right...only to have scads of synchronization problems turned up. I am amazed by the number of people who fully believe that they understand how to design and implement threaded code and yet cannot produce solid designs. It is a simply overwhelming number. I have yet to meet the person who I would trust to write a multithreaded system that I would trust my life to. I am willing to believe that such a person exists; however, they are dwarfed by the hordes of people who believe that they can properly design multithreaded systems but simply fail to do so (and worse, do not understand that they have failed to do so).
2) Synchronization problems are very easy to introduce, but very difficult for someone else to find while examing the system. If an engineer makes a typing error, we have statically-typed language compilers that can catch the error. We do not have (at least widespread, and in the mainstream) tools for so statically identifying threading errors.
It very easy to use threads incorrectly and hard to use them correctly -- it's easy to say "oh, I won't synchronize this here, and I'll go back and handle it later if we use this for anything other than my current hack", because writing a correct threaded system may require significant changes to existing synchronization design.
Basically, the failure mode for threads is bad compared to most other language features -- it takes effort to correctly design a threaded system, and the result of a misdesigned system is often a very difficult to produce bug that comes up unexpectedly and can cause a wide range of problems. Contrast this with a single-threaded event-driven program -- if a mistake regarding interaction with other tasks is made here, it will probably manifest itself as taking too long to complete a particular chunk of work. The problem is generally easy to localize, and it is generally easier to reproduce.
3) Many synchronization problems with preemptively multithreaded code are essentially impossible to catch with routine testing; their failure rate is very low. Furthermore, even (expensive) full-coverage testing does not necessarily expose synchronization problems.
4) While this is not an inherent reason for failure, it is a reason why threads are overused. Threads "demo" well -- disproportionately better than they perform in the real world. For a language feature to be widely accepted, it is important to be able to produce a trivial example where code using the feature greatly benefits. It is possible to create a trivial threaded example where a thread operates in complete isolation from the rest of the system (the sort of thing that a Unix programmer would use multiple processes for). The problem is that th
That's not necessarily fair to MS.
Linux is a very popular platform for researchers to try out new kernel ideas in a real-world system, like networking protocol ideas. This is for a number of reasons (it's well-written, it's easy to hack on, it's open source and doesn't have any weird restrictions, it's free, it's already popular among CS folk, etc.
I'm not familiar with the particulars of SCTP, but just the fact that this is available under Linux (and perhaps that some (all?)) distros make it available by default does not mean that MS is trying to squash the standard. They just have different interests.
Microsoft is a business, and a very conservative one (for the technology industry, at any rate). Unless they have demands from their large corporate customers for a feature, or they think it's going to expand their market, they have little reason to include said feature. It's irrelevant to them whether their own acceptance of something is essential to it catching on -- if you can't make a business case for it, they aren't going to put something into the kernel. That doesn't happen because Microsoft is being particularly antisocial. They're just a business, and they function with certain limitations, as such.
Linux (well, Linus's tree -- I'm sure Novell has their own kernel tree) is built by a bunch of engineers who, as a whole, have no business constraints to worry about. They're interested in making the best technical system possible. Sure, maybe IBM's not going to fund engineers to add Coda support to Linux, but if Linus says "yes, this is technically good", it can go into Linux if someone else wants to write it.
Thus, you have a suit at the highest echelon in one system, and an engineer at the highest echelon (in one tree -- another way in which Linux ensures competition) in the other system.
The case that a libertarian or other hard-core free-markets-no-matter-what advocate would probably make would have is that nobody can have an influential monopoly on the market (not true in this case) and so if someone does something sub-optimal for the customer, they will quickly lose business to the competition.
Now, I don't know whether SCTP is a good idea or not. I'm just pointing out that there are times that having *any* business control the bulk of the market is going to lead to suboptimal handling of consumer interests -- that business need not be Microsoft.
That's great, as long as you're the only one that uses your network.
What sucks is when some pompous asshat says "no, I can't provide you with a mechanism to accept incoming connections" or "no, you can't open an outgoing ssh connection".
Slashdot indexes interesting articles and lets us discuss them.
The problem is that some stupidly large chunk of articles in news sources *are* lightly-modified press releases. Because, well, that's just how news works these days.
All you're seeing is a reflection of what the news sources are doing.
Granted, Slashdot can focus more on blogs and so forth than news sources (honestly, the most interesting and in-depth articles do seem to usually come from sources other than conventional news articles). However, it would probably be pretty easy to just write a script that scans each Slashdot article summary for links, and checks to see if those links are to some list of conventional news sources that you dislike and just filter out those articles.
I've been pretty happy with the BBC and other British news sources. C|Net seems to usually be pretty good. I like Economist articles -- they're long enough to have excellent, informative articles. NASA and the ACM seem to be pretty good. The New Scientist seems to get a lot of IMHO bizarre articles referenced on Slashdot -- I dunno about them. If the NYT didn't have that godawful registration, they'd range from not-so-good to pretty-darn-good. On the other hand, CNN tends to do puff pieces -- an attention-grabbing headline, lots of emotional appeal, and then not much in-depth content (and while I dislike Bush, their mudslinging over even trivial things reaches the ridiculous). Fox News...well, I don't think we even need to go there.
i always hate it when my references dangle. (so embarrassing. :)
You should free them.
In 1952, Turing was convicted of acts of gross indecency after admitting to a sexual relationship with a man in Manchester. He was placed on probation and required to undergo hormone therapy. When Alan Turing died in 1954, an inquest found that he had committed suicide by eating an apple laced with cyanide.
1954: Gay-bashing sets back computer science by years.
And this from a country where his cryptography work during War War II had saved we-can-only-guess-how-many lives of his countrymen.
Sad.
It isn't simply becoming a-religious though; religion is being replaced in our society even more than it has before by the indirect worship of materialism.
Despite the fact that Christianity tries to hijack the use of the word "good", you can be a perfectly nice person without believing in the translated political ravings of long-dead cult leaders. The only alternative to Christianity is *not* materialism, cruelty, etc.
You need not be greedy or obsessed with consumerism to reject Christianity.
RFID reminds me of XML. It does have some limited applications, but we hear way, way too much about them relative to their actual benefit.
We already have barcodes. Barcodes are reliable, cheap, can be quickly read, and work well for most goods. If you have many boxes of something being shipped somewhere, it's much more reasonable to just slap barcodes on the boxes.
RFID is handy for objects that are all different shapes and sizes, where a failure rate is acceptable (just pass it back through the reader until it beeps, like we do with barcodes today). The obvious application is retail checkout -- but beyond that?
People have vastly inflated notions of the locational accuracy that can be obtained with an RFID tag, as well as the failure-to-read rate, how easy it is to avoid blocking the tag's transmission (your hand will block the read), the range at which the tag can be read, and so forth.