This article makes a number of very valid points. Certainly linux performance on low-end hardware is markedly superior to NT, but the question is, how many people deploy such hardware in production? Of course, that's not to say that there's no place for low end deployments, but the skilled engineer picks the right took for the right job in any situation. If I had a very low budget and just needed to deploy personal homepages and a POP3 server, for example, then linux would be a good choice (along with *BSD, naturally).
If the question is "how many people deploy low end solutions?", then it is important to note that the situation being tested has no relation to the real world. If someone needed to serve thousands of static pages per second, they would be out of their gourd to select a quad Intel box in the first place, regardless of OS. Better to have a small, cheaper farm of lesser computers to do this job.
Given that one has chosen Linux on any hardware platform for this task, one would also be out of one's gourd to choose Apache. Apache engineers will tell you this. Apache is built for flexibility at the expense of performance. Thus, the simpler the job, the slower Apache is, on any platform, for the job.
If you are comparing OS speeds for Web serving, either use the same Web server on both sides or use optimal Web servers on each platform. Apache engineers will be the first to admit that other Web servers can outperform Apache, on any platform, for this test.
But for high volume dynamically generated content, for example, or commerce, or databases, NT is more mature and benefits from being developed by engineers rather than hackers. DEC, from whence Cutler came, are very serious about this.
Maturity is relative. NT has more runtime hours than Linux, so there has been a longer time to detect bugs. Linux, due to its huge potential developer base, may well have more developer hours invested in it. It also has more debugging hours invested in it, because most Linux users are potential debuggers. When NT fails, one just reboots. When Linux fails, one often looks at the messages file (or has a sysadmin do the same) and track it through the tech support infrastructures.
The specification for Linux draws heavily from Unix, which is an incredibly mature model for high-volume computing. Most of the specification for Linux predates DOS, never mind any flavor of Windows.
Linux is developed by engineers at their best. The best engineers are hackers, really; they're the ones who build software for the love of building software. And Linux hackers contribute with only their best.
If you are building a commercial software product, you are expected to put 5-6 days of work into the project each week. You cannot maintain top productivity, top quality, on that sort of a schedule. Employers understand this, and they deal with it. The code produced in a commercial setting tends to be "good enough".
When someone contributes software, the same drive that causes them to want to do something like this for no money causes them to work at peak performance. It also causes them to work at precisely what they're good at. Sure, they may only put in 100 hours in 3 months, but you will get their best 100 hours, easily worth 3-400 average engineering hours. Commercial software is produced by marathon. Free software is performed by relay sprint.
Besides, if commercial OSs are superior by virtue of being developed by engineers rather than hackers (that is, by virtue of being commercial), then why are shops like Sun putting so much effort and money into Linux? Methinks that the Solaris guys see something in Linux that they envy, and I don't think that it's just the salaries.
However, for midrange work, linux simply isn't up to par yet. I seem to recall Linus himself stating that he believed OS design was well understood by the 1970s, and he considers microkernels to be "stupid", plan9 to be "stupid" etc etc. Whatever you think of Linus' talents as a kernel hacker, the fact remains that Linux works. It works in commercial production environments. Sysadmins have been disobeying management by deploying Linux where NT was requested--and they've been doing it for years. This isn't politics.
A sysadmin has one overriding virtue: laziness. Larry Wall gave us the prototype: more on this in the Camel book. They want to do the job once, they want to do the job right, and they want to forget the whole affair afterwards. These sysadmins have been putting Linux in back because they do their jobs and are easy to handle--and because the performance boost gives them fewer boxes to administer (and fewer hassles with acquisition budgets).
While he is undoubtedly a highly talented programmer, I think that there are engineers in the world who are at least, if not more, skilled working for Sun, CMU, Microsoft, DEC and suchlike whose work has proved Linus to be very wrong. And as such, linux is crippled.
Linus doesn't have to be the best programmer on the planet. In fact, he needs never write another line of code. There probably are better kernel hackers writing code for their respective companies--and also writing code for Linux.
Linux isn't an optimal OS. There are places that it is the best one out there, and other places where it does poorly. Like every OS, however, it evolves. Its openness simply lets it evolve faster than the competition. Per Darwin, evolve or die.
It doesn't matter how wrong Linus is in his coding, because it does well enough for commercial use today. Maybe microkernels have overriding advantages. GNU has a microkernel OS (GNU Hurd) in beta or GA by now. If it outperforms Linux, it will only be a matter of time before somebody crosspollenates them. Then RMS will have a better case to call it GNU/Linux. Whenever somebody finds a major improvement one can make to an OS, somebody else will port that improvement to Linux. Perhaps every line of Linus' original code will be optimized out.
Linux is far from crippled. By my lights, it is the first OS to sprout wings.
I'm no defender of Gates at all. But accusations that he isn't a programmer are unfair.
Remember the Altair8080? Recognised as the first PC way back in the heady days of '72, Gates and Allen wrote a version of BASIC to allow users to program for it in a way other than flicking switches. Not to put too fine a point on it, this was quite a programming achievement at the time and this alone is enough in my mind, for the MS founders to be given at least a little respect.
Was, not is. Bill Gates is not a programmer, just as O.J. Simpson is not a football player. They both were decades ago.
Actually, it's kind of sad. Gates could have been an uberhacker, and was making large strides down that path. But it has been said that the greatest of the angels was the first to fall. The story of Microsoft would have made a great Shakespearian five-act tragedy.
In my book, Gates earned a lot of respect as a programmer. He has since squandered every bit of it and gotten into some serious zorch debt with me. I respect him as a fellow human being; nothing more and nothing less.
InfoWorld, Volume 21, Issue 19 (May 10, 1999) has a notice on page 14. The last line:
"Look for InfoWorld's file and print benchmarks of NT 4.0 vs. Linux in next week's issue."
The Linux community can't put together a benchmark that looks independant (whether it is or not) for the same reasons Microsoft can't: both are interested parties. Sometimes the best thing to do is wait for someone else (e.g. the trade rags) to do the job.
Amusingly, Microsoft's mention of The Linux Community points to a Slashdot story. Smile, you're on NT Camera!
You couldn't really call it "The Linux Community, Inc." without actually incorporating it. Doing that would piss of the hard-core Linux hackers (distros can be corporate, but Linux itself cannot). How about "The Linux Community, Uninc." (unincorporated)?
I don't really think NT is a better OS. However I suspect that even if I was proved wrong by empirical data, the majority of the Slashdot community wouldn't believe it. They would deny it, and call it flawed.
I would deny such empirical evidence because I have seen the evidence myself. I run both NT and Linux, and work with access servers of both types. The Linux box does more with less hardware. It stays up longer.
If NT were faster, I wouldn't need Microsoft telling me so. I'd have seen it myself. For at least some (I suspect most) of us Slashdotters, we don't like Linux because it's cool, hip, or countercultural. We like Linux because it works better than anything else for most of what we need to do.
Show me numbers telling me that NT outperforms Linux in reliability or speed, under all but pathological cases (and the Mindcraft test is pathological--perverted beyond any real-world applicability), and I will deny them. Unlike a fundamentalist, I do not deny them by faith. Like a true hacker, I deny them by experience.
All the uptime figures in the world don't change the fact that I have to reboot my NT machine every week while my Linux box stays up until the chips blow. All the feature set listings don't change the fact that I can easily administer my Linux machine over a 28.8 modem, saving me an hour in driving time. All the performance numbers don't change the fact that my sizeable network now relies on a base Pentium with Red Hat as the augmented FTP server, where a P2/300 would be minimal for a similar NT solution.
When statistics deny reality, I will deny statistics over reality any day. When NT stays up and does its job quickly, I will be duly impressed. I won't need a page of figures to tell me, though; just an upgrade.
I think that we're agreeing, then. I was not arguing for the right to copy said music (or book, or whatever). I was arguing that one has to have some rights over using the copy of that material in your own head. The right to influence is required, but the right to copyright outright is not required by my arguments.
Of course, then it's up to the lawyers to draw the line between influence and outright copying. After hearing "Money for Nothing", I can write another song about the rich life of a rock star (that's influence), but I can't just cover the song without clearing it with Dire Straits' label (that's outright copying). Writing a song with the line "I want my MTV" blurs the line a bit (doubly so; did MTV have a trademark on that tagline?). Unfortunately, law often has to deal with these fuzzy logic situations...
Damn! I've seen banner ads for something that claims to do exactly that. I'm pretty sure I've seen them right on Slashdot.
Even if I'm just inhaling too much magic smoke (Hmmm...the power outlet says 240 volts...my monitor should want that sort of voltage, right?), how hard can it be to get Linux binaries running on NT?
Of course, I have trouble getting anything to run on NT, but some people can get this to work. In all reality, we should just have to implement the Linux ABI as a DLL. Since the Linux ABI is fairly well documented, at least in an RTFS sort of way, this should work. People seem to be getting fairly far getting NT apps to run on Linux with WINE; the reverse hack should be easier as the Linux ABI is better documented than the Win32 ABI.
One destroys an enemy's commmunications infrastructure in order to confuse the government and military, as well as to prevent governmental propaganda. Killing Internet feeds won't change that; in fact, it would seem to be counterproductive to the NATO mission (whether you agree with said mission or not).
If the Serbian government and military are communicating via Internet, they are being patently stupid. Were I a NATO general, the last thing I would want to do would be to stop this communication. My first instinct would be to petition the US for NSA resources. Crack the transmissions, then use the intercepted data and insert our own datastreams. The NSA has a literal army of Federal crackers, and the general assumption is that they are competent.
I have yet to hear of a government harnessing the Internet for propaganda purposes; I'm not quite sure that it is technically possible. Remember Kremvax during the Russian coup attempt? IIRC, that was the only reliable datastream into or out of Moscow.
If the NATO mission is to get the people and/or military to rise up against the Milosovic regime, you want to destroy Government-controlled media while assaulting all possible bandwidths with your own media. Assuming Milosovic doesn't control the Internet feeds (how could he?), those feeds are more subversive than Radio Free Europe.
Milosovic has all the reasons to isolate Serbia's Internet from the global net, but NATO has all the reasons to keep those connections open. Of course, NATO may have still selected Internet feeds as targets for other reasons, or not thinking about the exceptional strategic uses of the Internet. How many geeks wear stars on their shoulders?
Arguably, hearing music infers a lot with respect to what one can and cannot do with it. I won't argue (at least here) that it infers that one can do anything with it, but people are not capable of complying with a demand to do nothing with it. Thus, a witness to copyrighted material (such as someone hearing a song) must be allowed to have some rights over that material. Denying those rights will succeed as well as repealing gravity; it is not that people will not comply, but that they cannot.
When a person receives information (such as hearing a song), they assimilate that information just like they assimilate breakfast. It becomes an inseperable part of them.
Such a relationship is at least ownership. Either I own my mind and body, or I have a stronger relationship with my mind and body. Any law that denies this natural fact is as bogus as a repeal of gravity.
Once I hear a song, I have it. Nothing short of disease or death will make me forget the first bars of "Money for Nothing". I will not comply with any law requiring me to forget it, because I cannot choose to forget it any more than I can flap my arms and fly.
I own...or, if you prefer, I include...terabytes of copyrighted material. I cannot separate them from myself. If I could and did, I would still be a viable human being, but would barely be recognizable as who I am today. I would certainly not be able to hold down any engineering position; removal of all the engineering savvy I learned from books would leave gaping holes in my head.
In a very real sense, hearing (or otherwise witnessing) copyrighted materials irrevocably changes the person. If you deny someone all rights to information they know (and this is not done in copyright law, you deny them the ability to use their own natural capabilities. You can deny them certain rights, but not all. You can't even deny all but certain rights, simply because we don't even understand all the ways that we use information.
One must grant all rights by default and deny certain rights by law. This is simply the nature of one's control over one's self. One cannot deny an innate capability (such as stomping one's foot) by default, but can deny particular capabilities (such as stomping one's foot on somebody else's face).
Merely hearing a song or reading a book makes the information therein an integral part of your being. I've never seen a law that would deny all rights to that information, only limited rights to it. Any law that denies all rights to it is delusionary--one may as well redefine Pi.
There are enough guru jobs out there. But, like Yoda, those who can best swing a debugger don't anymore, except in extreme circumstances. The best find that their talents can be best used to leverage others, by training, leading, or assisting them.
Management is not the Dark Side. PHB is the Dark Side. If you find yourself being pulled in that direction, follow the path of the CTO, and never forget where you came from. Actually grokking the biz, and grokking the people within the biz, can simply not be learned within an MBA program. Such talent is worth that of ten programmers, plus two.
The nice thing is that you will often make more money doing something you have a passion for than going into a more lucrative field without the passion.
I will go so far as to say that passion trumps competence as a factor in how well you will do in a position. If you can't program well, but passionately love to code, you will try to learn. You will either succeed and become competent (likely more than competent), or lose the thrill and go to something else.
Somebody with true passion has a real shot of getting into that top percentile in their field. And the top percent of professionals in a low-paying field is often paid better than a median professional in a high-paying field. Without passion, you will be close to median.
In short, the best carpenters out there make more money than the average programmers. If palm sanders and rotary saws float your boat more than TCP stacks and bogoMips, drop the mouse and pick up the hammer.
The two commercial secure FTP solutions are FileDrive (www.differential.com) and Connect:Mailbox (www.sterlingcommerce.com). Do these follow your draft? What commercial solutions do? Thanks in advance!
Still, my ftpd will eat up to 5% of my CPU running at ~1100 kbytes/s, so I can see where this TCP on-a-card sort of thing might come in handy for higher bandwidth stuff.
This is ESR's cycle of reincarnation in action.
Putting TCP on the ether card should allow some serious savings in CPU time, regardless of OS, if it's bus-mastering. For ftpd, the CPU should (in theory) set up a TCP connection with the card, open up a set of blocks (or a file; I'm no expert on this particular protocol) with a bus-mastering SCSI, and just let the disk flow to the card, or the card flow to the disk. Voila, file transfers that eat only the bus and not the processor.
I think that, in the cycle of reincarnation, we have been going from everything-on-the-processor to everything-on-separate-chips. We have separate video accelerator cards (ignoring the video cards themselves), we have SCSI to drop the I/O load off of the chip. People still haven't folded sound into the processor.
Between all this and the dearth of processor vendors, offloading TCP onto a card makes sense. The less load one places on one's processor, the less tied one is to the processor vendor. Today, people talk about having Intel or not. Imagine a world where people describe their computers by their net card type or memory vendor...
They are not impossible to write though. The Macro Virus argument is not even an OS issue; it is an issue of poor software implementation. You can bet if MS ported Word to Linux, that the macro viruses would come with it.
A macro virus has a limited blast radius in a Unix or Linux environment. If I let one go in my account, the virus runs with my permissions and can hose all of my files. It won't be able to do much more than trash my account; the programs, and everybody else's data (assuming good umasks) are safe. Those who run office software as root, of course, get what they deserve.
Only half a billion dollars? The good news is, I know a buyer. The bad news is, I know a buyer.
I remember one of the MS memos showing their concern with the high percentage of a computer price that is the OS license. I also remember one of their possible solutions was to build or buy a chip fab, and thus to lock you in at the chip level versus the OS level. Today, this is even more likely due to the shakiness of the Wintel alliance.
If they can do this, there will be serious trouble for the Linux community. One reason that Linux is so popular is that it runs on a cheap, open hardware platform.
If I were Bill Gates, I would be seriously considering a bid, and my largest concern would be sliding it past the DOJ. After all, he can put a EULA on a chip requiring you to run an MS operating system on it.
Many of the comments seen here have discussed the virtues of either taking Mindcraft up on their offer, or not. Not taking them up looks like a loss by default. Taking them up allows us to fight, but surrenders tremendous home-field advantage to Microsoft. We participate in their venue, and their preferred hardware. I see a third alternative.
This is to produce a Linux test on the same Mindcraft problem space. That is, solve the same problem (same Web site, same clients, same network). But do it on a Linux venue, and with Linux-friendly hardware. Invite Microsoft, invite Mindcraft, invite the press.
Don't duplicate the hardware. Use inferior hardware, where "inferior" means "posts smaller numbers or costs less". But an "inferior" part may have better Linux drivers. Some people have complained that the RAID controller isn't Linux friendly. Replace it with a cheaper unit that is Linux friendly. Others say that SMP is irrelevant to this problem for Linux, since the processor isn't the limiting factor. Go for a single processor, the same speed as one of the SMP processors.
The point here is not to do a head-to-head, but to post better numbers with cheaper hardware. Then we challenge Microsoft--not Mindcraft--to beat the Linux benchmarks on the Mindcraft problem and their hardware or less. We replace the "fair benchmark" with a "competitive benchmark". We replace the (weak) assumption that the test team is trying to be fair with the (strong) assumption that each side will pull out all stops to post high numbers. This is how sports teams compete (rather than having the refs measure how hard you can throw or how well you can catch, they let you do your best and simply maintain a fair venue). IMHO, Linux engineers can put together a Linux server that is faster than any NT server that NT engineers can create.
People have noted that this is an expensive machine to put together. For you and I, that is correct. For a company with a vested interest in the results, it's an investment. It's a better investment when the company can use the machine for real world applications such as Web service. Relatively sizeable guns such as Red Hat or VA Research can stand to turn an indirect profit from pulling this sort of thing off.
A Linux/NT bakeoff would actually benefit both sides (!). Once we blow their doors off with our numbers, MS will probably find a way to post bigger numbers. Then we tweak Linux, and post bigger Linux numbers. If MS posts bigger NT numbers by making NT a faster server, we have at least forced MS to improve their product. If MS falls down the trap of optimizing NT for this bakeoff and pessimizing it for the real world, we introduce another bakeoff test. OTOH, MS can keep us from optimizing Linux for this bakeoff by making new bakeoffs at any time--that way, they help keep us honest.
I've seen this in RL, too. I used to play live RPGs (take over a campus for a weekend, and beat each other up with foam rubber/PVC swords). The GMs had to stay in a central location for accessability, and weren't particularly wealthy. So, they wrote bribery into the game.
This game had gods in it, so the GMs were effectively playing those gods when needed. Their table was the "temple", and those who provided sacrifices would be rewarded.
Then my roommate showed up carrying two grocery bags. That's when the rest of us knew that we were doomed...
I don't expect SW:E1 to be bad. However, if it is, even the die-hard fans will stay away from it in droves. The precedent for this is Highlander 2: The Sickening (There Should have been Only One).
I consider myself a software engineer, and have been doing business under that title for years. Not only have I no training in software engineering, I have found no place that offers it. Even inside of Route 128.
I've seen a lot of programs for computer science, but that is worlds apart from software engineering. Computer science is getting computers to do amazing things--AI, image recognition, ray-tracing--the list changes every two years. Computer scientists boldly go where no code has gone before.
Software engineering, OTOH, is usually involved in doing something that has already been done--but doing it better. It took computer scientists at Xerox PARC to invent the X console. It took software engineers from Apple and Microsoft to pull it out of the lab and into a shrink-wrapped package.
Computer science is the science of making a computer do something new; damn the reliability or speed. Engineers are the next wave. They don't do as much, but their job is to make it usable, robust, and on time.
The only ways I know how to learn that is to get a job at a shop that produces code like that well, or to discipline yourself to do this sort of thing well at a shop that otherwise fails at it. Software engineering is still taught by apprenticeship.
Consider this as a thought experiment. Don't try this at home. Or at work, for that matter.
Buy a dog. A big one, with pointy teeth. Beat it. Every day. Leave welts. Don't let it out of its cage.
After a year or so, let it go. It might stay in the cage. It might turn around and never look back.
Or, it might turn your throat into a chew toy.
If it does, that dog is a monster. The best thing that anybody can do at this point is to put a large caliber round right between its eyes. But even as a monster, you can sympathize with it. You understand why the dog did what it did, and have a clue as to how it felt enduring the torture.
I'm not saying that the killers were physically beaten. They wouldn't have to be, just emotionally tormented. Humans have less capacity for emotional torment and neglect than other animals, precisely because our minds are so much more complex than those of other animals.
Yes, they were monsters. Absolute monsters. But they were monsters because they were broken humans. We concentrate on the "broken human" title because that is more effective. Keep humans from breaking, and you reduce the monster population in the world.
There is a lot of "Us Vs. Them" on this board, and that is part of the problem. However, very few people are crying "Poor me!". A lot of kids are crying foul--not to whine, but to open our eyes. My own eyes have been painfully opened in the past 72 hours. Other than that, we are trying to make our situation better--and I include all of humanity in "our".
Stopping the madness isn't just for the geeks. It is for everyone in school, teacher or student. We're not talking about "geek rights"--personally, I cannot name you a single geek right. We are talking about human rights. The right not to be relentlessly harassed, day in and day out, from all sides, is not a geek right. It's a human right. In some cases, it's our right simply for being mammals--some of these kids are treated in ways that would get their tormenters arrested if they did it to a dog.
Frankly, the above right isn't just for the tormented, but for everybody. Break enough people in this world, and sooner or later one of them will self destruct and take others with them. Torment also destroys the tormenter, even more than the tormented, because the tormenter makes himself something less than fully human.
Are we doing something about it? Yes. We're raising awareness. We're encouraging the tormented. We're giving hope. Sure, it's all words, but that's how we get things done in this world. Influence enough opinions, and you will change the world.
No, this is not an ideal world, by any stretch of the imagination. My BSOD proves it (;^>). It is our job, as people (not as geeks or nerds or whatever), to make it closer to an ideal world. This is as good a place to start as any, and better than most.
I think that a lot of people out there want "Windows, but doesn't cost as much and works better". A lot of people are used to the Windows UI and want the Windows UI. I think that this may have driven FVWM95 and other X GUIs.
My problem with Windows isn't the point-and-drool interface, or even the huge pricetag. My problem is the fact that it goes down like a moose on rollerskates. I want my stuff to work. If it can't work, I want it to fail predictably.
The more Linux looks like Windows without blowing up like Windows, the easier a sell it will be on the desktop. I don't think that it's a requirement, but it would be a big help.
Linux, by virtue of X11, can put on a variety of faces. You or I can macdink around with the UI until we have it optimal for us. Most people don't want to macdink with it. They want it out of the box to work reasonably well. This is where selling boxes with Linux installed and GNOME or KDE installed as the "starting screen" can turn into a big win.
I was involved in a project where we needed to stick X servers anywhere. Base Pentium with 16 MB RAM. We even had them running diskless, but I wouldn't go that far in the average office.
If you want to go completely server-centric, you build client boxen with that sort of power (I might go to 32 MB RAM today--RAM is cheap). Invest heavily in the video card and the monitor. All that processing power you don't need on the desktop can become usable video real estate.
This sort of a setup requires heavy server resources and heavy network resources.
The alternative is to let the desktop boxen work as "cycle servers". They use NFS to mount the major disks and home directories. In this case, you want to get the processor just behind the bleeding edge, where the cost per MIPS drops off. I'm running an AMD K6-2/350 at home and it is rarely the limiting factor. I am usually limited by the speed of my hard drives. This will save some network bandwidth, and some server-side processing resources. However, those NFS-mounted drives must be fast and redundant. Consider RAID (when your desktop drive fails, you go down; when an NFS drive fails, the operation goes down), and feed your NFS servers RAM like mad--properly configured, the most popular files will be cached into memory without spinning the drives.
Finally, two of the overlooked advantages to Linux on the corporate desktop: your desktop follows you. The first good thing is that you can access your desktop, or just your files, from any computer on the network. This is incredibly helpful when you're working on a problem at someone else's cubicle. Files aren't secure because they're on your hard drive, they're secure because they're in your account and need your password to access.
The other half of this advantage is reduced downtime. Since the desktop boxen are fungible, the IS team can have a few in the back room ready to go. If your hardware fails, for any reason, they come by and swap boxes (just as if your phone fries itself). You are happily computing again inside of fifteen minutes, and the IS team gets to diagnose and fix the broken box without time pressure.
I can't tell you what sort of professional help you may or may not need; I am a software geek. But I have seen people like you, close to the Edge. I've seen people fall off the Edge, and I've seen them come back and become functional, rational, happy people. The difference, more often than not, was that the ones who recovered had a friend who was willing to listen.
I am willing to be that friend, over email. Talk, and I will listen. Ask, and I will answer. You have my email address above. With the Slashdot board as my witness, I will keep your anonymity sacred. I will not reveal your identity to friends, family, authorities, or other netizens. I am not a cop, and I am not working for a cop.
All I can offer as a guarantee on that is my reputation. I have been on the Net for ten years (yes, before there was a Web) as "remande". While I am certainly not famous, I value my net.reputation. If Slashdot learned that I went back on my word here, that reputation, and likely my career in software, would be shot.
If the question is "how many people deploy low end solutions?", then it is important to note that the situation being tested has no relation to the real world. If someone needed to serve thousands of static pages per second, they would be out of their gourd to select a quad Intel box in the first place, regardless of OS. Better to have a small, cheaper farm of lesser computers to do this job.
Given that one has chosen Linux on any hardware platform for this task, one would also be out of one's gourd to choose Apache. Apache engineers will tell you this. Apache is built for flexibility at the expense of performance. Thus, the simpler the job, the slower Apache is, on any platform, for the job.
If you are comparing OS speeds for Web serving, either use the same Web server on both sides or use optimal Web servers on each platform. Apache engineers will be the first to admit that other Web servers can outperform Apache, on any platform, for this test.
But for high volume dynamically generated content, for example, or commerce, or databases, NT is more mature and benefits from being developed by engineers rather than hackers. DEC, from whence Cutler came, are very serious about this.
Maturity is relative. NT has more runtime hours than Linux, so there has been a longer time to detect bugs. Linux, due to its huge potential developer base, may well have more developer hours invested in it. It also has more debugging hours invested in it, because most Linux users are potential debuggers. When NT fails, one just reboots. When Linux fails, one often looks at the messages file (or has a sysadmin do the same) and track it through the tech support infrastructures.
The specification for Linux draws heavily from Unix, which is an incredibly mature model for high-volume computing. Most of the specification for Linux predates DOS, never mind any flavor of Windows.
Linux is developed by engineers at their best. The best engineers are hackers, really; they're the ones who build software for the love of building software. And Linux hackers contribute with only their best.
If you are building a commercial software product, you are expected to put 5-6 days of work into the project each week. You cannot maintain top productivity, top quality, on that sort of a schedule. Employers understand this, and they deal with it. The code produced in a commercial setting tends to be "good enough".
When someone contributes software, the same drive that causes them to want to do something like this for no money causes them to work at peak performance. It also causes them to work at precisely what they're good at. Sure, they may only put in 100 hours in 3 months, but you will get their best 100 hours, easily worth 3-400 average engineering hours. Commercial software is produced by marathon. Free software is performed by relay sprint.
Besides, if commercial OSs are superior by virtue of being developed by engineers rather than hackers (that is, by virtue of being commercial), then why are shops like Sun putting so much effort and money into Linux? Methinks that the Solaris guys see something in Linux that they envy, and I don't think that it's just the salaries.
However, for midrange work, linux simply isn't up to par yet. I seem to recall Linus himself stating that he believed OS design was well understood by the 1970s, and he considers microkernels to be "stupid", plan9 to be "stupid" etc etc. Whatever you think of Linus' talents as a kernel hacker, the fact remains that Linux works. It works in commercial production environments. Sysadmins have been disobeying management by deploying Linux where NT was requested--and they've been doing it for years. This isn't politics.
A sysadmin has one overriding virtue: laziness. Larry Wall gave us the prototype: more on this in the Camel book. They want to do the job once, they want to do the job right, and they want to forget the whole affair afterwards. These sysadmins have been putting Linux in back because they do their jobs and are easy to handle--and because the performance boost gives them fewer boxes to administer (and fewer hassles with acquisition budgets).
While he is undoubtedly a highly talented programmer, I think that there are engineers in the world who are at least, if not more, skilled working for Sun, CMU, Microsoft, DEC and suchlike whose work has proved Linus to be very wrong. And as such, linux is crippled.
Linus doesn't have to be the best programmer on the planet. In fact, he needs never write another line of code. There probably are better kernel hackers writing code for their respective companies--and also writing code for Linux.
Linux isn't an optimal OS. There are places that it is the best one out there, and other places where it does poorly. Like every OS, however, it evolves. Its openness simply lets it evolve faster than the competition. Per Darwin, evolve or die.
It doesn't matter how wrong Linus is in his coding, because it does well enough for commercial use today. Maybe microkernels have overriding advantages. GNU has a microkernel OS (GNU Hurd) in beta or GA by now. If it outperforms Linux, it will only be a matter of time before somebody crosspollenates them. Then RMS will have a better case to call it GNU/Linux. Whenever somebody finds a major improvement one can make to an OS, somebody else will port that improvement to Linux. Perhaps every line of Linus' original code will be optimized out.
Linux is far from crippled. By my lights, it is the first OS to sprout wings.
Remember the Altair8080? Recognised as the first PC way back in the heady days of '72, Gates and Allen wrote a version of BASIC to allow users to program for it in a way other than flicking switches. Not to put too fine a point on it, this was quite a programming achievement at the time and this alone is enough in my mind, for the MS founders to be given at least a little respect.
Was, not is. Bill Gates is not a programmer, just as O.J. Simpson is not a football player. They both were decades ago.
Actually, it's kind of sad. Gates could have been an uberhacker, and was making large strides down that path. But it has been said that the greatest of the angels was the first to fall. The story of Microsoft would have made a great Shakespearian five-act tragedy.
In my book, Gates earned a lot of respect as a programmer. He has since squandered every bit of it and gotten into some serious zorch debt with me. I respect him as a fellow human being; nothing more and nothing less.
"Look for InfoWorld's file and print benchmarks of NT 4.0 vs. Linux in next week's issue."
The Linux community can't put together a benchmark that looks independant (whether it is or not) for the same reasons Microsoft can't: both are interested parties. Sometimes the best thing to do is wait for someone else (e.g. the trade rags) to do the job.
You couldn't really call it "The Linux Community, Inc." without actually incorporating it. Doing that would piss of the hard-core Linux hackers (distros can be corporate, but Linux itself cannot). How about "The Linux Community, Uninc." (unincorporated)?
I would deny such empirical evidence because I have seen the evidence myself. I run both NT and Linux, and work with access servers of both types. The Linux box does more with less hardware. It stays up longer.
If NT were faster, I wouldn't need Microsoft telling me so. I'd have seen it myself. For at least some (I suspect most) of us Slashdotters, we don't like Linux because it's cool, hip, or countercultural. We like Linux because it works better than anything else for most of what we need to do.
Show me numbers telling me that NT outperforms Linux in reliability or speed, under all but pathological cases (and the Mindcraft test is pathological--perverted beyond any real-world applicability), and I will deny them. Unlike a fundamentalist, I do not deny them by faith. Like a true hacker, I deny them by experience.
All the uptime figures in the world don't change the fact that I have to reboot my NT machine every week while my Linux box stays up until the chips blow. All the feature set listings don't change the fact that I can easily administer my Linux machine over a 28.8 modem, saving me an hour in driving time. All the performance numbers don't change the fact that my sizeable network now relies on a base Pentium with Red Hat as the augmented FTP server, where a P2/300 would be minimal for a similar NT solution.
When statistics deny reality, I will deny statistics over reality any day. When NT stays up and does its job quickly, I will be duly impressed. I won't need a page of figures to tell me, though; just an upgrade.
I'll have to radically change my opinion on NT now...;^>
Of course, then it's up to the lawyers to draw the line between influence and outright copying. After hearing "Money for Nothing", I can write another song about the rich life of a rock star (that's influence), but I can't just cover the song without clearing it with Dire Straits' label (that's outright copying). Writing a song with the line "I want my MTV" blurs the line a bit (doubly so; did MTV have a trademark on that tagline?). Unfortunately, law often has to deal with these fuzzy logic situations...
Even if I'm just inhaling too much magic smoke (Hmmm...the power outlet says 240 volts...my monitor should want that sort of voltage, right?), how hard can it be to get Linux binaries running on NT?
Of course, I have trouble getting anything to run on NT, but some people can get this to work. In all reality, we should just have to implement the Linux ABI as a DLL. Since the Linux ABI is fairly well documented, at least in an RTFS sort of way, this should work. People seem to be getting fairly far getting NT apps to run on Linux with WINE; the reverse hack should be easier as the Linux ABI is better documented than the Win32 ABI.
If the Serbian government and military are communicating via Internet, they are being patently stupid. Were I a NATO general, the last thing I would want to do would be to stop this communication. My first instinct would be to petition the US for NSA resources. Crack the transmissions, then use the intercepted data and insert our own datastreams. The NSA has a literal army of Federal crackers, and the general assumption is that they are competent.
I have yet to hear of a government harnessing the Internet for propaganda purposes; I'm not quite sure that it is technically possible. Remember Kremvax during the Russian coup attempt? IIRC, that was the only reliable datastream into or out of Moscow.
If the NATO mission is to get the people and/or military to rise up against the Milosovic regime, you want to destroy Government-controlled media while assaulting all possible bandwidths with your own media. Assuming Milosovic doesn't control the Internet feeds (how could he?), those feeds are more subversive than Radio Free Europe.
Milosovic has all the reasons to isolate Serbia's Internet from the global net, but NATO has all the reasons to keep those connections open. Of course, NATO may have still selected Internet feeds as targets for other reasons, or not thinking about the exceptional strategic uses of the Internet. How many geeks wear stars on their shoulders?
When a person receives information (such as hearing a song), they assimilate that information just like they assimilate breakfast. It becomes an inseperable part of them.
Such a relationship is at least ownership. Either I own my mind and body, or I have a stronger relationship with my mind and body. Any law that denies this natural fact is as bogus as a repeal of gravity.
Once I hear a song, I have it. Nothing short of disease or death will make me forget the first bars of "Money for Nothing". I will not comply with any law requiring me to forget it, because I cannot choose to forget it any more than I can flap my arms and fly.
I own...or, if you prefer, I include...terabytes of copyrighted material. I cannot separate them from myself. If I could and did, I would still be a viable human being, but would barely be recognizable as who I am today. I would certainly not be able to hold down any engineering position; removal of all the engineering savvy I learned from books would leave gaping holes in my head.
In a very real sense, hearing (or otherwise witnessing) copyrighted materials irrevocably changes the person. If you deny someone all rights to information they know (and this is not done in copyright law, you deny them the ability to use their own natural capabilities. You can deny them certain rights, but not all. You can't even deny all but certain rights, simply because we don't even understand all the ways that we use information.
One must grant all rights by default and deny certain rights by law. This is simply the nature of one's control over one's self. One cannot deny an innate capability (such as stomping one's foot) by default, but can deny particular capabilities (such as stomping one's foot on somebody else's face).
Merely hearing a song or reading a book makes the information therein an integral part of your being. I've never seen a law that would deny all rights to that information, only limited rights to it. Any law that denies all rights to it is delusionary--one may as well redefine Pi.
Of course, people have tried that before...
Management is not the Dark Side. PHB is the Dark Side. If you find yourself being pulled in that direction, follow the path of the CTO, and never forget where you came from. Actually grokking the biz, and grokking the people within the biz, can simply not be learned within an MBA program. Such talent is worth that of ten programmers, plus two.
I will go so far as to say that passion trumps competence as a factor in how well you will do in a position. If you can't program well, but passionately love to code, you will try to learn. You will either succeed and become competent (likely more than competent), or lose the thrill and go to something else.
Somebody with true passion has a real shot of getting into that top percentile in their field. And the top percent of professionals in a low-paying field is often paid better than a median professional in a high-paying field. Without passion, you will be close to median.
In short, the best carpenters out there make more money than the average programmers. If palm sanders and rotary saws float your boat more than TCP stacks and bogoMips, drop the mouse and pick up the hammer.
The two commercial secure FTP solutions are FileDrive (www.differential.com) and Connect:Mailbox (www.sterlingcommerce.com). Do these follow your draft? What commercial solutions do? Thanks in advance!
This is ESR's cycle of reincarnation in action.
Putting TCP on the ether card should allow some serious savings in CPU time, regardless of OS, if it's bus-mastering. For ftpd, the CPU should (in theory) set up a TCP connection with the card, open up a set of blocks (or a file; I'm no expert on this particular protocol) with a bus-mastering SCSI, and just let the disk flow to the card, or the card flow to the disk. Voila, file transfers that eat only the bus and not the processor.
I think that, in the cycle of reincarnation, we have been going from everything-on-the-processor to everything-on-separate-chips. We have separate video accelerator cards (ignoring the video cards themselves), we have SCSI to drop the I/O load off of the chip. People still haven't folded sound into the processor.
Between all this and the dearth of processor vendors, offloading TCP onto a card makes sense. The less load one places on one's processor, the less tied one is to the processor vendor. Today, people talk about having Intel or not. Imagine a world where people describe their computers by their net card type or memory vendor...
A macro virus has a limited blast radius in a Unix or Linux environment. If I let one go in my account, the virus runs with my permissions and can hose all of my files. It won't be able to do much more than trash my account; the programs, and everybody else's data (assuming good umasks) are safe. Those who run office software as root, of course, get what they deserve.
I remember one of the MS memos showing their concern with the high percentage of a computer price that is the OS license. I also remember one of their possible solutions was to build or buy a chip fab, and thus to lock you in at the chip level versus the OS level. Today, this is even more likely due to the shakiness of the Wintel alliance.
If they can do this, there will be serious trouble for the Linux community. One reason that Linux is so popular is that it runs on a cheap, open hardware platform.
If I were Bill Gates, I would be seriously considering a bid, and my largest concern would be sliding it past the DOJ. After all, he can put a EULA on a chip requiring you to run an MS operating system on it.
This is to produce a Linux test on the same Mindcraft problem space. That is, solve the same problem (same Web site, same clients, same network). But do it on a Linux venue, and with Linux-friendly hardware. Invite Microsoft, invite Mindcraft, invite the press.
Don't duplicate the hardware. Use inferior hardware, where "inferior" means "posts smaller numbers or costs less". But an "inferior" part may have better Linux drivers. Some people have complained that the RAID controller isn't Linux friendly. Replace it with a cheaper unit that is Linux friendly. Others say that SMP is irrelevant to this problem for Linux, since the processor isn't the limiting factor. Go for a single processor, the same speed as one of the SMP processors.
The point here is not to do a head-to-head, but to post better numbers with cheaper hardware. Then we challenge Microsoft--not Mindcraft--to beat the Linux benchmarks on the Mindcraft problem and their hardware or less. We replace the "fair benchmark" with a "competitive benchmark". We replace the (weak) assumption that the test team is trying to be fair with the (strong) assumption that each side will pull out all stops to post high numbers. This is how sports teams compete (rather than having the refs measure how hard you can throw or how well you can catch, they let you do your best and simply maintain a fair venue). IMHO, Linux engineers can put together a Linux server that is faster than any NT server that NT engineers can create.
People have noted that this is an expensive machine to put together. For you and I, that is correct. For a company with a vested interest in the results, it's an investment. It's a better investment when the company can use the machine for real world applications such as Web service. Relatively sizeable guns such as Red Hat or VA Research can stand to turn an indirect profit from pulling this sort of thing off.
A Linux/NT bakeoff would actually benefit both sides (!). Once we blow their doors off with our numbers, MS will probably find a way to post bigger numbers. Then we tweak Linux, and post bigger Linux numbers. If MS posts bigger NT numbers by making NT a faster server, we have at least forced MS to improve their product. If MS falls down the trap of optimizing NT for this bakeoff and pessimizing it for the real world, we introduce another bakeoff test. OTOH, MS can keep us from optimizing Linux for this bakeoff by making new bakeoffs at any time--that way, they help keep us honest.
This game had gods in it, so the GMs were effectively playing those gods when needed. Their table was the "temple", and those who provided sacrifices would be rewarded.
Then my roommate showed up carrying two grocery bags. That's when the rest of us knew that we were doomed...
I don't expect SW:E1 to be bad. However, if it is, even the die-hard fans will stay away from it in droves. The precedent for this is Highlander 2: The Sickening (There Should have been Only One).
I've seen a lot of programs for computer science, but that is worlds apart from software engineering. Computer science is getting computers to do amazing things--AI, image recognition, ray-tracing--the list changes every two years. Computer scientists boldly go where no code has gone before.
Software engineering, OTOH, is usually involved in doing something that has already been done--but doing it better. It took computer scientists at Xerox PARC to invent the X console. It took software engineers from Apple and Microsoft to pull it out of the lab and into a shrink-wrapped package.
Computer science is the science of making a computer do something new; damn the reliability or speed. Engineers are the next wave. They don't do as much, but their job is to make it usable, robust, and on time.
The only ways I know how to learn that is to get a job at a shop that produces code like that well, or to discipline yourself to do this sort of thing well at a shop that otherwise fails at it. Software engineering is still taught by apprenticeship.
Buy a dog. A big one, with pointy teeth. Beat it. Every day. Leave welts. Don't let it out of its cage.
After a year or so, let it go. It might stay in the cage. It might turn around and never look back.
Or, it might turn your throat into a chew toy.
If it does, that dog is a monster. The best thing that anybody can do at this point is to put a large caliber round right between its eyes. But even as a monster, you can sympathize with it. You understand why the dog did what it did, and have a clue as to how it felt enduring the torture.
I'm not saying that the killers were physically beaten. They wouldn't have to be, just emotionally tormented. Humans have less capacity for emotional torment and neglect than other animals, precisely because our minds are so much more complex than those of other animals.
Yes, they were monsters. Absolute monsters. But they were monsters because they were broken humans. We concentrate on the "broken human" title because that is more effective. Keep humans from breaking, and you reduce the monster population in the world.
There is a lot of "Us Vs. Them" on this board, and that is part of the problem. However, very few people are crying "Poor me!". A lot of kids are crying foul--not to whine, but to open our eyes. My own eyes have been painfully opened in the past 72 hours. Other than that, we are trying to make our situation better--and I include all of humanity in "our".
Stopping the madness isn't just for the geeks. It is for everyone in school, teacher or student. We're not talking about "geek rights"--personally, I cannot name you a single geek right. We are talking about human rights. The right not to be relentlessly harassed, day in and day out, from all sides, is not a geek right. It's a human right. In some cases, it's our right simply for being mammals--some of these kids are treated in ways that would get their tormenters arrested if they did it to a dog.
Frankly, the above right isn't just for the tormented, but for everybody. Break enough people in this world, and sooner or later one of them will self destruct and take others with them. Torment also destroys the tormenter, even more than the tormented, because the tormenter makes himself something less than fully human.
Are we doing something about it? Yes. We're raising awareness. We're encouraging the tormented. We're giving hope. Sure, it's all words, but that's how we get things done in this world. Influence enough opinions, and you will change the world.
No, this is not an ideal world, by any stretch of the imagination. My BSOD proves it (;^>). It is our job, as people (not as geeks or nerds or whatever), to make it closer to an ideal world. This is as good a place to start as any, and better than most.
My problem with Windows isn't the point-and-drool interface, or even the huge pricetag. My problem is the fact that it goes down like a moose on rollerskates. I want my stuff to work. If it can't work, I want it to fail predictably.
The more Linux looks like Windows without blowing up like Windows, the easier a sell it will be on the desktop. I don't think that it's a requirement, but it would be a big help.
Linux, by virtue of X11, can put on a variety of faces. You or I can macdink around with the UI until we have it optimal for us. Most people don't want to macdink with it. They want it out of the box to work reasonably well. This is where selling boxes with Linux installed and GNOME or KDE installed as the "starting screen" can turn into a big win.
If you want to go completely server-centric, you build client boxen with that sort of power (I might go to 32 MB RAM today--RAM is cheap). Invest heavily in the video card and the monitor. All that processing power you don't need on the desktop can become usable video real estate.
This sort of a setup requires heavy server resources and heavy network resources.
The alternative is to let the desktop boxen work as "cycle servers". They use NFS to mount the major disks and home directories. In this case, you want to get the processor just behind the bleeding edge, where the cost per MIPS drops off. I'm running an AMD K6-2/350 at home and it is rarely the limiting factor. I am usually limited by the speed of my hard drives. This will save some network bandwidth, and some server-side processing resources. However, those NFS-mounted drives must be fast and redundant. Consider RAID (when your desktop drive fails, you go down; when an NFS drive fails, the operation goes down), and feed your NFS servers RAM like mad--properly configured, the most popular files will be cached into memory without spinning the drives.
Finally, two of the overlooked advantages to Linux on the corporate desktop: your desktop follows you. The first good thing is that you can access your desktop, or just your files, from any computer on the network. This is incredibly helpful when you're working on a problem at someone else's cubicle. Files aren't secure because they're on your hard drive, they're secure because they're in your account and need your password to access.
The other half of this advantage is reduced downtime. Since the desktop boxen are fungible, the IS team can have a few in the back room ready to go. If your hardware fails, for any reason, they come by and swap boxes (just as if your phone fries itself). You are happily computing again inside of fifteen minutes, and the IS team gets to diagnose and fix the broken box without time pressure.
I am willing to be that friend, over email. Talk, and I will listen. Ask, and I will answer. You have my email address above. With the Slashdot board as my witness, I will keep your anonymity sacred. I will not reveal your identity to friends, family, authorities, or other netizens. I am not a cop, and I am not working for a cop.
All I can offer as a guarantee on that is my reputation. I have been on the Net for ten years (yes, before there was a Web) as "remande". While I am certainly not famous, I value my net.reputation. If Slashdot learned that I went back on my word here, that reputation, and likely my career in software, would be shot.
Mr. Anonymous, the door is open.