8 ms·
Btw, it's not just microkernels. Any time you have "one overriding idea", and push your idea as a superior ideology, you're going to be wrong. Microkernels had
by wissler 14y ago
Btw, it's not just microkernels. Any time you have "one overriding idea", and push your idea as a superior ideology, you're going to be wrong. Microkernels had one such ideology, there have been others. It's all BS. The fact is, reality is complicated, and not amenable to the "one large idea" model of problem solving. The only way that problems get solved in real life is with a lot of hard work on getting the details right. Not by some over-arching ideology that somehow magically makes things work.
Yes, well, Torvalds is here disputing one of the main drivers of science, the motive that brought us Newtonian physics, quantum mechanics, you know, the very things he depends on via his use of microprocessor technology.
If your "one overriding idea" is wrong, then certainly that'll get you into trouble, but as history demonstrates, they aren't always wrong. They are always hard to come up with, and often when you come up with them you face an uphill battle with people who want to maintain the status quo and who can't conceive of "one big idea." But eventually those ideas are the ones that cause tectonic shifts in human progress.
His reference to Edison is apt. It wasn't Edison who brought us the AC motor that literally revolutionized power distribution and the whole industrialized world. It was a man who thought big, who had "one overriding idea": Tesla.
- m_for_monkey 14y agoNo, scientists are coming from the opposite direction. Observing things, then draw conclusions and connect the dots. Pseudosciences, like homeopathy are backwards. They pull "universal truths" out of thin air, like "Law of similars", and after that they don't mind even if experiments and reality doesn't support these theories.
- wissler 14y agoA true scientist seeks an integrated understanding. Newton related the objects that fall on Earth to the motion of the planets. One big sweeping idea for a wide range of phenomena. That's science.
- koide 14y agoThat's the science you like. There's plenty of science without sweeping ideas. There will likely always be.
- andreasvc 14y agoThe direction is not the opposite for science. In Popper's philosophy of science, you form a theory beforehand and specify how it can be falsified, only then you do the experiment. Otherwise you could obtain some data and provide an ad-hoc explanation, without knowing whether it really explains anything. It's related to the Texas sharpshooters fallacy, where you shoot a gun and only afterwards draw the bull's eye around your shots. Of course practice differs from this ideal, you do get inspired to make certain theories by data (context of discovery), but to make a proper theory you need to make predictions and specify what would disprove the theory (context of justification).
- Evbn 14y agoYou can't just discard observation-based hypothesis generation as irrelevant. It is a key part of the process.
- andreasvc 14y agoI don't, I say it's part of the context of discovery (the way you come up with new hypotheses). On the other hand, you can't overlook the problem of induction, pure empiricism doesn't work. You need some theoretical framework before you can try to verify your hypotheses.
- dude_abides 14y agoPhysicists' job is to come up with "one overriding idea". But engineers know "one overriding idea" never works except in theory, and that the devil is in the details. Linus is not saying that microkernels are architecturally bad. He concedes that it is an architecturally superior idea but it is not a panacea when it comes to OS design. It merely shifts inefficiency outside the kernel.
- wissler 14y agoBut engineers know "one overriding idea" never works except in theory On the contrary, good engineers are not dogmatists. They're open to new ideas and strive for simplicity, which means striving for unified approaches based on empirical reasoning. See Newton.
- maratd 14y agoYour continued comparison of physics to software engineering is horribly flawed. Software engineering is about creating something for humans while working with other humans. It is a science that is primarily constrained by human nature. Physics is about describing reality. It is a science that is primarily constrained by reality. In software engineering, it is always better to choose a flawed technical solution that leads to less friction among humans. Because less friction among humans is the entire point of software engineering.
- wissler 14y agoYour continued comparison of physics to software engineering is horribly flawed. Your contrast of science and engineering is horribly naive. In science, we use Ockham's Razor regarding explaining phenomena; in engineering we use Ockham's razor regarding implementing requirements. Both follow the same logical, empirical process, and both strive for the same result: as simple as possible, but no simpler.
- astine 14y agoOccam's Razor says that we should prefer simpler explanations to more complex ones with the same explanatory power. That is, we should prefer explanations which don't raise more questions than they answer. This has nothing to do with the engineering 'KISS' principle which desires simpler architectures because they are easier to understand and thereby to debug and maintain. The point is to avoid astronaut architecture, which is what you get when you chase theoretical ideas rather practical solutions. Linus's whole point is that microkernels are a prime example of astronaut architecture.
- delinka 14y agoI tend to think that Linus's opinions work well in the software world. And with that limitation, he's right. And he's right because we software people haven't yet found our own Unified Theory, if you will, to adhere to. In the meantime, "[t]he only way that problems get solved in real life is with a lot of hard work on getting the details right."
- wissler 14y agoOne of the reasons his methodology seems to work is that that's the only one that's allowed to work on that scale. Politics is definitely an issue, and politics is driven by how individual people think on average, and if how they think on average just isn't very good, then only the pragmatic approach can "work". That's not a problem with a system-building approach per se, it's a problem with it given the current state of intellectual development in the culture at large. People prefer a smattering of contradictions to a coherent truth.
- shardling 14y agoNo, even in science he's right. You can have a model that is fundamentally correct, but useless in working out the particulars of a situation. There's a Feynman quote that "every theoretical physicist who is any good knows six or seven different theoretical representations for exactly the same physics." Often you find an idea that seems more fundamental than what you had before. General relativity supersedes Newton's model of gravity. But if you want to calculate ballistic motion across the surface of the earth, you're not going to reach for general relativity -- Newton's is the more useful model there.
- endersshadow 14y agoI disagree with you here, and I think you've understood his answer differently than I have. To me, it seems that Linus is talking about this "one large idea," it's an ideology that's set a priori. In the case of Newton, he was observing physics, and then created a model around what he observed. He invented calculus to solve a problem. He wasn't trying to espouse an ideology--he was simply trying to understand the world around him. He happened to be brilliant, so he ended up doing a lot of seminal work. To Linus's point, "reality is complicated." Complex things cannot be abstracted away into incredibly simple things. At some point, you need to solve the complex problem. Regardless of where that problem may be. And that's what I took away from his answer. I honestly don't understand why you brought up Newton and physics as an antithesis of this idea. Physics (and microprocessors) are immensely complex things that have not been simplified as time has gone on. We've built upon works of our past and improved our understanding and abilities, but it's still remarkably complex.
- wissler 14y agoI would agree with Linus that we should not have an a priori ideology, but I think his argument carves off quite a bit more than that, he's against unified architectures per se, not only ones derived a priori.
- derleth 14y ago> At some point, you need to solve the complex problem. This is a good point that I see ignored many, many times by people trying to push a simple system. One of the worst examples are the people who think files are bad, and that all state needs to be preserved all the time. They claim that the problem of determining what to save is not worth solving because it doesn't exist in their systems. Needless to say, they are wrong. I will not redesign my workflow to fit their tools, and they're amazingly presumptuous to even consider asking anyone to. Just because they cannot solve a problem doesn't mean it isn't actually a problem, and the fact they consider differences of opinions to be technical problems is diagnostic of their whole worldview.
- fr0sty 14y agoWhat was Tesla's "one overriding idea" in your opinion? The major pursuit of his life was wireless power over great distances which was (and is) wildly impractical.
- wissler 14y agoIt's not about "one overriding idea", it's about having a fundamental, unified understanding. Edison was about randomly trying things and see what works, Tesla was about seeking fundamental understanding and predicting what will work. Picking on Tesla for some error given what he did with the AC motor and other projects is very wrongheaded. You're depending on Tesla right now in many ways. Obviously he was wildly successful; Edison's contributions have all fallen by the wayside.
- smallblacksun 14y ago>It was a man who thought big, who had "one overriding idea": Tesla. >It's not about "one overriding idea", Make up your mind.
- wissler 14y agoSo, you're more interested in picking petty nits in phrasing than grasping the overall point. It was Linus's phrase, and he was wrong to phrase what he was actually talking about that way (no one ever uses "one overriding idea" in every sphere whatsoever).
- MartinCron 14y agoEdison's contributions have all fallen by the wayside I know it's kind of trendy right now to deify Tesla and demonize Edison, but... really?
- wissler 14y agoDon't pretend to know that I said what I did because it was a "trend." It's a fact that Edison made no fundamental contribution or discovery. He was a very productive hack. Tesla's contributions are lasting and revolutionary.
- mikeash 14y agoScience isn't about "one overriding idea". It's about "well, this is the best we have so far".
- wissler 14y agoIt's about striving to integrate everything that can be integrated into a unified system -- which is precisely what Torvalds opposes.
- mikeash 14y agoSeems to me that you're choosing an interpretation of those words which makes Linus look foolish, when an interpretation that doesn't make him look foolish fits the words just as well.
- ta12121 14y agoStriving, yes. Rather than shoehorning, which is what Linus appears to oppose.
- andreasvc 14y agoA unified science is a nice idea in theory but it's not what happens in practice. No scientist would believe that you can somehow combine results from chemistry and psychology, so in effect you have many separate systems. There's not one big idea behind the various fields of science, merely a common method.
- praptak 14y agoLarge overarching ideas are good for explaining aspects of reality. This does not make them good as the basis for solving complicated problems.
- baq 14y agoLinus is not a scientist. He belongs to the most hardcore, practical, utilitarian guild of engineers. He takes what visionaries come up with and actually makes it work for all of us. He's the guy Tesla should've hired to bring Wardenclyffe project to completion.
- wissler 14y agoYes, certainly Linus is admirable in respects, but he's wrong to dogmatically think that his approach is the "one overriding idea" of how you should approach engineering.
- ajross 14y agoEven among scientists managed complexity is the rule, not single blinding insights. Holding a handful of core physics theories up as examples of the way science and engineering "should be done" ignores a staggering amount of important work (like, the whole field of biochemistry for just one example) which doesn't meet that arbitrary aesthetic requirement.
- koenigdavidmj 14y ago> If your "one overriding idea" is wrong, then certainly that'll get you into trouble, but as history demonstrates, they aren't always wrong. I don't think that even Linus is opposed to One Big Idea when it works. Take his Git, for instance. At the core, it's pretty much just this: 1. File data goes in blobs named by their checksum. 2. Directories are trees that have a bunch of name-checksum pairs for files, and references to other trees. Trees are named by their checksum too. 3. Commits are named by their checksum too. (Notice a theme?) They refer to their toplevel tree and their parent commits: zero for a root commit, one for a normal commit, or more for a merge. Everything else is built on top of that. Making a distributed VCS on top of that was just adding features to get commits (and the objects at which they point) between machines. Tags are just named pointers to a commit. Branches are just tags that get reassigned when you make a new commit to the tip of a branch.
- grannyg00se 14y agoThese decisions most often come down to a set of tradeoffs and expectations. I don't think anybody seriously claims microkernels are the best idea for all scenarios. However, there are advantages over monolithic kernels that may be more important than the tradeoffs in certain cases.
- ANTSANTS 14y agoI think you're grossly misconstruing his point -- that you shouldn't let architectural ideology or a preconceived notion of what the best solution to your problem is get in the way of shipping good software. The Hurd project had an important problem to solve -- there was all this nice free software for people, but they needed a kernel to run it on or they wouldn't have a complete free operating system.. Their #1, overarching priority should have been to deliver a stable, fast kernel to users, no matter what design it eventually ended up with. However, the project placed too much emphasis on the buzzword of the day, the microkernel, to the point that it got in the way of the project's most important goals. You almost can't fault the project for drinking the microkernel koolaid in its early days, but it likely became clear very quickly to them that it was going to take a significant amount of time and work to get a usable microkernel running. Rather than do the best thing for the free software movement or the users, scrap the microkernel and try to get a high quality "monolithic" kernel out there as fast as possible, the team basically decided to create an inferior product in stubborn attachment to their technological ideology. That's the kicker right there -- like a whole lot of open source software, the Hurd project wasn't really advancing the state of the art; they were doing a free implementation of an existing product. Their attachment to doing a microkernel shouldn't have been as strong as their need to do a good kernel, period, but apparently it was, and they were bulldozed by Linux and the BSDs for it. If you follow the Linux kernel's development, you'll know that the contributors and maintainers take pretty much the opposite of an ideology-oriented approach -- you might even say it's pretty well rooted in the scientific method. The project is willing to try just about anything and let the results speak for themselves. Obviously, even if anyone had wanted to, trying out a microkernel approach at any point past the very early days of Linux would be impossible, but there are numerous other cases of the project trying out multiple approaches or multiple implementations of the same idea, and everyone needing to be willing to see their code thrown out if it didn't measure up. I'd like to think Torvalds can see the value in advancing the state of the art in microkernels for it's own sake -- I find the work being done on the L series of microkernels to be very impressive, though Torvalds may stand by his opinion that "microkernels are stupid and make a hard problem harder." Regardless, I think his main message here is not that you shouldn't bother advancing the state of the art or following a different design path for its own sake, but that you shouldn't let yourself get committed to a certain design when your primary goal is to fill a need in the world and any advancing of the state of the art is incidental.
- smegel 14y agoThe laws of physics don't change (probably) - a good (and correct) model of the universe will stand the test of time. The solutions engineers devise to solve real-world problems will change as the underlying technology, science and society changes - what was a good solution at one point time may not be a good solution today - what is a good solution for one set of requirements and constraints may be an appallingly bad solution given a different set of requirements and constraints. Oh, and this attempt to conflate the fields of engineering (devising solutions to problems) with science (devising models to explain observations) is so misguided and plain wrong I can only assume you are deliberately trolling. And given this link points back to Slashdot, I can only guess there was a bit of leakage back in the other direction...
- edoloughlin 14y ago> Torvalds is here disputing one of the main drivers of science For all I know, he may also be disputing one of the main drivers of cheese making, but that's not what he was asked about. He was commenting on a specific technical and organisational challenge, where he stated that a pragmatic approach trumps ideology. This may be true/false in other domains but he wasn't addressing them.
- davidw 14y agoIf you want One Overriding Idea, you would probably appreciate something like ColorForth.