Slashdot Mirror


Linus Torvalds Answers Your Questions

Monday you had a chance to ask Linus Torvalds any question you wanted. We sent him a dozen of the highest rated and below you'll see what he has to say about computers, programming, books, and copyrights. He also talks about what he would have done differently with Linux if he had to do it all over again. Hint: it rhymes with nothing. The Absolute Death of Software Copyright?
by eldavojohn

Recently you spoke out about software patents and the patent process. But I was interested in what you said about how "nasty" copyright issues could get. You use SCO as the obvious nightmare case but what about violations against open source licenses like the GPLv3? Would you care if someone forked the Linux kernel and made major modifications to it and started selling it without releasing the code to the customers? What does your ideal situation look like for open source and commercial closed source? Would you just copy the Finnish model and aren't you afraid American experts are just as daft as American juries?

Linus: So I like copyrights, and even on patents I'm not necessarily in the "Patents are completely evil" camp. When I rant about patents or copyrights, I rant against the *excesses* and the bad policies, not about them existing in the first place.

The patent problems people on slashdot are probably familiar with: the system is pretty much geared towards people abusing it, with absolutely ridiculous patents being admitted, and it hindering invention rather than helping it. The failures are many, and I don't know how to fix it, but much stricter limits on what can be patented are clearly needed.

People were apparently surprised by me saying that copyrights had problems too. I don't understand why people were that surprised, but I understand even *less* why people then thought that "copyrights have problems" would imply "copyright protection should be abolished". The second doesn't follow at all.

Quite frankly, there are a lot of f*cking morons on the internet.

Anyway, the problems with copyright come from absurdly long protection periods, and some overly crazy enforcement. And don't get me wrong: I don't actually think that these problems show up all that much in the software industry. The case of SCO was not, I think, so much a failure of copyright law itself: sure, it was annoying, but at the same time it was really more about a psychopathic company with a failed business that tried to game the system. Tried, and lost. And yes, that fiasco took much too long, and was much too expensive, and should have been shut down immediately, but that whole "using the law for harassment" in the US is a separate issue independent of the copyright issues.

No, when I stated that copyright protection is too strong, I was talking about things like "life of author+70 years" and the corporate 95-year version. That's *ridiculous*. Couple that with the difficulty of judging fair use etc, and it really hinders things like archival of material, making of documentaries, yadda yadda...

So I personally think that IP protection isn't evil in itself - but that it turns evil when it is taken too far. And both patent protection and copyright protection has been taken much much too far.

Scale the term limits back to fifteen years or so, and copyrights would be much better.



When I'm designing a processor for Linux.
by Art Popp (29075)

I spend some time designing things in Verilog and trying to read other people's source code at opencores.org, and I recall you did some work at Transmeta. For some time I've had a list of instructions that could be added to processors that would be drastically speed up common functions, and SSE 4.2 includes some of my favorites, the dqword string comparison instructions. So...What are your ideas for instructions that you've always thought should be handled by the processor, but never seen implemented?

Linus: I actually am not a huge fan of shiny new features. In processor design - as in so much of technology - what matters more is interoperability and compatibility. I realize that this makes people sad, because people are always chasing that cool new feature, but hey, in the end, technology is about doing useful things. And building and extending on top of existing knowledge and infrastructure is how 99% of all improvement gets done.

The occasional big shift and really new thing might get all the attention, but it seldom really is what matters. I like to quote Thomas Edison: "Genius is 1% inspiration, 99% perspiration". And that very much covers CPU architecture too: the inspiration is simply not as important as executing well. Sure, you need some inspiration, but you really don't need all that *much* of it.

So in CPU design, what should really be looked at is how well the CPU is able to do what we expect. The instruction set is important - but it is important mainly as a "I can run the same instructions the previous CPU did, so I can run all your programs without you having to do any extra work" issue - not as a "what new cool feature would you want in an instruction set".

To a CPU architect, I'd tell them to do the best they damn well can in the memory subsystem, for example. Regardless of instruction set, you'll want a great memory subsystem end-to-end. And I don't just mean good caches, but good *everything*. It's a hell of a lot of detail (perspiration), and I guarantee you that it will take a large team of people many generations to do really well on it. There is no simple silver bullet with a cool new instruction that will solve it for you.

And don't get me wrong - it's not *all* about the memory subsystem. It's about all the other details too.

Now, when it comes to actual instructions, I do tend to think that the world has shifted away from RISC. I'm a big believer in being good at running existing binaries across many different micro-architectures - the whole "compatibility" thing. And as a result, I think fragile architectures that depend on static instruction scheduling or run in-order are simply insane. If your CPU requires instruction scheduling for one particular set of instruction latencies or decoder limitations, your CPU is bad. I detested Itanium, for this reason - exposing the microarchitecture in the instruction set is just insane.

No, I want out-of-order and "high-level" instructions that actually work across different implementations of the same ISA, and across different classes of hardware (iow, span the whole "low-power embedded" to "high-end server" CPU range). So for example, I think having a "memcpy" or "memset" instruction is a great idea, if it allows you to have something that works optimally for different memory subsystems and microarchitectures.

As an example of what *not* to do, is to expose direct cacheline access with some idiotic "DCBZ" instruction that clears them - because that will then make the software have to care about the size of the cacheline etc. Same goes for things like "nontemporal accesses" that bypass the L1 cache - how do you know when to use those in software when different CPU's have different cache subsystems? Software just shouldn't care. Software wants to clear memory, not aligned cachelines, and software does *not* want to have to worry about how to do that most efficiently on some particular new machine with a particular cache size and memory subsystem.



What would you have done differently?
by Rob Kaper

It's been over twenty years since the inception of Linux. With 20/20 hindsight, what you have done differently if you had had today's knowledge and experience back in the early days?

Linus: I get asked this quite often, and I really don't see how I could possibly have done anything better. And I'm not claiming some kind of great forethought - it's just that with 20:20 hindsight, I really did choose the right big things. I still love the GPLv2, and absolutely think that making Linux open source was the greatest thing ever.

Have I made mistakes? Sure. But on the whole, I think Linux has done incredibly well, and I've made the right decisions around it (and the big things have *occasionally* been about technical issues, but more often about non-technical things like "Don't work for a commercial Linux company even if it seems like such a natural thing to do - keep working in a neutral place so that people can continue to work with me")



Monolithic vs. Micro-kernel architecture
by NoNeeeed

Has there ever been a time in the development of the Linux Kernel where you've wished you'd gone the Hurd-style micro-kernel route espoused by the like of Tannenbaum, or do you feel that from an architectural standpoint Linux has benefited from having a monolithic design?

Linux has been massively more successful than Hurd, but I wonder how much of that is down to intrinsic technical superiority of its approach, and how much to the lack of a central driving force supported by a community of committed developers? It always seemed like the Hurd model should have allowed more people to be involved, but that has never seemed to be the case.


Linus: I think microkernels are stupid. They push the problem space into *communication*, which is actually a much bigger and fundamental problem than the small problem they are purporting to fix. They also lead to horrible extra complexity as you then have to fight the microkernel model, and make up new ways to avoid the extra communication latencies etc. Hurd is a great example of this kind of suckiness, where people made up whole new memory mapping models just because the normal "just make a quick system call within the same context" model had been broken by the microkernel model.

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.



Avoiding the Unix Wars
by dkleinsc

Why do you think Linux has been able to (mostly) avoid the fragmentation that plagued the competing Unixes of the 1980's? What would you say helps keep Linux a unified project rather than more forked system like BSD?

Linus: So I'm a huge believer in the GPLv2, and I really do believe the license matters. And what - to me - is important for an open-source license is not whether you can fork (which the BSD's allow), but whether the license encourages merging things back.

And btw, before people go all "license flamewar" on me, I would like to really emphasize the "to me" part. Licensing is a personal choice, and there is no "wrong" choice. For projects *I* care about, and that I started and can make the licensing decision for, I think the GPLv2 is the right thing to do for various reasons. But that does *not* mean that if somebody else makes another choice for his or her code, that wouldn't be the right choice for *that* person.

For example, I'd use a BSD-like license for code that I simply didn't care about, and wanted to just "push out there in case somebody else wants to use it". And I don't think proprietary licenses are evil either. It's all fine, it's up to the original author to decide what direction you want to do in.

Anyway, to just get back to the question - I really do think that encouraging merging is the most important part for a license for me. And having a license like the GPLv2 that basically *requires* everybody to have the right to merge back useful code is a great thing, and avoids the worry of forking.

And I do want to say that it's not that forking is bad. Forking is absolutely *required*, because easy forking is how development gets done. In fact, one of the design principles behind git was to make forking easy, and not have any technical barrier (like a "more central repository") that held back forking. Forking is important, and forking needs to happen any time there is a developer who thinks that they can do a better job in some area. Go wild, fork the project, and prove your point. Show everybody that you can make improvements.

But forking becomes a problem if there is no good way to merge things back. And in Linux, it's not been just about the license.Sure, the license means that legally we can always merge back the forks if they prove to be good forks. But we have also had a culture of encouraging forking and making forking be something that isn't acrimonious. Basically *all* the Linux distributions have had their own "forks" of the kernel, and it's not been seen as something bad, it's been seen as something natural and *good*. Which means that now the fork is all amicable and friendly, and there are not only no legal issues with merging it back into mainline, but there are also generally no big personality clashes or bad feelings about it either.

So it's not that Linux doesn't fork, it's that we've tried to make forks small and painless, and tried to be good about merging things back. Sure, there are disagreements, but they get resolved. Look at the Android work, for example: yeah, it wasn't all happy people and no problems, and it took a while, but most of it got merged back, and without excessively bad feelings, I think.



GIT
by vlm

If you had to do GIT over again, what, if anything, would you change?VERY closely related question, do you like the git-flow project and would you think about pulling that into mainline or not?

Linus: So there's been a few small details that I think we could have done better, but on the whole I'm *very* happy with git. I think the core design is very solid, and we have almost zero redundant information, and the core model is really built around a few solid concepts that make a lot of sense. Git is very unix-like in that it has a few basic design things ("everything is an object" with a few basic relationships between the different objects in the git database) and then a lot of utility is built up around that whole thing.

So I'm very proud of git. I think I did a great design, and then others (and Junio Hamano in particular) have taken that great design and really run with it. Sure, it wasn't all that pleasant to use for outsiders early on, and it can still be very strange if you come from some traditional SCM, but it really has made my life *so* much better, and I really think it got the fundamentals right, in ways that SCM's that came before did not.

As to git-flow, I want to really re-iterate how great Junio Hamano has been as a git maintainer, and I haven't had to worry about git development for the last five years or so. Junio has been an exemplary maintainer, and shown great taste. And because I don't need to, I haven't even followed some of the projects around git, like git-flow. It's not what I need for *my* git workflow, but if it helps people maintain a good topic-branch model with git, then all the more power to them. And whether it should go into mainline git or not, I won't even comment on, because I absolutely trust that Junio will make the right decision.



Storage advancements in the kernel?
by ScuttleMonkey

Now that Ceph is gathering momentum since having been included in the mainline kernel, what other storage (or low level) advancements do you see on the horizon? (full disclosure: I work for Inktank now, the consulting/services company that employs most of the core Ceph engineers)

Linus: I'm not actually all that much of a storage guy, and while I'm the top-level kernel maintainer, this is likely a question that would be better asked of a number of other people.

The one (personal) thing storage-related that I'd like to re-iterate is that I think that rotating storage is going the way of the dodo (or the tape). "How do I hate thee, let me count the ways". The latencies of rotational storage are horrendous, and I personally refuse to use a machine that has those nasty platters of spinning rust in them.

Sure, maybe those rotating platters are ok in some NAS box that you keep your big media files on (or in that cloud storage cluster you use, and where the network latencies make the disk latencies be secondary), but in an actual computer? Ugh. "Get thee behind me, Satan".

That didn't answer the question you really asked, but I really don't tend to get all that excited about storage in general.



favorite hack
by vlm

I asked a bunch of hard architecture questions, now for a softball Q. Your favorite hack WRT kernel internals and kernel programming in general. drivers, innards, I don't care which. The kind of thing where you took a look at the code and go 'holy cow that's cool' or whatever. You define favorite, hack, and kernel. Just wanting to kick back and hear a story about cool code.

Linus: Hmm. You do realize that I don't get all that close to the code any more? I spend my time not coding, but reading emails, and merging stuff others wrote. And when I *do* get involved with the code, it's not because it's "cool", it's because it broke, and you'll find me cursing the people who wrote it, and questioning their parentage and that of their pets.

So I very seldom get involved in the really cool code any more, I'm afraid. I end up being involved in the "Holy sh*t, how did we ever merge that cr*p" code. Perhaps not as much as Greg (who has to deal with the staging tree), but then Greg is "special".

That said, we do have lots of pretty cool code in the kernel. I'm particularly proud of our filename lookup cache, but hey, I'm biased. That code is *not* for the weak of heart, though, because the whole lockless lookup (with fallbacks to more traditional locked code) is hairy and subtle, and mortals are not supposed to really look at it. It's been tweaked to some pretty extreme degrees, because it ends up being involved any time you look up a filename. I still remember how happy I was to merge the new lockless RCU filename lookup code last year.

At the opposite end of the spectrum, I actually wish more people understood the really core low-level kind of coding. Not big, complex stuff like the lockless name lookup, but simply good use of pointers-to-pointers etc. For example, I've seen too many people who delete a singly-linked list entry by keeping track of the "prev" entry, and then to delete the entry, doing something like

if (prev)
prev->next = entry->next;
else
list_head = entry->next;

and whenever I see code like that, I just go "This person doesn't understand pointers". And it's sadly quite common.

People who understand pointers just use a "pointer to the entry pointer", and initialize that with the address of the list_head. And then as they traverse the list, they can remove the entry without using any conditionals, by just doing a "*pp = entry->next".

So there's lots of pride in doing the small details right. It may not be big and important code, but I do like seeing code where people really thought about the details, and clearly also were thinking about the compiler being able to generate efficient code (rather than hoping that the compiler is so smart that it can make efficient code *despite* the state of the original source code).



Books, Books, Books
by eldavojohn

As a software developer, I have a coveted collection of books. A few of said tomes -- both fiction and non -- have fundamentally altered the course of my life. Assuming yours aren't just man pages and .txt files, what are they?

Linus: I read a fair amount, but I have to admit that for me reading tends to be about escapism, and books to me are mostly forgettable. I can't really think of a single case of a book that struck me as life-changing, the way some people apparently find some book that really changed the way they think.

That said, I'll point to a couple of books I really enjoyed. On the non-fiction side, Richard Dawkin's "The Selfish Gene" was one book that I think is pretty influential. On the fiction side, as a teenager I enjoyed Heinlein's "Stranger in a strange land" a lot, and I have to admit to "Lord of the Rings" having been pretty important to me - but for a slightly odd reason, not as a huge Tolkien fan. For me, it was one of the first "real" books I read in English, and I started with a dictionary by my side, and ended it reading without needing one.

These days, I still read crap. I like my Kindle, and often read the self-published stuff for 99c. There are some real stinkers in there, but there's been a lot of "that was certainly worth the 99c" stuff too. I've also enjoyed just re-reading some of the classics I grew up with - I just re-read both the Count of Monte Cristo and the Three Musketeers, for example.



How do you deal with burn-out?
by kallisti5

You must of been burned out on Linux kernel development multiple-times over by now... how do you deal with it?

Linus: Oh, I really enjoy what I do. And I actually enjoy arguing too, and while I may swear a lot and appear like a grumpy angry old man at times, I am also pretty good at just letting things go. So I can be very passionate about some things, but at the same time I don't tend to really hold on to some particular issue for too long, and I think that helps avoid burn-out.

Obsessing about things is important, and things really do matter, but if you can't let go of them, you'll end up crazy.

So to me, some of the occasional flame-wars are really just invigorating. And the technology and the use cases end up changing enough that things never get *boring*, so I actually have not been close to burning out very often.

The one really painful time was some time during the middle of the 2.4.x series (about ten years ago), before I got to hand it over to stable maintenance, and we really had a lot of problems going on. You can google for "Linus doesn't scale" and various other threads about the problems we had back then, and it really was pretty painful. The kernel was growing and I wasn't keeping up, and BitKeeper and some fairly painful process changes really ended up helping a lot.



Describe your computer
by twistedcubic

Can you describe in detail your home and work computers, including processor, motherboard, and graphics card? And also say something about their compatibility with Linux?

