WAY more time than they had to develop Duke Nukem Forever, and it's just a _file system_.
It's not "just a _file system_". It's not even a file system in the traditional sense. I would describe it as a very fancy metadata and structured data indexing system built on top of an existing file system and relational database.
I suspect that the system would be too complex if fully implemented considering the benefits it would bring - lots of potentially "cool" features, but not a whole lot of stuff that is truly useful (except desktop search, but that's already been implemented without WinFS.)
Functionally, what difference is there between a file system that runs atop a platter of bits and one that runs atop a stream of bits? To me, it seems that a File System can run atop another file system and still be a file system - look at GMailFS, for example. Think of it in terms of compilers - does a backend targeting assembly make something a compiler, while a backend to C/Java/Brainfsck do not?
WinFS was a database backed application - data would be stored on a traditional file system, unless it was sufficiently structured to make it worth storing directly in a relational database. So things like address book contacts would probably be stored completely in a WinFS database, but things like PDF documents or MP3 files would only have their metadata stored in WinFS.
WinFS attepmted to provide much, much more than the standard hierarchial file system operations (open/close, read/write, and directory manipulation). In this sense, it is not a filesystem. However, it would probably present as one of its interfaces a virtual file system that could be accessed like any other - so data in WinFS would be browseable through any application.
Firefox, like Opera and others are OS agnostic too, in addition to being developed in an open manor.
Firefox is the only major browser developed in an open manner.
I don't consider "OS-agnostic" to necessarily be a good quality in desktop software. To me, Firefox looks out of place on many systems - in OS X, the widgets are all wrong. In Windows, the menus and widgets look wrong - and the entire UI looks pretty bad when using Aero. Ubuntu 9.04's Firefox configuration isn't too bad, but CentOS's wasn't last I tried it.
The difference is that Firefox is standards (mostly) compliant, and seeks to keep it that way. So if web developers build "only for Firefox" the sites will work in ALL standards compliant browsers. The same can't be said for IE, brought to you by a company who use vendor lock-in as a weapon.
It is entirely possible to build websites compatible with only certain browsers. It is also possible to build sites compliant with published standards that do not work properly on any current web browser.
Firefox mplements many features which are not published standards. Many are draft or proposed standards, but some are not. Firefox also fails to fully implement some standards. (Firefox is not alone in this.) A pure "standards compliant" web browser would not implement these:
XMLHttpRequest, which is used by AJAX sites and was made popular by Gmail. It is a Working Draft and it was first drafted in 2006. The first implementation was made by Microsoft in 1999 (as an ActiveX object usable from JScript or VBScript) and implemented in its current form by Mozilla in 2002.
CSS 2.1 is currently a Candidate Recommendation and was first drafted in 2002.
Data URI is not a standard, but just a published specification.
JavaScript is not a standard. ECMAScript is. Take a look at the Firefox column on the first link - they have introduced lots of features since the last published standard.
A standards-complaint browser compatible with the latest published standards would also support the latest standardized DOM. Take a look at that - some of the features are not implemented by any browser. See the specifications here. DOM Level 2 was published as a recommendation in 2000 and DOM Level 3 was published as a recommendation in 2004.
Low reliability end energy inefficient. A P4 burns more or less 60w in idle. A drive easily use 15w. If the power supply has an 50% efficiency... that is perfectly normal for old cases. If you have 3 disks you use (60+3*15)*1.5= 157.5 w. Add more 20w to motherboard, memory and stuff and you get almost 180W in idle. This is a LOT after one year.
If you are not still convinced. Try to imagine how to recover the raid array after one disk dies... Search the net and you'll find a lot of people that was unable to recover arrays because they used cheap hardware.
Your numbers are rather arbitrary. Drives use nowhere near 15 W each at idle. Depending on the specific Pentium 4 model, idle power usage could be less as long as power management is functioning. And not all power supplies are nearly as inefficient as you suggest.
With recent hardware: it's possible to run a Core 2 Duo system with 27(!) desktop hard drives in ~210 W at idle.
I've recovered from drive failure or missing drives with Linux md software RAID many times and have never had a problem other than actual drive failures.
It's plenty fast for most tasks and can utilize a Gigabit link up to 30% in a RAID6 setup.
Unremarkable. My Linux file server can utilize a gigabit ethernet link at very close to 100% in a RAID6 setup. No fancy hardware RAID, just an Intel desktop board and CPU.
Devices like the one you linked probably use a less power than a desktop system. But at $800, I'd rather buy or build a much cheaper PC - it'll take years for the difference in electricity costs to catch up. The PC will be faster and more capable.
Large-scale backups and transfers are a really big pain, but realistically, there are very few situations where you transfer more than a few gigs.
You might not transfer a lot of data, but others might.
Without any special effort, my boring Core 2 Duo systems transfer 1 gigabyte in less than 20 seconds - at least 60 megabytes/sec. This is with standard 7200 rpm desktop hard drives and the standard configurations of Windows Vista, OS X, and CentOS.
If possible, you could have avoided it. Where I work, the web-based resources I need aren't part of the same site and could be accessed without going through the portal.
And if this "agreement" was only on the front page of the portal, you may have been able to bypass it by navigating to a different page within the portal.
I don't know if the Netscape developers/qa team got sloppy or if MS was messing with the API to create the instability, all I knew is my preference for NN died.
I don't think MS undertook any action to make Netscape unstable on Windows. I recall Navigator being unstable on any platform on which I used it, at least when accessing pages that were likely to make it crash. Around 1999-2001, I occasionally used Navigator 4 on systems running Windows 95 - before Microsoft had integrated IE. I don't remember being impressed with Navigator on Mac OS or Linux, either.
It wasn't the fact that it was just a browser, it was also a browser that managed to be annoyingly incompatible with standards. Not to mention was created specifically to stop Netscape.
Did you use the internet a decade ago? Back in the late, Netscape Navigator sucked compared to the IE versions available at the time. IE4's support for the HTML DOM and CSS were much better than Navigator 4's. Both companies frequently ingored standards and created their own, and many times this actually was good. Remember blink (NN)/marquee(IE)? Frames, cookies, and JavaScript? All Netscape inventions. XMLHttpRequest, which enables "AJAX" and makes things like Gmail and the new Slashdot possible? Originally developed by Microsoft in 1999 and later implemented by other browsers starting in 2002. Oh... and the standard - still a working draft - was first drafted in 2006.
Many of the complaints made regarding IE in the past 5 years or so could apply to the last versions of Netscape Navigator.
In proportion to the costs paid by the users, not in the USA. 58% of USA highway funding comes directly from tolls, fuel taxes, and vehicle registration fees.
Compare to transit operating costs, of which 33% only come directly from passenger fares. When you include capital outlays as well, only 23% of transit expenses are paid for by passenger fares.
For most people time is money and if it takes longer to get somewhere by car, find a place to put said car, take the car for maintenance once in a while, get it fixed for scratches and other damage magically appearing on parking lots, the cost in time alone can amount to something quite high.
Think about it, if you're paid $20 an hour and your car needs to be taken in for repairs, which let's say loses you a whole day of work, that's $160 right there. Money wasted just through time, then there's also the time needed for the repairs themselves and...
On a typical day I travel about 40 miles via car. My average speed is 40 mph. I don't think public transportation systems could beat that unless they went directly from and to everywhere I go on a daily basis.
Parking is never a problem. And there are no easily noticeable scratches on my car... and if there were, I would ignore them.
Over the past two years, I've had two vehicle problems that prevented me from driving. In both cases the problem was resolved less than four hours after it occured.
Maintenance doesn't take a whole lot of time, either. I've probably spent less than 10 hours waiting for work to be done on my car in the past year. Waiting isn't such a big deal, anyway - the repair shop has free wifi.
Do mods know nothing abuot modern operating systems?
A properly implemented application using a multi-process model should use only slightly more memory, thanks to shared memory, a feature of any modern operating system.
Why aren't schools teaching this as a mandatory class?
Because it is a niche language.
Why aren't old applications being broken down and analyzed to multithread components that don't interact?
Many programs already use multiple threads and were threaded before multi-core systems were common. The modern Windows shell (explorer.exe) has been multithreaded since it was introduced in Windows 95.
In general, anything obvious and easy to parallelize has probably been already.
Why isn't the compiler theory concentrating on how to automate this (if possible)?
Porting DirectX applications via winelib is different. In this case, the game developer compiles a native binary that links to Wine's implementation of DirectX. Developers would build and test for non-Windows platforms right from the start. This is hardly different than how any other implementation would work (unless windowing systems and drivers implemented Direct3D natively.)
This eliminates the dependency on x86/Windows.
Game developers can choose to use OpenGL at any time and still target Windows - they don't have to use Direct3D on Windows. If they don't care about cross-platform compatibility, they can use Direct3D if they like it better. Should Microsoft be required to bend over backwards to help support third-party implementations of their already publicly documented APIs? Should they do it for free?
This isn't about Microsoft preventing interoperability - it's about game developers choosing to target Microsoft's APIs. Microsoft has done nothing to prevent the use of alternatives on Windows.
The problem in this case is Microsoft using it's ability through the OS to lock you into a platform by incorporating technologies. If the directx API was opened up to the world and anyone on any platform could use it that'd be a different matter. It would be like them opening up their document formats fully free of patent encumberances. If the DirectX API was open and free we'd have cross platform gaiming, instead, we have developers only developing for one platform.
What is preventing a third party from implementing DirectX? What exactly do you think Wine is? How does TransGaming Technologies get away with selling a DirectX implementation in the form of Cider so that game vendors can "port" their games to OS X? Why do game developers continue to use Direct3D even when Windows supports OpenGL, even in Vista?
Should software vendors be forced to provide detailed implementation information of their APIs to other vendors? This goes well beyond file format and protocol specifications. It's not like Microsoft is keeping certain DirectX APIs undocumented to the outside world so as to cripple competing game developers.
Game developers that use DirectX are *choosing* to develop for Microsoft's APIs; Microsoft hasn't prevented them from using OpenGL and other APIs on Windows. Many are *choosing* to only market computer games for Windows, or selling them for Mac OS X by licensing a third-party DirectX/Win32 implementation. They are *choosing* not to make versions of their games for other platforms by using winelib.
At work, some people use the email subject line to refer to the place, event, object, or concept being discussed. This is the "subject" of the message's content in a grammatical sense.
So instead of meaningful subject lines like "Application X fails to load when used with Y" or "Project Z planning: Please review before Tuesday's meeting" I see subject lines like "Application X" and "Meeting" - only slightly more useful than nothing at all. So when I want to look for a specific email I received in the past, I frequently have to browse through messages with subjects like "Update".
Online forums are even worse - there are too many topics with subjects like "Please help with my configuration" or "Audio question".
I didn't say that anything was harmless or less harmful than alcohol. I said that abuse & excess are bad, and that commonly abused substances can be used safely. Even cocaine has accepted medical uses, and methamphetamine is available with a prescription.
Mind and body and personality. I can over clock my CPU until it melts and it gets faster and faster until it dies. In the 60's it was a common expression to hear, "Speed Kills" and it was very true, as I witnessed the slow/fast decay of numerous people, not just from Amphetamines, but LSD-25, Heroine, Cocaine and things that are not even around anymore.
And eating too much kills. Drinking too much alcohol kills. Products tainted with poisonous substances kill.
Mass manufactured, consistently dosed products are significantly safer when used properly and with awareness of any common side effects and how to deal with them.
Hmm, CPU's are no longer single core though, and that's a major paradigm shift. We're just now retooling to have an easier time writing multiple core code -- the hardware has pretty much evolved even faster than our software here. Even Windows 7 will still not be fully ready for this; then it's more interesting to look in the way of Mac OS X 10.6.
Windows (and OS X, and Linux) have been ready for multi-core systems for quite some time - since before multi-core x86 CPUs existed. SMP support is nothing new. Threading is nothing new; the Win32 and POSIX threading APIs have been around since the 90s. And for applications that work effectively with multithreading, these OSes work fine today.
they've been caught abusing it already (the intel compiler disables a lot of optimizations if code built on it doesn't detect an intel genuine cpu, for example.)
But the Intel compiler is not at all a monopoly in the x86 compiler market, and Intel has not done anything to discourage the use of other compilers on their CPUs or force people to use the Intel compiler on Intel CPUs.
Compare to Microsoft, which *did* have a monopoly in the PC OS market and *did* use this position to unfairly promote their own products.
Increased bus speed = decreased stability, as it affects other components aside from the processor (and just because the processor can take it doesn't mean the other hardware can). I tried this years ago with an AMD Athlon XP processor that hadn't been "unlocked", meaning that you couldn't change the multiplier, just the FSB Mhz. I went through 3 processors, 2 motherboards, 1 RAM module, a graphics card and many annoying BSODs and system freezes before I gave up on overclocking that rig (it was water cooled too).
I recall having to underclock the FSB on cheap motherboards with AMD processors in order to get a stable system.
Back in the early Athlon XP days, you might buy a CPU with a 100 MHz or 133 MHz FSB and a motherboard designed to work at a 100 or 133 MHz FSB.
Overcloking Core 2 is a little different. You can buy a 200 MHz FSB CPU that is very similar to a 333 MHz FSB model and run it at 333 MHz FSB in a motherboard designed to operate at a 200-333 MHz FSB. Since the system board is actually designed to operate at this FSB speed, there are less chances of failure - the RAM and system chipset can run at their normal speeds. It becomes trivial to run a processor like the 2.2GHz E4500 (200*11) at a 266 MHz FSB, for example - without worrying about things like voltages or cooling.
Cut the tax money for, let's say, highway maintenance, and let's see how well those cars do.
Given that 58% of highway funding in the USA comes directly from highway use taxes, fees, and tolls, and about 1% comes from other federal sources, the cars will probably do fairly well. Source
It's not "just a _file system_". It's not even a file system in the traditional sense. I would describe it as a very fancy metadata and structured data indexing system built on top of an existing file system and relational database.
I suspect that the system would be too complex if fully implemented considering the benefits it would bring - lots of potentially "cool" features, but not a whole lot of stuff that is truly useful (except desktop search, but that's already been implemented without WinFS.)
WinFS was a database backed application - data would be stored on a traditional file system, unless it was sufficiently structured to make it worth storing directly in a relational database. So things like address book contacts would probably be stored completely in a WinFS database, but things like PDF documents or MP3 files would only have their metadata stored in WinFS.
WinFS attepmted to provide much, much more than the standard hierarchial file system operations (open/close, read/write, and directory manipulation). In this sense, it is not a filesystem. However, it would probably present as one of its interfaces a virtual file system that could be accessed like any other - so data in WinFS would be browseable through any application.
Firefox is the only major browser developed in an open manner.
I don't consider "OS-agnostic" to necessarily be a good quality in desktop software. To me, Firefox looks out of place on many systems - in OS X, the widgets are all wrong. In Windows, the menus and widgets look wrong - and the entire UI looks pretty bad when using Aero. Ubuntu 9.04's Firefox configuration isn't too bad, but CentOS's wasn't last I tried it.
It is entirely possible to build websites compatible with only certain browsers. It is also possible to build sites compliant with published standards that do not work properly on any current web browser.
Firefox mplements many features which are not published standards. Many are draft or proposed standards, but some are not. Firefox also fails to fully implement some standards. (Firefox is not alone in this.) A pure "standards compliant" web browser would not implement these:
A standards-complaint browser compatible with the latest published standards would also support the latest standardized DOM. Take a look at that - some of the features are not implemented by any browser. See the specifications here. DOM Level 2 was published as a recommendation in 2000 and DOM Level 3 was published as a recommendation in 2004.
Your numbers are rather arbitrary.
Drives use nowhere near 15 W each at idle. Depending on the specific Pentium 4 model, idle power usage could be less as long as power management is functioning.
And not all power supplies are nearly as inefficient as you suggest.
With recent hardware: it's possible to run a Core 2 Duo system with 27(!) desktop hard drives in ~210 W at idle.
I've recovered from drive failure or missing drives with Linux md software RAID many times and have never had a problem other than actual drive failures.
Unremarkable. My Linux file server can utilize a gigabit ethernet link at very close to 100% in a RAID6 setup. No fancy hardware RAID, just an Intel desktop board and CPU.
Devices like the one you linked probably use a less power than a desktop system. But at $800, I'd rather buy or build a much cheaper PC - it'll take years for the difference in electricity costs to catch up. The PC will be faster and more capable.
You might not transfer a lot of data, but others might.
Without any special effort, my boring Core 2 Duo systems transfer 1 gigabyte in less than 20 seconds - at least 60 megabytes/sec. This is with standard 7200 rpm desktop hard drives and the standard configurations of Windows Vista, OS X, and CentOS.
If possible, you could have avoided it. Where I work, the web-based resources I need aren't part of the same site and could be accessed without going through the portal.
And if this "agreement" was only on the front page of the portal, you may have been able to bypass it by navigating to a different page within the portal.
I don't think MS undertook any action to make Netscape unstable on Windows. I recall Navigator being unstable on any platform on which I used it, at least when accessing pages that were likely to make it crash.
Around 1999-2001, I occasionally used Navigator 4 on systems running Windows 95 - before Microsoft had integrated IE. I don't remember being impressed with Navigator on Mac OS or Linux, either.
Did you use the internet a decade ago? Back in the late, Netscape Navigator sucked compared to the IE versions available at the time. IE4's support for the HTML DOM and CSS were much better than Navigator 4's. Both companies frequently ingored standards and created their own, and many times this actually was good. Remember blink (NN)/marquee(IE)? Frames, cookies, and JavaScript? All Netscape inventions. XMLHttpRequest, which enables "AJAX" and makes things like Gmail and the new Slashdot possible? Originally developed by Microsoft in 1999 and later implemented by other browsers starting in 2002. Oh... and the standard - still a working draft - was first drafted in 2006.
Many of the complaints made regarding IE in the past 5 years or so could apply to the last versions of Netscape Navigator.
Read on.
In proportion to the costs paid by the users, not in the USA. 58% of USA highway funding comes directly from tolls, fuel taxes, and vehicle registration fees.
Compare to transit operating costs, of which 33% only come directly from passenger fares. When you include capital outlays as well, only 23% of transit expenses are paid for by passenger fares.
People *do* directly pay in proportion with how much they drive. What do you think the taxes on fuel and fees for vehicle registration are for?
Roads are funded in large part through fuel and registration taxes and fees.
On a typical day I travel about 40 miles via car. My average speed is 40 mph. I don't think public transportation systems could beat that unless they went directly from and to everywhere I go on a daily basis.
Parking is never a problem. And there are no easily noticeable scratches on my car... and if there were, I would ignore them.
Over the past two years, I've had two vehicle problems that prevented me from driving. In both cases the problem was resolved less than four hours after it occured.
Maintenance doesn't take a whole lot of time, either. I've probably spent less than 10 hours waiting for work to be done on my car in the past year. Waiting isn't such a big deal, anyway - the repair shop has free wifi.
Do mods know nothing abuot modern operating systems?
A properly implemented application using a multi-process model should use only slightly more memory, thanks to shared memory, a feature of any modern operating system.
Because it is a niche language.
Many programs already use multiple threads and were threaded before multi-core systems were common. The modern Windows shell (explorer.exe) has been multithreaded since it was introduced in Windows 95.
In general, anything obvious and easy to parallelize has probably been already.
See automatic parallelization.
Porting DirectX applications via winelib is different. In this case, the game developer compiles a native binary that links to Wine's implementation of DirectX. Developers would build and test for non-Windows platforms right from the start. This is hardly different than how any other implementation would work (unless windowing systems and drivers implemented Direct3D natively.)
This eliminates the dependency on x86/Windows.
Game developers can choose to use OpenGL at any time and still target Windows - they don't have to use Direct3D on Windows. If they don't care about cross-platform compatibility, they can use Direct3D if they like it better. Should Microsoft be required to bend over backwards to help support third-party implementations of their already publicly documented APIs? Should they do it for free?
This isn't about Microsoft preventing interoperability - it's about game developers choosing to target Microsoft's APIs. Microsoft has done nothing to prevent the use of alternatives on Windows.
What is preventing a third party from implementing DirectX? What exactly do you think Wine is? How does TransGaming Technologies get away with selling a DirectX implementation in the form of Cider so that game vendors can "port" their games to OS X? Why do game developers continue to use Direct3D even when Windows supports OpenGL, even in Vista?
Should software vendors be forced to provide detailed implementation information of their APIs to other vendors? This goes well beyond file format and protocol specifications. It's not like Microsoft is keeping certain DirectX APIs undocumented to the outside world so as to cripple competing game developers.
Game developers that use DirectX are *choosing* to develop for Microsoft's APIs; Microsoft hasn't prevented them from using OpenGL and other APIs on Windows. Many are *choosing* to only market computer games for Windows, or selling them for Mac OS X by licensing a third-party DirectX/Win32 implementation. They are *choosing* not to make versions of their games for other platforms by using winelib.
At work, some people use the email subject line to refer to the place, event, object, or concept being discussed. This is the "subject" of the message's content in a grammatical sense.
So instead of meaningful subject lines like "Application X fails to load when used with Y" or "Project Z planning: Please review before Tuesday's meeting" I see subject lines like "Application X" and "Meeting" - only slightly more useful than nothing at all. So when I want to look for a specific email I received in the past, I frequently have to browse through messages with subjects like "Update".
Online forums are even worse - there are too many topics with subjects like "Please help with my configuration" or "Audio question".
I didn't say that anything was harmless or less harmful than alcohol. I said that abuse & excess are bad, and that commonly abused substances can be used safely. Even cocaine has accepted medical uses, and methamphetamine is available with a prescription.
And eating too much kills. Drinking too much alcohol kills. Products tainted with poisonous substances kill.
Mass manufactured, consistently dosed products are significantly safer when used properly and with awareness of any common side effects and how to deal with them.
I don't hate Microsoft. They are, however, the best example of a monopoly abuser in this context, even though that all happened a decade ago.
in fact, I've been accused of being a Microsoft shill on this site at least once.
Windows (and OS X, and Linux) have been ready for multi-core systems for quite some time - since before multi-core x86 CPUs existed. SMP support is nothing new. Threading is nothing new; the Win32 and POSIX threading APIs have been around since the 90s. And for applications that work effectively with multithreading, these OSes work fine today.
But the Intel compiler is not at all a monopoly in the x86 compiler market, and Intel has not done anything to discourage the use of other compilers on their CPUs or force people to use the Intel compiler on Intel CPUs.
Compare to Microsoft, which *did* have a monopoly in the PC OS market and *did* use this position to unfairly promote their own products.
I recall having to underclock the FSB on cheap motherboards with AMD processors in order to get a stable system.
Back in the early Athlon XP days, you might buy a CPU with a 100 MHz or 133 MHz FSB and a motherboard designed to work at a 100 or 133 MHz FSB.
Overcloking Core 2 is a little different. You can buy a 200 MHz FSB CPU that is very similar to a 333 MHz FSB model and run it at 333 MHz FSB in a motherboard designed to operate at a 200-333 MHz FSB. Since the system board is actually designed to operate at this FSB speed, there are less chances of failure - the RAM and system chipset can run at their normal speeds. It becomes trivial to run a processor like the 2.2GHz E4500 (200*11) at a 266 MHz FSB, for example - without worrying about things like voltages or cooling.
On LGA 775 CPUs, the FSB can actually be changed by painting the bottom of the CPU
Given that 58% of highway funding in the USA comes directly from highway use taxes, fees, and tolls, and about 1% comes from other federal sources, the cars will probably do fairly well.
Source