The X11 memory usage usually includes the memory in the graphics card. Also, a lot of X11 clients request that the server buffer large bitmaps and other data structures on their behalf, something that gets counted in the server's address space even if the space actually "belongs" to the clients and would be counted towards the client process under Win32.
X11 was designed to live in very limited memory, requiring little more than the video memory and program memory itself. But most clients are simply not programmed to live with those limitations anymore and they request lots of bitmaps. Whole toolkits now make very liberal assumptions about being able to get lots of memory in the server.
Why bother with all that W3C standardization and all those other hassles? If we are satisfied with a market consisting of a single, proprietary platform, we could have had that 10 years ago.
In fact, the mistake with both IE and NS is in assuming that more is better. A simple, fast, reliable browser with no JavaScript, no Java, and no Flash animation would still be a good choice for most people. Both IE and NS fail to live up to that standard, and neither of them is getting any better. And neither, for that matter, are the web services that increasingly rely on those fancy and annoying feaures that these browsers are incorporating.
In Greenspun's particular business, what he says may be true. But the open question is whether that is going to be the dominant successful business strategy in the future. Looking at the history of business, I tend to believe the kind of business he is creating, with expensive, skilled craftsmen, will only be catering to a niche market.
Companies like Microsoft are founded on the notion of commoditization. This is quite analogous to what the industrial revolution did for craftsmanship, what MacDonald's did for cooking, and what companies like AT&T did for customer service.
Microsoft has created mechanisms (Wizards, etc.) for software development, analogous to machines to do the "heavy lifting", that allow many people to generate complex application frameworks. And Microsoft has created step-by-step training materials and systems to break up complex processes into something that's easily mastered by everybody.
That's at least Microsoft's story. That's why business people have their organizations buy and develop for Microsoft software. They believe that Microsoft has succeeded at bringing software development to the masses, to the non-craftsmen. Microsoft software is supposed to turn what used to require expensive, scarce, rare craftsmen into something anybody hired off the street can do with a little bit of off-the-shelf training. That's what "easy to use" really means to Microsoft and business management.
Whether Microsoft has actually succeeded is a different question; I think they are still pretty far from that goal, but others will step in where they failed.. And like mass produced trinkets and food, the quality of products built on Microsoft tools leaves a lot to be desired. But, then, that hasn't stopped most people from buying mass produced goods and fast food either.
Skilled software craftsmen may continue to take pride in their work, but whether that is going to be economically a big success or a fringe
business for upmarket consumers, remains to be seen. Good home cooking (free software) and upscale restaurants (skill-based software companies) may be what the gourmets like, but most of America eats at MacDonald's, and the same may well turn out to be true for software.
The last few BIOS upgrades I have performed were done with vendor disks that included their own copy of DOS. And that's good: I shouldn't have to depend on any particular OS installation to upgrade the hardware. All I want from the vendor is a bootable floppy or CD, and that's what vendors increasingly provide.
What won't help the Third World is overpriced, overly complex software like Windows, the glitzy and wasteful Web standards Microsoft has been promoting, and the enormously expensive hardware needed to run it all.
But computers could be very useful helping the Third World solve its problems: computers can take much better advantage of limited bandwidth, they are better suited to store-and-forward or intermittent communications, and they can greatly simplify administrative processes and reduce costs. In health care and ecology alone, being able to track diseases and other events reliably is very important.
Of course, for that to work, you need low end, low-cost, reliable, and simple computers, open and stable standards, and free software. Third world countries can gain tremendously from computers, but they won't be able to do so if they spend money as wastefully on frills and upgrades as US corporations seem to be all too willing to do.
Following those instructions only removes part of the potentially dangerous software. Finding everything that's dangerous about Windows 2000 is complicated by the secrecy and ideology of the organization developing it.
To remove more software written by fanatics with a propensity for leaving backdoors, follow these instructions. While not perfect either, the resulting installation and configuration has at least been peer reviewed and is widely used on high-security Internet servers everywhere.
The situation is completely different. The FSF doesn't go out requiring audits of companies to prove that they are in compliance with the GPL.
People aren't objecting to the fact that Microsoft insists on compliance with their license, people are objecting to the fact that Microsoft attempts to actively audit sites.
That works if you are an all-Microsoft shop and have Office installed everywhere. What if half of your PCs run Linux or *BSD? Or if you have Office on only a fraction of them? To determine that you aren't "cheating", Microsoft would have to investigate your machines more thoroughly. And if your employees have installed Microsoft software at home, you're in even more trouble. P.O.'s or records won't see you out of that.
Yes, the picture you paint is very true. That's also why Microsoft gives steep discounts to academic institutions.
Who is ultimately stuck with the bill is employers, who have to foot the bill for those expensive tastes that their employees have acquired in school (or pay a lot of money for retraining). And if you are a consultant, you end up having to pay for all those expensive toys yourself.
Free software tools are just as functional as the Microsoft stuff. Even if they cost you a little more time to learn initially, you'll save plenty in the long run and will even have to invest less time in learning/training because free software tools don't change as much.
Be wise and be frugal and stay away from expensive, revenue-driven software like Microsoft's.
There is nothing intrinsically illegal about MP3s, so I don't see a problem there.
Beyond that, you might want to find out what the audit actually involves according to them.
Also, consider installing Linux and running Windows under VMware. It's more stable anyways, and might get the auditors off your back quickly,
whether you are running Windows somewhere or not.
In the future, however, I would expect Windows software to just contact Microsoft directly over the Internet, perhaps for getting a temporary key to allow it to start up. Then, Microsoft will know. But then, perhaps, we can also pay only for Windows to the degree that we actually use it, which, in my case, is less and less.
Microsoft has no such right; at best, it may be a contractual provision. You paid for the software, and specific evidence to the contrary, the presumption should be that you are using it correctly.
Microsoft can use this kind of "audit" not only to figure out something about their licenses, they can also use it to find competitive information (how many Novell machines are there? how many Linux machines?), and they can use it to harrass companies that are switching to Linux. If we opened up our legal system to fishing expeditions, all our liberties would be at grave risk.
Of course, their license agreement may have a provision to allow such an audit. Which is only one more reason not to do business with Microsoft. Microsoft is a bad deal for their customers and consumers.
This isn't exactly new. You need a mailing address, a social security number, a driver's license, and most likely a credit card number in order to function reasonably well in US society.
You probably should be able to make and receive phone calls and read and write letters (with a few special provisions for the handicapped). And you need to have a basic understanding of your obligations under the law, in particular tax law, and common administrative procedures.
If you don't conform in these areas, that's your problem, and you'll probably get into a lot of trouble.
If you don't watch television and movies, you'll also be left out of a lot of social interaction ("Was't the X-files awful yesterday"? "What did you think of the Oscars?").
A well-functioning society needs conventions for how people communicate and interact, and of course that will make its way into information technology. The best we can do is to make sure that the standards we choose are open, long-term, and well-defined, rather than proprietary, short-term, and tied to the profits of a single company.
I disagree that it's duplication in the first place. KDE is a C++-based, GPL'ed system, Gnome is a C-based LGPL'ed system. Those are profound differences.
And Microsoft is hardly immune from this. It has the original C API, C++-based MFC, and ActiveX. And those are only the major APIs, not even the internal or failed trial-balloons.
Microsoft is as messy and unintegrated internally as the free software world is. They just have a better PR department.
I'd be surprised if Bill Gates even knew a fraction as much as is presented in this memo. My impression is that Gates actually is pretty out of touch with the nitty-gritty of the industry.
Anyway, I think is also important, to get one's facts straight, even in satire.
Richard Stallman is not a professor, and to most people who know him, it would seem unlikely that he started GNU for self promotion. In fact, Stallman has sunk a lot of money into GNU.
Stallman is not the primary promoter of Linux; I suspect he'd be happiest if it just disappeared and people started using something based on the Hurd instead.
Gnome traces its roots to before KDE, and the two are just very different projects with different goals; it's not just about licensing, although the licensing issues are (still) very substantively different (LGPL vs. GPL).
There are more problems with the message.
More generally, however: face it: evolution, even of software, is messy. There are going to be lots of false starts, lots of oddball projects, etc. And there are lots of those inside Microsoft as well--most of them just never see the light of day, or Microsoft's PR machinery covers them up. I leave it as an exercise to the reader to dig up Microsoft's long string of failures.
If you like to cook, does it matter to you what the next MacDonald's Happy Meal consists of? Or how many consumers eat at fast food restaurants?
Microsoft is the software equivalent of a fast food chain. They make a lot of money selling the equivalent of food that neither tastes particularly good nor is particularly healthy. Most of the people who work there don't know much about fine cuisine, and the few good cooks they hire don't influence the menu very much and are heavily influenced by commercial considerations.
Like fast food chains, Microsoft isn't going away, and like fast food, it's a way to get fabulously wealthy for a few. But why should I care? As long as I'm not forced to use their stuff, it really doesn't matter to me, and I don't think it should to you either.
Solving the minesweeper consistency problem is not sufficient for playing minesweeper optimally (and it may not even be necessary).
There are lots and lots of games that are NP complete. It's a fun but elementary exercise for undergraduate CS majors to think about these.
Sometimes, that contributes a useful insight to the N=NP question, but usually, it does not.
Proving that "minesweeper consistency" is NP complete probably doesn't make it any easier to establish P=NP or P!=NP; there are lots of NP complete problems, some of them much better suited to an attack on this problem.
Cryptographic methods, and RSA in particular, often rely on factoring, not NP completeness.
So, write a program that can decode Minesweeper for any size board,
and you will join the pantheon of mathematical greats -- Actually, it's easy to write a program that does this. The question is whether it runs in polynomial time in the worst case.
NP completeness has lost much of its lustre since its discovery. Many NP complete problems have good, practical solutions, and many known polynomial time problems lack good, fast solutions. These days, randomized complexity and circuit complexity are probably of more practical interest, and there are lots of more interesting, outstanding problems there.
All those hooks, bells and whistles, and features look good on paper. But I've actually worked on trying to convert and merge ACLs from different AFS installations. What I found is that the ACLs are often non-sensical.
AFS ACLs allow users to come up with quick fixes to permission problems, and they ultimately leave a complete and often unsecure mess behind, something that the system administrator has to deal with.
The tedious but simple NFS/UNIX permission schemes make it much easier to figure out what is going on, and they force people to think carefully about what kinds of groups they want, rather than creating them willy-nilly by accident.
That's only one of the many problems with AFS in my experience. That isn't to say that AFS is all bad--it works reasonably well in its original environment. But it isn't the universal answer to.com's or corporate computing.
I think it's fine AFS has been released by IBM. I also think the open source and Linux community should think carefully about whether to invest any resources in it. There are probably better directions to go in and better projects to spend time and resources on.
It may fail to suck in the ways NFS sucks, but it sucks in its own ways: access control that is incompatible with UNIX, can't handle any kind of special files in AFS space, last-write-wins, and it doesn't deal well with updates to big files, to name just a few. In addition to that, AFS has unpleasant problems when the local cache fills up.
NFS may have lots of problems, but AFS isn't the answer.
I said nothing about either on-line graffiti or off-line graffiti becoming legal (and I don't think either should be legal). What I'm questioning is proportionality of response.
On-line graffiti in particular is trivial to clean up. IMO, the fear of people who engage in that kind of behavior is completely out of proportion to the threat that they pose, and we shouldn't give the police far-reaching new powers for offenses that don't pose any real threat to anybody.
Open Source. Closed Minds. We are Slashdot.
Well, you could do your part by actually reading what you respond to.
The question shouldn't be why the FBI confiscated his computer--in the case of a serious crime, I can see that being reasonable.
The question should be: why is that kind of "vandalism" considered a serious crime to begin with? Granted, it's unpleasant and shouldn't happen. But it is hardly the case that anybody got hurt, or that anybody made money from it. It seems to me roughly the equivalent of sticking an easy-to-remove poster to a store window.
The problem with making minor pranks major crimes is that it greatly expands the power of the police and the state. Or, as a police officer once told me during traffic school (which I had to attend for a traffic offense I didn't commit): you can't leave your front door without violating some traffic law; we can get you if we want to.
Criminalizing almost everything and imposing harsh punishments on everything doesn't lead to a safe society, it leads to a police state.
Well, since you obviously aren't familiar with what the law says on personal, non-commercial fair use and copying, why don't you look up the copyright law on that point and report back.
I like PHP and use it for adding a bit of dynamic behavior to web pages.
But the problem with all these scripting languages (well, I can't speak for CF, but I believe it works the same way) is that they mix scripting code with HTML. On bigger projects, where coding is often separate from design, that's a big problem. Even on smaller projects, it can become a maintenance headache, and it plays havoc with both language tools and HTML tools.
I don't think the future belongs to any of these languages: they are using the wrong paradigm. In the future, you are most likely going to see XML templates, XML and relational databases, and code that puts the two together.
Re:Haven't I seen all this before?
on
Perl 6 Showcase
·
· Score: 1
That can't be it. Lisp is as procedural as Perl (most data structures can be changed, there are syntactic primitives for looping, etc.), and Perl is as functional as Lisp (it has lexical closures, anonymous subroutines, higher order primitives like "map" and "grep").
error handling and defaulting
on
Perl 6 Showcase
·
· Score: 1
To me, the biggest difference between Perl and other languages is that Perl, even with "use strict" and "-w", still returns defaults or converts objects to strings where languages like Python or Tcl would raise an error. That seems to appeal to many Perl users, but I find it a big inconvenience for larger projects: it makes it harder to track down bugs. I don't see that being addressed by Perl6. I hope it will be.
X11 was designed to live in very limited memory, requiring little more than the video memory and program memory itself. But most clients are simply not programmed to live with those limitations anymore and they request lots of bitmaps. Whole toolkits now make very liberal assumptions about being able to get lots of memory in the server.
In fact, the mistake with both IE and NS is in assuming that more is better. A simple, fast, reliable browser with no JavaScript, no Java, and no Flash animation would still be a good choice for most people. Both IE and NS fail to live up to that standard, and neither of them is getting any better. And neither, for that matter, are the web services that increasingly rely on those fancy and annoying feaures that these browsers are incorporating.
Companies like Microsoft are founded on the notion of commoditization. This is quite analogous to what the industrial revolution did for craftsmanship, what MacDonald's did for cooking, and what companies like AT&T did for customer service.
Microsoft has created mechanisms (Wizards, etc.) for software development, analogous to machines to do the "heavy lifting", that allow many people to generate complex application frameworks. And Microsoft has created step-by-step training materials and systems to break up complex processes into something that's easily mastered by everybody.
That's at least Microsoft's story. That's why business people have their organizations buy and develop for Microsoft software. They believe that Microsoft has succeeded at bringing software development to the masses, to the non-craftsmen. Microsoft software is supposed to turn what used to require expensive, scarce, rare craftsmen into something anybody hired off the street can do with a little bit of off-the-shelf training. That's what "easy to use" really means to Microsoft and business management.
Whether Microsoft has actually succeeded is a different question; I think they are still pretty far from that goal, but others will step in where they failed.. And like mass produced trinkets and food, the quality of products built on Microsoft tools leaves a lot to be desired. But, then, that hasn't stopped most people from buying mass produced goods and fast food either.
Skilled software craftsmen may continue to take pride in their work, but whether that is going to be economically a big success or a fringe business for upmarket consumers, remains to be seen. Good home cooking (free software) and upscale restaurants (skill-based software companies) may be what the gourmets like, but most of America eats at MacDonald's, and the same may well turn out to be true for software.
The last few BIOS upgrades I have performed were done with vendor disks that included their own copy of DOS. And that's good: I shouldn't have to depend on any particular OS installation to upgrade the hardware. All I want from the vendor is a bootable floppy or CD, and that's what vendors increasingly provide.
But computers could be very useful helping the Third World solve its problems: computers can take much better advantage of limited bandwidth, they are better suited to store-and-forward or intermittent communications, and they can greatly simplify administrative processes and reduce costs. In health care and ecology alone, being able to track diseases and other events reliably is very important.
Of course, for that to work, you need low end, low-cost, reliable, and simple computers, open and stable standards, and free software. Third world countries can gain tremendously from computers, but they won't be able to do so if they spend money as wastefully on frills and upgrades as US corporations seem to be all too willing to do.
To remove more software written by fanatics with a propensity for leaving backdoors, follow these instructions. While not perfect either, the resulting installation and configuration has at least been peer reviewed and is widely used on high-security Internet servers everywhere.
People aren't objecting to the fact that Microsoft insists on compliance with their license, people are objecting to the fact that Microsoft attempts to actively audit sites.
That works if you are an all-Microsoft shop and have Office installed everywhere. What if half of your PCs run Linux or *BSD? Or if you have Office on only a fraction of them? To determine that you aren't "cheating", Microsoft would have to investigate your machines more thoroughly. And if your employees have installed Microsoft software at home, you're in even more trouble. P.O.'s or records won't see you out of that.
Who is ultimately stuck with the bill is employers, who have to foot the bill for those expensive tastes that their employees have acquired in school (or pay a lot of money for retraining). And if you are a consultant, you end up having to pay for all those expensive toys yourself.
Free software tools are just as functional as the Microsoft stuff. Even if they cost you a little more time to learn initially, you'll save plenty in the long run and will even have to invest less time in learning/training because free software tools don't change as much.
Be wise and be frugal and stay away from expensive, revenue-driven software like Microsoft's.
Beyond that, you might want to find out what the audit actually involves according to them.
Also, consider installing Linux and running Windows under VMware. It's more stable anyways, and might get the auditors off your back quickly, whether you are running Windows somewhere or not.
In the future, however, I would expect Windows software to just contact Microsoft directly over the Internet, perhaps for getting a temporary key to allow it to start up. Then, Microsoft will know. But then, perhaps, we can also pay only for Windows to the degree that we actually use it, which, in my case, is less and less.
Microsoft can use this kind of "audit" not only to figure out something about their licenses, they can also use it to find competitive information (how many Novell machines are there? how many Linux machines?), and they can use it to harrass companies that are switching to Linux. If we opened up our legal system to fishing expeditions, all our liberties would be at grave risk.
Of course, their license agreement may have a provision to allow such an audit. Which is only one more reason not to do business with Microsoft. Microsoft is a bad deal for their customers and consumers.
If you don't conform in these areas, that's your problem, and you'll probably get into a lot of trouble.
If you don't watch television and movies, you'll also be left out of a lot of social interaction ("Was't the X-files awful yesterday"? "What did you think of the Oscars?").
A well-functioning society needs conventions for how people communicate and interact, and of course that will make its way into information technology. The best we can do is to make sure that the standards we choose are open, long-term, and well-defined, rather than proprietary, short-term, and tied to the profits of a single company.
And Microsoft is hardly immune from this. It has the original C API, C++-based MFC, and ActiveX. And those are only the major APIs, not even the internal or failed trial-balloons.
Microsoft is as messy and unintegrated internally as the free software world is. They just have a better PR department.
Anyway, I think is also important, to get one's facts straight, even in satire.
- Richard Stallman is not a professor, and to most people who know him, it would seem unlikely that he started GNU for self promotion. In fact, Stallman has sunk a lot of money into GNU.
- Stallman is not the primary promoter of Linux; I suspect he'd be happiest if it just disappeared and people started using something based on the Hurd instead.
- Gnome traces its roots to before KDE, and the two are just very different projects with different goals; it's not just about licensing, although the licensing issues are (still) very substantively different (LGPL vs. GPL).
There are more problems with the message.More generally, however: face it: evolution, even of software, is messy. There are going to be lots of false starts, lots of oddball projects, etc. And there are lots of those inside Microsoft as well--most of them just never see the light of day, or Microsoft's PR machinery covers them up. I leave it as an exercise to the reader to dig up Microsoft's long string of failures.
Microsoft is the software equivalent of a fast food chain. They make a lot of money selling the equivalent of food that neither tastes particularly good nor is particularly healthy. Most of the people who work there don't know much about fine cuisine, and the few good cooks they hire don't influence the menu very much and are heavily influenced by commercial considerations.
Like fast food chains, Microsoft isn't going away, and like fast food, it's a way to get fabulously wealthy for a few. But why should I care? As long as I'm not forced to use their stuff, it really doesn't matter to me, and I don't think it should to you either.
Besides P = NP for N = 1 (:-).
AFS ACLs allow users to come up with quick fixes to permission problems, and they ultimately leave a complete and often unsecure mess behind, something that the system administrator has to deal with.
The tedious but simple NFS/UNIX permission schemes make it much easier to figure out what is going on, and they force people to think carefully about what kinds of groups they want, rather than creating them willy-nilly by accident.
That's only one of the many problems with AFS in my experience. That isn't to say that AFS is all bad--it works reasonably well in its original environment. But it isn't the universal answer to .com's or corporate computing.
I think it's fine AFS has been released by IBM. I also think the open source and Linux community should think carefully about whether to invest any resources in it. There are probably better directions to go in and better projects to spend time and resources on.
It may fail to suck in the ways NFS sucks, but it sucks in its own ways: access control that is incompatible with UNIX, can't handle any kind of special files in AFS space, last-write-wins, and it doesn't deal well with updates to big files, to name just a few. In addition to that, AFS has unpleasant problems when the local cache fills up. NFS may have lots of problems, but AFS isn't the answer.
The research project itself costs $12M/year. When it enters production, the flying wing itself probably will end up being cheaper.
On-line graffiti in particular is trivial to clean up. IMO, the fear of people who engage in that kind of behavior is completely out of proportion to the threat that they pose, and we shouldn't give the police far-reaching new powers for offenses that don't pose any real threat to anybody.
Open Source. Closed Minds. We are Slashdot.
Well, you could do your part by actually reading what you respond to.
The question should be: why is that kind of "vandalism" considered a serious crime to begin with? Granted, it's unpleasant and shouldn't happen. But it is hardly the case that anybody got hurt, or that anybody made money from it. It seems to me roughly the equivalent of sticking an easy-to-remove poster to a store window.
The problem with making minor pranks major crimes is that it greatly expands the power of the police and the state. Or, as a police officer once told me during traffic school (which I had to attend for a traffic offense I didn't commit): you can't leave your front door without violating some traffic law; we can get you if we want to.
Criminalizing almost everything and imposing harsh punishments on everything doesn't lead to a safe society, it leads to a police state.
Well, since you obviously aren't familiar with what the law says on personal, non-commercial fair use and copying, why don't you look up the copyright law on that point and report back.
But the problem with all these scripting languages (well, I can't speak for CF, but I believe it works the same way) is that they mix scripting code with HTML. On bigger projects, where coding is often separate from design, that's a big problem. Even on smaller projects, it can become a maintenance headache, and it plays havoc with both language tools and HTML tools.
I don't think the future belongs to any of these languages: they are using the wrong paradigm. In the future, you are most likely going to see XML templates, XML and relational databases, and code that puts the two together.
That can't be it. Lisp is as procedural as Perl (most data structures can be changed, there are syntactic primitives for looping, etc.), and Perl is as functional as Lisp (it has lexical closures, anonymous subroutines, higher order primitives like "map" and "grep").
To me, the biggest difference between Perl and other languages is that Perl, even with "use strict" and "-w", still returns defaults or converts objects to strings where languages like Python or Tcl would raise an error. That seems to appeal to many Perl users, but I find it a big inconvenience for larger projects: it makes it harder to track down bugs. I don't see that being addressed by Perl6. I hope it will be.