That's because the Kernel was written by a proper programmer, Dave Cutler (and his team) they stole from DEC, it was so good they are still using it 20 years later...
Ahh... that old saw. By the same reasoning, Linus "stole" Linux from Bell Labs. All software is built upon designs used in the past. You take what worked well, and change the stuff that didn't.
Meanwhile Microsoft's own developers have spent the last 10 years trying to write a new kernel, and have barely got it to boot....
I really don't know what you're talking about here. The only ground-up OS from Microsoft I'm aware of is the Research project Singularity. It is a truly a radically new, pie-in-the-sky, break-with-the-past OS design. It also took far less than a decade of effort (started in 2004). And it does a lot more than "barely boot"; they've even run SPECweb benchmarks against the "all managed code" OS and built-in web server as far back as 2005.
If you're really determined though, you can always use ksplice to patch, and avoid rebooting.
One more thing Linux has on Windows.
Umm... no. Microsoft has had hot-patching available for several years. Not many people use it, because most critical Windows systems that can't tolerate downtime are clustered. But it works. I think some Windows Server 2008 patches are actually distributed through Windows Update with hot-patching enabled by default; I have had many patches on 2008 not require any reboots.
If you go by processes, a very fundamental design difference between Windows and Linux begins to show. In Windows, processes do not have parents. If one process spawns another, they are always peers.
This is absolutely 100% incorrect. Try loading up Windows task manager sometime. Right-click on a process. See that item called "end process tree"? Use Process Explorer if you want to see a graph.
Why is it that so many Linux fanboys make up limitations of Windows that don't exist? It's not necessary - there are enough real flaws in the Windows user-land to gripe about. The Windows NT kernel, on the other hand, is actually well designed and executed.
Except the cars can be replicated at near-zero cost. So there is no incentive for a car buyer to pay the designer - they just wait and copy the first produced car. There is also no car manufacturer to pay him.
There is no sensible economic model to support your fantasies. Which is why copyright exists.
If new technology allowed car thieves to copy cars (at zero cost) instead of stealing them, just about everyone would win. Car manufacturers would lose out, since we'd no longer need massive factories to build cars, but car designers would still earn a living as long as the public was still hungry for new car designs.
Just who is going to pay the car designer? I mean, the car itself is free. It sounds to me like he would have to have some legal means to protect his efforts... some sort of a licensing scheme maybe?
If you watch large teams of programmers, the managment actually force the developers to write slow code, claiming that maintainability is more important than any other factor! (smart code that actually executes quickly is generally too difficult for the dumb-arsed upper (management)
No, we (management) understand your shifty obfuscated code just fine. It's just that you are too stupid to grasp basic economics.
One week of a developer's time, fully allocated, costs the same as a decent app server. So optimizing code for maintenance is far more cost effective than optimizing for performance.
Slashdot is written in English, whose native words do not use characters outside US-ASCII.
Bulshitt. Slashdot is a technical forum, meaning quite a few non-ASCII characters are potentially needed. Some examples are Â,Â,±,Î",â and even £ and
â.
Oh wait, that's "degree symbol","micro symbol", "plus-or-minus","delta","almost-equal", and "pound currency" and "Euro currency" symbols.
Views are updatable in MS SQL Server, and probably Oracle and DB2. THere are some restrictions of course (no aggregates for example are allowed in the view). We use this fetaure all the time to hide schema changes from older code that we don't want to mess with.
In Europe, people mourned the loss of their national currency when the Euro came in. I saw a woman in Spain actually crying about the peseta on television. The Brits are still hanging on to the pound like grim death. Fucking pathetic really, it's just a piece of metal/paper!
I would suggest getting two full virtual servers from a hosting provider, one for your DB and one for your web/applications server. This can be based on Xen or VMware, but that doesn't doesn't matter to you. Just let the hosting provider's high-availability clustering handle things for you. Add load-balancing in only when traffic levels require it - and with the sort of traffic you are discussing, you do not need load-balancing unless your code is really bad or user requests generate some really massive computations (such as some sort of online business intelligence or analytics).
Some bigger providers in this space are here, here, here, and here. Amazon EC2, which others have mentioned, may not be a good a fit for your proposed applications, since their storage model is stateless.
IIS worker processes have nothing to do with threading. Worker processare are just that: separate processes that isolate web applications on the same box from one another, so that one badly-behaved web application doesn't kill all the others running on the same instance of IIS. Each worker process is multi-threaded and has its own connection pooling, etc.
In the apache world, I suppose this would be like having one apache front-end process that listened on port 80/443 and used mod_proxy to relay connections to a bunch of different Apache processes, each in turn running one or more applications on different ports, all on the same server.
So now we kick our apache at 3am every morning and RT hasn't grinded to a halt since.
Restarting IIS nightly used to be SOP back in the Windows NT4 and Win2000 days, but Microsoft cleaned up their act with IIS6 on Windows 2003, which we have never had to restart* for any of our applications.
It's nice to see that Apache has caught up to Microsoft circa 1996!
*Yes, I know about automatic worker process recycling, but that isn't nearly the same thing as a service restart. And yes, I know these boxes get bounced at least bimonthly for patches. I'm trying to make a joke here.
That's real brilliant advice, but the problem is there are astonishingly few lawyers who will have the slightest clue how to answer this question.
What a load of crap. I regularly participate in negotiations with lawyers who specialize in software licensing, and every single one I've met would be capable of constructing an equitable agreement to address the OP's situation.
Believe it or not, techies are not the only people who can be are smart, or competent at their chosen profession. And not all lawyers are "history major potheads who somehow got into law school".
In Minnesota, for some unholy reason, it's "duck duck grey duck". But what do you expect from a state that elected both Jesse "The Body" Ventura and Stuart Smalley to high public office?
You really miss the point. Microsoft software is CHEAP. Dirt cheap.
I manage a mid-sized IT organization that is 90+% Microsoft on the server and client sides. We drank the kool-aid long before I got there and run the whole volume-licensed MS stack at all of our sites on hundreds of servers and workstations (Windows server, Exchange, SQL, Sharepoint). And yet less than 2% of our budget goes to Microsoft each year. Most of our money goes to salaries and benefits, and most of those people are developers (working in.NET, Java, PHP, anything but Perl).
By switching to Linux, we would increase costs drastically in the short-term. We would need more admins, more help desk people, and a lot of time spent testing, re-documenting processes, etc. It would probably increase costs by 20%+ the first year. Switching just doesn't make any sense financially. Even a wildly optimistic scenario that would let me cut say 20% of my Windows server admin salaries in year 2 still has a very long payback time and lots of risk. Finally, there are still no true open source alternatives for Windows Group Policies, Exchange Server, or Sharepoint Server yet.
Linux isn't going to take over the world by virtue of cheapness. It has to be better than what it is trying to displace, by whatever metric matters to users or decision-makers, and by a large margin. There are some application domains where Linux is a clear choice, but a great many where it is not.
The default TCP window sizes on XP for a sub-Gigabit LAN are 8 Kb. While that value is a sensible, conservative default for a LAN, this value can be easily changed OS-wide in the registry, Group policy, or a PowerToy utility. Smartly coded programs can also of course change it for their own connections using SOCKOPTS.
Using a gigabit LAN, which uses 16 KB window sizes by defualt, you get much better speeds on XP, even without registy tweaks:
G:\Utilities>iperf -c 10.33.44.55 -w 16K -t 30 Client connecting to 10.33.44.55, TCP port 5001 TCP window size: 16.0 KByte [1912] local 10.33.44.11 port 3914 connected with 10.33.44.55 port 5001 [ ID] Interval Transfer Bandwidth [1912] 0.0-30.0 sec 3.06 GBytes 877 Mbits/sec
The problem is not XP's TCP/IP stack in general, which easily does Gigabit-class throughput as shown above. Since the OP didn't say anything about his LAN hardware, I am going to assume he's seeing the lmitations of an 8 KB TCP window size when talking to an internet server with non-trivial latency.
You forgot:
8. Securely destroy old backups when they are not needed.
9. Run your backup and retention policies past your lawyers to be sure you're not saving too much or too little data.
One other problem: 1 million liters of water at a 50m height differential is only 136 kWh of energy storage. That's enough to power an average US home for 4.5 days, assuming perfect energy recovery.
To power Chicagoland's 2 million homes for one day, for example, we would need a reservoir of 450 billion liters at a height differential of 50m. That is a full square reservoir 6.7 km across and 10 m deep. Can you imagine the cost of building two reservoirs that size near each other without nature's assistance?
"A few hundred feet" is almost impossible to come by in the most ideal wind-power locations such as the I-states (Indiana, Iowa, Illinois) and west Texas. You can see the curvature of the earth in central Indiana over the corn. But as I said, there are some exceptions.
There is, I believe, one small hydro plant in Illinois, for example. One. But there are something like 40,000+ square miles of good windpower territory in Illinois. Unless you use the existing grid somehow (don't know if you can), building transmission lines to the single hydro plant would be cost-prohibitive.
The best places for wind turbines (open plains) are usually far away from the best places for dams (canyons). The increased cost of building transmission lines and increased losses on those lines makes your solution impractical for most locations. A few exceptions may exist, but most "wind alley" locations like TX, OK, and IA don't have the elevation changes needed for hydropower.
Hardware can get you a factor of 2x-10x, depending on the bottlnecks of the original applicaiton (it's usually the database tier, or some other "shared state" component).
Well-concienved algorithmic or architecture changes can net performance gains of 100x or more.
So if 2-4x is all you need, by all means throw some hardware at the problem. But when you need to shave weeks into hours, a hardware upgrade isn't usually the right answer, and expensive experts (who understand the algorithms, but also memory locality, networking, storage architectures, and other stuff that developers don't usually grok) are worth every penny.
That's because the Kernel was written by a proper programmer, Dave Cutler (and his team) they stole from DEC, it was so good they are still using it 20 years later...
Ahh... that old saw. By the same reasoning, Linus "stole" Linux from Bell Labs. All software is built upon designs used in the past. You take what worked well, and change the stuff that didn't.
Meanwhile Microsoft's own developers have spent the last 10 years trying to write a new kernel, and have barely got it to boot ....
I really don't know what you're talking about here. The only ground-up OS from Microsoft I'm aware of is the Research project Singularity. It is a truly a radically new, pie-in-the-sky, break-with-the-past OS design. It also took far less than a decade of effort (started in 2004). And it does a lot more than "barely boot"; they've even run SPECweb benchmarks against the "all managed code" OS and built-in web server as far back as 2005.
If you're really determined though, you can always use ksplice to patch, and avoid rebooting. One more thing Linux has on Windows.
Umm... no. Microsoft has had hot-patching available for several years. Not many people use it, because most critical Windows systems that can't tolerate downtime are clustered. But it works. I think some Windows Server 2008 patches are actually distributed through Windows Update with hot-patching enabled by default; I have had many patches on 2008 not require any reboots.
Erm? Why is a reboot a problem?
On Vista I didn't have to reboot after the last patch Tuesday. 10 patches to Office and Windows installed, no reboot required.
Suck it, Trebek!
If you go by processes, a very fundamental design difference between Windows and Linux begins to show. In Windows, processes do not have parents. If one process spawns another, they are always peers.
This is absolutely 100% incorrect. Try loading up Windows task manager sometime. Right-click on a process. See that item called "end process tree"? Use Process Explorer if you want to see a graph.
Why is it that so many Linux fanboys make up limitations of Windows that don't exist? It's not necessary - there are enough real flaws in the Windows user-land to gripe about. The Windows NT kernel, on the other hand, is actually well designed and executed.
Except the cars can be replicated at near-zero cost. So there is no incentive for a car buyer to pay the designer - they just wait and copy the first produced car. There is also no car manufacturer to pay him.
There is no sensible economic model to support your fantasies. Which is why copyright exists.
If new technology allowed car thieves to copy cars (at zero cost) instead of stealing them, just about everyone would win. Car manufacturers would lose out, since we'd no longer need massive factories to build cars, but car designers would still earn a living as long as the public was still hungry for new car designs.
Just who is going to pay the car designer? I mean, the car itself is free. It sounds to me like he would have to have some legal means to protect his efforts... some sort of a licensing scheme maybe?
Sharepoint with office 2007 integration. There is no open source alternative.
If you watch large teams of programmers, the managment actually force the developers to write slow code, claiming that maintainability is more important than any other factor! (smart code that actually executes quickly is generally too difficult for the dumb-arsed upper (management)
No, we (management) understand your shifty obfuscated code just fine. It's just that you are too stupid to grasp basic economics.
One week of a developer's time, fully allocated, costs the same as a decent app server. So optimizing code for maintenance is far more cost effective than optimizing for performance.
I see you've never experienced the joys of J2EE.
Bulshitt. Slashdot is a technical forum, meaning quite a few non-ASCII characters are potentially needed. Some examples are Â,Â,±,Î",â and even £ and â.
Oh wait, that's "degree symbol","micro symbol", "plus-or-minus","delta","almost-equal", and "pound currency" and "Euro currency" symbols.
Views are updatable in MS SQL Server, and probably Oracle and DB2. THere are some restrictions of course (no aggregates for example are allowed in the view). We use this fetaure all the time to hide schema changes from older code that we don't want to mess with.
In Europe, people mourned the loss of their national currency when the Euro came in. I saw a woman in Spain actually crying about the peseta on television. The Brits are still hanging on to the pound like grim death. Fucking pathetic really, it's just a piece of metal/paper!
I would suggest getting two full virtual servers from a hosting provider, one for your DB and one for your web/applications server. This can be based on Xen or VMware, but that doesn't doesn't matter to you. Just let the hosting provider's high-availability clustering handle things for you. Add load-balancing in only when traffic levels require it - and with the sort of traffic you are discussing, you do not need load-balancing unless your code is really bad or user requests generate some really massive computations (such as some sort of online business intelligence or analytics).
Some bigger providers in this space are here, here, here, and here. Amazon EC2, which others have mentioned, may not be a good a fit for your proposed applications, since their storage model is stateless.
IIS worker processes have nothing to do with threading. Worker processare are just that: separate processes that isolate web applications on the same box from one another, so that one badly-behaved web application doesn't kill all the others running on the same instance of IIS. Each worker process is multi-threaded and has its own connection pooling, etc.
In the apache world, I suppose this would be like having one apache front-end process that listened on port 80/443 and used mod_proxy to relay connections to a bunch of different Apache processes, each in turn running one or more applications on different ports, all on the same server.
Restarting IIS nightly used to be SOP back in the Windows NT4 and Win2000 days, but Microsoft cleaned up their act with IIS6 on Windows 2003, which we have never had to restart* for any of our applications.
It's nice to see that Apache has caught up to Microsoft circa 1996!
*Yes, I know about automatic worker process recycling, but that isn't nearly the same thing as a service restart. And yes, I know these boxes get bounced at least bimonthly for patches. I'm trying to make a joke here.
What a load of crap. I regularly participate in negotiations with lawyers who specialize in software licensing, and every single one I've met would be capable of constructing an equitable agreement to address the OP's situation.
Believe it or not, techies are not the only people who can be are smart, or competent at their chosen profession. And not all lawyers are "history major potheads who somehow got into law school".
In Minnesota, for some unholy reason, it's "duck duck grey duck". But what do you expect from a state that elected both Jesse "The Body" Ventura and Stuart Smalley to high public office?
You really miss the point. Microsoft software is CHEAP. Dirt cheap.
I manage a mid-sized IT organization that is 90+% Microsoft on the server and client sides. We drank the kool-aid long before I got there and run the whole volume-licensed MS stack at all of our sites on hundreds of servers and workstations (Windows server, Exchange, SQL, Sharepoint). And yet less than 2% of our budget goes to Microsoft each year. Most of our money goes to salaries and benefits, and most of those people are developers (working in .NET, Java, PHP, anything but Perl).
By switching to Linux, we would increase costs drastically in the short-term. We would need more admins, more help desk people, and a lot of time spent testing, re-documenting processes, etc. It would probably increase costs by 20%+ the first year. Switching just doesn't make any sense financially. Even a wildly optimistic scenario that would let me cut say 20% of my Windows server admin salaries in year 2 still has a very long payback time and lots of risk. Finally, there are still no true open source alternatives for Windows Group Policies, Exchange Server, or Sharepoint Server yet.
Linux isn't going to take over the world by virtue of cheapness. It has to be better than what it is trying to displace, by whatever metric matters to users or decision-makers, and by a large margin. There are some application domains where Linux is a clear choice, but a great many where it is not.
The default TCP window sizes on XP for a sub-Gigabit LAN are 8 Kb. While that value is a sensible, conservative default for a LAN, this value can be easily changed OS-wide in the registry, Group policy, or a PowerToy utility. Smartly coded programs can also of course change it for their own connections using SOCKOPTS.
Using a gigabit LAN, which uses 16 KB window sizes by defualt, you get much better speeds on XP, even without registy tweaks:
The problem is not XP's TCP/IP stack in general, which easily does Gigabit-class throughput as shown above. Since the OP didn't say anything about his LAN hardware, I am going to assume he's seeing the lmitations of an 8 KB TCP window size when talking to an internet server with non-trivial latency.
You forgot:
8. Securely destroy old backups when they are not needed.
9. Run your backup and retention policies past your lawyers to be sure you're not saving too much or too little data.
We call that container "the ground". Most large flywheel installations I have seen are buried in a pit for safety.
One other problem: 1 million liters of water at a 50m height differential is only 136 kWh of energy storage. That's enough to power an average US home for 4.5 days, assuming perfect energy recovery.
To power Chicagoland's 2 million homes for one day, for example, we would need a reservoir of 450 billion liters at a height differential of 50m. That is a full square reservoir 6.7 km across and 10 m deep. Can you imagine the cost of building two reservoirs that size near each other without nature's assistance?
"A few hundred feet" is almost impossible to come by in the most ideal wind-power locations such as the I-states (Indiana, Iowa, Illinois) and west Texas. You can see the curvature of the earth in central Indiana over the corn. But as I said, there are some exceptions.
There is, I believe, one small hydro plant in Illinois, for example. One. But there are something like 40,000+ square miles of good windpower territory in Illinois. Unless you use the existing grid somehow (don't know if you can), building transmission lines to the single hydro plant would be cost-prohibitive.
The best places for wind turbines (open plains) are usually far away from the best places for dams (canyons). The increased cost of building transmission lines and increased losses on those lines makes your solution impractical for most locations. A few exceptions may exist, but most "wind alley" locations like TX, OK, and IA don't have the elevation changes needed for hydropower.
Hardware can get you a factor of 2x-10x, depending on the bottlnecks of the original applicaiton (it's usually the database tier, or some other "shared state" component).
Well-concienved algorithmic or architecture changes can net performance gains of 100x or more.
So if 2-4x is all you need, by all means throw some hardware at the problem. But when you need to shave weeks into hours, a hardware upgrade isn't usually the right answer, and expensive experts (who understand the algorithms, but also memory locality, networking, storage architectures, and other stuff that developers don't usually grok) are worth every penny.