Don't get me wrong. Maxthon is a decent browser. Aside from tabbed browsing its pop-up and ad blocking was terrific and ahead of competitors before others caught up.
The only drawback, of course, was that it uses IE engine, which means it's vulnerable to most IE holes and bad system interaction (like often freezes with outlook).
Firefox 1.5 has become good enough (with tab mix, adblock and other goodies) so I switched a while ago.
Why could Google claim it would do no evil? Because it knew it would be powerful and thus could afford to do it that way.
In other words, because it has all not money, it can talk about ethics. So why would it be surprising when Google decides to keep the business in China?
A company does not succeed because it's good. A company succeeds because it makes money.
Face it human. A company is a company. All of them make money.
If one day Google pulls out of China, the reason would still be money.
Huh? So the virus author was depending on the fact that no one would be smart (silly) enough to assume this password was universal? Or due to human nature every victim would just keep their mouth shut?
The point is not whether surveillance equipment should be made, but whether we know enough about how it's made and used.
Do you know enough? If not, just shut up and stop whining about how little you've known from what others find. I truly don't know what you are trying to say here.
This is a pre-beta labs release and since we're still learning on how to best make software for Linux, we're asking that you submit your bugs as you find them.
I don't know who modded this point to 4. It's a pre-beta release for God's sake.
Well there has been a lot of fuss about what Google did, this one deserves applaud. Many things happen evolutionarily, and this is certainly in the right direction. There are certainly many reasons to beleive that Google will get engaged in more open source projects and that would be fantastic news. But don't expect it to happen over night.
Linus doesn't believe in revolution. He always does things incrementally. Despite being a monolithic kernel fundamentally, Linux kernsl is modular and will continue to be so. If the microkernel direction is correct, I'm sure Linux will head toward it, and someday you'll find Linux more like microkernel than now.
For example, one Linux philosophy is "if sth can be done in user space, do so". udev (to replace devfs) is one great example. There are parts that are traditionally done in kernel space that are moved into user space, but also vice versa (think X and direct rendering).
So from engineering point of view, kernel hackers are not interested in arguing "which one is cooler". Instead they are interested in "which one will work better in real world".
Before we get into arguments or understanding arguments, two most important things to note: - AST is a prefessor. His interest in doing research and building the best systems for the *future* that he believes in. - Linus is an engineer. His interest is building a system that works best *today*.
We simply need both. Without pioneering work done before in other OSes (this included failures), Linux wouldn't have been like this today. The greatest reason for its success it not it's doing something cool, but it's doing things that are proven to work.
So who is right? I'd say both. Linus has said this in 1992: "Linux wins heavily on points of being available now."
Linus admits microkernels are "cooler", but he didn't (doesn't) believe in it *today* because none of the available microkernels could compete with Linux as a *general purpose* OS. It's funny how AST listed "Hurd" as one of the microkernels - it totally defeats his own arguments. The fact is Hurd is still not available today despite it was started before Linux.
Many people talk about QNX. Sure, in many cases (especially mission critical, RTOS, where reliablility is so much more important than performance and usability) microkernels are better, but we really shouldn't compare a general-purpose OS with real-time or special purpose OS.
So we go back to the old way: code talks. So far microkernel proponents keep saying "it's possible to do microkernel fast, etc" but the fact is they have never had an OS that could replace Linux and other popular OS that everybody could run on their desktop with enough functionality. There are two possible reasons: 1. Lack of developers. But why? Do people tend to contribute to Linux because Linus is more handsome (than Richard Stallman that is)? There gotta be some reasons behind it other than oppotunities right? 2. Monilithic kernels are actually more engineerable than microkernels, at least for today.
We don't attack Windows running GDI in kernel. Actually, it was a good move, which showed exactly why microkernel didn't work in real life as a general purpose OS.
We attack because Microsoft is not honest about it and still talks about "microkernel" while they know it's not.
If you look at object-oriented programming, access control on data structures is a basic requirement. This does not turn every algorithm into distributed algorithms and it makes locking termendously easier, not harder (since each object does its own locking).
Nice example, which shows you really don't understand the real meaning of monolithic vs microkernel.
Take OOP as an example. You write a program which includes a lot of classes, and you compile and link. What do you get in the end? Surprise: one monolithic executable. Everything in the end runs inside one address space.
Don't confuse run-time separation with interface separation. The latter is a language feature, not a system feature - you could still have a wild pointer and modify private members of any classes directly.
Linux, despite being monolithic, has nice layers inside the kernel and clean interfaces too.
Please, let's end this "Windows NT is microkernel" myth once and for all. Since most people don't actually know what a microkernel is, I'd quote some "authoritative" sources on this issue.
1. From AST (I'd assume you know who he is since you are interested in Linus/microkernel debate): http://www.cs.vu.nl/~ast/brown/followup/
Read the section "Microkernels Revisited":
I can't resist saying a few words about microkernels. A microkernel is a very small kernel. If the file system runs inside the kernel, it is NOT a microkernel. The microkernel should handle low-level process management, scheduling, interprocess communication, interrupt handling, and the basics of memory management and little else.... Microsoft claimed that Windows NT 3.51 was a microkernel. It wasn't. It wasn't even close. Even they dropped the claim with NT 4.0.
2. From Windows Internals, the 4th edition, published by Microsoft Press. Page 36: Windows is similar to most Unix systems in that it's a monolithic operating system in the sense that the bulk of the operating system and device driver code shares the same kernel-mode protected memory space.
Can we stop claiming Windows has a microkernel now?
Not sure what that "microkernel" piece actually means, but it's absolutely a picture of monolithic kernel. All those I/O manager, process manager, virtual memory manager, etc, are all running in one piece in the kernel.
1. Windows has some essential system services running in the user space, such as Win32 environment (csrss.exe). But if it dies, you are pretty much hosed anyways. It doesn't necessarily make the system more stable in any meaningful way by running stuff in user space. Windows even had GDI in user space before, and later moved into the kernel for performance reasons, and GDI in user space didn't provide more stability.
2. Linux kernel 2.6 now has support for user space filesystems. So it's already possible to have a user space filesystem running under a monolithic kernel.
The fact is, microkernel proponents have not delivered. In reality people who tried those ideas have mostly abandoned them (see 1) because the gain couldn't justify the loss. We don't build our systems just on nice theory.
The whole discussion of micro-kernel vs monolithic kernel is totally pointless. All popular OS kernels are monolithic. We can get back to the debate when we have a working fast microkernel in the market that is actually competitive.
Linus is a pragmatist. He didn't write Linux for academic purpose. He wanted it to work.
But you can always prove him wrong by showing him the code, and I bet he'd be glad to accept he was wrong.
I was skeptical when 2.6 changed its development model and ignored "stable" series, but I've now convinced it's a better model than before. It's simply more productive.
Yes it destablizes stuff more, but the real benefit is what has brought Linux to success: motivation of highly talented developers around the world.
It's human nature that people like to work on new stuff, especially for open source developers. You get fame, recognicion, and employment opportunity by working on high-profile code instead of bug fixing.
For the old "stable"/"development" model, nobody really cares about stable anymore. This left an embarrassing situation there, and vendors would have to do a lot of feature back-porting work. Now the vendors just need to fix bugs, and bug fixes are generally far easier to port to mainline.
..and recently switched to firefox.
Don't get me wrong. Maxthon is a decent browser. Aside from tabbed browsing its pop-up and ad blocking was terrific and ahead of competitors before others caught up.
The only drawback, of course, was that it uses IE engine, which means it's vulnerable to most IE holes and bad system interaction (like often freezes with outlook).
Firefox 1.5 has become good enough (with tab mix, adblock and other goodies) so I switched a while ago.
Why could Google claim it would do no evil? Because it knew it would be powerful and thus could afford to do it that way.
In other words, because it has all not money, it can talk about ethics. So why would it be surprising when Google decides to keep the business in China?
A company does not succeed because it's good. A company succeeds because it makes money.
Face it human. A company is a company. All of them make money.
If one day Google pulls out of China, the reason would still be money.
Just live with that.
From the blog:
The problem with marking Windows binaries to "silently elevate" is that we feel it will lead to "worms" or self propagating malware.
Marking "silent elevator" should require administrative privilege, so what's the problem?
Unix has this for years, that is called "setuid root". This is extremely useful.
Also, it's very easy to have a knob to allow all signed applications to do silent elevation. Much cleaner than developing hacky shims.
Huh? So the virus author was depending on the fact that no one would be smart (silly) enough to assume this password was universal? Or due to human nature every victim would just keep their mouth shut?
I say stupid virus.
The point is not whether surveillance equipment should be made, but whether we know enough about how it's made and used.
Do you know enough? If not, just shut up and stop whining about how little you've known from what others find. I truly don't know what you are trying to say here.
Don't be silly.
WINE exists not because people want to port the Windows API, but because people want to run Windows applications even they hate the API.
Hmm, you are right. Seems my old impression was not exactly right.
The Linux kernel had some support for WINE to work which made me think it was an emulator.
Thanks for pointing it out.
PS: from the WINE wiki, some people also call it "WINdows Emulator".
This is a pre-beta labs release and since we're still learning on how to best make software for Linux, we're asking that you submit your bugs as you find them.
I don't know who modded this point to 4. It's a pre-beta release for God's sake.
I wish there was a "Stupid" rate on slashdot.
Well there has been a lot of fuss about what Google did, this one deserves applaud. Many things happen evolutionarily, and this is certainly in the right direction. There are certainly many reasons to beleive that Google will get engaged in more open source projects and that would be fantastic news. But don't expect it to happen over night.
Big thumb up for the team at Google!
Wine is an implementation of the Windows API. It is not an emulator of any kind.
Do you even know what the "E" stands for in WINE?
Surprise, Emulator.
For both companies (one of them is a big name, the other is a startup) I've worked for, they give you admin. It's usual practice.
Linus doesn't believe in revolution. He always does things incrementally. Despite being a monolithic kernel fundamentally, Linux kernsl is modular and will continue to be so. If the microkernel direction is correct, I'm sure Linux will head toward it, and someday you'll find Linux more like microkernel than now.
For example, one Linux philosophy is "if sth can be done in user space, do so". udev (to replace devfs) is one great example. There are parts that are traditionally done in kernel space that are moved into user space, but also vice versa (think X and direct rendering).
So from engineering point of view, kernel hackers are not interested in arguing "which one is cooler". Instead they are interested in "which one will work better in real world".
Before we get into arguments or understanding arguments, two most important things to note:
- AST is a prefessor. His interest in doing research and building the best systems for the *future* that he believes in.
- Linus is an engineer. His interest is building a system that works best *today*.
We simply need both. Without pioneering work done before in other OSes (this included failures), Linux wouldn't have been like this today. The greatest reason for its success it not it's doing something cool, but it's doing things that are proven to work.
So who is right? I'd say both. Linus has said this in 1992: "Linux wins heavily on points of being available now."
Linus admits microkernels are "cooler", but he didn't (doesn't) believe in it *today* because none of the available microkernels could compete with Linux as a *general purpose* OS. It's funny how AST listed "Hurd" as one of the microkernels - it totally defeats his own arguments. The fact is Hurd is still not available today despite it was started before Linux.
Many people talk about QNX. Sure, in many cases (especially mission critical, RTOS, where reliablility is so much more important than performance and usability) microkernels are better, but we really shouldn't compare a general-purpose OS with real-time or special purpose OS.
So we go back to the old way: code talks. So far microkernel proponents keep saying "it's possible to do microkernel fast, etc" but the fact is they have never had an OS that could replace Linux and other popular OS that everybody could run on their desktop with enough functionality. There are two possible reasons:
1. Lack of developers. But why? Do people tend to contribute to Linux because Linus is more handsome (than Richard Stallman that is)? There gotta be some reasons behind it other than oppotunities right?
2. Monilithic kernels are actually more engineerable than microkernels, at least for today.
Maybe 2 is actually the real reason?
Think about it.
Hardly an appropriate category.
I have to laugh when you say NT is more modular.
Look at which system has the biggest number of supported filesystems, and then talk about modularity.
Linux VFS is a great example of modularity design. Actually, the credit goes back to Sun's Solaris when they introduced NFS.
Please, know what you are talking about instead of just buying everything MS marketing has to say.
We don't attack Windows running GDI in kernel. Actually, it was a good move, which showed exactly why microkernel didn't work in real life as a general purpose OS.
We attack because Microsoft is not honest about it and still talks about "microkernel" while they know it's not.
Nice example, which shows you really don't understand the real meaning of monolithic vs microkernel.
Take OOP as an example. You write a program which includes a lot of classes, and you compile and link. What do you get in the end? Surprise: one monolithic executable. Everything in the end runs inside one address space.
Don't confuse run-time separation with interface separation. The latter is a language feature, not a system feature - you could still have a wild pointer and modify private members of any classes directly.
Linux, despite being monolithic, has nice layers inside the kernel and clean interfaces too.
1. From AST (I'd assume you know who he is since you are interested in Linus/microkernel debate): http://www.cs.vu.nl/~ast/brown/followup/ Read the section "Microkernels Revisited":
I can't resist saying a few words about microkernels. A microkernel is a very small kernel. If the file system runs inside the kernel, it is NOT a microkernel. The microkernel should handle low-level process management, scheduling, interprocess communication, interrupt handling, and the basics of memory management and little else. ... Microsoft claimed that Windows NT 3.51 was a microkernel. It wasn't. It wasn't even close. Even they dropped the claim with NT 4.0.
2. From Windows Internals, the 4th edition, published by Microsoft Press. Page 36: Windows is similar to most Unix systems in that it's a monolithic operating system in the sense that the bulk of the operating system and device driver code shares the same kernel-mode protected memory space. Can we stop claiming Windows has a microkernel now?
Not sure what that "microkernel" piece actually means, but it's absolutely a picture of monolithic kernel. All those I/O manager, process manager, virtual memory manager, etc, are all running in one piece in the kernel.
Buy a copy of Windows Internals and educate yourself. Specifically, page 36: Is Windows a Microkernel-Based System?
Windows and Linux are not THAT different as far as kernel architecture is concerned.
"Hybrid" kernel? Sorry, I just don't buy this terminology (as Linus put it, it's purely marketing).
Windows NT is monolithic. So is OS X. Anyone claims it to be microkernel please show me the proof other than "it is based on Mach".
A couple more things to mention.
1. Windows has some essential system services running in the user space, such as Win32 environment (csrss.exe). But if it dies, you are pretty much hosed anyways. It doesn't necessarily make the system more stable in any meaningful way by running stuff in user space. Windows even had GDI in user space before, and later moved into the kernel for performance reasons, and GDI in user space didn't provide more stability.
2. Linux kernel 2.6 now has support for user space filesystems. So it's already possible to have a user space filesystem running under a monolithic kernel.
The fact is, microkernel proponents have not delivered. In reality people who tried those ideas have mostly abandoned them (see 1) because the gain couldn't justify the loss. We don't build our systems just on nice theory.
The whole discussion of micro-kernel vs monolithic kernel is totally pointless. All popular OS kernels are monolithic. We can get back to the debate when we have a working fast microkernel in the market that is actually competitive.
Linus is a pragmatist. He didn't write Linux for academic purpose. He wanted it to work.
But you can always prove him wrong by showing him the code, and I bet he'd be glad to accept he was wrong.
I was skeptical when 2.6 changed its development model and ignored "stable" series, but I've now convinced it's a better model than before. It's simply more productive. Yes it destablizes stuff more, but the real benefit is what has brought Linux to success: motivation of highly talented developers around the world. It's human nature that people like to work on new stuff, especially for open source developers. You get fame, recognicion, and employment opportunity by working on high-profile code instead of bug fixing. For the old "stable"/"development" model, nobody really cares about stable anymore. This left an embarrassing situation there, and vendors would have to do a lot of feature back-porting work. Now the vendors just need to fix bugs, and bug fixes are generally far easier to port to mainline.
and they'll marry computers. Still no hope for slashdoters.