First of all, I would submit to you that it's far easier to get work done on a Mac because you can focus on the work instead of the computer.
When it crashes more often than Windows 95 on a machine with apple juice all over the motherboard, how exactly does one focus on the work instead of the computer?
Plug in your digital camera and watch Linux automatically download the pictures to your hard drive.
Um. Actually, all I have to do is plug in my camera and fire up gtkam. Works perfectly. I had to add a hotplug script to set the permissions for it, which took a little poking around to figure out the masks and such, but it works perfectly. I'll grant the documentation for these hotplug scripts needs to be improved, though...
Or set up Apache on Linux or Windows and then do it on MacOS X. Tell me which one was quicker (hint - it's just a single button click on MacOS X).
apt-get install apache
Configuring Apache is another story, of course, and I doubt you'd be able to configure Apache with a single button click, even on OS X.
The whole multi-window application thing bothers me on X. On Windows or Mac, a dialog for an app stays in from of the app. If I focus the app, the dialog comes to the front. On X, it doesn't. I have to hunt for the dialog. This is annyoing, for instance, with The Gimp. Or pop-up dialog boxes in Nautilus.
That's a window manager issue. Quality window managers like Sawfish can be configured to keep dialogs with their parents as you describe. I think Sawfish does this by default, actually.
I had to use Cmd-Opt-Esc all the freaking time on OS X. Under OS X it is stunningly typical for the entire damned operating system to crash horribly, and even more typical for individual applications to do so.
I beg to differ.
NB, this was on 10.0. The reason I haven't upgraded to 10.1 is that I absolutely refuse to pay money for bug fixes. I don't care if it is the best operating system in the world. Apple has a lot of gall to ask me for money in exchange for fixing an operating system that should work in the first place. Oh, and they wanted me to become a member of their Apple Developer Connection and provide a boatload of very sensitive personal information just to download the 10.0.3 patch. (I couldn't use the built-in auto updater because it crashed horribly -- go figure.)
I was so royally pissed by this that I dumped it altogether and installed Linux instead. Ahh, much better.
Oh, and by the way, that auto updater that comes with OS X connects to none other than windowsupdate.microsoft.com. That and the fact that Mac OS X comes with a whole boatload of Microsoft software strongly suggests to me that I ought not to run it on bare metal if at all, for fear of my machine being as secure as a Windows box. No doubt it was riddled with Microsoft-originated backdoors. I wouldn't put it past Apple to riddle it with backdoors of their own devising, either.
Speaking of backdoors, this creates a serious problem for me. For a machine of this sort, my requirements are not only that it be stable, secure, fast, and so forth, but also that it be trustworthy. I must be able to be confident that I am the only human being on or around God's green Earth that knows what I'm using it for and what my passwords are on my other machines. If it's non-free software, it doesn't matter how good it is; I still cannot trust it, because:
I can't see the source. Most programmers don't even think about inserting a backdoor if they can't bury it under countless megabytes of cryptic machine code.
It was sold for a profit. Therefore, there is an incentive to Apple to abuse my trust to make additional money. They would be able to scan my disks for pirated software (I have a little, but it's all obsolete and worthless), track my activities and sell the data to marketing companies, or steal the reams of sensitive trade secrets I have access to.
Therefore, OS X is completely unacceptable, and free operating systems such as Linux are the only choice.
Both have their own interpretation of Internet Explorer which I thought everyone belived was a bad thing but both KDE and the GNOME people have done a good job copying it and integrating it into their desktop environment.
AFAICT, the general consensus (and one I agree with) is that Internet Explorer is a good browser on its face, and that all the things about it that people hate are the obscure problems with it.
The good things are:
Fast loading. Internet Explorer itself (as in IEXPLORE.EXE) is quite lightweight, and so does not take very long to load up. I assume this has to do with most of it being preloaded when the machine starts.
Fast. Another effect of its lightweightness is that it's (usually) fairly fast when loading up new pages and such.
Configurable. If you go poking around in Internet Options you'll notice there are a lot of settings that can be tweaked, if you are thusly inclined.
Web only. Internet Explorer is strictly a Web browser; all unrelated duties, such as email, are delegated to other programs (most notably, Microsoft Outlook). Even display of formats other than HTML and typical image types is delegated to other programs (such as Adobe Acrobat for displaying PDFs). Of course, there may be more than one external program available for handling each such duty; you can select what email client to start when you go to a mailto: URI, for instance.
Extensibility. Users may install third-party add-ons (such as the Google Toolbar) to modify Internet Explorer's behavior in some useful way.
The bad things are:
Insecure. It's no secret that Internet Explorer is chock-full of security holes.
Poor standards compliance. Internet Explorer does not understand numerous CSS constructs, and has rather quirky behavior with quite a few HTML constructs as well.
Lack of important features. Internet Explorer does not have several important features, most notably image blocking.
Non-free. Internet Explorer is not free software, or even open source, which creates problems aplenty.
Non-portable. Ever heard of Internet Explorer for Linux?
Galeon does a superb job of giving us a browser with the qualities that make Internet Explorer likeable, but without the aforementioned problems. I imagine Konqueror does too, but I've never used that, so I don't know.
Many years ago, all X communication took place via network sockets. This involved lots of unnecessary overhead. So the XFree team implemented the shared memory extension, eliminating the need for network IO. Result? Big speed gain
Don't forget about the fact that XFree86 can talk to clients via PF_UNIX sockets, which are again much faster than network I/O.
Fonts suck
It's my understanding that the AbiWord developers were having some problems getting font metrics of sufficient quality from the X server to use for printing, so they had to code AbiWord to access the font files directly. Perhaps there is need for a server extension to remedy this problem, since the server obviously has access to the font metrics. Just in case this server extension isn't enough, there should also be a way to transfer the entire font file (or parts of it) verbatim to the client, as needed.
Drivers suck
I think it would have been enough to point out that this is obviously nothing to do with the X architecture, or even XFree86.
It's not like other systems
Even if X were unlike other systems, that's not necessarily a bad thing. Think outside the box, as they say.
In fact XFree has hardware accelerated alpha blending (assuming the right drivers). What you mean is, apps can't get what's underneath them, preventing stuff like window drop shadows. Keith Packard is working on this as we speak, and will be also an ex-problem in the next few months.
Window drop-shadow effects are the responsibility of the window manager and/or X server, not clients. Actually, what I'd like to see is a client being able to draw plain RGBA color in its window, and if alpha < 1 the X server will take it from there and automatically composite it with whatever's below, producing true transparency, without further ado on the part of the client. Or is that what you mean? (If so, I'd better get a bucket to drool in...)
We need something new
I should point out that Unix, of which Linux is a clone, was invented much earlier than even X, and Unix was inspired by Multics which had come even before, and was written in C which has a rather long lineage of its own. TCP/IP is around the same age. Just because it's old doesn't mean it should be replaced.
I actually like that idea. I don't think giving the application the responsibility to draw the window manager decorations is smart, though. Maybe it'd be better to have the application and the window manager both draw into an offscreen buffer and put that on the screen once both the window decorations and contents have been completely drawn.
The problem is primarily due to the seperate window manager. This guarantees that windows will move and resize at a different time than their contents are redrawn. This is because the window manager moves the window, but then exposure or resize events must be delivered to a different application which then generates the drawing. If the same program could deliver the move and drawing instructions in a single block it would look way smoother. Unlike what a lot of people think, latency is NOT an issue, what is important is that all the instructions come from the same program and can be delivered as one block. This in particular makes resizing terrible on X, window dragging is about equal on X and Windows nowadays.
A problem which is easily solved by saveunders (which avoids having to send exposure events at all), but XFree86 4 no longer supports saveunders for some reason. Apparently it's considered obsolete on modern hardware. Go figure.
I think the way it should be done is that each window's client area always gets its own variable-size frame buffer, and X drawing calls draw to the private frame buffer, rather than directly to the screen. When the window is resized, the private frame buffer's size changes and the client gets a resize event, but when one opaque-moves a window over it, or a window over it disappears, the X server already knows what to draw in the pixels that were exposed, since all of those pixels are stored in the window's private frame buffer in the X server's memory. Voila, no more background clearing, no more slow opaque move, no more nasty flickering stuff because of synchronous calls, etc. This also doesn't actually require changes to the X protocol or X clients; the X server simply needs to pretend that all windows are not occluded, so they will draw themselves completely and not redraw themselves unless their contents change.
Having a frame buffer for each separate window would obviously eat memory, but it avoids having to do away with the separate window manager, which I think was an excellent design decision, and testament to X's superiority. It also avoids having to break compatibility.
I dunno. GNOME ran pretty decently on my old K6-2 box. It's lightning-fast on my Pentium III-450. It slows down pretty badly when I start playing modules with loads of effects in XMMS, but that's another story.
I really don't know what everyone is complaining about when they talk about how slow X is. The last time X was slow for me was when I was using Enlightenment (ugh) on extremely marginal video hardware. (I'm now using Sawfish on a Matrox G400.) Even opaque-moving windows is fast, and clients have to redraw the newly exposed region of their windows every frame, which is slow for obvious reasons. (X has saveunders to solve this problem, but XFree86 4 no longer supports them because they're believed to be unnecessary on modern machines -- a belief I do not agree with at all, since saveunders make opaque move much faster.)
Blocking ads is pretty easy when you're doing a lot of work from one machine. It's not as easy when you find yourself working on a motley collection of machines scattered around the landscape, with God knows what configured into the gateways and firewalls. It's also not easy when you don't have (and don't want) root permission on a lot of those machines.
If you use Galeon on all of your machines, just copy ~/.galeon/mozilla/galeon/cookperm.txt to all of them. If you use Mozilla but not Galeon, or some other front-end to Mozilla, then put cookperm.txt in the appropriate place. In any event, replicating this file should be a piece of cake.
Of course, if you don't use Mozilla (shame, shame), then you will certainly have a headache.
IME Linux is a lot less fussed by minor differences (including such things as PCI cards being in different slots) than Windows.
This stems from the fact that Linux doesn't try to remember what PCI slot a given card is in, or any such nonsense. It simply looks around, figures out what hardware is installed, and attempts to drive whatever it finds.
Compare with Windows, which remembers all sorts of details about installed hardware, even though most of those details (such as which PCI slot it's in) are completely useless.
As an example, I have a USB mouse in a Windows box, and another of the same kind of USB mice in a Linux box. If I remove the mouse from the Linux box, it'll stop trying to drive it, and I (not surprisingly) lose mouse control in X. If I plug it into the other USB socket, Linux drives it again, attaches it to the input core, sends its signals to/dev/input/mice for the X server to pick up, and voila, I have mouse control again. In the Windows box, it complains about how I unplugged the device, blah blah blah, and breaks. If I plug it into the other USB slot, it asks for a CD with the device drivers on it, even though the drivers are installed already! If I change the socket the mouse is plugged into while the machine is powered off, Windows crashes horribly when I power it on again.
Yet another instance of Microsoft adding an unnecessary "feature" (remembering what hardware is attached where, and remembering various useless configuration information) that does worlds of harm and no good whatsoever. Reminds one of the Microsoft Office Assistant (the animated paperclip thing that causes MS Word to have a measurable frame rate), doesn't it?
Slackware forever. Honestly, what else would you trust when it absolutely positively has to be stable, secure, and easy
...Debian. I can actually get security updates without going through an administrative nightmare to install them, and those security updates (and all other packages, for that matter) are carefully packaged by hard-working and dedicated Debian developers and testers. That takes care of stability (the Debian developers/testers being careful), easiness (I can install new packages or upgrade already installed ones in a snap), and security (security updates are released quickly and are as easy to install as any other package).
If you're stuck using RedHat, Mandrake, Slackware, etc., why don't you consider giving Debian a try? A full install is still unnecessary, because you can easily select exactly what you want, and change that selection at a whim.
The problem is not how much I have to pay. The point is that I have to pay at all. Paying any amount at all will force me to be conservative with my use of Galeon. Even if it's only a cent per year.
What would work is a fixed, regular (yearly?) payment. Paying $36.50 a year is fine with me (provided I have the money, of course), as long as it's $36.50 per year that I pay, no matter how often I use Galeon.
That may be the case for you. It may be the case for many other people. But I don't think most people would modify their behavior if it was a fraction of a cent to run the application. It's not necessary for 100% of the users to participate.
If you believe that most people wouldn't modify their behavior if they made micropayments, then such an arrangement could work well. Just don't expect me to participate. I require a flat rate.
Actually, Microsoft says: "Please pay for our OS or we'll use our purchased courts and judges to throw you in jail for the rest of your puny, insignificant little life. Resistance is futile."
I don't know why people always think X is so horrible and ugly and slow. I like it -- a good, solid client-server model, a clean separation of different clients from one another and from the server, and a good deal of stuff is handled by the server. Perhaps a few things ought to be moved server-side, such as transparent windows (), but this is no worse than with a local frame buffer kind of system like Windows. I don't see what's wrong with the way XFT works. Oh, and you can run X applications over a network, which is quite cool as well.
Micropayments make no sense. No matter how little you charge someone, they will always become extremely conservative with how often they use whatever the micropayment is for, and no matter how little you charge, it's far too much.
I would mind paying one cent every time Galeon fired up. Or, more accurately, I wouldn't use Galeon anymore, since it's too expensive.
Google try to sell ads based on useful information and non-obstructive delivery.
And their method works wonders. On the rare occasion when Google does show me an ad, I generally take a look to see if it's relevant. Usually it's not, since I don't have any money to spend in the first place, but it's better than me adding another entry to my image block list...
I would say OS X is both a better and more reliable operating system than Win2K.
I beg to differ. OS X was about as good for me as Windows 95. So I was given a choice between OS X and Windows 2000, and I chose... to tell both to shove it and install Linux!
I think its ridiculous how everyone whines and moans about ads when they're getting something for free.
I don't whine and bitch about them. I remove them, forcibly and permanently. The only chance an advertiser has with me is to make an ad that's interesting. If it's not, I'll add it to my image host blacklist, and there it will remain until Hell freezes over. Same as with email spam.
Often, the ads on slashdot and other sites I visit interest me too and are higher quality than the "film girls with our digital camera" X10 crap.
<sarcasm>Like those ads for Microsoft Visual Basic.NET?</sarcasm>
Actually, you've got it backwards. Back in the day, when Slashdot ran unobtrusive banners for ThinkGeek and other interesting things of that sort, I actually paid attention to them. If I had any money, ThinkGeek would probably have some of it by now.
When Slashdot switched to advertising Microsoft products and putting huge, highly obtrusive ads in the middle of stories, I was pissed. So I used whatever measures were necessary to remove them. All of them. This came down to blocking all images from Slashdot, and that's what happened. As a result, I'm typing this to you without seeing a pixel worth of ads.
To programmers and webmasters everywhere: If I don't want to see an ad, I WILL remove it. Resistance is futile. Your only chance is to make ads I don't mind seeing.
Actually, that's the beauty of USB. With SCSI you still need to worry about which SCSI device got which SCSI ID, that the bus is terminated, etc.
Configuring Apache is another story, of course, and I doubt you'd be able to configure Apache with a single button click, even on OS X.
And if you don't like OS X or don't want to run it on bare metal, then you can install Linux on it, and (I think) run OS X in Mac-on-Linux.
I beg to differ.
NB, this was on 10.0. The reason I haven't upgraded to 10.1 is that I absolutely refuse to pay money for bug fixes. I don't care if it is the best operating system in the world. Apple has a lot of gall to ask me for money in exchange for fixing an operating system that should work in the first place. Oh, and they wanted me to become a member of their Apple Developer Connection and provide a boatload of very sensitive personal information just to download the 10.0.3 patch. (I couldn't use the built-in auto updater because it crashed horribly -- go figure.)
I was so royally pissed by this that I dumped it altogether and installed Linux instead. Ahh, much better.
Oh, and by the way, that auto updater that comes with OS X connects to none other than windowsupdate.microsoft.com. That and the fact that Mac OS X comes with a whole boatload of Microsoft software strongly suggests to me that I ought not to run it on bare metal if at all, for fear of my machine being as secure as a Windows box. No doubt it was riddled with Microsoft-originated backdoors. I wouldn't put it past Apple to riddle it with backdoors of their own devising, either.
Speaking of backdoors, this creates a serious problem for me. For a machine of this sort, my requirements are not only that it be stable, secure, fast, and so forth, but also that it be trustworthy. I must be able to be confident that I am the only human being on or around God's green Earth that knows what I'm using it for and what my passwords are on my other machines. If it's non-free software, it doesn't matter how good it is; I still cannot trust it, because:
- I can't see the source. Most programmers don't even think about inserting a backdoor if they can't bury it under countless megabytes of cryptic machine code.
- It was sold for a profit. Therefore, there is an incentive to Apple to abuse my trust to make additional money. They would be able to scan my disks for pirated software (I have a little, but it's all obsolete and worthless), track my activities and sell the data to marketing companies, or steal the reams of sensitive trade secrets I have access to.
Therefore, OS X is completely unacceptable, and free operating systems such as Linux are the only choice.The good things are:
- Fast loading. Internet Explorer itself (as in IEXPLORE.EXE) is quite lightweight, and so does not take very long to load up. I assume this has to do with most of it being preloaded when the machine starts.
- Fast. Another effect of its lightweightness is that it's (usually) fairly fast when loading up new pages and such.
- Configurable. If you go poking around in Internet Options you'll notice there are a lot of settings that can be tweaked, if you are thusly inclined.
- Web only. Internet Explorer is strictly a Web browser; all unrelated duties, such as email, are delegated to other programs (most notably, Microsoft Outlook). Even display of formats other than HTML and typical image types is delegated to other programs (such as Adobe Acrobat for displaying PDFs). Of course, there may be more than one external program available for handling each such duty; you can select what email client to start when you go to a mailto: URI, for instance.
- Extensibility. Users may install third-party add-ons (such as the Google Toolbar) to modify Internet Explorer's behavior in some useful way.
The bad things are:- Insecure. It's no secret that Internet Explorer is chock-full of security holes.
- Poor standards compliance. Internet Explorer does not understand numerous CSS constructs, and has rather quirky behavior with quite a few HTML constructs as well.
- Lack of important features. Internet Explorer does not have several important features, most notably image blocking.
- Non-free. Internet Explorer is not free software, or even open source, which creates problems aplenty.
- Non-portable. Ever heard of Internet Explorer for Linux?
Galeon does a superb job of giving us a browser with the qualities that make Internet Explorer likeable, but without the aforementioned problems. I imagine Konqueror does too, but I've never used that, so I don't know.I actually like that idea. I don't think giving the application the responsibility to draw the window manager decorations is smart, though. Maybe it'd be better to have the application and the window manager both draw into an offscreen buffer and put that on the screen once both the window decorations and contents have been completely drawn.
I think the way it should be done is that each window's client area always gets its own variable-size frame buffer, and X drawing calls draw to the private frame buffer, rather than directly to the screen. When the window is resized, the private frame buffer's size changes and the client gets a resize event, but when one opaque-moves a window over it, or a window over it disappears, the X server already knows what to draw in the pixels that were exposed, since all of those pixels are stored in the window's private frame buffer in the X server's memory. Voila, no more background clearing, no more slow opaque move, no more nasty flickering stuff because of synchronous calls, etc. This also doesn't actually require changes to the X protocol or X clients; the X server simply needs to pretend that all windows are not occluded, so they will draw themselves completely and not redraw themselves unless their contents change.
Having a frame buffer for each separate window would obviously eat memory, but it avoids having to do away with the separate window manager, which I think was an excellent design decision, and testament to X's superiority. It also avoids having to break compatibility.
I really don't know what everyone is complaining about when they talk about how slow X is. The last time X was slow for me was when I was using Enlightenment (ugh) on extremely marginal video hardware. (I'm now using Sawfish on a Matrox G400.) Even opaque-moving windows is fast, and clients have to redraw the newly exposed region of their windows every frame, which is slow for obvious reasons. (X has saveunders to solve this problem, but XFree86 4 no longer supports them because they're believed to be unnecessary on modern machines -- a belief I do not agree with at all, since saveunders make opaque move much faster.)
Of course, if you don't use Mozilla (shame, shame), then you will certainly have a headache.
Compare with Windows, which remembers all sorts of details about installed hardware, even though most of those details (such as which PCI slot it's in) are completely useless.
As an example, I have a USB mouse in a Windows box, and another of the same kind of USB mice in a Linux box. If I remove the mouse from the Linux box, it'll stop trying to drive it, and I (not surprisingly) lose mouse control in X. If I plug it into the other USB socket, Linux drives it again, attaches it to the input core, sends its signals to /dev/input/mice for the X server to pick up, and voila, I have mouse control again. In the Windows box, it complains about how I unplugged the device, blah blah blah, and breaks. If I plug it into the other USB slot, it asks for a CD with the device drivers on it, even though the drivers are installed already! If I change the socket the mouse is plugged into while the machine is powered off, Windows crashes horribly when I power it on again.
Yet another instance of Microsoft adding an unnecessary "feature" (remembering what hardware is attached where, and remembering various useless configuration information) that does worlds of harm and no good whatsoever. Reminds one of the Microsoft Office Assistant (the animated paperclip thing that causes MS Word to have a measurable frame rate), doesn't it?
If you're stuck using RedHat, Mandrake, Slackware, etc., why don't you consider giving Debian a try? A full install is still unnecessary, because you can easily select exactly what you want, and change that selection at a whim.
What would work is a fixed, regular (yearly?) payment. Paying $36.50 a year is fine with me (provided I have the money, of course), as long as it's $36.50 per year that I pay, no matter how often I use Galeon.
If you believe that most people wouldn't modify their behavior if they made micropayments, then such an arrangement could work well. Just don't expect me to participate. I require a flat rate.Then I'd patch the configure and make to strip out the blurb, too, since it's effectively an advertisement.
Actually, Microsoft says: "Please pay for our OS or we'll use our purchased courts and judges to throw you in jail for the rest of your puny, insignificant little life. Resistance is futile."
I don't know why people always think X is so horrible and ugly and slow. I like it -- a good, solid client-server model, a clean separation of different clients from one another and from the server, and a good deal of stuff is handled by the server. Perhaps a few things ought to be moved server-side, such as transparent windows (), but this is no worse than with a local frame buffer kind of system like Windows. I don't see what's wrong with the way XFT works. Oh, and you can run X applications over a network, which is quite cool as well.
I would mind paying one cent every time Galeon fired up. Or, more accurately, I wouldn't use Galeon anymore, since it's too expensive.
When Slashdot switched to advertising Microsoft products and putting huge, highly obtrusive ads in the middle of stories, I was pissed. So I used whatever measures were necessary to remove them. All of them. This came down to blocking all images from Slashdot, and that's what happened. As a result, I'm typing this to you without seeing a pixel worth of ads.
To programmers and webmasters everywhere: If I don't want to see an ad, I WILL remove it. Resistance is futile. Your only chance is to make ads I don't mind seeing.
To webmasters and programmers everywhere: If I don't want to see an ad, I will remove it. Resistance is futile.