Linus: My home computer isn't actually all that interesting: I don't need all that much CPU power any more, and for the last several years, my primary requirement (since CPU's are fast enough) has been that the system be really really quiet, and that it has a good SSD in it. If our cat deigns to jump into my lap while I'm working, the loudest noise in the room should be the purring of the cat, not the computer.

So my main desktop is actually a 4-core Westmere machine, not really anything special. The most unusual part of the machine is probably just the fact that it has a good case (I forget the exact case name now) which avoids rattling etc. And one of the bigger Intel SSD's. I think I'll be upgrading some time this fall, but I will have had that machine for two years now, I think.

My laptop (that I'm writing this with, since I'm traveling in Japan and Korea right now) is an 11" Apple Macbook Air from last year (but running Linux, of course - no OS X anywhere), because I really hate big laptops. I can't understand people who lug around 15" (or 17"!) monsters. The right weight for a laptop is 1kg, no more.



Re:The End
by Narnie

Speaking of ends, one day you'll pass on your duties. How do you envision the kernel and the Linux ecosystem after passing your reigns?

Linus: Oh, the kernel really has a very solid development community, I wouldn't worry about it. We've got several "top lieutenants" that could take over, and I'd worry much more about many other open-source projects that don't have nearly the same kind of big development community that the kernel does.

That said, I've been doing this for over twenty years now, and I don't really see myself stopping. I still do like what I'm doing, and I'd just be bored out of my gourd without the kernel to hack on.

326 comments

  1. Re:Buffing? by Impy+the+Impiuos+Imp · · Score: 1

    It's a joke, like "orange", nothing rhymes with nothing.

    --
    (-1: Post disagrees with my already-settled worldview) is not a valid mod option.
  2. all in all... by Tastecicles · · Score: 5, Insightful

    ...someone I could sit down over a pint with and just geek out. Cool.

    --
    Operation Guillotine is in effect.
    1. Re:all in all... by Anonymous Coward · · Score: 5, Funny

      They use liters in Finland, you insensitive clod!

    2. Re:all in all... by Tastecicles · · Score: 3, Informative

      OK.

      Otan 560 mililitres olutta ja paketti perunalastuja

      Thanks, Bing Translate. :)

      --
      Operation Guillotine is in effect.
    3. Re:all in all... by Anonymous Coward · · Score: 0

      Come to Portland. We have Linus and lots of pints. :)

    4. Re:all in all... by blippo · · Score: 1

      It's actually "En stor stark och lite chips tack."

          (Linux speaks swedish...)

    5. Re:all in all... by Tastecicles · · Score: 1

      tha's no good to me if I'm trying to order a pint and some flakeys in Helsinki! :x

      --
      Operation Guillotine is in effect.
    6. Re:all in all... by mcgrew · · Score: 1

      Indeed, that probably goes for everyone here. Linus sounds like a cool guy. I especially agree with "I really hate big laptops. I can't understand people who lug around 15" (or 17"!) monsters. The right weight for a laptop is 1kg, no more." Mine is about the size of a hard cover book, and weighs about he same.

      I wonder what distro Linux uses? If he uses a GUI or a CLI? If GUI (which I doubt), which one?

    7. Re:all in all... by Anonymous Coward · · Score: 0

      Except that if you were trying to order a pint in Helsinki, you could get away with not just the obvious Finnish, but also Swedish (taught to all Finns in school) and English (also, I think, taught to all Finns; and the TV from the UK and USA is not dubbed), and probably German or Russian if you got lucky with your barkeep.

      I.e. most Finns speak not just their first language, but also the other official langauge of the country, and English. And many of them will speak another one as well! (Speak enough to understand you trying to order a pint anyway.)

    8. Re:all in all... by Dog-Cow · · Score: 2

      Why do you doubt he uses a GUI? There's been many slashdot stories about Linus's dislike for GNOME (esp. 3).

    9. Re:all in all... by spike+hay · · Score: 4, Informative

      Last I heard he uses Fedora and XFCE4 after leaving the sinking ship that is GNOME 3. (Choice quote: "Who do I need to fuck to get standard font size and panel options, instead of having to wade through this kind of "unsupported and random extensions that look ugly as hell and break randomly" crap?")

      --
      If you don't understand any of my sayings, come to me in private and I shall take you in my German mouth.
    10. Re:all in all... by gbjbaanb · · Score: 1

      I guess that means you don;t think of yourself in this category: "Quite frankly, there are a lot of f*cking morons on the internet."... unfortunately, it depends on what category Linus thinks you're in... I wouldn't hold out much hope if you choose the wrong sort of pint!

    11. Re:all in all... by Tastecicles · · Score: 1

      All good :) Props to the Finnish education system, but I figure it's polite to at least make an attempt to learn the language of the country you're going to (even if you do end up murdering tenses, etc). For me, there's very little worse for my mood than trying to give a German tourist directions around Nottingham when he only wants to speak German. My response when I encounter such ignorami is to point at their map and wave with the other hand in the universal greeting "If you can't be arsed to make an effort how do you expect others to help you?" Let them find their own way.

      --
      Operation Guillotine is in effect.
    12. Re:all in all... by NikeHerc · · Score: 0

      Let them [i.e., Germans] find their own way.

      Dude, direct them to the U.S.! I realize you had some "recent unpleasantness" (in the local vernacular) with Germany, but we like Germans over here!

      --
      Circle the wagons and fire inward. Entropy increases without bounds.
    13. Re:all in all... by Guy+Harris · · Score: 3, Informative

      Indeed, that probably goes for everyone here. Linus sounds like a cool guy. I especially agree with "I really hate big laptops. I can't understand people who lug around 15" (or 17"!) monsters. The right weight for a laptop is 1kg, no more." Mine is about the size of a hard cover book, and weighs about he same.

      Depends on what you do with it. My "15-inch monster" isn't too bad - it's a Retina MBP, so it's relatively light and thin - and I use it as my primary machine, so I want a bit more "disk" space and screen space. I mainly move it around the house, so it's good that it's portable, but it doesn't have to be as portable as a road warrior's machine.

      I wonder what distro Linux uses?

      Well, at least earlier in 2012, part of the answer was "not OpenSUSE", at least on the laptop. He's apparently used Fedora in the past, at least; he probably doesn't use any of the Real Man's Linux Distributions, given that, at least back in 2007, he said "Funnily enough, the only distributions I tend to refuse to touch are the "technical" ones, so I've never run Debian, because as far as I'm concerned, the whole and only point of a distribution is to make it easy to install (so that I can then get to the part I care about, namely the kernel), so Debian or one of the "compile everything by hand" ones simply weren't interesting to me."

      If he uses a GUI or a CLI? If GUI (which I doubt), which one?

      Prepare to have your doubts busted; at least as of whenever he made the announcement (I'm not going to sign into my Google account just to read his posting, but the article in question is from April 2011), he was using Xfce, after switching from KDE 4 to GNOME 2.

      Of course, "GUI or CLI" is a bit ill-stated. I "use a GUI" in the sense that I don't do a console login on my Mac and run on the console tty, but a lot of what I do is in a GUI app called "Terminal", so I'm using a CLI in a GUI. In the 2007 interview in answer to "What software do you use everyday? Your browser, desktop (if any), email client and so on?" he said "Well, ignoring the actual development stuff (make, compiler, editor etc), it ends up being mostly just xterms and "alpine" (the newer version of the venerable old "pine" email reader. Strictly text-based, thank you very much)." In the next paragraph he also included a browser, but it sounds as if it's in the "a lot is a CLI in a GUI" category.

    14. Re:all in all... by compro01 · · Score: 2

      According to what I can find, as of 2011, he was running Linux Mint with XFCE.

      --
      upon the advice of my lawyer, i have no sig at this time
    15. Re:all in all... by Tastecicles · · Score: 1, Funny

      Don't mention the - oh, never mind.

      --
      Operation Guillotine is in effect.
    16. Re:all in all... by Tastecicles · · Score: 1

      Local dark ale, every time.

      --
      Operation Guillotine is in effect.
    17. Re:all in all... by steveg · · Score: 1

      A buddy of mine (a Brit) recently confessed to me in embarassment, that in fact, the most popular beer in Britain is now Budweiser.

      Take that for what it's worth -- I don't know if it's true.

      --
      Ignorance killed the cat. Curiosity was framed.
    18. Re:all in all... by Anonymous Coward · · Score: 0

      Modded down for being a hipster.

    19. Re:all in all... by Anonymous Coward · · Score: 0

      He speaks finnish just fine.
      There's couple of cities where you can reliably get a beer in swedish, out of the few hundred that's not very many. Honestly, with the current generation of 20-30yo finns I believe you manage better with in english.

    20. Re:all in all... by F.Ultra · · Score: 1

      Can't be because Budweiser cannot be mistaken for beer, it's sparkled water!

    21. Re:all in all... by aXi · · Score: 0

      Anyone think that apple made a conversion error when overlaying their data over a metric map ?

    22. Re:all in all... by Tastecicles · · Score: 1

      what, you expect me, a sophisticated nerd, to drink ::gag::Budgnatspissweiser::gag::!?

      I'd rather die of thirst than drink that if it was all that was on offer.

      --
      Operation Guillotine is in effect.
    23. Re:all in all... by Tastecicles · · Score: 1

      no, if they'd bothered trying to convert you'd end up in the drink.

      --
      Operation Guillotine is in effect.
    24. Re:all in all... by Tastecicles · · Score: 1

      Budweiser != beer.

      Budweiser = chill filtered gnats piss.

      --
      Operation Guillotine is in effect.
    25. Re:all in all... by SchMoops · · Score: 1

      :-/

      I had the opposite problem. In Germany and Austria, I'd try to speak German and as soon as they heard my American accent they would speak English back to me.

    26. Re:all in all... by Anonymous Coward · · Score: 0

      Moored down again for being an opinionated hipster. Gag...

    27. Re:all in all... by SwedishPenguin · · Score: 1

      Really? I would expect that here in Sweden but in my experience Germans really like speaking German and would rather not speak English if avoidable.

    28. Re:all in all... by Anonymous Coward · · Score: 0

      I don't think the pints is what gets peoples interest, really. It's the beer part, which unfortunately Americans are absolutely clueless about.

      Spoken like someone who has never been to the city the GP named: Portland. You might as well as Germans are clueless about beer: it would be no less absurd.

    29. Re:all in all... by zwarte+piet · · Score: 1

      Linus is of the Swedish speaking minority in Finland, you insensitive clod!

  3. Application Bianry Interface by zugedneb · · Score: 1

    http://linux.slashdot.org/comments.pl?sid=3170757&cid=41589193
      I the post above, user "hairyfeet (841228)" asks about stable ABI...

    Sad that he did not answer to that question, or it was not chosen? I would have liked to hear some new arguments, and about future plans...

    The questons he got, or choose to answer are not really deep, anyone could have given them...

    1. Re:Application Bianry Interface by Anonymous Coward · · Score: 0

      I would have liked to hear some new arguments, and about future plans...

      Future plans are the best kind of plans of all.

    2. Re:Application Bianry Interface by Anonymous Coward · · Score: 4, Informative

      Huh?
      Linux has one of the most stable ABIs ever. You can still run code from nearly twenty years ago (given the proper libc) - the syscall interface is incredibly stable.

      What you are probably thinking about are kernel internals. But since when are drivers considered applications!?

    3. Re:Application Bianry Interface by Anonymous Coward · · Score: 0

      But since when are drivers considered applications!?

      Since hairyfeet invented them.

    4. Re:Application Bianry Interface by bill_mcgonigle · · Score: 1

      asks about stable ABI...

      CPU architectures should support the same instruction sets for 30 years, because backwards compatibility is king, but hardware vendors should expect to jump every time one of the kernel devs feels like making changes.

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    5. Re:Application Bianry Interface by Anonymous Coward · · Score: 0

      That's a non sequitur.

      Document your crap and publish it. Don't try to keep hardware proprietary. Even better, publish the driver source. If there's enough interest, someone will probably keep it up to date, even if you can't be arsed yourself to do it. Don't sit on your ass and whine.

    6. Re:Application Bianry Interface by Hanzie · · Score: 2

      Regarding plans...
      Your post seems to be a snark saying 'future is the only kind of plan'. If that is the case, I must disagree.

      There are 'past' plans, which are normally filed under "promising failures"
      There are 'plans now unfolding' or 'present plans' which is also 'stuff currently being worked on' which is generally according to a 'past' plan that escaped the failure file.
      And there are 'future' plans, which I agree are the best kind. The first two plans can be learned of from looking at discussion lists and discussion list archives.

      Future plans normally require the visionary to speak. Often when he would prefer not to.

      If your post was genuine enthusiasm, agreement and support, then I agree with you.

      --
      ********* sig: If you don't like the law, get filthy stinking rich, and buy a better one.
  4. Re:Buffing? by robthebloke · · Score: 1

    Puffin rhymes with nothin', and everyone knows puffins are better than penguins....

  5. f*cking morons by Lennie · · Score: 5, Funny

    Good to see Linus keeps up with his traditions in the first answer already by calling certain people morons. :-)

    --
    New things are always on the horizon
    1. Re:f*cking morons by Anonymous Coward · · Score: 0

      yeah, that man has the right attitude ;-)

    2. Re:f*cking morons by chrismcb · · Score: 1

      Not just certain people... but a lot of people.

    3. Re:f*cking morons by Anonymous Coward · · Score: 0

      Well he's right though. On the Internet the signal to noise ratio is horrible (and I'm not talking audio here).

  6. Re:boring by kelemvor4 · · Score: 5, Insightful

    tl;dr

    Speak for yourself, I enjoyed reading it.

  7. Re:boring by ddt · · Score: 5, Interesting

    Same here. Awesome read. Refreshing to see such a high-profile geek who doesn't feel the need to douche it up in interviews.

  8. Not So Fast On The Pointers by Anonymous Coward · · Score: 4, Interesting

    simply good use of pointers-to-pointers etc. For example, I've seen too many people who delete a singly-linked list entry by keeping track of the "prev" entry, and then to delete the entry, doing something like

    if (prev)
    prev->next = entry->next;
    else
    list_head = entry->next;

    and whenever I see code like that, I just go "This person doesn't understand pointers". And it's sadly quite common.

    People who understand pointers just use a "pointer to the entry pointer", and initialize that with the address of the list_head. And then as they traverse the list, they can remove the entry without using any conditionals, by just doing a "*pp = entry->next".

    I'm going to have to disgree with Linus on that one. When I'm coding in a mixed group of people that includes old farts and interns and the performance isn't that critical, I'll do the former over the latter to insure that everyone in the group will understand it easily and will have less chance of breaking it if they change it. It can mean the difference between code that is robust and code that is fragile when it's being worked on, not just when it's running.

    1. Re:Not So Fast On The Pointers by mark-t · · Score: 4, Interesting

      I believe that his pointer example is more a matter of personal style. I can easily see how doing away with the conditions will make for more efficient code, but in many cases, the preference he cites might also make the code a little more obfuscated. However, even that's nothing that a single-line comment wouldn't fix, making sure that whoever is reading the code fully realizes the intent behind it. I think perfectly valid arguments can be made for doing it either way.

      Personally, I would classify this as a type of pointer design pattern that is ideal with linked list data structures, but I would not suggest that a person who doesn't regularly use every clever design pattern for pointers at every opportunity is necessarily less knowledgeable than one who does. In many cases, in fact, a person in the latter category may even be arguably guilty of simply trying to show off, rather than actually get whatever needed doing done.

    2. Re:Not So Fast On The Pointers by dubbreak · · Score: 1

      I'm definitely a big fan of readability in code. Of course you have to know your intended audience. People reading kernel code are not the same audience as, I don't know, people writing a financial application in a high level language.

      With the work I do I am able to favour readability over efficiency (then optimize if required.. no premature optimization). It makes maintenance so much easier (and let's face it, code spends most of its life being maintained). Code is already way harder to read than write and I don't want anything impeding new hires from jumping in and understanding the code. Of course there's a fine line. I'd never do something truly inefficient just to make it more readable, I'd just be very hesitant to introduce a difficult to understand hack for the sake of efficiency I may not need. Processors and memory are cheap, a developer's time isn't.

      --
      "If you are going through hell, keep going." - Winston Churchill
    3. Re:Not So Fast On The Pointers by slashping · · Score: 1

      I'm pretty sure Linus would rather that the old farts and interns stay out of the kernel, so they fact they won't understand it, is only a bonus.

    4. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      Sorry, but I think Linus is right here. This is simply a smaller-scale of the same kind of improvement that object-oriented is.

    5. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      So you're saying, "when I work with people who don't understand pointers...."

      Anyhow, it's a bad example for multiple reasons. First, exists on all unix platforms, even proprietary unices. It uses exactly that pattern. It was originally written for the BSD kernel. Although, the Linux kernel folks have one of the worst cases of NIH syndrome I've seen--excepting perhaps Google, Inc--and so rewrote list implementations which over the past 20 years have become almost line-for-line identical.

      Second, much like , if you're worried about a sophisticated idiom, put it in a macro or function.

    6. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      *ugh*. <sys/queue.h>

    7. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      I didn't understand what could be the "correct code" for Linus. Could anyone show me an example of function does what Linus is waiting for?

      Thanks in advance.

    8. Re:Not So Fast On The Pointers by dubbreak · · Score: 1

      Sorry, but I think Linus is right here.

      I never said Linus was wrong. In fact I was agreeing it is correct in the kernel. A kernel dev would have no problem reading and understanding his example. Your average joe coder might stumble over it.

      This is simply a smaller-scale of the same kind of improvement that object-oriented is.

      What? That doesn't make any sense in the context of replying to my comment.

      --
      "If you are going through hell, keep going." - Winston Churchill
    9. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      It's more of the attitude. If you don't do linked lists my way you don't understand pointers.

      For so many questions in computing, the right answer is invariably "it depends". It was a good question, asking about cool code hacks, but Linus didn't really understand it, I think. :)

    10. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      I'm pretty sure Linus would rather that the old farts and interns stay out of the kernel, so they fact they won't understand it, is only a bonus.

      I'm pretty sure Linus would rather that the old farts and interns stay out of the kernel, so they fact they won't understand it, is only a bonus.

      OP here - I should've been clearer that I was talking about coding projects in general rather than just Linux kernel contributions. I am in total agreement that the honorable and respected creator of Linux, which I and countless others have benefitted from to no small degree, has the meritocratic authority to code however he pleases and to accept or reject whatever he pleases.

      Erm, I was also attempting to draw a contrast between the abilities of old farts vs. interns, rather than imply that they would be at the same level of coding ability. I'm biased of course, being an old fart myself, but it's been my experience that if you can get the old farts - the kind with dog-eared copies of Knuth on their bookshelves - to use the same indentation that the rest of the team is using and do the same with curly braces, that you usually want their code more often than not. With a few exceptions in areas like graphics and cryptography, most of the algorithms that everybody uses were invented in the 60s and 70s.

    11. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      I never said Linus was wrong. In fact I was agreeing it is correct in the kernel. A kernel dev would have no problem reading and understanding his example. Your average joe coder might stumble over it.

      Average Joe coder must be educated, not kept in the darkness.

    12. Re:Not So Fast On The Pointers by Setsquare · · Score: 1

      Won't CPU branch prediction make the if based version as fast as the pointer to pointer version? If you have a thousand element list, then there's a only 1 in a thousand chance that you're deleting the first element all the other times you head down the other side of the conditional.

    13. Re:Not So Fast On The Pointers by dubbreak · · Score: 1

      Average Joe coder must be educated, not kept in the darkness.

      No. Not really.

      Not all developers need to be able to read advanced pointer usage and tricks for the sake of tricks is stupid. There must be a measurable performance difference or it has to be easily readable by the group developing. If it isn't easily readable and there is no performance justification then education isn't the issue, it's developer ego, "Well I can read it."

      Yeah, good for you. But I don't care about that. I care about whoever ends up having to maintain your difficult to read code. Prematurely optimize code, and even with ok comments I guarantee it's going to take longer to maintain (even for the original developer). Clear and concise is the way to go except in pure performance based applications (such as an OS kernel, embedded device etc). And even in those applications you only cross the line from clear and concise when necessary. In high level code you should always go simple until it's proven a simple solution won't work. That also goes for architecture. Simpler the better.

      As a musician I see this all the time. Complexity for the sake of being complex. It's just musician ego. The best musicians have tons of technical ability, but apply it tastefully (not having to show it off at every possible opportunity).

      --
      "If you are going through hell, keep going." - Winston Churchill
    14. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      I actually find his pointer version more readable. It doesn't introduce a "false branch", and anyone fairly comfortable with C (working on the Linux kernel, say) should be able to understand that sort of code.

    15. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      I agree, but for different reasons:

      just doing a "*pp = entry->next"

      That's fine, so long as sizeof( *pp ) isn't that big...

    16. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      You know the benefit of object oriented programming was in size, speed, and complexity all at the same time by replacing the if/then/else ladder with pointer indirection, right?

    17. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      No. One level of pointer indirection is almost always faster than a correctly predicted branch.

    18. Re:Not So Fast On The Pointers by hmckee · · Score: 1

      I think this is what he prefers to see in code:


      struct node {
              int x;
              struct node *next;
      };
      struct node *list_head;
      int main(int argc, char *argv[]) { // create a list
              delete_item( &list_head );
      }
      void delete_item(node** pp, int i) {
              for ( node* entry = *pp; entry; entry = entry->next ) {
                      if (entry->x == i) {
                              *pp = entry->next;
                              delete entry;
                              break;
                      }
              }
      }

    19. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      I think a better way to remove an entry in a singly-linked-list is to "delete the next one and fix the data pointers":

      Assuming your list entries have a pointer to their data object, to delete entry:

      entry->data = entry->next->data
      entry->next = entry->next->next
      free(entry->next)

      The nice thing being that you don't even need to keep track of a prev entry and you don't have to iterate the list.

    20. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      >mixed group of people that includes old farts and interns
      >the performance isn't that critical

      You mean the exact opposite to the people working on the kernel?

    21. Re:Not So Fast On The Pointers by Patch86 · · Score: 3, Insightful

      Processors and memory are cheap, a developer's time isn't.

      And that attitude in application developers is the reason my 1 GB RAM, dual core laptop runs like sludge.

      We've bought a few externally supplied programmes at my company recently, all promising to be within our minimum requirements for hardware. But try to run even a handful of them at once and the whole thing crawls to a halt. The developers on each of them were undoubtedly saying "processors and RAM is cheap, we don't need to optimise!". Bastards the lot of them.

    22. Re:Not So Fast On The Pointers by mark-t · · Score: 2

      I've been programming in C for nearly 30 years... when I saw his counter-example, I still had to pause for just a second to think about it. Yes, I see what he did, and I've even used that pattern myself in software that I've written. There are quite legitimate reasons to use that form that are applicable to system programming, so I don't object to it over the conditional form (I actually even prefer it, in many cases), but a simple one-line comment which clarifies the intent would definitely be preferred.

      The only assumption that you should be making about people who might have to maintain your code in the future, unless this is a personal project that nobody else is ever going to see, is that they are not going to be thinking exactly like you. Just because the maintainer of the code might be expected to have a certain level of competence doesn't mean that he or she will be familiar with every single idiom that you use. Clarity is paramount.

    23. Re:Not So Fast On The Pointers by kwerle · · Score: 1

      So the apps run and you're complaining. When you could buy 4G of RAM for about $60.

      Guh. Make that 8G for $30.
      http://www.newegg.com/Product/Product.aspx?Item=N82E16820104339

      How many programmer hours do you suppose it'd take to optimise the software you're running? Those hours aren't free, and *in general* highly optimized code is more work to maintain - which will keep software costs up.

      If you care about performance, invest in performance.

    24. Re:Not So Fast On The Pointers by hardwarefreak · · Score: 1

      I'm going to have to disgree with Linus on that one. When I'm coding in a mixed group of people that includes old farts and interns and the performance isn't that critical, I'll do the former over the latter...

      You're not disagreeing with Linus' point here. You're referencing an entirely different scenario.

      You: When performance isn't critical
      Linus: He's always working on the kernel, as are those whose pointer code he called 'sad' here. Performance is *always* critical with kernel code.

    25. Re:Not So Fast On The Pointers by gottabeme · · Score: 1

      Bah. Software engineering just plain stinks most of the time. PC software is unreliable and slow, and it bloats faster than hardware advances, so computers today don't really let people get things done any faster (excluding, of course, things like media encoding).

      There's hardly any feeling of ownership in software made by big companies or groups, so there's little incentive to take pride in one's work, so programmers are lazy, and probably under pressure from bean counters and unreasonable managers and customers.

      Our computers ought to be doing so much more for us than they are, but the software just stinks. Even the "amazing" Apple devices stink half the time. iPads and iPhones have apps that crash regularly (usually because of OOM), and apps take way too long to load, and even the stinking camera will sit there for 5-10 seconds before and between taking pictures. Nobody cares except the people who want to throw the device against a wall because it didn't used to be slow but now it is, all because of shoddy software engineering. No matter how fast the hardware or how much memory, the software will always bloat it to the extent that the effective or apparent speed remains the same.

      --
      "Those who consume the bulk of goods are those who make them. We must never forget this secret of our prosperity."
    26. Re:Not So Fast On The Pointers by Patch86 · · Score: 1

      The 1GB laptop is a company laptop that I have no control over. Our company has something like 15,000 laptops and desktops out there in frontline use. Buying 30,000 2GB RAM modules at the best internet price I can find (£12.98) would cost £390,000. Then there's the labour costs of fitting new RAM modules to 15,000 machines at over 700 different locations. Programming time might not be free, but then nor is half a million pounds.

      So yeah "just buy more RAM derp derp" is not generally a helpful response. Like I said, bastards the lot of them.

    27. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      Doesn't this simply delete everything up to entry in the list? I'm thinking he meant something like this:
      for (pp = &list_head; *pp; pp = &(*pp->next))
      if (must_delete(*pp))
      *pp = *pp->next
      At first I couldn't figure out what he meant, but looking at this now, I prefer it over keeping around the extra prev pointer. But even here you have some conditionals, I simply don't see how you can get rid of them.

    28. Re:Not So Fast On The Pointers by hmckee · · Score: 1

      Ugh, yes that's right. I was trying to keep it in his words and forgot to change entry.

      Anyway, I'm sure he's referring to the extra conditionals to check prev/current, not for determining the correct entry.

    29. Re:Not So Fast On The Pointers by hmckee · · Score: 1

      I think you could also add this after the if clause:


      else {
              pp = &(entry->next);
      }

    30. Re:Not So Fast On The Pointers by kwerle · · Score: 1

      OK, tell us the rest of the math. How many of those laptops are using the software you mentioned? How much is the license for? Per year? How many other programs do those laptops run? Are you willing to pay software money to improve all of them?

      Or would the #400K be a bargain?

    31. Re:Not So Fast On The Pointers by kwerle · · Score: 1

      Maybe I've been using computers longer than you, or maybe not. But your experience has been the opposite of mine (over the past 30 years).

      Computers are getting ridiculously faster, cheaper, smaller. Software has failed to keep up since somewhere around 2000, in my experience.

    32. Re:Not So Fast On The Pointers by Anonymous Coward · · Score: 0

      As we should all know: If it was hard to write, it should be equally hard to understand.

    33. Re:Not So Fast On The Pointers by Patch86 · · Score: 1

      All of them are running dozens of programmes, most of which developed out of house (most of which off-the-shelf). Not necessarily the same dozen on each machine, obviously, but they're all heavily used- we're in a very technology-heavy industry.

      If every single one of the development teams for every single one of the dozens of different programmes in use have the same attitude ("Who cares if it's hogging RAM and churning CPU cycles, they're both cheap these days!"). then every single one of them runs more poorly than it might, forcing us to either upgrade the hardware unnecessarily at great expense, or accept a god awful user experience. That's not a good situation just because each developing company wants to cut corners and shave a few quid off the costs.

    34. Re:Not So Fast On The Pointers by kwerle · · Score: 1

      ...

      If every single one of the development teams for every single one of the dozens of different programmes in use have the same attitude ("Who cares if it's hogging RAM and churning CPU cycles, they're both cheap these days!"). then every single one of them runs more poorly than it might, forcing us to either upgrade the hardware unnecessarily at great expense, or accept a god awful user experience. That's not a good situation just because each developing company wants to cut corners and shave a few quid off the costs.

      But it's totally reasonable. The bottom of the line DELL ships with 2G of RAM:
      http://configure.us.dell.com/dellstore/config.aspx?oc=svctbpd1&model_id=vostro-260&c=us&l=en&s=soho&cs=ussoho1&

      Twice the RAM on your current systems. And that's just the bottom of the line, now. I think it isn't reasonable for you to complain about brand new software performance on a poorly stocked system -- and your systems are poorly stocked. Hell, you are *at* the minimum for running windows 7 (or 8).

      Your alternative is to insist on performance from each of your dozens of software providers, which will certainly cost a great deal, too.

  9. Great Read by milbournosphere · · Score: 5, Informative

    Thanks, Linus, for taking the time to sit down and write up some in-depth, thoughtful answers. I, for one, enjoyed the answer regarding CPU design.

    1. Re:Great Read by Chris+Burke · · Score: 2

      Yeah, it was very interesting. Though I sort of disagree about the non-temporal access part. Sure exposing the details of your cache hierarchy is stupid when that hierarchy can change. But telling the processor "I don't intend to access this data again" is actually a very useful hint for a lot of microarchitectures, and the ones that don't benefit can just ignore it (and even the cache-hierarchy specific ones can be either ignored or altered to suit a design -- none of them *promise* that data will be contained in a certain level of cache).

      So he's absolutely right that exposing microarchitecture is generally a bad idea (and that IA-64 sucks), but there's still good to be had from memory usage hints. I think the main lesson here is not to get too specific on the ISA side, and on the programmer side don't get too wrapped up in trying to optimize "prefetch to L0/L1/L2" type instructions.

      --

      The enemies of Democracy are
  10. Re:Parasitic words by Anonymous Coward · · Score: 0

    so, you should kill yourself

  11. Re:Buffing? by Venner · · Score: 4, Funny

    True, it's a proper name, not a common word, but I've always liked this:

    In Sparkill buried lies that man of mark
    Who brought the Obelisk to Central Park,
    Redoubtable Commander H.H. Gorringe,
    Whose name supplies the long-sought rhyme for “orange.”

    -- Arthur Guiterman

    --
    A preposition is a terrible thing to end a sentence with.
  12. Re:Buffing? by mark-t · · Score: 4, Interesting

    Actually, door-hinge rhymes quite well with orange.

  13. Re:boring by Anonymous Coward · · Score: 0, Troll

    And if anything, I think Linus ALWAYS comes off as a self-important douchebag.

    Granted, I think all of the big names in tech are self-centered douchebags, so its not like Linus is somehow unique in that regard.

    What I find as proof of the douchebaggery of Linus, its the "I'd change nothing" avenue of thinking. There are ALWAYS things every last one of us would change about projects we have been involved in. We are human beings, nothing is ever perfect - but the almighty Linus thinks otherwise. Douche.

  14. NAS hater by Sloppy · · Score: 1

    Sure, maybe those rotating platters are ok in some NAS box that you keep your big media files on (or in that cloud storage cluster you use, and where the network latencies make the disk latencies be secondary), but in an actual computer? Ugh.

    Hey Linus, guess what's my favorite kernel to run on that NAS computer? Yours. And yes, it is an "actual computer." Sorry if it's not sexy enough for ya.

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    1. Re:NAS hater by Sloppy · · Score: 5, Funny

      Yeah, the chicks are all into low-latency/high-throughput. They want to watch their 20 gigabyte movie files in 12 seconds (with the first NFS reply coming less than 5ms after the request) and my computer can't serve it that fast! So they all go over to Linus' house, with his flashy SSDs and .. oooh, it makes me so mad.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    2. Re:NAS hater by PlusFiveTroll · · Score: 1

      Is it bad when reading this gave me an idea of caching the first $X meg of each file on a NAS in memory or SSD so serving would start quickly while the disk caught up and fed the rest?

    3. Re:NAS hater by Anonymous Coward · · Score: 0

      Haha, I had exactly the same thought...

      Great minds think alike, though, f*cking morons seldom differ...

    4. Re:NAS hater by rrohbeck · · Score: 1

      No. That's exactly what flashcache does when you set skip_seq_thresh_kb and it works quite well to keep the large files out of the cache.

    5. Re:NAS hater by Jonner · · Score: 1

      Sure, maybe those rotating platters are ok in some NAS box that you keep your big media files on (or in that cloud storage cluster you use, and where the network latencies make the disk latencies be secondary), but in an actual computer? Ugh.

      Hey Linus, guess what's my favorite kernel to run on that NAS computer? Yours. And yes, it is an "actual computer." Sorry if it's not sexy enough for ya.

      Linus made it clear that storage isn't his thing. I'm glad we've had other equally brilliant people contributing to XFS, Btrfs, LVM and other storage technologies in Linux. Linus seems quite content to leave that stuff to people who care about it and have put a great deal of work into it. Now if he could just have the same attitude toward GUIs and those who design them, I'd have a bit more respect for him.

    6. Re:NAS hater by Sloppy · · Score: 1

      I don't understand it. I tried using your idea..

      Hey hot stuff, I have rotatating medi-- no wait, hold on! I have read-ahead cache! That's right. Would you like to read from my cache? Sure. Oh. No, we don't need to go back to my place, we can VPN in from right here. Yeah. Oh. No, I have no idea what VPN software is available for that thing. No. No. Yeah, anything that talks OpenVPN. Yeah. Well, I think there's something called Cygus or Macports or something like .. oh, wait, this isn't ported to your phone yet. Well, we can always download the source's tarball. You've got a C compiler, snarfo-make (which uses slightly different makefiles than all the other make programs), and all the rest of the usual build tools, right? No. Well, maybe.. no wait, no. No. Hey lady, you're the one who bought a piece-of-shit computer, don't blame me. No. Maybe. Yeah, maybe! Whoa whoa whoa -- I'm merely saying that you're probably stupid; I don't have any opinion as to why people-like-you are stupid; I would never be so presumptuous. No. Sometimes. No. Linus?! That asshole?! Don't do it! He'll break your heart! I saw him in here last night with a different floozy than the night before!

      ..but I still didn't get laid. There's something wrong with your cache idea.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  15. Re:Buffing? by Anonymous Coward · · Score: 1

    No. Guess the song's over.

  16. Can we cut the cr*p ?!?!? by OzPeter · · Score: 0, Offtopic

    This is the internet, not TV, so we can say fuck and crap and shit etc when we want to.
     
    In the very least saying f*ck and cr*p and sh*t is disingenuous as you are trying to hide that you are actually saying fuck and crap and shit, yet everyone knows that is exactly what you are saying.
     
    So either say it, or if you think the words are unpalatable then think of some other words to use in their place.

    --
    I am Slashdot. Are you Slashdot as well?
    1. Re:Can we cut the cr*p ?!?!? by shentino · · Score: 1

      It's a good way to express your mood without personally attacking the audience.

    2. Re:Can we cut the cr*p ?!?!? by sumdumass · · Score: 1

      Some people have to worry about work. Places of employment sometimes place filters to shield themselves from lawsuits which will look for words and either block the page entirely or flag it for a followup by HR.

      A well disciplined public speaker will take that into consideration in their speech. In some cases, someone else would do it for them in something like this where the speech or answers to questions are written. If your communications are in a way that constantly endangers part of your audience, you will lose part of your audience. If using * allows children to continue being interested in Linux because their parents aren't upset over the language or suspicious of the content because of it or if it allows the work place to be somewhat free to view/read the comments, it's worth doing.

      It's not disingenuous, it's being polite and respectful of your potential audience.

    3. Re:Can we cut the cr*p ?!?!? by Raenex · · Score: 1

      It's not disingenuous, it's being polite and respectful of your potential audience.

      If he really wanted to be polite and respectful to his audience, he would replacing "fucking morons" with "stupid", or do away with the insult entirely and just focus on the argument. Words like "f*ck" are a lame copout.

    4. Re:Can we cut the cr*p ?!?!? by OzPeter · · Score: 1

      It's a good way to express your mood without personally attacking the audience.

      1. If your audience is going to be offended by calling people "fucking morons" then I would posit that they will also be offended by calling people "f*cking morons".
       
      2. If you have to resort to calling people "fucking" anything then you have undermined your argument by letting your emotions get in the way of the facts.

      --
      I am Slashdot. Are you Slashdot as well?
    5. Re:Can we cut the cr*p ?!?!? by Hatta · · Score: 1

      In what way does an asterisk avert personal attacks? "Fuck you" and "F*ck you" are exactly the same. If you don't mean "Fuck" you wouldn't say "F*ck".

      --
      Give me Classic Slashdot or give me death!
  17. Re:Parasitic words by Anonymous Coward · · Score: 0

    Just like you then.

  18. Re:Buffing? by mark-t · · Score: 0

    Unless you pronounce door-hinge and orange very differently from most people, I'd suggest that yes... they do.

  19. Re:Parasitic words by jez9999 · · Score: 0

    So, thanks for the sentiment.

  20. One overriding idea by concealment · · Score: 5, Insightful

    I found this part insightful beyond technology:

    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.

    If you have "one overriding idea," you've made that idea the part of your thinking that serves as your reality-check, not reality itself as your reality-check. Great point, Linus, and one that I constantly encounter in completely non-tech-related fields.

    1. Re:One overriding idea by Anonymous Coward · · Score: 1

      Well, I found this a bit disenhearting considering the big genius idea behind UNIX is that everything is a file.
      Restrictions breed creativity and dismissing such a potent design tool is a big generalisation mistake IMO.

    2. Re:One overriding idea by Anonymous Coward · · Score: 0

      true, but then he contradicts himself a couple questions later.

      If he truly believed what he said, he never would have designed Git. The Git design takes exactly that approach that he says he doesn't like, that there is a much better way of doing things, based on a completely different way of modeling the problem. He happened to be right in my opinion, and Git works great.

      However, if he was consistent, he would have said that attempting to redefine the general architecture of a good SCM was for morons and would never work, and people should just realize that the problem is just really, really hard, and should spend their time trying to make svn merges better by getting the details right.

      Of course, he didn't argue that, he argued that SVN was taking a fundamentally flawed approach an no amount of 'details' would ever make it work right. Better to have the Big Idea. He didn't see it as a 'big Idea', maybe, but few people who have a big idea se it as a big idea. They just see it as the logical way to do things.

      The truth is that sometimes there _is_ a much simpler way of looking at the problem, and sometimes it is based on a big idea. Sometimes that fresh approach works wonderfully, like Git, and everyone wonders how we muddled along without it, and sometimes the big idea doesn't and ends up being more trouble than it was worth.

      Both approaches take hard work, but sometimes the hard work is worth it, and sometimes it just makes the problem worse; the genius is in knowing which is which.

    3. Re:One overriding idea by Raenex · · Score: 1

      If you have "one overriding idea,"

      Like "everything is an object" in Git?

    4. Re:One overriding idea by gman003 · · Score: 3, Informative

      No, that was the big genius idea behind Plan 9. UNIX saw that, took the ideas that worked (like procfs) and used them, but skipped the less useful ideas (doesn't Plan 9 have a pseudo-file for each window?).

      The overarching idea behind UNIX is "whatever". Name any "big genius idea behind UNIX" and I'll point to a dozen counterexamples.

    5. Re:One overriding idea by drinkypoo · · Score: 1

      Name any "big genius idea behind UNIX" and I'll point to a dozen counterexamples.

      Part of "The UNIX Way" is to have counterexamples when the alternative would be too contrived :)

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    6. Re:One overriding idea by Anonymous Coward · · Score: 0

      He never contradicts himself. He nerver said anything about having a design principle and enforcing it in your product. Actually, I think he is perfectly fine with that.

      He said that having am overriding *and* pusing it on people as the only superior alternative is wrong. If you have ever listen to a micro-kernel fanatic, you would know that these people think that micro-kernel is the only sane approach and monolithic is flawed (Tanenbaum is particulary loud about that).

      That's just wrong according to Linux. Good idea should triomph on their merit alone which is what is happening with DCVS.

    7. Re:One overriding idea by Anonymous Coward · · Score: 0

      Not everything is an object in Git.

      Thanks for playing.

    8. Re:One overriding idea by Anonymous Coward · · Score: 0

      Quoth Linus:

      Git is very unix-like in that it has a few basic design things ("everything is an object" with a few basic relationships between the different objects in the git database) and then a lot of utility is built up around that whole thing

      How about you just read the manual before trying to play?

    9. Re:One overriding idea by NoNeeeed · · Score: 2

      Couldn't agree more. That was my question, and the answer was better than I could have hoped for.

      It's interesting, and probably not that surprising, that those people who actually accomplish stuff rarely seem to be zealots about how they get them done.

      I currently do Rails development (after doing everything from embedded systems to Pel hackery), and that community seems to be particularly full of people with a religious fanaticism to certain principles, either methodological or design-pattern wise. The current obsession with the so-called "Single Responsibility Principle" seems to be behind an awful lot of horribly over-complicated code.

      The software world needs more outspoken pragmatists before the entire industry disappears up its collective arse.

    10. Re:One overriding idea by Anonymous Coward · · Score: 0

      If you have "one overriding idea,"

      Like "everything is an object" in Git?

      Actually, not everything is an object in Git. There are many plain text files (poke around in .git sometime.)

    11. Re:One overriding idea by Raenex · · Score: 1

      I was just quoting Linus.

    12. Re:One overriding idea by bzipitidoo · · Score: 1

      How is it that a microkernel is "one overriding idea" but a monolithic kernel somehow is not?

      Torvalds says that message passing is the problem with a microkernel approach. But there is also message passing in a monolithic kernel. It may be done in shared memory and informally without explicit mention in the code, but it's still message passing. Perhaps the formalized methods that have to be used in a microkernel architecture are cumbersome, but is that a shortcoming of the idea, or only of the implementation?

      Another criticism of microkernels is that they are slower. They have more overhead. This is also not an inherent problem of the design. Modern microkernels can be and are just as fast.

      I think a microkernel architecture is a useful modularization. Separate hardware drivers from core kernel functionality. Kernels should concentrate only on communication, juggling processes, and managing memory, CPUs, and other resources. Something else that wasn't mentioned at all is formal verification. Being able to prove that a critical piece of software has no bugs can be a very good thing. Microkernels are small enough that such proofs are possible. There is no way to do that with the monster monolithic kernels we use now. Instead, we have become accustomed to running software that almost certainly has many hidden flaws, and living with the consequences whenever a flaw causes a problem. We've accepted this as a necessary evil even for cases where we don't have to.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
    13. Re:One overriding idea by Jonner · · Score: 1

      If you have "one overriding idea,"

      Like "everything is an object" in Git?

      What you have to keep in mind is that the idea that "one overriding idea" is wrong is a pretty overriding idea itself. Linus doesn't believe in absolutes except when he does.

    14. Re:One overriding idea by sahonen · · Score: 1

      I am definitely pulling this quote out next time I meet a Libertarian. I've never seen a political view become (relatively) mainstream on pure, fact-less ideology more so than with the Libertarian party.

      --
      Make me a friend and I'll mod you up
    15. Re:One overriding idea by ranmagirl · · Score: 1

      I think the point on UNIX with "everything" is to take it as "everything that makes sense" - if we took "everything" too literally (not only on this), what would it really mean anyway? I doubt nobody can describe a solution where literally everything is a file even in theory - you got to use common sense with these things, but then the wise guys will begin...

      --
      ranma - girl?
    16. Re:One overriding idea by cyclomedia · · Score: 1

      Because "it MUST be a monolithic kernel" is not the main driving philosophy behind all Linux development, the big fat kernel is just the way it happens to work

      --
      If you don't risk failure you don't risk success.
    17. Re:One overriding idea by olau · · Score: 1

      Sure, and you are entitled to your opinion, but this interview was about Linus and he disagrees. Also he's behind one of the world's most popular kernels while you apparently think it's okay to handwave a "formalized methods are cumbersome" away with a theoretical consideration. Yeah, well, that kind of thinking won't run on my desktop computer.

      Formal verification doesn't really work that well, by the way. Yes, I studied computer science too, and there are some bugs you can catch, but on this scale it's miniscule and you seem to forget what Linus actually told you, that you turn a relatively easy problem into a distributed system. Any respectable distributed system will have far more possibilities of bugs than a corresponding central one. This I know, having written several. :)

  21. Re:sadly funny by Anonymous Coward · · Score: 3, Informative

    I'm an atheist, I don't read Dawkins. My wife is an atheist, she doesn't read Dawkins. Just because someone is an atheist doesn't mean they're knee deep in the pro-atheism community. You make atheism sound more like a religion than what it actually is...

  22. yay, pointers... by Anonymous Coward · · Score: 0

    While cool, they seems to be the source of a whole lot of security and stability issues...

    1. Re:yay, pointers... by dkleinsc · · Score: 4, Insightful

      They're a fundamental part of low-level programming, which is exactly what an operating system is.

      For higher-level programming, you're right that you're probably better off with languages that don't need you to explicitly manage them, like Java and Python. But at some point, you have to get to something that deals with the hardware, and you really can't do that without using pointers.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    2. Re:yay, pointers... by omnichad · · Score: 0

      You're right, we should just hardcode every program and file into a specific spot of RAM, so you can ditch pointers and just use hardcoded memory addresses. Want to buy a new program? You need it custom-programmed to use the next available addresses on YOUR computer. Need to add a page to your Word document? Sorry, you only allocated 500K of address space for document contents. And if you want to install more than a few large programs, you'll need many dozens of gigabytes of RAM.

      How on earth are you going to get by without pointers?

    3. Re:yay, pointers... by Narnie · · Score: 1

      Cartridges.

      Programs come installed on RAM bearing cartridges. Need more memory to save your photoshop files? well, you should have bought the Pro version with a larger SSD. Not enough RAM to render your CAD drawing? Too bad you didn't by the Enterprise Extended Edition, it came with 32Gb of RAM and a faster GPU.

      --
      greed@All_Evils:~#
    4. Re:yay, pointers... by shaitand · · Score: 2

      And your code in the language where you don't explicitly mange them is going to be using them underneath in some places and understanding where those places are is going to result in the code written in that language running much faster.

      You shouldn't be doing higher level programming if you don't have a general understanding of the code what you are writing is going to turn into.

    5. Re:yay, pointers... by Anonymous Coward · · Score: 0

      "You shouldn't be doing higher level programming if you don't have a general understanding of the code what you are writing is going to turn into."

      That's like saying you shouldn't be doing chemestry if you don't understand the quantum mechanics underneath it, and you shouldn't do biology if you don't understand the chemistry beneath it. For the layman, you shouldn't have sex unless you understand the detailed quantum mehcanics facilitating the chemistry and biology at work in the human genitals. In short it's a moronic notion.

      You pick your interface layer and understand that, it can be useful to know what goes on underneath, but in cases it can also be damaging. The great thing about high level programming is that you don't need to understand what the code is going to be turned into, you just need to deal with what it ends up doing. If you start making assumptions on what it turns into, you suddenly gain the opportunity to royally screw up, by building on assumptions of that rather then the high level contract of the interfaces in the language.

    6. Re:yay, pointers... by Clarious · · Score: 1

      You don't need to guess which machine code will it be turned into nor how every transistors work in your CPU while running it, but you will generally need to understand the mechanism of what you are using. For example in C++ don't call virtual method in a tight loop if you want performance, you will need to understand the idea behind virtual method to know that.

    7. Re:yay, pointers... by Tough+Love · · Score: 1

      For example in C++ don't call virtual method in a tight loop if you want performance, you will need to understand the idea behind virtual method to know that.

      Are you sure about that? The compiler may lift the vtable dereference outside the loop.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    8. Re:yay, pointers... by Anonymous Coward · · Score: 0

      It's called indirection, not "pointers", when you're coding in a language other than C that can compile down to machine code. For instance, my game's scripting language allows modules to be optionally compiled down to x86 or x64 -- Since it handles Garbage Collection and all other forms of memory management you don't have to worry about pointers at all, only references. Since I implemented the language in itself (1st subset coded in ASM), there have never been "pointers" in any scope of the language at all. The C calling conventions I must use to interoperate with the operating environment must use address locations to pass by reference, but that's what they are references to data, not "pointers".

      Here's a pointer for you: Not all Hgiher Level languages have the same lower level idioms.

    9. Re:yay, pointers... by Clarious · · Score: 1

      While it is certainly possible for some cases, IMO the programmer should rather know and change their design to avoid it than relying on compiler optimisation.

    10. Re:yay, pointers... by shaitand · · Score: 1

      You shouldn't assume a compiler is going to do something for you unless that something an optimization you are specifically turning on. Even then it is bad practice. If you write your code in an optimal way it will be optimal everywhere regardless of compiler or compiler version. Of course at a certain point you need it even more optimal than that, then you should be writing it in ASM in the first place.

    11. Re:yay, pointers... by Tough+Love · · Score: 1

      "Premative optimization is the root or all evil". Optimize where it is useful and necessary, otherwise you only waste your time and sacrifice readability. And chances are, you betray less than ideal familiarty with the state of modern compiler design. You are using a modern compiler, aren't you?

      --
      When all you have is a hammer, every problem starts to look like a thumb.
    12. Re:yay, pointers... by shaitand · · Score: 1

      Your entire post could be dismissed as ad hominem. Which practice did I advocate that reduces readability, takes longer to write, or betrays a lack of familiarity with modern compiler design. Certainly not using pointers and avoiding copies in data structures. You can do that as you write without expending additional time or effort, the result is no more or less readable, and compilers modern or not, don't do it for you.

      That quote is about micro-optimization. Trying to avoid a single variable, not using a profiler to identify critical loops, not focusing more on an efficient overall structure, etc. None of that justifies not knowing what is happening underneath the surface of your code. As for modern compilers, which compiler? Which OS? Which language? Can I count on my Perl code working the same way as my C code? Well I certainly can but given your assertion I doubt you can.

    13. Re:yay, pointers... by Tough+Love · · Score: 1

      Which practice did I advocate that reduces readability, takes longer to write, or betrays a lack of familiarity with modern compiler design.

      You said: "you shouldn't assume a compiler is going to do something for you unless that something an optimization you are specifically turning on." That is incorrect. You should know in some detail what your compiler will do in its default configuration, then if that is not suitable to the task at hand, adjust its behavior. Document this behavior where it matters and is not obvious, or explicitly supply a compiler setting where you feel the default might be obvious to a typical practitioner, but try not to obfuscate your build setup with unnecessary settings.

      For example, In the old days compilers did not unroll loops, so skilled programmers did it by hand. Today, the compilers you are working with probably do a better job of it than you can by hand. For example, the compiler can take the marchine architecture into account when deciding whether to unroll or not, or how deep to unroll. Always unrolling loops sometimes slows code down by increasing pressure on L1 cache. Best practice today is to simply write your performance critical loop as a simple, readable loop.

      Another example: you should not always lift constant expressions out of loops. Modern compilers do that well, so unless it improves readability, let the compiler do it. Or you might need to do it explicitly if the expression is not opaque to automatic optimization, for example if it accesses a memory object that you know is constant but the compiler doesn't. (Better: declare the object constant.)

      If you are writing in C/C++ then you are probablly using Microsoft VCC or GCC, both of which have sophisticated optimizers. If you are an embedded programmer then it is possible you are working with some ancient, substandard vendor compiler that might force you to compensate for its weaknesses. But I doubt that case applies to you.

      Best optimization for Perl: use a different language.

      --
      When all you have is a hammer, every problem starts to look like a thumb.
  23. Re:Parasitic words by sayno2quat · · Score: 1

    Whoooosh.

    --
    Sure I sold you robot insurance. But you were attacked by a cyborg. Not covered.
  24. Re:boring by HaZardman27 · · Score: 4, Interesting

    Not saying he isn't self-centered, but in this QA he basically admits that many of the right decisions which were made with Linux just happened to be the right decision. His answers also suggest that because of the correct license and non-technical decisions made, any technical mistakes can be handled well by the community.

    --
    Apparently wizard is not a legitimate career path, so I chose programmer instead.
  25. Re:sadly funny by Anonymous Coward · · Score: 1, Insightful

    You make atheism sound more like a religion than what it actually is...
     
    Sadly a lot of atheists give that impression in their actions.

  26. Good quote by rasmusbr · · Score: 5, Insightful

    This bit by Linus is easily one of the best and most concise quotes about problem-solving that I've read. Any sot of 'manifesto' about programming or engineering in general that does not have a caveat along these lines as one of its tenets is extremely flawed.

    "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."

    1. Re:Good quote by smooth+wombat · · Score: 1

      I've said similar things when people talk about grand plans for projects, and yet, somehow, their plans never come out right because they're more interested in the procedure than if the work is getting done.

      If I happen to get an interview for a job I recently applied for, I will try to work that quote, or part of it, into an answer or two. It's the head of a small department dealing with projects, so it should be easy.

      --
      We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
    2. Re:Good quote by Anonymous Coward · · Score: 0

      "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."

      As a counterexample, what about relational databases and SQL conquering all that went before it (for 20-25 years, anyways, until XML and then the Big Data wave hit).

    3. Re:Good quote by rasmusbr · · Score: 1

      Yeah. The caveat to the caveat is that some real-world problems have known optimal solutions (i.e. there's mathematical proof that the solution is optimal), or have a best known heuristic that you would be an idiot not to use unless you've discovered a superior heuristic.

    4. Re:Good quote by Anonymous Coward · · Score: 0

      Works for politics as well.

    5. Re:Good quote by Anonymous Coward · · Score: 0

      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."

      Yah, he could be a MS spokesperson

    6. Re:Good quote by jandar · · Score: 1

      Relational databases and SQL are a least common denominator of database-usages and therefore usable by many. In my 20+ years of experience with commercial usage of databases I have yet to see one for which relational databases are near optimum. The major bonus is, everyone and his dog can understand SQL.

    7. Re:Good quote by Dan667 · · Score: 1

      It reminds me of No Silver Bullet in the book Mythical Man Month.

    8. Re:Good quote by countach · · Score: 1

      Well... sometimes genius *IS* overlaying one manifesto across all reality. Witness the physicists' search for the ultimate equation. Some interesting computer science ideas are about overlaying a concept on everything. Like "Everything's an object" or "everything's a list (LISP)" and such things. These things are usually quite exciting, and useful for computer science and abstractions.

      I realise that Linus's concern - a UNIX kernel probably doesn't lend itself to one ideology solving everything, but I'm not particularly impressed by it as a general manifesto.

    9. Re:Good quote by ed1park · · Score: 1

      I propose a new model called the Linus Model aka "This shit's complicated" Model. ;)

  27. Re:Booooooooring by HaZardman27 · · Score: 1

    I'm sure this Q&A on Slashdot of technical questions has done a remarkable job of capturing his entire essence and personality.

    --
    Apparently wizard is not a legitimate career path, so I chose programmer instead.
  28. Summary Responses: by Tablizer · · Score: 1

    1. Because I felt like it.
    2. Because I felt like it.
    3. Because I felt like it.
    4. Because I felt like it.
    5. Because I felt like it. :-)

    1. Re:Summary Responses: by Anonymous Coward · · Score: 0

      ...because he likes what he does.

  29. Re:sadly funny by Anonymous Coward · · Score: 4, Insightful

    You make atheism sound more like a religion than what it actually is...

    Sadly a lot of atheists give that impression in their actions.

    Isn't that an observational fallacy? I'd imaging you'd have a hard time identifying non-evangelical atheists (or the denomination of most non-evangelicals for that matter).

  30. Re:Buffing? by tverbeek · · Score: 1, Interesting

    Dialects and accents differ, but lots of people pronounce the "h" (with a brief hesitation in front of it) in "door-hinge", and also enunciate the "i" (rather than the schwa in "orange"). So, no... they don't.

    --
    http://alternatives.rzero.com/
  31. Re:Parasitic words by Anonymous Coward · · Score: 3, Informative

    Because he is not a native speaker, and a programmer. Boring, repetitive sentence structures have low thinking-overhead and allow the most efficient processing of the content. Short words that indicate a (small) relation between sentences is more organised than a stream of unconnected sentences. Programmers like well structured data, or else they could only write very short programs before running into too much complexity. Lexical creativity is for people who don't care about handling large amounts of data efficiently.

  32. Re:boring by Anonymous Coward · · Score: 5, Insightful

    He's rightly satisfied with his efforts, that's not being a douche.

  33. Re:Parasitic words by Anonymous Coward · · Score: 0

    But he wasn't calling them morons because of the way they use English, or because they are combative. He calls them morons because they lack reading comprehension and/or reasoning skills, which is an actual mark of moronity.

    (Insert "How good is your Finnish or Swedish?" retort here.)

  34. Re:Parasitic words by Anonymous Coward · · Score: 0

    the final answer

  35. Re:boring by Anonymous Coward · · Score: 1, Funny

    tl;dr

    Speak for yourself.

    I did speak for myself. Who else did you think I might be speaking for?

  36. Re:Booooooooring by Tablizer · · Score: 1

    "You guys are a bunch of geeks obsessed with technical trivia and pointer design pissing matches! This fscking place is becoming like Slashdot!"

  37. Re:Buffing? by Anonymous Coward · · Score: 0

    nothing rhymes with something ....

    capcha was pathetic .... maybe slashdot is trying to tell me my joke was bad, and I should feel bad ....... SUBMIT!!!

  38. Re:sadly funny by rthille · · Score: 1

    If he'd said "The God Delusion" by Dawkins you might have a point in what you said, but since he was talking about "The Selfish Gene", which doesn't talk about gods or religion at all, but is very illuminating about how life works and why creatures do what they do, the point is just at the top of your cap.

    --
    Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
  39. Wait... what? by Psicopatico · · Score: 0

    Wait a minute...

    The answer is not 42. Wtf?

    --
    Mastering the English language is fucking easy: all you have to do is to put an f* word in every fucking sentence.
  40. Slashvertisement by Anonymous Coward · · Score: 1

    Always good to see another Slashvertisement for the Apple MacBook Air. Very subtle this time.

    1. Re:Slashvertisement by Anonymous Coward · · Score: 0

      It's nice hardware. Not the only nice hardware out there, but it is nice... and IMHO, when you can afford the good stuff, well, life is too short to mess around with crap.

  41. Re:boring by jo_ham · · Score: 1

    Seconded (or thirded by this point maybe?) - I really enjoyed that.

  42. Re:Parasitic words by jo_ham · · Score: 1

    So that he can get his point across.

  43. Re:Buffing? by Myopic · · Score: 1

    Let me guess, you are a George Hrab fan.

  44. Re:Parasitic words by NikeHerc · · Score: 4, Informative

    ... he sure has no problem adopting their bad english and combative tones.

    Considering that Linus was born in Finland to a "family [belonging] to the Swedish-speaking minority," (http://en.wikipedia.org/wiki/Linus_Torvalds) IMHO his English is very good and, by comparison to the /. majority, it's excellent.

    Get back to me when you speak three or more languages.

    --
    Circle the wagons and fire inward. Entropy increases without bounds.
  45. BWaaahahahahahaahaaha by inode_buddha · · Score: 5, Funny

    "Greg is "special""

    --
    C|N>K
  46. Re:sadly funny by Myopic · · Score: 1

    Yeah. I've never read anything by Dawkins.

    Oh, what's that you say? There's no such thing as magic and evolution is be best-supported theory in all of science? Yeah, I already knew that.

    Then again, his books are on the long list of books I might read some day. I don't reject them, I simply don't seek them out.

  47. Re:boring by Anonymous Coward · · Score: 0, Insightful

    Because you seemed to be under the misguided notion that anybody else might care about the ramblings of a nincompoop.

  48. Re:boring by fritsd · · Score: 1

    WeWhat I find as proof of the douchebaggery of Linus, its the "I'd change nothing" avenue of thinking. There are ALWAYS things every last one of us would change about projects we have been involved in. We are human beings, nothing is ever perfect - but the almighty Linus thinks otherwise. Douche.

    Well, that's how you read it, but I interpret it as something different: Linus has become so "wise" (I really think that's the correct word but I could be wrong!) in managing large-scale projects, that he sees that anything he'd have done differently wouldn't have ended up in a *significantly better* kernel development process.

    You were the one who used the words "nothing is ever perfect - but the almighty Linus thinks otherwise", but I'm quite sure that he'd agree with the first part of your sentence, but that it doesn't matter.

    Unfortunately, the only way in which I can attempt to explain to you what I mean exactly, is by flinging an obscure bit of Dutch poetry at you. It's from the poets collective "Loesje". Here goes:

    STREEFT ONBEKOMMERT NAAR HET IDEALE

    If you read Dutch well, you're now either annoyed, or enlightened :-)
    If your Dutch-fu is lacking, the subtlety of the poem will escape you.
    HTH :-)

    --
    To be, or not to be: isn't that quite logical, Slashdot Beta?
  49. Re:boring by Chris+Burke · · Score: 1

    So you're uncritical in your analysis of his response that you clearly didn't really read, and that makes Linus a douche. Got it.

    --

    The enemies of Democracy are
  50. Re:sadly funny by omnichad · · Score: 1, Troll

    Regardless of what you believe (or don't), it seems to be human nature - evolutionary or by design - to have a religion. And for those that don't believe in a Creator, the lack thereof often becomes a religion. Dawkins has become some sort of atheist pope. Lots of ritual and tradition for nothing in the religion of atheism. It's actually worse than believing in a God that may or may not exist, because then at least your rules and rituals might actually mean something.

    I'm not an atheist, but I've always found this interesting.

  51. Re:sadly funny by ThorGod · · Score: 1

    If he'd said "The God Delusion" by Dawkins you might have a point in what you said, but since he was talking about "The Selfish Gene", which doesn't talk about gods or religion at all, but is very illuminating about how life works and why creatures do what they do, the point is just at the top of your cap.

    Yeah, it's still only one book/author. I'd like MOAR references for books he doesn't define as "mostly forgettable".

    The real crux is that he said he can't think of any books that really made a difference to his world view:

    I read a fair amount, but I have to admit that for me reading tends to be about escapism, and books to me are mostly forgettable

    Really, I'm just curious how wide/broadly read he is. No ding on atheism or Dawkins implied. Linus is one really interesting person in current times, and if he's painfully centered on his field then that's relevant.

    --
    PS: I don't reply to ACs.
  52. Right? by rehevkor5 · · Score: 1

    I think what he meant to say was:

    *pp = (*pp)->next

    Right?

    1. Re:Right? by Chris+Burke · · Score: 4, Informative

      No, he's removing an entry from the list, so *pp = entry->next is correct; point the previous list entry at the entry beyond the one you're removing. What you wrote is for walking the list, which would be in the loop where you find the list entry you want to remove.

      --

      The enemies of Democracy are
    2. Re:Right? by Chris+Burke · · Score: 1

      Sorry, I didn't think enough. First part is the same; what he wrote is what he meant. The second part isn't; what you wrote is not really applicable.

      The whole function would look like something like this (I'm being bad and ignoring the case where the entry isn't in the list):

      list* entry = list_head;
      list** pp = list_head;
      while(entry != entry_to_delete) {
          pp = &entry->next;
          entry = entry->next;
      }
      *pp = entry->next;

      At the last step, pp is either pointing to the 'next' member of the previous entry, or, if you deleted the first entry in the list, list_head.

      --

      The enemies of Democracy are
    3. Re:Right? by Anonymous Coward · · Score: 0

      list** pp = &list_head;

    4. Re:Right? by Anonymous Coward · · Score: 0

      Since entry is the same as *pp, both *pp = entry->next and *pp = (*pp)->next will do the same thing.

      I usually drop entry and just use *pp for everything.

    5. Re:Right? by Chris+Burke · · Score: 1

      That's a good point.

      --

      The enemies of Democracy are
    6. Re:Right? by Chris+Burke · · Score: 1

      Except you can't drop entry in the 'find entry to delete' loop and use *pp or you'll be modifying the list itself as you traverse.

      --

      The enemies of Democracy are
    7. Re:Right? by Anonymous Coward · · Score: 0

      Yes you can:

      pp = &list_head;
      while(*pp != NULL)
      {
          if((*pp)->value == value_to_delete)
              *pp = (*pp)->next; // remove from list, *pp now automatically points to the next item in the list
          else
              pp = &(*pp)->next; // skip to next entry
      }

    8. Re:Right? by Chris+Burke · · Score: 1

      Well, yes, you can if you change the logic of the loop by introducing a conditional into it, when the whole point of using pp was to avoid a conditional outside the loop. Regression ftw.

      --

      The enemies of Democracy are
    9. Re:Right? by Anonymous Coward · · Score: 0

      Then I don't think i understood your objection about deleting in the loop.

    10. Re:Right? by Chris+Burke · · Score: 1

      The whole reason to use a pointer-to-pointer is to avoid having to distinguish between deleting the first entry and subsequent, avoiding a conditional branch. Having it in the loop means you execute it multiple times, and could mispredict it multiple times, which is worse than just having one instance of the branch.

      Then again I'm pretty sure I need another branch to handle the not-present case, so maybe it's no better.

      --

      The enemies of Democracy are
    11. Re:Right? by Anonymous Coward · · Score: 0

      You need at least two conditionals, one to find the end of the list, and one to determine if you need to delete the entry (unless you delete every entry, in which case this whole thing is being done in a too complex way. In the example Linux gives there is an additional 3rd conditional, namely to determine if you are the first item in the list or not. That is the conditional he wants to get rid of.

    12. Re:Right? by OdinOdin_ · · Score: 1

      But the examples are not equivalent.

      You are searching and removing. The snippet Linus quoted is only removing. It is common to already have a pointer to the entry being removed. To suggest we have to walk the list again would pollute cache with all the extra memory being loaded just to save a branch (for any list with more than 3 items I'll have the branch thanks!).

      And if you walking the list anyway, the branch 'if(prev)' cited in the supposid 'bad example' is not necessary as it is relevant only for the first iteration of the loop over a single linked list. So you'd test the special first entry case (for 'list_head') and then have a loop that is branch free.

      I can only think that Linus did not explain the point well enough to warrant such a detailed cross examination we are making here.

    13. Re:Right? by Anonymous Coward · · Score: 0

      Well, assuming you don't want to leak memory you'll still need a temp: list* entry = *pp; free(entry); *pp = (*pp)->next;

  53. Glad there's a team by bill_mcgonigle · · Score: 1

    So many of the answers took the form, "that use doesn't fit my personal needs, so people who have those needs are crazy/uncool/idiots." It's very good that Linux is now in a position to ensure quality code, not decide on what code will be included.

    He also needs to do a bit more refactoring on

    that whole "using the law for harassment" in the US is a separate issue independent of the copyright issues.

    if he thinks there's a non-fragile way to implement such a system. Or, even better, do a git and find the primitives that would allow such a system - nobody else in history has managed to do so, but that only makes the odds of success highly unlikely, not necessarily impossible.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  54. Re:Buffing? by Anonymous Coward · · Score: 0

    That's saying nothing about the different ways people pronounce the vowels in the first syllables.

  55. Re:boring by Lennie · · Score: 1

    As someone who has read a lot of his interviews there wasn't anything really new or unexpected in these questions/answers.

    But hey if that makes Linus predictable that could be good for Linux development, right ? ;-)

    --
    New things are always on the horizon
  56. Decent little chit-chat by snemarch · · Score: 1

    So there's been a few small details that I think we could have done better, but on the whole I'm *very* happy with git. I think the core design is very solid, and we have almost zero redundant information, and the core model is really built around a few solid concepts that make a lot of sense.

    I had hoped to see that answered with "I wish I had started git as libgit+git from the get-go, instead of the hacky shell-script semi-architecture it started with" - but that's (obviously) because I value portability and embeddability in other projects.

    Also, while I appreciate Linus' outspoken no-bullshit personality, I find that sometimes it devolves into cursing and rudeness - this is one of the occasions where he's entirely mellow, lucid and reasonable, and that's nice to see :-)

    --
    Coffee-driven development.
  57. Re:Oddly.. not enjoying the read by omnichad · · Score: 1

    The worst fucking thing ever to happen to PCs - and I really mean this, the worst thing to ever happen has been the netbook and now the garbage ultrabook cretinous stupidity. These are all either horribly hobbled, or massively over priced piles of steaming garbage.

    Not quite true. Microsoft trying to support them is one of the reasons for Windows 7 and Windows 8 being so much faster. There's only one way to increase performance on such low-spec machines, and that's to optimize.

  58. Re:Oddly.. not enjoying the read by drinkypoo · · Score: 1

    Well, I disagree with pretty much everything you said, so I feel a need to contradict you.

    SSDs are great. They offer them in cheap, short-lifespan versions and less cheap, longer-lifespan versions. And you can back them up to HDDs, which is something they're still good for, besides bulk data.

    Thin and light is great, and netbooks are great. They just don't replace more powerful machines. For those people who are literally always on the go, an ultrabook or notebook or desktop replacement laptop may make sense. For people who are often at a desk, a desktop backed up by a subnotebook which might be called a netbook is often the best choice. When I was wandering around a lot I liked having a massive laptop with a powerful GPU. But now, it's not worth it to me to cart all that machine around when I can use it at home.

    Finally, there's no real need for a gaming platform more powerful than consoles any more. What is needed now is for the console manufacturers to embrace modding, and arbitrary input peripherals including desktop-esque keyboards and mice; or for some company which already supports those things to make a console. Naturally, I'm thinking of Valve. Unfortunately, I suspect the Steam box would require internet access, and I'm not interested in a console on those terms.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  59. Quotability by SimplexBang · · Score: 1

    I enjoyed the read. Many quotables afaic. Concise and to the point answering , tongue in cheeck where possible , ego centered , but not egotistical , and how could you do any different ?

    --
    Avoid your fears , or wonder at the past
  60. Re:sadly funny by Atzanteol · · Score: 3, Funny

    It warms my heart when "religion" is used as a pejorative...

    --
    "Ignorance more frequently begets confidence than does knowledge"

    - Charles Darwin
  61. Ummm... by sunking2 · · Score: 0

    Truthfully, he came across kind of crotchety. Not impressed.

    1. Re:Ummm... by geekoid · · Score: 2

      Oh, does someone who actually does something and impacted an entire industry need to be happy and sunshine filled?
      DO something.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:Ummm... by amicusNYCL · · Score: 1

      You would be crotchety too if every time you met someone they asked you "what would you do differently? Which text editor and desktop do you use?"

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    3. Re:Ummm... by Jeremi · · Score: 1

      Truthfully, he came across kind of crotchety. Not impressed.

      That's because he is kind of crotchety. And one aspect of that is that he doesn't care whether he impresses you or not.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
  62. here we go again with the FUD by Tenebrousedge · · Score: 4, Informative

    Did you not read the responses to that question?

    Linux runs on over two dozen processor architectures. Things that aren't integrated with the kernel don't have a prayer of working on different systems.

    But okay, this isn't a huge issue, just the kernel's ability to talk to hardware. People are writing all sorts of drivers for Solaris, Mac OSX, and BSD, because they have stable ABIs. Heck, I like to write one of each a day -- before breakfast, if possible.

    A stable ABI is a tradeoff: guaranteed compatibility for the short term, and guaranteed incompatibility for the long term. Eventually the OS vendor will change their driver interfaces, and unless the affected drivers are in the kernel, someone else is going to have to take some extra effort to fix them and distribute their changes.

    Also, I'd like to introduce you to the concept of technical debt: The cost of maintaining bad code -- e.g., keeping around an obsolete API/ABI for compatibility's sake -- tends to accrue over time. In the context of the previous paragraph, Microsoft pushes this technical debt off to device manufacturers, with interest.

    Lastly, in addition to the technical reasons, Linus likes the non-stable ABI and the GPL because they both force more code to be contributed back to the kernel. That's your soundbite answer. You're probably not going to make headway on this issue.

    I leave the floor open to anyone who has tried and failed to get driver code into the kernel: i.e. those with a legitimate complaint.

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    1. Re:here we go again with the FUD by Electricity+Likes+Me · · Score: 1

      I remain deeply skeptical of a stable ABI being the problem it's made out to be - I have a fundamental suspicion of the idea that hardware drivers should be proprietary or secret code. The hardware manufacturer is supposed to be selling me a great hardware product - not a great software product to allow basic interface with it's functions.

    2. Re:here we go again with the FUD by m50d · · Score: 1

      One of the reasons I left linux was that I had the drivers for three different peripherals that used to work stop building against new kernel releases: my webcam (qc-usb.sourceforge.net), my winCE PDA, and the remote for my TV card (via lirc).

      --
      I am trolling
    3. Re:here we go again with the FUD by dotancohen · · Score: 1

      I leave the floor open to anyone who has tried and failed to get driver code into the kernel: i.e. those with a legitimate complaint.

      I have bought hardware that does not work with Linux due to no stable ABI that the hardware engineers could target. Is my complaint not valid?

      --
      It is dangerous to be right when the government is wrong.
  63. Re:boring by MMC+Monster · · Score: 3, Funny

    Ditto.

    One series of questions I didn't see asked:

    Linus,
    Do you have a /. account? Do you lurk or read regularly? Are you an Anonymous Coward?

    And, by the way: My most heartfelt thanks to you for everything you've done for the common good.

    --
    Help! I'm a slashdot refugee.
  64. Re:Buffing? by Anonymous Coward · · Score: 0

    http://www.youtube.com/watch?v=1-9my0tsutw

  65. Re:sadly funny by Hatta · · Score: 1

    It might suprise you to know that not all atheists read Dawkins. We don't need people like Dawkins to tell us what to think. It's all pretty obvious if you read about science and use your own brain. If you just read and parrot Dawkins you're not any better than a Christian parroting the bible.

    I did read Bertrand Russel's "Why I am not a Christian", but that's because Russel is awesome. And I read Dennett's "Consciousness Explained" but that's not about atheism. It's entirely possible to be a modern atheist without touching the "New Atheism" literature.

    --
    Give me Classic Slashdot or give me death!
  66. Re:sadly funny by Hatta · · Score: 0

    Dawkins has become some sort of atheist pope. Lots of ritual and tradition for nothing in the religion of atheism.

    Oh really? What exact rituals are you describing? I went to an atheist conference this summer, I don't remember hearing Dawkins mentioned once. You're just making this up, admit it.

    --
    Give me Classic Slashdot or give me death!
  67. His other child by Bengie · · Score: 2

    That said, I've been doing this for over twenty years now, and I don't really see myself stopping. I still do like what I'm doing, and I'd just be bored out of my gourd without the kernel to hack on.

    And this is why he changed the world. Doing what he loves, even if Linux is not his favorite child.

  68. Dawkins is hard to categorize by Anonymous Coward · · Score: 0

    Dawkins has a lot to say about God. Much of it very funny. That's not what The Selfish Gene is about.

    The Selfish Gene is to Evolutionary Theory what A Brief History of Time is to... Time.

    In a way accessible to normal humans, he exposes the process of genetic selection in that makes evolution an unavoidable conclusion from simple (fairly inarguable) biological principals.

    I don't recall it making any direct references to diety. Though if you have list of things that you don't think could happen without the help of a diety, you may have to cross one line off it.

  69. Re:sadly funny by omnichad · · Score: 0

    My sentences were strung together poorly. But the fact that there is such a thing as an atheist conference describes more or less the idea that I'm getting at.

  70. Re:Buffing? by BluBrick · · Score: 1

    Ummm, what about Syringe? I'm pretty sure that rhymes with orange.

    Only if you cheat by putting the em-FAH-sis on the wrong syll-AH-ble.

    In that case, I have to say that my favourite solution to the orange rhyming problem is Tom Lehrer's (even though it too, is a cheat).

    Eating an orange
    While making love
    Makes for bizarre enj-
    -oyment thereof

    --
    Ahh - My eye!
    The doctor said I'm not supposed to get Slashdot in it!
  71. Re:boring by smittyoneeach · · Score: 1

    Seriously. This is the kind of stuff that got me into /. in the first place. Bravo.
    For a fun thought experiment, picture Linus Torvalds with political power.

    --
    Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
  72. Re:sadly funny by Hatta · · Score: 2, Informative

    What, that like minded people might enjoy getting together and discussing topics of common interest? If that's all it takes to be a religion, hell /. itself qualifies as a religion.

    You've effectively made the term "religion" meaningless with that argument. "Are you religious?" "Well I meet a bunch of guys at the local sports bar and discuss the issues of the day, so yes." That's nonsense. One thing and one thing only identifies a religion. Magical thinking.

    BTW, there was a lot more disagreement among the atheists at the atheist conference than there was agreement. Atheists can and do disagree with each other as strongly as they disagree with religious people.

    --
    Give me Classic Slashdot or give me death!
  73. This is worth watching by Anonymous Coward · · Score: 0

    Same video as above, but clickable.
    A pirate I was meant to be

  74. Re:Parasitic words by Anonymous Coward · · Score: 1

    Get back to me when you speak three or more languages.

    I speak American English, British, Canadian and I understand some Australian but I can't speak it that well.

  75. Re:sadly funny by jandar · · Score: 0

    You make atheism sound more like a religion than what it actually is...

    Atheism is a kind of religion. Since existence of $DEITY can't be neither proved not disproved, atheism as believing in something unprovable is equivalent to religion.

    Agnosticism is the non-religious kind of thinking about existence of any $DEITY.

  76. Re:sadly funny by Randle_Revar · · Score: 1

    The Selfish Gene, like most of Dawkins books, really has jack to do with atheism. If you read it and like it, it probably means you are not a creationist, but that is about it. It is a science book, not a philosophy book.

  77. Re:sadly funny by MysteriousPreacher · · Score: 1

    It'd be more accurate to say that magical thinking and a whole raft of cognitive biases seem part and parcel of being human. Obviously affecting us to varying degrees, with no-one is completely free of them.

    Exactly how do you arrive at the conclusion that lack of belief *often* becomes a religion in itself? To see the majority of atheists I know, applying the label of religion to their atheism inspired actions and beliefs robs the word religion of any solid meaning. I'd agree that *sometimes* it becomes way too obsessive - like with anything else. The majority of atheists, like the majority of Christians, just get on with their lives without giving it too much thought.

    And what are these rituals that I've somehow missed all these years? Is atheism like Scientology, where I have to be a level 5 glargoblargon before the elders will show me how to use incense and fine scotch to conjure the spirit of Saint Hitchens? Generalizations are fine when broadly applicable to a population as a whole. What you're doing is akin to saying that Christians often consider the KJV to be the true Bible. Some do, but not as many as "often" implies.

    --
    -- Using the preview button since 2005
  78. Re:sadly funny by Anonymous Coward · · Score: 1

    Regardless of what you believe (or don't), it seems to be human nature - evolutionary or by design - to have a religion.

    It's called curiosity. Everyone wants to understand why things are they way they are. Most religions have an explanation of how the world came to be and tries to explain the mysteries of the world. For example Norse mythology tells us that the rope that was used to bind the wolf of Fenrir was made from the breath of fish, the beards of women and the sound cats make when they walk. That's why you don't see much of those around anymore.
    This explanation stills some of the curiosity until you ask what the cat sounded like before that.
    Some people never stop asking, we call the scientists, they tend to find plausible explanations to why the sky is blue and other questions that belong to the category of "Things children ask that parents can't answer."

  79. Re:Booooooooring by Anonymous Coward · · Score: 0

    Ahhh, kids. Give them stars, it's all they can appreciate in life.

  80. Re:Buffing? by aXi · · Score: 0

    While exercising all his phalanges
    on the round shaped fruit.
    The tight skinned ripe oranges
    slowly became hand peel able.

    Well you are right sorry for posting this. ;-P

  81. Key issue in kernels, atomicity by Morgaine · · Score: 1

    I think perhaps the point that he was making about designing with pointers wasn't fully appreciated by everyone, because he didn't really spell it out. It's not just a matter of preferred coding style nor clarity, far from it.

    The unconditional pointer update approach is atomic by virtue of the update being performed in a single memory write cycle, whereas the longer conditional form is clearly not atomic, and to make it atomic would require using locks. (There's a bit more to it than that because you still have to worry about what is being assigned, but it does reduce the scope of the problem significantly.)

    This distinction is extremely important in a highly concurrent application like an operating system kernel, because you can merrily use his preferred code everywhere without worrying whether it's going to be used concurrently or only called within a protected critical region. In contrast, if the conditional form were used concurrently then you would have a wonderful recipe for intermittent concurrency bugs, the kernel designer's very worst nightmare.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
    1. Re:Key issue in kernels, atomicity by mark-t · · Score: 1

      You've actually made a good point... atomicity is actually a *VERY* good reason to not use the conditional form, but not every application requires that. It's certainly not generally going to be the case that atomicity is a requirement, and often when it is, it would might be more practical to use an explicit mutex on your data to ensure nothing else touches it while you're using it. Even when mutexes are not practical (and I know that can very easily be the case), however, and atomicity is still required, I don't believe that readability should *EVER* be compromised.

      A one-line comment next to the statement, much to the effect of

      *lastptr = entry->next; // set whatever pointed to this entry to skip past this entry

      Would definitely be adequate. Experienced programmers familiar with the pattern may not need the comment, but it's concise enough that it will not slow them down anywhere nearly as much as an uncommented equivalent line would slow down a programmer who is not as intimately familiar with the pattern.... I would see such delays a lot less a matter of how comfortable they might be with pointers than it is a matter of what kinds of code they might have been previously exposed to.

      Yeah... it might be perfectly readable to a lot of people with loads of experience in C and pointer manuplation... but ultimately, it's still a level of obfuscation that to be perfectly honest, strikes me more like somebody wanting to show off their "cool hacker skillz" than it does any sort of performance benefit. At my old job, that kind of code wouldn't make it past a source code review unless it had a comment indicating why that choice was made (I remember one new guy even got fired during my time there because he kept doing that sort of stuff and not supplying comments to explain his rationale. Although in his case it was always some unusual bit-twiddling hacks, and not a pointer issue. He received at least two official warnings from our technical lead within his probation period, and within two weeks or so of the last one that I knew of, he was gone)

    2. Re:Key issue in kernels, atomicity by igomaniac · · Score: 1

      The unconditional pointer update approach is by no means atomic unless you use memory barriers or atomic instructions. There is a reason C++11 added <atomic>.

      --

      The interactive way to Go -- http://www.playgo.to/iwtg/en/
    3. Re:Key issue in kernels, atomicity by Anonymous Coward · · Score: 0

      > The unconditional pointer update approach is atomic by virtue of the update being performed in a single memory write cycle, whereas the longer conditional form is clearly not atomic, and to make it atomic would require using locks.

      But that assignment is just the last step in a linked-list search, which as a whole is clearly not atomic.

  82. Re:boring by Lennie · · Score: 1

    I should correct myself, I did realize something from reading his answers.

    Torvalds wants the same thing from licensing as he wants from his version control system for his projects: easy forking and especially easy merging.

    --
    New things are always on the horizon
  83. One Saturday Morning by tepples · · Score: 1

    That or someone saw "orange/door hinge" on Disney's One Saturday Morning.

    1. Re:One Saturday Morning by Pseudonym · · Score: 1

      Maybe, but I've never seen that show, and came up with that particular rhyme independently. Anyone who has ever overdosed on Ogden Nash can usually think up rhymes like that fairly readily.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  84. Re:boring by geekoid · · Score: 1

    If you didn't read it, how would you know it's boring?

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  85. Begin a sentence with a connective by tepples · · Score: 2

    Try reading a literal translation of the Hebrew Scriptures, such as the English Standard Version or the New World Translation, and count how many sentences begin with an adverb or conjunction. If it's good enough for God, it's good enough for Linus.

    1. Re:Begin a sentence with a connective by gottabeme · · Score: 1

      The ESV isn't literally a literal translation, and the NWT is doctrinally biased. The ESV is good, but there isn't really such a thing as a "literal translation". Every translation falls somewhere on a range of dynamic vs. literal. There just isn't always a way to render one language "literally" into another--it always involves interpretation.

      Having said that, I agree with you. :) Rules like not beginning a sentence with a conjunction are arbitrary, and English would probably be the last language one could say to have an objective standard.

      --
      "Those who consume the bulk of goods are those who make them. We must never forget this secret of our prosperity."
  86. Both satiric models you mention have been used by tepples · · Score: 1

    Programs come installed on RAM bearing cartridges. Need more memory to save your photoshop files? well, you should have bought the Pro version with a larger SSD.

    Even with the cartridge model as seen on video game consoles, you still need pointers to store more than one document.

    Not enough RAM to render your CAD drawing? Too bad you didn't by the Enterprise Extended Edition, it came with 32Gb of RAM and a faster GPU.

    Now you're getting into the pre-PS1 arcade model, where each game came on a custom PCB. (Later arcade platforms, such as System 573 or Triforce or Taito Type X, used essentially PC or console hardware.)

  87. Re:sadly funny by geekoid · · Score: 1

    No, it is not a religion. AS has been explained quite well, many times.
    Believers need t prove the existence. Saying there is X, and and no one can prove it is crazy.
    Not believing there are purple dragons on the moon is not a religion.
    The word 'atheism' comes from the Greek word atheos, meaning godless. Atheos is derived from a, meaning "without," and theos, meaning "deity"."

    Atheism is the word for not having a religion. By DEFINITION it is not a religion. Please learn logic.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  88. Fsck you by tepples · · Score: 1

    OK, how about "fsck you"? It has the connotations of both "fuck you" and "your thoughts appear to need checked for inconsistencies".

  89. Re:Oddly.. not enjoying the read by geekoid · · Score: 1

    And by 'short' you means over 60 years.
    Ans by Long, you mean 100 years.

    Not really a problem.

    "Finally, there's no real need for a gaming platform more powerful than consoles any more."
    that's simply wrong.

    "What is needed now is for the console manufacturers to embrace modding,"
    so you are saying the need to be PCs. Really, what you are talking about is putting a PC in the living room for games. Something Valve has recently made a lot easier, BTW.

    "and I'm not interested in a console on those terms."
    so you aren't interested in any console on the market right now?

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  90. I happen to disagree with your laptop preference by tepples · · Score: 1

    And the thin and light blurb. No Linus, I actually happen to like a big screen.

    You're entitled to your preference, but some people happen to like a computer that fits in the bag they already have, like my 10" Dell laptop.

    And I like dual drives, a DVD drive/Blue ray, and decent speakers.

    All of which I have hanging off a USB hub at home. One plug, and I have a mouse, keypad (for Blender, which works acceptably on a GMA 3100), CF/SD writer, and a fourth port to connect either an external hard drive or a tablet. I don't need these peripherals while riding the bus to and from work.

    If I want a fairly crippled system - I can go get one based on an ARM platform

    The advantage of x86 is that it runs the non-free applications you already have. Look at the license of Linux: it's not the GPLv2 alone but the GPLv2 with an explicit exception (or clarification) to allow the use of non-free applications. "NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of 'derived work'."

  91. Console + mods = computer by tepples · · Score: 1

    Finally, there's no real need for a gaming platform more powerful than consoles any more. What is needed now is for the console manufacturers to embrace modding

    Once a console adds support for user-made game mods, it ceases to be a console and becomes a personal computer because in theory, a sufficiently powerful means of modding allows general computation using the game as an I/O framework. Mods would compete with major-label games, and the major labels can't have that.

    or for some company which already supports those things to make a console.

    Microsoft made the Windows operating system, which supports every feature you mentioned. Then it went and made a console, intentionally dropping those features.

    1. Re:Console + mods = computer by drinkypoo · · Score: 1

      Finally, there's no real need for a gaming platform more powerful than consoles any more. What is needed now is for the console manufacturers to embrace modding

      Once a console adds support for user-made game mods, it ceases to be a console and becomes a personal computer because in theory, a sufficiently powerful means of modding allows general computation using the game as an I/O framework.

      A thousand times no. Game consoles are already general purpose computers, by definition. They may well have a locked-down interface, but that is not the same thing. They are entirely capable of executing arbitrary code, so they're definitely already GP computers.

      Mods would compete with major-label games, and the major labels can't have that.

      Yes, that is true. The console maker can have that even less, because they only get money when you buy a licensed game, or pay a subscription fee.

      Microsoft made the Windows operating system, which supports every feature you mentioned. Then it went and made a console, intentionally dropping those features.

      Indeed, the console runs a derivative of the Windows operating system, and you can port Windows programs to the Xbox if you're willing to make a new interface. Of course, Microsoft won't bless them.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  92. Did the Steambox already come out? by tepples · · Score: 1

    Really, what you are talking about is putting a PC in the living room for games.

    I agree with this concept of HTPC gaming, and I've agreed for a long time. It's just naysayers like CronoCloud who disagree.

    Something Valve has recently made a lot easier, BTW.

    The verb tense confuses me. Did the Steambox already come out in select markets? If not, where should one buy a ready-to-use gaming PC that doesn't look and sound (fan noise) out of place next to a 32" or larger living-room monitor?

    so you aren't interested in any console on the market right now?

    Wii, Xbox 360, and PS3 don't require online activation for single-player or single-screen multiplayer modes of disc games. Nor do they require tens of GB of download traffic per month to install disc games. It is expected, based on the user experience of Steam for PCs, that the Steambox will require both. And no, I'm not interested in these consoles due to the lack of deep modding support. The closest the Wii and DS ever got to a game designed to be thoroughly modded was WarioWare DIY, and after the rejection of Bob's Game, WarioWare DIY is the last Nintendo product I'll buy for a while.

    1. Re:Did the Steambox already come out? by drinkypoo · · Score: 1

      Something Valve has recently made a lot easier, BTW.

      The verb tense confuses me. Did the Steambox already come out in select markets?

      No, they created a TV Mode.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  93. I refute your claims; care to do the same? by cbhacking · · Score: 4, Insightful

    So, you claim that organized efforts to ensure that religious dogma stays out of science classes, or to find ways to avoid the demonization that atheism receives in many communities and societies around the world, would constitute "ritual and tradition for nothing"? I contest the "ritual", the "tradition", and the "for nothing" in that statement.

    Let's start with tradition, as that's probably the easiest for you to claim. Here's the thing: unlike (organized) religions, where one is more-or-less expected to carry out certain actions (go to church, pray toward Mecca, celebrate some holidays, whatever), there is absolutely no expectation that athiests go to athiest conferences. Nor is there a "tradition" of athiests, as a community, even holding such conferences. Pilgrimage is considered a tradition in some religions, even if many people never take one, because it's seen as a thing that "people in that religion do". Aside from in the context of this discussion, though, I've never heard of "go to athiest conferences" as a thing that atheists do (and I've been athiest, or at least agnostic, for over 80% of my life; I knew that I didn't believe in a deity before I knew there was a word for it).

    Moving on, consider the claim that it's a "ritual" to hold or attend such concerences. I suspect this is your own unfamiliarity with the thought process of people who reject the very notion of "take it on faith", here. Ritual implies something practiced, something repeated, a sequence of actions that people have learned to do for the sake of the ritual itself. That's not to say that there's anything wrong with the actions of a ritual, just that, if you're trying to build on things, to understand them and improve them, it isn't a ritual at all. With most devout Christians, for example, going to church is a ritual; they may know why they do it, but they don't try to analyze the behavior. For a good preacher, writing and delivering a sermon should be absolutely not a ritual; he or she should be trying to guide people, to convince them of something or dissuade them from an action, to speak to the congregation in terms that they will understand, or at least that they think they understand. That's a matter of thought and creativity and understanding. By contrast, at an athiest conference, those things are expected of everybody. People host conferences because they want to bring others who are interested in a topic together. People attend conferences because they want to talk about, or listen to, what others have to say on a topic. Both the hosts and the attendees have their own ideas to share, their own questions to ask. Nobody is going through rote actions. Everybody has thought about it and made a conscious decision to attend, rather than simply carrying out some practice that is ingrained in them. It's the opposite of a ritual.

    Finally, let's consider the claim that these things which a tiny handful of atheists sometimes do, are done "for nothing." It is a simple fact of history that religions tend to be supporessive of radical ideas. The very concept of "heresy" is an impediment to human progress. It is one thing to disprove a hypothesis, or even discredit a publication which makes fraudulent claims. It is quite another to denounce a line of thought purely on the basis of what one was taught. Allowing religious beliefs to be taught in schools, or to guide public policies, acts contrary to the core concept of science, and therefore to human advancement: that ideas (theories, in the common usage) must be testable, demonstrable, and refutable, before they can be accepted as the basis for new theories. What's more, the old theories are never considered to simple facts; they are always open to refutation by alternative theories that explain observations better. The idea that religion, with its dogma and concept of heresy, can guide the lives and actions of people, either in the individual or as a society, is perhaps the greatest single man-made retardant to the advancement of human knowledge. For those who take an active i

    --
    There's no place I could be, since I've found Serenity...
    1. Re:I refute your claims; care to do the same? by Anonymous Coward · · Score: 0

      Tl;dr

    2. Re:I refute your claims; care to do the same? by gottabeme · · Score: 1

      So, you claim that organized efforts to ensure that religious dogma stays out of science classes, or to find ways to avoid the demonization that atheism receives in many communities and societies around the world, would constitute "ritual and tradition for nothing"?

      Whoosh.

      Atheism can be very much like a religion for some people. The same can be said about science, humanism, etc. Getting together to discuss how to further its views and undermine those of its opponents is just what a lot of religious groups do. It's like atheistic evangelism.

      Sure, there are some atheists who are content to just hold their views without trying to convert people to atheism or actively oppose religious groups. But there are also some who do those things.

      In a sense, there is no human who is not religious. One either worships (i.e. serves) God or oneself. Atheism is just another god, another idol.

      --
      "Those who consume the bulk of goods are those who make them. We must never forget this secret of our prosperity."
  94. Re:sadly funny by Anonymous Coward · · Score: 0

    Please descripbe to me the "rituals" that Dawkins created.

    " It's actually worse than believing in a God that may or may not exist, because then at least your rules and rituals might actually mean something."

    That's a fallacy called Pascal's Wager.

  95. Re:Parasitic words by Tastecicles · · Score: 1

    Long, and thanks for all the fish.

    Nope. Doesn't sound right.

    --
    Operation Guillotine is in effect.
  96. edison and perspiration — cut the cruft by johnrpenner · · Score: 2

    to quote nikola Tesla — "If Edison had a needle to find in a haystack,
    he would proceed at once with the diligence of the bee to examine
    straw after straw until he found the object of his search.

    I was a sorry witness of such doings, knowing that a little theory
    and calculation would have saved him ninety per cent of his labour.
    (Nikola Tesla, New York Times, October 19, 1931)

    likewise msr torvalds — you advocate stable processors — elegance be damned.
    true enough, stability is paramount for reliability — but it is also important to
    not preserve a perverse or arcane standard.

    knowing what features to consolidate and prune can save a great deal of useless
    backwards compatibility work, and save labour down the road.

    two examples: i) we could do well to learn from the feat of the late s.jobs — where he
    was able to poll the developers about what APIs they were actually using — and
    prune out a bunch of dead CRUFT, and leave a core set of stable APIs (the now
    defunct CARBON) that would bridge developers — by tweaking a little code,
    they could gain the benefit of the new OSX architecture, while maintaining
    backwards compatibility. ii) the move from parallel printer, and PS2 style
    keyboard and mouse vs the move to USB — it was wise to eliminate multiple
    incompatible standards which were being used in wrong ways (parallel printer
    ports being used for ZIP drives!?!?) — total USB and elimination of legacy ports
    was a good call.

    instead of MONOLITHIC & CRUFTY — lean and well-defined.
    please.

      2cents from toronto island
    jp

  97. Explain his favorite hack response about link list by Anonymous Coward · · Score: 0

    Can someone explain or point to an example that he's talking about in his response to the favorite hack question? I'm no pointer newbie, and I get pointer to pointers, but I've never seen an example use what he describes. I'm really just more curious to see how a pro does it.. Thanks

  98. Re:boring by Pseudonym · · Score: 4, Insightful

    Look, there's a bunch of stuff in this interview that I disagree with. That's okay; it takes all sorts.

    But here's the thing: Linus has earned the right to be a douche.

    We are long past the point of hagiography when it comes to Linus. In the early 90s, we all though it was cool that a young, rebellious upstart took on (in retrospect, argued cross-purposes with) the likes of Andrew Tanenbaum. Today, he's middle aged and getting crotchety, and now we just smile, shake our heads and remind ourselves that Linus is Linus. We love him dearly, even if we have to take him with a grain of salt.

    Everything he says is a mix of hard-won experience with just the right amount of over-opinionated patent nonsense. But even the over-opinionated patent nonsense is interesting, and I don't mean in the apocryphal Chinese curse sense. It serves our purpose that Linus speaks his mind without restraint, because his signal-to-noise ratio is high enough that getting through the crap to obtain the good stuff is a tractable and even enjoyable endeavour.

    Yeah, he can get self-important and myopic at times. So can you, and so can I. You and I haven't won the right by conquest to blurt it to the world.

    Actually, playing armchair psychologist for a moment (hey, this is Slashdot), maybe this is actually jealousy. Maybe you're calling Linus a douche because you wish you could be a douche and people would still listen to you.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  99. Re:sadly funny by deek · · Score: 0

    Oh, but Atheism is a religion, for various different definitions of religion. Consider it an OR test, where it failed your chosen definition of religion, but there are still other definitions which it satisfies.

    One definition of Religion is a set of beliefs followed by a number of people. In "believing" that there is no god, Atheism relegates itself to the category of Religion, by this definition. The parent poster is quite correct in this.

    You proved that Atheism is a word for not having a deity. You didn't prove that Atheism is a word for not having a religion.

  100. Re:Parasitic words by Anonymous Coward · · Score: 0

    Get back to me when you speak three or more languages.

    Dereference a null pointer, you memory leak.

    Engilsh, BASIC, Pascal, C, Assembly, Perl, SQL, C++, Java, Javascript -- If I can say "fuck you" with it, I consider it a language I "speak".

    His combative tones are indistinguishable from any ignorant troll on the internet. I've completed the unit test. I've coppied text strings originating from Linus into various forums including IRC rooms and got kicked for being an ass every time. No, they didn't get the references. The statements were indistinguishable from "internet morons". He knows enough english to not be an ass, as proven via some of his other correspondences.

    Return when you have the capability to construct a valid argument.

  101. Re:Parasitic words by Anonymous Coward · · Score: 0

    Why? Because, some years ago, he was a Swedish-speaking Finnish kid learning English in Finland, bonehead.

    (Obviously you've never spent much time around Swedish-speakers.)

  102. Re:boring by drfreak · · Score: 1

    I can't find a translation for ONBEKOMMERT. What does it mean?

  103. Re:boring by Hanzie · · Score: 0

    +1 funny for appropriate use of "nincompoop"

    --
    ********* sig: If you don't like the law, get filthy stinking rich, and buy a better one.
  104. Re:boring by drfreak · · Score: 1

    Linus may sound douchey at times but I agree he has earned that right. On the flipside if you had a project turn into such an ingrained day-to-day OS I bet you'd be a bit proud too. Pride is not douchey when it is well placed such as in Linus' case.

    That said, I've seen some pretty crazy things come from RMS and he gets nowhere near as much flak for it. Remember, this is the guy who helped kick-off the free software movement and was involved in many of the lesser-appreciated userland tools we all know and love and/or hate (sorry emacs, I'm a vi guy). He deserves just as much respect too, but the way he carries that weight is far different.

    Between Linus and Richard, they are probably the two iconoclasts who kicked off the whole free software movement. First there was Richard with the free userland tools and then Linus with the kernel which made them truly free from bottom-to-top. Back in the day when Linux wasn't "ready" and BSD was still in litigation Richard stepped up and gave us tools which could compile and run freely and just about any Unix platform. Back when dialing up to a Unix box was the only way to get internet, apps like screen gave me warm fuzzies.

    I wouldn't call either a douche, even though they may do douchey things sometimes. They are allowed. We all do it to one degree or another.

  105. Best sig of the thread: by Hanzie · · Score: 1

    "If you are going through hell, keep going." - Winston Churchill

    I nominate yours as the best sig of all this thread.

    --
    ********* sig: If you don't like the law, get filthy stinking rich, and buy a better one.
  106. Re:sadly funny by ranmagirl · · Score: 1

    That, Sir, describes nothing at all. There is a long excellent reply to you below already, but just to put it in one sentence:
    The fact that there is a conference on some random thing, or even a (random) philosophy, describes what exactly?

    I'll reply myself in one word: nothing.

    --
    ranma - girl?
  107. Re:sadly funny by ranmagirl · · Score: 1

    Excellent post - just wanted to correct your wondering about cats... They, presumably, sounded just the same as now (at least what you wrote gives no reason to think otherwise), but they didn't walk silently before that and now they do (cats are really eerie this way) ;)

    --
    ranma - girl?
  108. Re:sadly funny by heefeneet · · Score: 1

    Yeah. I've never read anything by Dawkins.

    Oh, what's that you say? There's no such thing as magic and evolution is be best-supported theory in all of science? Yeah, I already knew that.

    Then again, his books are on the long list of books I might read some day. I don't reject them, I simply don't seek them out.

    Likewise. I have "The God Delusion" sitting on my shelf. I've never bothered to read it. I only bought it because there was a minister in the book shop telling me that "All atheists are mass-murderers because Stalin was atheist." and I wanted to annoy him.

  109. Re:sadly funny by heefeneet · · Score: 2

    Oh, but Atheism is a religion, for various different definitions of religion. Consider it an OR test, where it failed your chosen definition of religion, but there are still other definitions which it satisfies.

    One definition of Religion is a set of beliefs followed by a number of people. In "believing" that there is no god, Atheism relegates itself to the category of Religion, by this definition. The parent poster is quite correct in this.

    You proved that Atheism is a word for not having a deity. You didn't prove that Atheism is a word for not having a religion.

    On an unrelated note, I've just taken up the hobby of not collecting stamps.

  110. Re:boring by fonske · · Score: 1

    "onbekommert" correct spelling is "onbekommerd" - which is the point in the poem.
    It means "unencumbered", carefree.
    Dutch and English are germanic languages after all.
    Cumbrance would be translated in "kommer".

  111. Re:sadly funny by Anonymous Coward · · Score: 0

    > And for those that don't believe in a Creator, the lack thereof often becomes a religion

    Yeah. A bit like "not fishing" is a hobby...

  112. Re:boring by bmcage · · Score: 1

    I can't find a translation for ONBEKOMMERT. What does it mean?

    A verb to indicate "without worry" or "without second thoughts"

  113. Re:Parasitic words by Anonymous Coward · · Score: 0

    Short words that indicate a (small) relation between sentences is more organised than a stream of unconnected sentences. Programmers like well structured data, or else they could only write very short programs before running into too much complexity.

    So you are saying his sentences form a linked list?

  114. Re:boring by Cyphax · · Score: 1

    It's grammatically incorrect, which is why you can't translate it. If it were spelled correctly ("onbekommerd"), something like Google translate can actually translate it.

    It means "unconcerned".

    I'm not sure if "If you read Dutch well, you're now [...] annoyed" refers to the grammar mistake, or the meaning of the saying. ;)

  115. Hello by Anonymous Coward · · Score: 0

    Thanks for sharing, I will bookmark and be back again.
    Asp.net Application development

  116. Re:Buffing? by mark-t · · Score: 1

    Consonant-based phonemes at the beginning of any syllable are typically ignored with respect to rhyming. The only consonant-based phonemes that must sound identical in order to rhyme are those which occur at the end of a syllable. Unless you are pronouncing door-hinge such that you are either introducing some additional sound after the 'r' in the first syllable and before the 'h' sound in the second syllable, or else are not pronouncing orange as a two syllable word, then yes... they rhyme. Quite well.

  117. Re:boring by olau · · Score: 1

    Some people tend to see software as a pure technical thing that come out of nowhere, and then wish they could go back and make it more perfect, even though that would most likely have been entirely impossible given the situation back when the decision was actually made.

    And when I say situation, I mostly mean the resources and knowledge available to said developer at the time. To me, there's something inherently dumb in constantly thinking you should have been smarter in the past. I regret when I do fail to use my brain - but when I actually do and take a conscious decision weighting the pros and cons available, how can I really fault myself later? Especially if the project overall turns out to be a success as is the case with Linux?

  118. Re:boring by olau · · Score: 1

    He said he paid for 0.99c for his content. I think he's one step up from us. :)

  119. Re:sadly funny by Myopic · · Score: 1

    I wonder if that minister ever read the parts of his own holy book which specifically command him to kill people.

    I've often said that hypocrisy is the only thing that makes Christians tolerable. Can you imagine if they actually stoned to death women who have premarital sex? or homosexuals? can you imagine if they actually cut off the hands of thieves? or if they all literally gave up all their worldly possessions to live a life of asceticism (think of the economic devastation!)? Can you imagine a legal system where we set free parents who murder their children when they claim that "God told them to do it"? Can you imagine arresting people who shop on Sunday (or on Saturday, the true Sabbath)?

    These things would all be intolerable, and these things are all commanded by the Bible. Thank 'God' almost all Christians are hypocrites.

  120. Universal Turing machine; define "arbitrary" by tepples · · Score: 1

    Game consoles are already general purpose computers, by definition. They may well have a locked-down interface, but that is not the same thing. They are entirely capable of executing arbitrary code

    I thought a "general-purpose computer" was something that could act as the universal linear bounded automaton.* We appear to be running into a definition clash. Mandatory code signing, the requirement that a third party has blessed a particular input to the ULBA, makes the input not "arbitrary" as I understand the definition of "arbitrary". Or has the concept of code signing been introduced into the universal Turing machine framework such that "arbitrary" can be germanely redefined?

    * The ULBA is the physically realizable subset of the universal Turing machine.

    1. Re:Universal Turing machine; define "arbitrary" by drinkypoo · · Score: 1

      A general purpose computer with DRM is still a general purpose computer, it's just harder to get your code onto it. As workarounds exist, I stand by my statement. It's not that it's equal to a system without DRM, but it can be made to be equivalent.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Universal Turing machine; define "arbitrary" by tepples · · Score: 1

      As workarounds exist

      There is always the workaround of requiring each publisher to build and sell its own computer and requiring end users to use a separate computer to run programs from each publisher, but that's impractical for developers of free software or low-volume proprietary software. What workaround is recommended for smaller developers to get games onto a game console or onto a handheld gaming device with physical buttons other than moving to Austin, Boston, or Seattle?

  121. Linus Torvalds "LINUX" word copyright owner by Anonymous Coward · · Score: 0

    Ironically ...a Mauritian company registered officially his name "LINUX SOLUTIONS LTD" further more claimed to detain copyright on GNU/GPL Licensed Asterisk VoIP in a Sworn Affidavit in Mauritius Supreme Court ...and that the License does not apply to them !!!

    Berne Convention blatantly breached !! and I wonder How Mr Linus Torvalds would fight this his own copyright breached ???

  122. Re:sadly funny by Anonymous Coward · · Score: 0

    Atheists do not believe there is no god. They don't believe there is a god, the distinction may be subtle, but it is important.

    As to defining a religion as a group of people who share a belief, even if you erroneously define an atheist as someone who believes there is no god, rather than someone who fails to believe in a god, then that still is only a single belief that unites the group, and a set of one is no set at all (unless you are a mathematician).

  123. Re:Buffing? by tverbeek · · Score: 2

    Well, as long as you invent a definition of "rhyming" that allows what you want it to allow... and as long as you ignore the fact that vowels don't necessarily match either... and you assume that your local accent is how "most people" pronounce them... sure, they "rhyme".

    --
    http://alternatives.rzero.com/
  124. meaning of words for beginners by jandar · · Score: 1

    Athesim is the word for believing in non-existence of any deity. There are religions without any deity therefore atheism doesn't mean having no religion. The word for not believing in (unprovable) existence of deities is agnosticism.

    Who is called upon proving something has nothing to do with the meaning of words. Explaining wrong things quite well also doesn't change the falsehood.

    1. Re:meaning of words for beginners by toutankh · · Score: 1

      I think you misunderstand the meaning of "agnosticism". It is more about suspending your judgement than about not believing. The existence of a god is a gnosis so you don't take it as a truth, but the same holds for its non-existence.

  125. Buying a PC for Steam Big Picture by tepples · · Score: 1

    Did the Steambox already come out in select markets? If not, where should one buy a ready-to-use gaming PC that doesn't look and sound (fan noise) out of place next to a 32" or larger living-room monitor?

    No, they created a TV Mode [called Big Picture]

    The page you linked links to a setup page, which states: "Step 1: Carry your PC or Mac to your HDTV." I don't think a lot of people are going to want to carry the family PC back and forth. So let me rephrase my second question in light of this: if someone is buying a new Windows PC to use with Steam Big Picture, what models do you recommend that have "low-noise, small size, good USB connectivity, on-board WiFi, and a decent case design" and the 512 MB DirectX 10 graphics card that Big Picture recommends?

    1. Re:Buying a PC for Steam Big Picture by drinkypoo · · Score: 1

      You're asking the wrong guy, because I'd punch a hole in the wall and run HDMI through to my bedroom. I've already got ethernet going through to feed the HTPC.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  126. Re:Oddly.. not enjoying the read by AdmV0rl0n · · Score: 1

    You have clearly not spent as much time with SSD as you should have done to make the comment. And vaguely I think what you meant to say was they make slower ones that cost less than the faster ones, and they make claims about the controllers that do clever shit that alays the shortening cell write limit on lower NM NAND chips.

    No SSD on the market has survived more than 3 months in our production laptops that use bloaty Siemens software in VMs. None. Not the cheapest, not the largest, not the most expensive, not the supposedly most resilient (excluding SLC, my comment is centred on MLC). And the time frames are visibly worse today than on the larger NM sized stuff we used early on because people are globally seemingly moving to cells that simply have lower write death - which drives down cost, and in our use drive lifetime.

    And you'll generally get no warning from a SSD. None. Its working then its not. Light on. Light off. Data there. Data BOOM. Bluntly that can't be classed as a good thing. Given its got wear leveling - one might argue it should have wear level warning tech as well. But I digress.

    --
    We`re all equal .. Just some of us are less equal than others.
  127. Ultimate Edition User / UBUNTU / kubuntu User by Anonymous Coward · · Score: 0

    Thank you. Linus, all developers on various projects, from my Country South Africa, Canonical's Mark Shuttleworth "The First African in Space" and of course the linux users out there..... Greetings from sunna South Africa. HBOT

    Ps. Thanx SlashDot

  128. Implicit idea that Linux is not for servers by cthulhu11 · · Score: 1

    Sure, maybe those rotating platters are ok in some NAS box that you keep your big media files on (or in that cloud storage cluster you use, and where the network latencies make the disk latencies be secondary), but in an actual computer? Ugh. "Get thee behind me, Satan".

    So, Linus, what exactly do you think that NAS box and the cloud storage cluster are running? The pathetic state of storage management in Linux is the single biggest issue I have with it. Run ZFS systems for a while, enjoy the integration of devices, volumes, and filesystems.. Then go look at MD/LVM and the limits of ext4 and it's sad, really sad, enough that I'm reluctantly using HBA RAID instead. I lose the ability to mirror across HBA's for fault tolerance, but at least operations don't take a zillion fiddly steps.

  129. DCBZ vs memset by Hal_Porter · · Score: 1

    I don't like his comment on DCBZ

    No, I want out-of-order and "high-level" instructions that actually work across different implementations of the same ISA, and across different classes of hardware (iow, span the whole "low-power embedded" to "high-end server" CPU range). So for example, I think having a "memcpy" or "memset" instruction is a great idea, if it allows you to have something that works optimally for different memory subsystems and microarchitectures.
    As an example of what not to do, is to expose direct cacheline access with some idiotic "DCBZ" instruction that clears them - because that will then make the software have to care about the size of the cacheline etc. Same goes for things like "nontemporal accesses" that bypass the L1 cache - how do you know when to use those in software when different CPU's have different cache subsystems? Software just shouldn't care. Software wants to clear memory, not aligned cachelines, and software does not want to have to worry about how to do that most efficiently on some particular new machine with a particular cache size and memory subsystem.

    DCBZ is described here

    http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.aixassem/doc/alangref/dcbz.htm

    If you look at a memset on a traditional CPU you're actually wasting time writing zeros individually to each location on a cache line. That works, but what you really mean at the start of a line is not

    "Pull the cache line in from main memory if necessary, perhaps evicting a line containing something else. I'm writing a zero to the first location, second location ... last line". This means you read the line from memory and then fill it full of zeros. It will then sit in the cache dirty until it gets written back. Reading it into the cache means something else got kicked out.

    What you really mean is

    "I'd like to clobber the whole cache line with zeros". I.e. whether or not you have it, just fill it with zeros and mark it dirty. Or, better, write zeros to it bypassing the cache completely - that way you don't pollute the cache."
    dcbz is a way to say that.

    They explain it here

    http://www.ibm.com/developerworks/power/library/pa-memory/index.html

    It just means you need to write some PPC specific code for memset. Which IBM give you. If you do it it will run faster. If you do it the old way it will still work.
    I.e. it's an architecture specific optimisation. I think he's saying that it would better to make the old way as fast as dcbz. I'm not sure that's possible - the CPU can't turn a bunch of stores into the equivalent of dcbzs. It's one of those situations where the old way is slow because you're not giving the CPU enough information about what you really mean.

    If you've got an embedded system that's slow it's worth profiling it. If there architectural things like this that aren't being used in the hot spot functions its worth implementing them.

    --
    echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  130. Re:Buffing? by mark-t · · Score: 1

    Letters or vowels not being the same is not important in rhyming.

    The words "way" and "sleigh", for example, rhyme with each other perfectly... in spite of having absolutely no common letters.

    I did not (and would not) say that door-hinge and orange is a perfect rhyme, however... only that is very good. Specifically, their rhyming parts differ in a single phoneme, where "hinge" uses the short 'i' sound, orange uses the schwa (upside-down e) sound in its second syllable, so while it's not perfect, a rhyme that is still pretty good is created. While not all phonemes are interchangeable in this way to qualify as a very good rhyme, these two happen to be. (the schwa is actually interchangeable with more phonemes when it comes to rhyming than any other single phoneme that is used in English words, to the best of my knowledge). An example of another fairly good rhyme for orange would be syringe (this is not as actually as good as door-hinge, because it differs from orange in two phonemes that would be required for a rhyme to occur... the 'i' sound compared to the schwa in the second syllable, and the long schwa sound in the first syllable of syringe to the vowel phoneme in the first syllable of orange (which doesn't have a specific name, as far as I know, but it's similar to a long "o" sound). In spite of this, the word is still quite passable as a rhyme, but not as good as door-hinge because it differs in an additional required phoneme.

    In the end, rhyming is really far from a true or false issue... there are degrees of it. The similarity between the closing phonemes of each syllable should be identified before conclusively deciding that words can or cannot reasonably be considered to rhyme.

  131. Re:boring by lsatenstein · · Score: 1

    When you reach age 50, you start forgetting small things, like peoples names, and doctor appointments. When you reach 55, you cant remember that the piece of code you are writing, you did a few months ago, and all it needed was a small tweak.
    When you reach 60, you begin to realize that your knowledge is great, your experience is great, but that you cannot compete with youth. They can do work 16 hour days for long periods. At 60 you can only do it once a week.
    At 65, you realize that there are other things in life, and you want to turn over the reins to that youth that you coached five years ago.
    Linux, you are moving into my space.

    --
    Leslie Satenstein Montreal Quebec Canada
  132. I like the way this guy thinks!!!!!! by doccus · · Score: 1

    I REALLY enjoyed reading all these answers.. and i firmly believe that you could learn more about software coding just reading this post than anywhere else in a day, even though he doesn't really cover the subject at all, but just by the way of looking at things, the way he does.. (like his preference for efficiency, to name one point). He has a really well ordered brain, IMHO.. Just my 2cents worth, here.. ;-)

  133. Re:sadly funny by deek · · Score: 1

    A well written piece of sophism. It doesn't address the idea, though, of where there is no proof, there is belief. Belief in something that exists, or doesn't exist, is still a belief, and therefore can fit a definition of religion. If I get a bunch of people together, with the single belief that we are alone in the universe, that there is no life elsewhere except on this planet, I have established a religion.

  134. Re:sadly funny by gottabeme · · Score: 1

    Your ignorance (or dishonesty) is showing.

    Christianity does not command any of those things. Nor did Jesus, nor any of the other NT writers. And even in the OT, it's quite clear that God favored mercy over sacrifice.

    You're guilty here of the same mistake that many Christians make when they want to justify a view they hold strongly: prooftexting. You fail to take into account the whole Bible, or even to attempt an actual exegesis of the texts you are referring to.

    You said two things that are true: doing the things you mentioned would indeed be intolerable, and all Christians (indeed, all humans) are hypocrites, in one way or another, at one time or another.

    The problem is that you set up a field of strawmen and knocked them over, claiming that you knocked over Christianity with them.

    --
    "Those who consume the bulk of goods are those who make them. We must never forget this secret of our prosperity."
  135. Re:sadly funny by gottabeme · · Score: 1

    Logically, believers do not claim that God's existence can be scientifically proven. Therefore a demand that it must be scientifically proven is a false dilemma. It's practically a religion unto itself: scientism.

    Logically, there are questions which science cannot answer, and theories which science cannot prove. Therefore, just because science cannot prove something does not mean it is untrue. Truth is truth, regardless of what method one may use to discover it. Truth existed before science was even conceived of.

    Calling someone or something you disagree with "crazy" is an ad hominem, a logical fallacy. Please study logic.

    --
    "Those who consume the bulk of goods are those who make them. We must never forget this secret of our prosperity."
  136. Not so atomic by Anonymous Coward · · Score: 0

    Except this code is only atomic on certain CPU architectures with certain compiler flags enabled. Now picture a million instances of that "atomic" code running in a couple thousand threads simultaneously. On one machine it works, on another you'll get random crashes everywhere. That's why a mutex lock or similar should always be employed if portability is a concern. Once you have to start fixing your code by changing those million locations where you forgot to use a mutex, you'll see why it is a bad idea.

  137. Re:sadly funny by ThorGod · · Score: 1

    I'm replying to this entire conversation. My original comment (now moderated as "troll") did not mean to create a religion v atheist "debate". Trust me, I have no interest in such things on slashdot.

    I was simply expressing my desire for Torvalds to expand further upon his reading habits (or lack thereof). As I said previously, Torvalds states he can think of no books that greatly influenced or "changed" his world view. I wonder if this is because he's well read and nothing's "stuck out" to him, or if reading just isn't of value to him. Even a list of "programming books" that he references often would have been helpful...

    Again, my intention isn't to spur a religious discussion. It sucks that I did. Oh well.

    --
    PS: I don't reply to ACs.
  138. How to encourage people to understand open source. by Anonymous Coward · · Score: 0

    Hi, I would like to ask how to encourage people to realize Linux and open source in the country that can easily get illegal software for cheap. Most of the comment that they make on Linux are "linux is good, but it is difficult to use or difficult to find someone to maintain, and I can get software for cheap (illegal). Or "Linux is free, how I can trust" . I have been provide Linux solutions > 10 years, still have to answer these comments. I am wondering you may have some suggestions.
    Thank you,
    PP

  139. No, that's just a complaint by Tenebrousedge · · Score: 1

    I presume it works with OpenSolaris, FreeBSD, Mac OS, and/or iOS.

    You have an unsupported leap in logic there: that drivers don't exist because there isn't a stable ABI.

    Also, do show me the binary driver that works across two dozen cpu architectures. Or the manufacturer who is willing to release two dozen drivers for a niche platform.

    In other words, show that the lack of a stable ABI caused this problem, and then show that it would be a better solution. And don't ignore embedded linux; it's more profitable than the desktop.

    P.S. What resources have you contributed towards solving this problem?

    --
    Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    1. Re:No, that's just a complaint by dotancohen · · Score: 1

      I presume it works with OpenSolaris, FreeBSD, Mac OS, and/or iOS.

      You have an unsupported leap in logic there: that drivers don't exist because there isn't a stable ABI.

      Also, do show me the binary driver that works across two dozen cpu architectures. Or the manufacturer who is willing to release two dozen drivers for a niche platform.

      In other words, show that the lack of a stable ABI caused this problem, and then show that it would be a better solution. And don't ignore embedded linux; it's more profitable than the desktop.

      I have had the device distributor inform me that is the reason. Yes, I bothered to contact them and let them know that Linux support is important to me as a consumer.

      P.S. What resources have you contributed towards solving this problem?

      Are you implying that all users should be developers? Or is contacting hardware and software companies to request Linux support, and providing financial donations to the FSF, Anki, KDE, and other open source projects, and being active in open-source communities such as local LUGs, enough? And how would the situation be if I were "just a leech" who's interests are something other than IT and just wanted to use some Linux distro but not contribute, like most "computer users" do.

      --
      It is dangerous to be right when the government is wrong.
    2. Re:No, that's just a complaint by Tenebrousedge · · Score: 1

      In other words, show that the lack of a stable ABI caused this problem, and then show that it would be a better solution. And don't ignore embedded linux; it's more profitable than the desktop.

      I have had the device distributor inform me that is the reason. Yes, I bothered to contact them and let them know that Linux support is important to me as a consumer.

      Do you see how your response doesn't address the text immediately above it?

      P.S. What resources have you contributed towards solving this problem?

      Are you implying that all users should be developers?

      I fail to see where I implied anything whatsoever.

      And how would the situation be if I were "just a leech" who's interests are something other than IT and just wanted to use some Linux distro but not contribute, like most "computer users" do.

      Well, I don't know about you, but I find that expectations by themselves don't accomplish much. I'm sure you know the expression about wishing in one hand.

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
    3. Re:No, that's just a complaint by dotancohen · · Score: 1

      Do you see how your response doesn't address the text immediately above it?

      Right, my response addresses the entire quoted text. See how you selectively misinterpreted my response in order to provoke a reaction? You're a troll, probably on a deliberate mission to cause open-source contributors like myself to divert resources to fighting you rather than doing something productive, so I'll not continue this discussion any further.

      --
      It is dangerous to be right when the government is wrong.
    4. Re:No, that's just a complaint by Tenebrousedge · · Score: 1

      On the contrary, the quoted remark is quite critical to the debate.

      Please demonstrate by whatever means you like, that having a stable ABI would solve more problems than it causes. Please extend your remarks to cover the 20-year period of kernel development to date and the projected future, and also take into account existing and novel CPU architectures.

      My position is that a stable ABI would be useful only for a limited timeframe and have limited applicability outside the desktop market.

      I will note that on contentious issues such as this where this is already a decisive majority (id est, the kernel developers), revisiting the issue without substantiative proofs of any sort is nearer to what I would refer to as trolling. I, however, would ascribe this to shortsightedness rather than malice.

      --
      Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
  140. genius or no? by GentooBob · · Score: 1

    I'm a little disappointed that the creator/god of the linux kernel uses a Mac laptop with linux on it. Thats kind of a slap in the face to him. You buy a Mac to use the Mac OS considering they only support certain hardware to their liking and the stability and performance that comes with it. Linux can go on several different hardware platforms so there is no point to prove there. And since Apple switched to Intel platform you can get a similar PC laptop with same hardware specs a hell of a lot cheaper. Putting Linux on a Mac laptop will never meet the performance and stability that Mac OS would have. Just kinda ignorant to pay $1500 to $2000 on a laptop that most people use for the OS itself instead of paying $600 to 800 for the same setup from another vendor to throw linux on it.

  141. Re:Buffing? by psmears · · Score: 1

    I did not (and would not) say that door-hinge and orange is a perfect rhyme, however... only that is very good. Specifically, their rhyming parts differ in a single phoneme, where "hinge" uses the short 'i' sound, orange uses the schwa (upside-down e) sound in its second syllable

    I think you're possibly underestimating the degree of variation in pronunciation of English... for example, where I come from, the vowel you mention is in fact identical between the two words - but the "-inge" ending is all they have in common (e.g. the first vowel differs noticeably, and the "r" in "door-hinge" is not pronounced). This may go some way to explain the amount of disagreement you're encountering with your assertion :)

  142. Heh... Regarding laptops... by Svartalf · · Score: 1

    Linus might not understand the need to lug about a "monster"- the thing is twofold for me and his needs aren't mine...

    - Smaller than 17" displays have entirely too low a dot-pitch and are too small for my aging type II diabetic eyes. I can limp along with a 15" display, but...
    - Most of those "smaller" machines don't have the muscle needed to dev work, etc. and since I consult, doing things like porting game code, etc...

    Lesser machines don't do what I need. I don't really need a laptop in the normal sense (If I'm doing traditional laptop-ish things, my Android tablet does nicely enough and weighs in less than even his Macbook...)- I need a portable, reasonably lightweight desktop replacement. But then, Linus isn't doing what I'm doing- it probably makes sense for him there.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  143. Re:boring by Anonymous Coward · · Score: 0

    Slashdot, where even the armchairs are armchair psychologists.

  144. Re:boring by hviniciusg · · Score: 1

    STREEFT ONBEKOMMERT NAAR HET IDEALE = if you can't convince them, confuse them [truman]

  145. Re:boring by fritsd · · Score: 1

    Thank you fonske and cyphax for the interpretation; dear people, I honestly didn't mean to be cryptic or arrogant or elitist this time; it's just that sometimes things are easier to express in a short poem (I'm not a poet btw). Because you people actually responded to this ranting, I will try my best to explain what I think the poem means, though I could be wrong (I hadn't even thought of cyphax' interpretation :-) ).

    If I understand the poem correctly (which is by no means guaranteed of course), the way it struck me was what fonske and cyphax have already explained; the grammatical error is the most important part of it.

    By "you're now either annoyed ..." I meant that some people (grammar nazis?) can get upset at seeing a grammatical mistake and therefore their focus wanders to the mistake rather than to the message the sender tried to convey. Especially specialists, experts, teachers, maybe people who in their fields are used to correct the mistakes and fuck-ups of their underlings, can get into this micro-management mood where their attention is drawn to the mistake instead of the project progress.

    What I think this small poem tries to convey, is that this behaviour can trap you. It can distract you from constructing and updating the mental model of the larger project which you're responsible for.

    If you strive for the ideal, you will of course never reach it. That's impossible. We're only human, and most of us not even *that* good at whatever we do at the best of times, let alone on an average work day.

    However, often if you strive for an ideal project outcome, and you don't get distracted by minor flaws in the project execution, you will at least arrive *somewhere* having achieved an (of course imperfect) realization of (part of) your goal.

    The trick then seems to be to distinguish between flaws, errors and deliberate grammar errors which can in time *derail* the project, and errors that merely *delay* the project somewhat from its ETA. For some people these all look the same; they care *too much* and get mired in the details.

    So do your best "onbekommert", unenkumbert?, at your work, it's probably the best you can humanly achieve.


    I hope that made more sense.. uses a lot more words though. I didn't get hvinciusg's truman quote.

    I really really like that poem. I can recommend other (esp. political) posters by Loesje as well. They sell pocket books with them.

    --
    To be, or not to be: isn't that quite logical, Slashdot Beta?