Hmmm...either you're talking pounds and I don't know the exchange rate, or wages are seriously depressed for my overseas brethren...I'll keep that in mind before my move. =)
Not too familiar with strace, but there is an strace for NT (Alpha build, don't use on production servers according to the notes). Also, Sysinternals makes some good utilities for debugging...which, once again, I don't get into. I'm not sure why having the source code would allow me (a non programmer) to see what the application is doing internally any more than I can deduce what Windows is doing internally by looking at external events. Oh, and tcpdump is also available for Windows as WinDump (bonus points for being BSD licensed).
I've never reinstalled a Windows Server because it couldn't be fixed. I've reinstalled because of hardware failures, misconfigurations or upgrades, but that's about it. I have, however, reinstalled Windows desktops because I didn't want to take the time to fix them. Like I said, though, if I can fix it about 2 hours with a reinstall, it's a better proposition than spending 4 fixing it.
Windows the OS is very stable...it will run on decent hardware for just shy of forever. Windows apps and assorted device drivers, however, are all over the place in terms of stability and are the cause of virtually every BSOD or crash I have ever seen. I do wish Windows had a better model between device drivers and the kernel, but then I don't run flaky drivers on servers...that's more a desktop concern. Flaky apps should be fixed by the vendor or changed to a competing app.
Yeah, cause it's inconceivable that MS would have a *nix admin looking into a large scale conversion of BSD to Windows servers. Also inconceivable that they would want to hear about what a UNIX admin thinks about Win2K Server when they are planning on releasing a whitepaper on converting UNIX to Windows. Especially when he makes comments like (not direct quotes, can't get the site to load right now) "I don't know what these services are or how to stop/start them", "I was surprised at the command line tools in Win2K and the Resource Kit", "I don't know what ports are open", etc. Yup...I must be daft.
Yeah, because god forbid you should actually fix the problem when you can just slap a band-aid on it instead... band-aids never break, do they?
I think the problem was that (a)the report writer didn't know how to disable services, and (b)Hotmail didn't want to spend the money for 2nd NIC's. Given those constraints, it's a bit difficuly to "fix the problem"...which is that Windows, out of the box, is not designed to be hung out on the internet w/o protection. If you're going to do that, you'll have to spend some time configuring it. Luckily, firewalls are standard practice, and could really help out the report writer.
Good comeback - "we don't need for the administrator of a box to see, at a moment's notice, which ports are used, and which processes are using them - because we can run a port scanner instead."
Try using netstat -a. But, using a port scanner on a box you want to harden (UNIX or NT) is, again, standard practice, and is a readily available tool to document what ports are open on a machine (the problem the report writer was having).
Is Windows exactly like UNIX, of course not. Are there functional equivalents in Windows to almost all UNIX commands...yes (and the report even mentions that). Competent admins have been successfully setting up and maintaining Windows servers for many years, and if a tool doesn't exist to do what they need, then it will be created. Not so different from UNIX, eh?
Passing an MCSE exam (actually, 7 exams) does not make you an NT Admin...if anything, that's the MCSA certification...regardless of company's hiring policies.
However, for equivalently high salaries ($65k+), you can get a very competent UNIX admin or a very competent NT admin. For low salaries ($30k) you can get a incompetent NT admin (paper MCSE) or an incompetent UNIX admin (I run Linux at home and/or I had a shell account in college).
Most NT admins I have met wouldn't even know how to go about using telnet to make a pop3/smtp/http/etc session, let alone debug an application... not that it's particularly plausible on a windows platform.
Then you haven't met enough NT admins. True, I don't debug apps under NT but I don't do it under UNIX either...I'm not a programmer, nor did I ever claim to be one. Reading the source to the Linux/NT kernel would mean very little to me (though it would cure my occasional insomnia). I will, however, do my best to find a workaround in NT or UNIX if I can't get the programmer to fix the problem.
A reinstall is often a lot simpler than (and usually need in the process of) attempting to find a bug in a windows application...
A reinstall is usually the last resort to a competent admin. It's an admission of failure, with the bonus being that it's a shitload of work in most cases. In some cases, however, it makes more sense to reinstall (3-5 hours) than spending 8 hours trying to fix the problem. Just because Windows can be reinstalled, doesn't mean that it can't be debugged or troubleshooted. A competent NT admin will weigh the pros and cons of each approach and make the most efficient choice for that situation...same as a UNIX admin.
You make the assumption that the UNIX admin is a highly skilled dedicated professional, and that the NT admin is nothing more than a high school dropout with no other tools than a power switch and an NT cd to reinstall with. Hardly realistic in the real world.
You defend Windows as if it were your lifeline, but tell me... How often do you actually walk into your server room, use the KVM switch to get to the proper server, administer the server in person while looking at a monitor? With a GUI, you almost need to do this.
Disclaimer: Windows is my lifeline. I'm paid to work on Windows machines. And to answer your question, I do it quite often if it's the most convenient way to get things done. Of course, I also have an admin workstation with MMC tools loaded, can telnet in, can run TightVNC, or Terminal Services for remote control, or can use a lot of tools (native Win2K + 3rd party) to administer from the CLI of my own box. Or, I can automate things via WSH using VBScript (my scripting language of choice) if it's something repetitive. Whichever suits me and the problem at hand at the moment and makes my life easier.
Not saying that UNIX is wrong in it's CLI, but saying that a GUI in Windows is not a good excuse for not being able to automate or run from the CLI if you want.
A server is not something that you should not have a mouse or a keyboard hooked up to. It's a little box, in a darkened and protected room. It should NEVER go down. Ideally, it should never even be touched after the day it's installed.
Servers DO go down, both UNIX and Windows. It's a cost of doing business. And you usually don't have to touch a Windows server after it's installed unless you want to change something. That's about the same as for UNIX, isn't it?
You say that open ports on Windows servers should be taken care of by a firewall. Tell me, if Windows were secure, why would a firewall be necessary at all?
So, do you run *nix boxes on the internet without a firewall? I don't. I'd say it's pretty standard practice to put webservers of all kinds behind firewalls, so the paper pointing out open ports is a bit of a red herring.
The imaging servers / multicasting solution you speak of is the lazy man's solution. It is the state of programming society that has lost the interest in efficiency, because modern hardware can cover up inefficiency. The inefficiency still remains. This lazy way is not the kind of mindset that a forward looking, intelligent individual should have. So what if the right way is sometimes a little more difficult?
When the "right way" takes more time, specialized skill, and effort, then it's the "more expensive way". And then you have to weigh the costs involved as well. A forward looking, intelligent individual uses the resources available to him to do the job in the most EFFICIENT manner. When hardware is cheaper than eeking out another.1% performance boost from recoding or optimizing, then throwing hardware at the problem is a viable solution. I can buy 512MB of RAM for less than what it costs for a client to pay me for 1 hour. If that solves the problem, then it makes more sense to buy the RAM. That's business.
Sometimes we don't have fibre, sometimes we don't have 1000BT. Most times, we don't have the massive RAID arrays and ultra expensive hardware that MS can provide.
Yeah, multicasting a 900MB image requires fiber and 1000BT. And huge terabyte SAN's of course. Right. And don't forget the massive supercomputer cluster to process that huge load. My god, it's almost 1.5 CD's worth! That's half of the RedHat download! (I know, RedHat includes more than just Linux, but it's quite feasible to download all 3 ISO's on a DSL line, so I don't think Gigabit Ethernet is required for a 900MB image).
Oh, and a *Nix can have just about everything turned off with exception of the kernel. I can load hardware drivers without rebooting, I can kill every process that isn't necessary.
Umm...you can kill every process in Windows that isn't necessary too. That's why they're called unnecessary. Admittedly, if your only tool is the taskmanager then you're not a knowledgeable admin, so Windows will protect you from yourself...but I see that as a good thing.
I can completely update my system without a reboot, yet every service pack I've encountered requires at least 1 reboot.
Like a reboot is that big of a deal. It takes all of 5 minutes, and can even be scheduled. Let's get off the uptime high horse, eh? If you need 24/7 uptime, there's ways to get it, but be prepared to pay for it...both with *nix or Windows.
I've run into situations where I couldn't "Stop" a service that was running on Win2k, but never with *nix.
Like I said, you're probably not a Windows admin. I am, and have never run into a service I couldn't stop. There are some I shouldn't have stopped, but that's another story. =)
Bottom line is that both Windows (2000) and *nix are good operating systems. Well suited to almost any task required of a server. They both require knowledgeable admins to be used to their fullest potential, but Windows has the edge in ease of use. A semi-technical manager can have a Windows network up in an weekend...not so for *nix. Of course, the price the manager pays is that his server isn't really set up correctly, but that's what you get when a manager or low skilled admin sets up a server. Same thing as when I work on my car, I know it's not up to the same standards as a professional mechanic, but sometimes it's worth the tradeoff. Linux and FreeBSD have advantages in that they're free, highly configurable, and can run on old hardware. Strong selling points for some, not so for others. Everything involves tradeoffs.
- "Although Hotmail uses Microsoft software without license fees, we must consider this project as a model for real customers. Use of WLBS requires Advanced Server, but Server provides all the other features used by Hotmail. Using list prices, the cost comparison for a farm of 3500 servers is: Using WLBS (hence Advanced Server): $15M+ / Using LD and Server: $6M+"
The costs issues you quote was between Windows 2000 Advanced Server and Windows 2000 Server...nothing about *nix.
As for the whitepaper, it seems to me it was written by a *nix admin with little Windows server experience (which describes a majority of/. readers as well). I mean, what is this:
- "A service may be hung, and rather than take the time to find and fix the problem, it is often more convenient to reboot [a Windows machine]. By contrast, UNIX administrators are conditioned to quickly identify the failing service and simply restart it; they are helped in this by the greater transparency of UNIX and the small number of interdependencies."
If it's more convenient to reboot the machine, then what's the complaint? If it's inconvenient to reboot (which describes 90% of the servers I work on), then find the service and restart it. Hint: Look in the Services console...then right click and Restart. Or, if you prefer the CLI, use net stop/start . For bonus points, you can use the short or long name of the service. What's so difficult about that?
Oh...and interdependencies? Look in the Services console and click on Dependencies. Most even have a short description so you know what it does. If that's not enough info for you, search Google or Technet. Or get a test server. It's not rocket science, nor is it any more difficult than UNIX.
The CLI is pretty flexible and allows most maintenance work to be done in it, and when that doesn't work AutoIt (3rd party freeware) can script GUI events (pretty easily I might add). WSH scripts can also automate just about everything you can think of.
"A fact about UNIX is that it is easy for an administrator to ensure that there are no irrelevant services running. As well as giving the potential for maximizing performance, it is useful to be sure that there are no random TCP/IP or UDP ports open that could be used as a basis for an attack," the paper notes.
Once again, the Services console could really help this guy get a clue. As for random ports being open, that's one reason we have these things called firewalls...not to mention port scanners and knowledgeable Windows admins.
"...there are many services that have a complex set of dependencies, and it is never clear which ones are necessary and which can be removed to improve the system's efficiency."
I think what he meant to say was, "it is never clear TO ME OR MY TEAM which services are necessary". Others do quite well at it.
Imaging servers should be done by multicasting, effectively negating bandwidth concerns. Windows 2000 rarely needs a reboot (though apps and the like will prompt you to do it even if they don't need it), and you can easily stop and restart a service.
The author does have points on the Task Scheduler/at command which is a real PITA. There are 3rd party utilities to help with that, but MS does need some work done in that department. Also, the GUI and performance concerns are relevant when discussing a web server, which is why I wish MS would just come out with a web server version of Windows (wasn't that in the pipe a while ago?). And I think Windows 2000 has proven to be pretty stable (as long as it's on quality hardware, of course).
Apply this argument to an assasin. Where do you end up?
In my ethical view, you end up in the same place. Legally (and in society), the assasin is breaking the law and so will be punished IN ADDITION to the guy who hired the assasin. Difference being that lawyers are not breaking the law...they are working within the law.
Have a problem with the law? Then it's Congress or a judge's fault.
Have a problem with someone using the law "creatively" to their benefit? Then it's the clients fault.
Have a problem with a lawyer fulfilling his client's wishes (while regarding existing laws)? Then you don't understand capitalism...nor an adversarial judical system.
A lawyer is the only kind of hired gun with the ability to legalise murder.
No, a jury is (excepting Bush's administration, of course). But, a lawyer is your best bet for the defendant facing a possible death sentence.
Of course, we were talking CIVIL lawsuits, not CRIMINAL lawsuits...so your point is invalid on (at least) 2 counts.
Bad laws cause a lot of legal friction. Legal friction is good for lawyers' business.
Take it a step further...why is "legal friction" good for lawyers' business? Maybe because there's a lot of companies (and individuals) who hope to capitalize on that "legal friction"...and so hire a lawyer to present their case?
Who spends [opensecrets.org] the most on elections? Even better- who spent [opensecrets.org] the most on the 2000 election? Lawyers are paying for the best government money can buy. For themselves.
Then vote Republican and let the big corporations have it. Campaign finance reform issues aside, lawyers still only serve as a mouthpiece for their clients...no lawyer would intentionally misrepresent their client's wishes.
When you look at statements of political donations, you always see that lawyers organizations are the top contributors to politicians. Now you know why, and where the money for bad laws comes from: bad laws.
Everybody is always against the lawyers...but it's not really their fault. A lawyer, in essence, is no more than a hired gun skilled in argueing. The client tells the lawyer what to say/do, and the lawyer pulls out all the tricks and loopholes to fulfill the client's desire.
Why shoot the messenger? Shoot the guy who hired the messenger, gave the messenger the message, and will hire another messenger to deliver the message if the first one complains.
I think we should let Ron know how important this matter is to us by calling him (wait for a while) and telling him a little more about our views on this matter in detail, more so than is currently possible.
To avoid the inevitable/. effect (swamped, plus the inevitable trolls and fringes), how about a reverse/. interview? Let Ron pose the questions, then send him the highest moderated responses. Or just a general thread, then email him the +5 comments.
I think that'd be a better representation of the/. community in that we would be self-selecting our representatives. We don't want to come off as anti-capitalist, pro-communist, p0rn lovers, 3l33t h4k3r5, warez pirates...or, god forbid, goatse.cx fans. (Even if you are one (or more) of those things, it won't help in garnering support agains the DMCA to reveal it to the readership of the WSJ).
Actually, they save it in your My Documents folder by default, which is easily accessible as a top level folder wherever you go. The default location is also customizable (see Tools-Options-File Locations) and it can be overridden on a per document basis when you save a file.
XP is the same as 2000, so it's pretty obvious the reasonings here.
Win9x and WinNT use %systemroot%\Profiles, even though Win9x doesn't come enabled for profiles by default.
Win2K and WinXP use C:\Documents and Settings, probably because it's a good bit more visible than hiding it in %systemroot%.
Of course, in all NT based OS's (WinNT, Win2K, WinXP) it's at %userprofile%. And both 9x and NT OS's use a registry entry for the location (I believe it's HKCU\Software\MS\Win\CurVer\Explorer\User Shell Folders) of anything that needs to go into a profile. And that's why, as a developer, you should take the effort to check the variables that tell you where the stuff goes, instead of assuming the default.
Just to piggyback, if you use HFNetchk, get thyself QChain which eliminates multiple reboots when installing multiple hotfixes, and Hotfix Reporter, a nice GUI to HFNetChk.
No, that's simply the TOE they tested. Which makes sense, since the people interested in this aren't going to hang their 200 Win2K desktops on public IP's on the Internet. IF you're interested in security, then you need to design your network with security in mind...and that means no untrusted traffic or machines...same thing goes for Linux, Unix, Solaris, *BSD, etc.
BTW, machine to machine traffic in Win2K CAN be secured, and CAN be authenticated as well...as long as you control both machines.
Wait for the.NET OS's then..NET code specifies the version of a specific DLL it wants, right down to a hash so that it knows it hasn't been tampered with. Shared libraries will be id'd by name, version, and hash, so you cna have multiple DLLs with the same name but different versions.
For pre.NET, the easy way is to throw the right version DLL into the program's directory.
OS X has a nice feature where it tells you there are upgrades and you click which ones you want and hit install. It then downloads and installs them for you. Why hasn't windows picked up on this? It's easy as pie.
They do. It's called Windows Automatic Update. You can even have it download it for you and just tell you when it's ready to install. Only problem is that then MS gets harassed for sending info from your PC.
MS, at/. at least, can do no right...unless they spend their $40 billion on selling XBox-en at a loss and then go out of business, of course.
The FACT is, that it has taken 3 service packs and a huge amount of public thrashing to get the OS to the point that it can be certified.
I haven't been following the seucrity certification for Win2K story, but was it tested with SP1, SP2, etc? Or are you just assuming it would fail without SP3?
Try Proxomitron. It's a local proxy server that you can use to strip, change, or pretty much just do whatever to incoming HTML. I've used it for some projects in the past and found it quite stable and helpful, though a bit ugly. =)
Okay, the "Please Steal My Car and Drive It Into a Bank" sign may put it over the edge, but if I leave my car door unlocked and keys in the seat (or the ignition) and someone steals my car, then what they do with it is my fault? You could possibly fault me for having my car stolen, as I didn't take adequate precautions against it...but to fault me because the car thief then robbed a bank with my car? That's ridiculous.
Oh, and it's not Windows users that are the issue. It's not like people who use Windows are a lower life form, it's that (a) 90% of users use Windows, and (b) Probably 70% of users aren't technically savvy about their PC. Cross the 2 together, and you'll have an awful lot of unsavvy Windows users.
Besides which, would it even be possible to attack a hub, assuming it was as you say basically a passive bit of hardware; your average hub, i believe, is just a transparent component in most networks. Can they even be assigned IP addresses?
I don't know how they are addressed but they would have to be in some way to be able to participate as a unit in the network i think.
Wow. I must've stumbled onto Activewin by mistake. Must be that damn DNS attack....
BTW, an unmanaged hub is nothing more than an electrical device. It propagates electrical signals (packets) to the various ports. A managed hub (which are usually switches-similar to hubs, but not quite the same.) does indeed get an IP address, though it doesn't need one to act as a dumb hub (or switch).
hell construction/trucking/sales positions are always available. and in virtually all other jobs you dont have to compromize your ethics.
Construction? How about the builder borrowing $100,000 from the bank for a construction loan, using $80,000 to build the house (that's how much it costs to build) and the extra $20,000 as collateral for another loan? That's not "compromising ethics"?
Trucking? Hmmm...I guess forging log books so you drive over the federal limits for time/10 days or time/day in order to (a)make a living, and (b)keep your job doesn't qualify?
Sales? What more needs to be said?
Don't fool yourself into thinking that "virtually all other jobs" don't require some compromise of ethics. Shots are called by bigger fish than you, and they can always find someone else to do it. My code of ethics is pretty inflexible on the fact that me and my family need a roof and food...and keeping my job is my duty to those that depend on me. Even if that requires a small compromise in "ethics".
We're not talking murder here (though in trucking, an argument could be made that we may be contributing to a possibility of vehicular manslaughter), so let's keep it in perspective, ok?
Hmmm...Yeah. We could call it, maybe, Shared Memory Architecture...that's pretty catchy. I';m sure Intel and AMD and VIA would love to talk to you about it.
And I've got a Number Nine SR9 (S3 Savage4 chipset) with 8MB! And it runs Ghost Recon, Desert Siege, etc. acceptably when paired with my whopping PIII-500 and 256MB RAM!
Not too familiar with strace, but there is an strace for NT (Alpha build, don't use on production servers according to the notes). Also, Sysinternals makes some good utilities for debugging...which, once again, I don't get into. I'm not sure why having the source code would allow me (a non programmer) to see what the application is doing internally any more than I can deduce what Windows is doing internally by looking at external events. Oh, and tcpdump is also available for Windows as WinDump (bonus points for being BSD licensed).
I've never reinstalled a Windows Server because it couldn't be fixed. I've reinstalled because of hardware failures, misconfigurations or upgrades, but that's about it. I have, however, reinstalled Windows desktops because I didn't want to take the time to fix them. Like I said, though, if I can fix it about 2 hours with a reinstall, it's a better proposition than spending 4 fixing it.
Windows the OS is very stable...it will run on decent hardware for just shy of forever. Windows apps and assorted device drivers, however, are all over the place in terms of stability and are the cause of virtually every BSOD or crash I have ever seen. I do wish Windows had a better model between device drivers and the kernel, but then I don't run flaky drivers on servers...that's more a desktop concern. Flaky apps should be fixed by the vendor or changed to a competing app.
Yeah, cause it's inconceivable that MS would have a *nix admin looking into a large scale conversion of BSD to Windows servers. Also inconceivable that they would want to hear about what a UNIX admin thinks about Win2K Server when they are planning on releasing a whitepaper on converting UNIX to Windows. Especially when he makes comments like (not direct quotes, can't get the site to load right now) "I don't know what these services are or how to stop/start them", "I was surprised at the command line tools in Win2K and the Resource Kit", "I don't know what ports are open", etc. Yup...I must be daft.
I think the problem was that (a)the report writer didn't know how to disable services, and (b)Hotmail didn't want to spend the money for 2nd NIC's. Given those constraints, it's a bit difficuly to "fix the problem"...which is that Windows, out of the box, is not designed to be hung out on the internet w/o protection. If you're going to do that, you'll have to spend some time configuring it. Luckily, firewalls are standard practice, and could really help out the report writer.
Try using netstat -a. But, using a port scanner on a box you want to harden (UNIX or NT) is, again, standard practice, and is a readily available tool to document what ports are open on a machine (the problem the report writer was having).
Is Windows exactly like UNIX, of course not. Are there functional equivalents in Windows to almost all UNIX commands...yes (and the report even mentions that). Competent admins have been successfully setting up and maintaining Windows servers for many years, and if a tool doesn't exist to do what they need, then it will be created. Not so different from UNIX, eh?
However, for equivalently high salaries ($65k+), you can get a very competent UNIX admin or a very competent NT admin. For low salaries ($30k) you can get a incompetent NT admin (paper MCSE) or an incompetent UNIX admin (I run Linux at home and/or I had a shell account in college).
Then you haven't met enough NT admins. True, I don't debug apps under NT but I don't do it under UNIX either...I'm not a programmer, nor did I ever claim to be one. Reading the source to the Linux/NT kernel would mean very little to me (though it would cure my occasional insomnia). I will, however, do my best to find a workaround in NT or UNIX if I can't get the programmer to fix the problem.
A reinstall is usually the last resort to a competent admin. It's an admission of failure, with the bonus being that it's a shitload of work in most cases. In some cases, however, it makes more sense to reinstall (3-5 hours) than spending 8 hours trying to fix the problem. Just because Windows can be reinstalled, doesn't mean that it can't be debugged or troubleshooted. A competent NT admin will weigh the pros and cons of each approach and make the most efficient choice for that situation...same as a UNIX admin.
You make the assumption that the UNIX admin is a highly skilled dedicated professional, and that the NT admin is nothing more than a high school dropout with no other tools than a power switch and an NT cd to reinstall with. Hardly realistic in the real world.
Disclaimer: Windows is my lifeline. I'm paid to work on Windows machines. And to answer your question, I do it quite often if it's the most convenient way to get things done. Of course, I also have an admin workstation with MMC tools loaded, can telnet in, can run TightVNC, or Terminal Services for remote control, or can use a lot of tools (native Win2K + 3rd party) to administer from the CLI of my own box. Or, I can automate things via WSH using VBScript (my scripting language of choice) if it's something repetitive. Whichever suits me and the problem at hand at the moment and makes my life easier.
Not saying that UNIX is wrong in it's CLI, but saying that a GUI in Windows is not a good excuse for not being able to automate or run from the CLI if you want.
Servers DO go down, both UNIX and Windows. It's a cost of doing business. And you usually don't have to touch a Windows server after it's installed unless you want to change something. That's about the same as for UNIX, isn't it?
So, do you run *nix boxes on the internet without a firewall? I don't. I'd say it's pretty standard practice to put webservers of all kinds behind firewalls, so the paper pointing out open ports is a bit of a red herring.
When the "right way" takes more time, specialized skill, and effort, then it's the "more expensive way". And then you have to weigh the costs involved as well. A forward looking, intelligent individual uses the resources available to him to do the job in the most EFFICIENT manner. When hardware is cheaper than eeking out another .1% performance boost from recoding or optimizing, then throwing hardware at the problem is a viable solution. I can buy 512MB of RAM for less than what it costs for a client to pay me for 1 hour. If that solves the problem, then it makes more sense to buy the RAM. That's business.
Yeah, multicasting a 900MB image requires fiber and 1000BT. And huge terabyte SAN's of course. Right. And don't forget the massive supercomputer cluster to process that huge load. My god, it's almost 1.5 CD's worth! That's half of the RedHat download! (I know, RedHat includes more than just Linux, but it's quite feasible to download all 3 ISO's on a DSL line, so I don't think Gigabit Ethernet is required for a 900MB image).Umm...you can kill every process in Windows that isn't necessary too. That's why they're called unnecessary. Admittedly, if your only tool is the taskmanager then you're not a knowledgeable admin, so Windows will protect you from yourself...but I see that as a good thing.
Like a reboot is that big of a deal. It takes all of 5 minutes, and can even be scheduled. Let's get off the uptime high horse, eh? If you need 24/7 uptime, there's ways to get it, but be prepared to pay for it...both with *nix or Windows.
Like I said, you're probably not a Windows admin. I am, and have never run into a service I couldn't stop. There are some I shouldn't have stopped, but that's another story. =)
Bottom line is that both Windows (2000) and *nix are good operating systems. Well suited to almost any task required of a server. They both require knowledgeable admins to be used to their fullest potential, but Windows has the edge in ease of use. A semi-technical manager can have a Windows network up in an weekend...not so for *nix. Of course, the price the manager pays is that his server isn't really set up correctly, but that's what you get when a manager or low skilled admin sets up a server. Same thing as when I work on my car, I know it's not up to the same standards as a professional mechanic, but sometimes it's worth the tradeoff. Linux and FreeBSD have advantages in that they're free, highly configurable, and can run on old hardware. Strong selling points for some, not so for others. Everything involves tradeoffs.
The costs issues you quote was between Windows 2000 Advanced Server and Windows 2000 Server...nothing about *nix.
As for the whitepaper, it seems to me it was written by a *nix admin with little Windows server experience (which describes a majority of /. readers as well). I mean, what is this:
If it's more convenient to reboot the machine, then what's the complaint? If it's inconvenient to reboot (which describes 90% of the servers I work on), then find the service and restart it. Hint: Look in the Services console...then right click and Restart. Or, if you prefer the CLI, use net stop/start . For bonus points, you can use the short or long name of the service. What's so difficult about that?
Oh...and interdependencies? Look in the Services console and click on Dependencies. Most even have a short description so you know what it does. If that's not enough info for you, search Google or Technet. Or get a test server. It's not rocket science, nor is it any more difficult than UNIX.
The CLI is pretty flexible and allows most maintenance work to be done in it, and when that doesn't work AutoIt (3rd party freeware) can script GUI events (pretty easily I might add). WSH scripts can also automate just about everything you can think of.
Once again, the Services console could really help this guy get a clue. As for random ports being open, that's one reason we have these things called firewalls...not to mention port scanners and knowledgeable Windows admins.
I think what he meant to say was, "it is never clear TO ME OR MY TEAM which services are necessary". Others do quite well at it.
Imaging servers should be done by multicasting, effectively negating bandwidth concerns. Windows 2000 rarely needs a reboot (though apps and the like will prompt you to do it even if they don't need it), and you can easily stop and restart a service.
The author does have points on the Task Scheduler/at command which is a real PITA. There are 3rd party utilities to help with that, but MS does need some work done in that department. Also, the GUI and performance concerns are relevant when discussing a web server, which is why I wish MS would just come out with a web server version of Windows (wasn't that in the pipe a while ago?). And I think Windows 2000 has proven to be pretty stable (as long as it's on quality hardware, of course).
In my ethical view, you end up in the same place. Legally (and in society), the assasin is breaking the law and so will be punished IN ADDITION to the guy who hired the assasin. Difference being that lawyers are not breaking the law...they are working within the law.
Have a problem with the law? Then it's Congress or a judge's fault.
Have a problem with someone using the law "creatively" to their benefit? Then it's the clients fault.
Have a problem with a lawyer fulfilling his client's wishes (while regarding existing laws)? Then you don't understand capitalism...nor an adversarial judical system.
No, a jury is (excepting Bush's administration, of course). But, a lawyer is your best bet for the defendant facing a possible death sentence.
Of course, we were talking CIVIL lawsuits, not CRIMINAL lawsuits...so your point is invalid on (at least) 2 counts.
Take it a step further...why is "legal friction" good for lawyers' business? Maybe because there's a lot of companies (and individuals) who hope to capitalize on that "legal friction"...and so hire a lawyer to present their case?
Then vote Republican and let the big corporations have it. Campaign finance reform issues aside, lawyers still only serve as a mouthpiece for their clients...no lawyer would intentionally misrepresent their client's wishes.
Everybody is always against the lawyers...but it's not really their fault. A lawyer, in essence, is no more than a hired gun skilled in argueing. The client tells the lawyer what to say/do, and the lawyer pulls out all the tricks and loopholes to fulfill the client's desire.
Why shoot the messenger? Shoot the guy who hired the messenger, gave the messenger the message, and will hire another messenger to deliver the message if the first one complains.
To avoid the inevitable /. effect (swamped, plus the inevitable trolls and fringes), how about a reverse /. interview? Let Ron pose the questions, then send him the highest moderated responses. Or just a general thread, then email him the +5 comments.
I think that'd be a better representation of the /. community in that we would be self-selecting our representatives. We don't want to come off as anti-capitalist, pro-communist, p0rn lovers, 3l33t h4k3r5, warez pirates...or, god forbid, goatse.cx fans. (Even if you are one (or more) of those things, it won't help in garnering support agains the DMCA to reveal it to the readership of the WSJ).
Actually, they save it in your My Documents folder by default, which is easily accessible as a top level folder wherever you go. The default location is also customizable (see Tools-Options-File Locations) and it can be overridden on a per document basis when you save a file.
Win9x and WinNT use %systemroot%\Profiles, even though Win9x doesn't come enabled for profiles by default.
Win2K and WinXP use C:\Documents and Settings, probably because it's a good bit more visible than hiding it in %systemroot%.
Of course, in all NT based OS's (WinNT, Win2K, WinXP) it's at %userprofile%. And both 9x and NT OS's use a registry entry for the location (I believe it's HKCU\Software\MS\Win\CurVer\Explorer\User Shell Folders) of anything that needs to go into a profile. And that's why, as a developer, you should take the effort to check the variables that tell you where the stuff goes, instead of assuming the default.
Don't blame MS for lazy developers.
Just to piggyback, if you use HFNetchk, get thyself QChain which eliminates multiple reboots when installing multiple hotfixes, and Hotfix Reporter, a nice GUI to HFNetChk.
BTW, machine to machine traffic in Win2K CAN be secured, and CAN be authenticated as well...as long as you control both machines.
For pre .NET, the easy way is to throw the right version DLL into the program's directory.
I haven't been following the seucrity certification for Win2K story, but was it tested with SP1, SP2, etc? Or are you just assuming it would fail without SP3?
Try Proxomitron. It's a local proxy server that you can use to strip, change, or pretty much just do whatever to incoming HTML. I've used it for some projects in the past and found it quite stable and helpful, though a bit ugly. =)
Oh, and it's not Windows users that are the issue. It's not like people who use Windows are a lower life form, it's that (a) 90% of users use Windows, and (b) Probably 70% of users aren't technically savvy about their PC. Cross the 2 together, and you'll have an awful lot of unsavvy Windows users.
And if I break your car window, steal your car, and drive it into a bank...I suppose you should lose your driver's license, right?
Wow. I must've stumbled onto Activewin by mistake. Must be that damn DNS attack....
BTW, an unmanaged hub is nothing more than an electrical device. It propagates electrical signals (packets) to the various ports. A managed hub (which are usually switches-similar to hubs, but not quite the same.) does indeed get an IP address, though it doesn't need one to act as a dumb hub (or switch).
Construction? How about the builder borrowing $100,000 from the bank for a construction loan, using $80,000 to build the house (that's how much it costs to build) and the extra $20,000 as collateral for another loan? That's not "compromising ethics"?
Trucking? Hmmm...I guess forging log books so you drive over the federal limits for time/10 days or time/day in order to (a)make a living, and (b)keep your job doesn't qualify?
Sales? What more needs to be said?
Don't fool yourself into thinking that "virtually all other jobs" don't require some compromise of ethics. Shots are called by bigger fish than you, and they can always find someone else to do it. My code of ethics is pretty inflexible on the fact that me and my family need a roof and food...and keeping my job is my duty to those that depend on me. Even if that requires a small compromise in "ethics".
We're not talking murder here (though in trucking, an argument could be made that we may be contributing to a possibility of vehicular manslaughter), so let's keep it in perspective, ok?
Hmmm...Yeah. We could call it, maybe, Shared Memory Architecture...that's pretty catchy. I';m sure Intel and AMD and VIA would love to talk to you about it.
And I've got a Number Nine SR9 (S3 Savage4 chipset) with 8MB! And it runs Ghost Recon, Desert Siege, etc. acceptably when paired with my whopping PIII-500 and 256MB RAM!