Slashdot Mirror


Tridgell and Samba Recognized

An anonymous reader writes "It's official, Samba creator Andrew Tridgell is Australia's smartest man... in IT anyway. He's received Bulletin magazine's 'Smart 100' award for the IT sector. He's also written about how Samba came into being, which was basically because he was trying to avoid doing any real work on his PhD. He also tells us how he discovered Linux and why he believes Open Source Software is superior to proprietary code... He also talks about rsync and his plans for the future..."

8 of 93 comments (clear)

  1. Samba is King of the Free Software World by Bombcar · · Score: 3, Insightful

    Admit it. With the exception of Apache, Samba is the number one reason that Linux (and BSD, too!) has been able to invade the datacenters of companies the world over.

    Without Samba, Linux et al would be in a much less pretty position.

    Perhaps we should call it Samba/GNU/Linux? :)

    Kudos to the Samba Team, Tridge, and all Samba developers/testers/users!

  2. Meh. by cperciva · · Score: 4, Insightful

    Rsync is overrated. It's useful for files with local edits (eg, text and source code), but performs poorly on files which tend to have global, sparse, changes (eg, most data files, and all executables). Changing one character will result in an entire block being transmitted -- put another way, the bandwidth usage is O(n/k+kD), where n is the file size, D is the edit distance, and k is a parameter (the block size).

    This is considerably worse than necessary; it is possible to cut the bandwidth down to O(n/k+kI+S), where n,k are as above, I is the number of inserts/deletes, and S is the number of substitutions. For executable files, this can easily result in a fivefold improvement.

    Rsync is certainly a useful tool, but it isn't the synchronization-tool-to-end- all-synchronization-tools which many people consider it to be.

    (Side note: I have the same DPhil supervisor as Andrew Tridgell, so I feel perfectly entitled to bash my fellow student's work.)

    1. Re:Meh. by EvilTwinSkippy · · Score: 2, Insightful
      Gentoo users everywhere would beg to differ.

      A working implementation is far more useful than a perfect theory.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    2. Re:Meh. by cperciva · · Score: 2, Insightful

      Could you explain why 'kD=kI+S'?

      It isn't. The edit distance D is equal to I+S -- rsync uses a factor of k more bandwidth than necessary for dealing with isolated substitutions.

      You're saying that substitutions can be done in constant bandwith inpendent of the file size?!

      Well... there's actually a factor of log(n/S) which I omitted. And the n/k is actually n/k log(n) (for both algorithms). But keeping track of logarithmic factors gets a bit silly -- people like to assume that they can perform things like address operations in constant time (which isn't really true).

      Where is the 'n/k' bandwidth going to? Is that protocol overhead?

      The n/k is used to transmit block checksums, in order to identify which parts of the file need to be transmitted (the kD).

  3. Re:I find his argument somewhat strange. by Builder · · Score: 2, Insightful

    Samba often needs rewrites because of the scope of changes that MS make to their protocols and authentication mechanisms. The samba team will ALWAYS be one step behind on this one because they have to wait and see what MS do and then respond.

  4. Re:I find his argument somewhat strange. by 0123456 · · Score: 3, Insightful

    "So, it's the "proprietaries" as I will not call them that only write bad code? Didn't he just suggest that his first attempt was poorly written. Or maybe he's arguing that it's continually poor no matter how many times it's re-written."

    His argument, I think, is that with closed source, dozens of companies are all writing bad code to do the same thing, whereas with open source, that bad code only has to be written once... and then either the programmer soon gets so embarassed that they end up rewriting it properly, or someone else gets so disgusted that they do so.

  5. Re:I find his argument somewhat strange. by Zathrus · · Score: 2, Insightful

    Why would Samba need a major re-write if the code weren't properly written in the first place?

    Because things evolve. If you ever write a program and can't think of ways to improve it when you're "done" then you've failed as a programmer -- you've learned nothing from the experience. There is no such thing as perfect code. There's always another feature, another bug, or a more elegant (easier to understand and extend -- if it happens to be more efficient then that's a bonus) way to do things.

    Eventually you reach the point at which the code base has been extended so many times that it's become crufty, and crufty code is likely to be buggy code. At that point you can either walk away from it, ignore the cruft (this is a valid decision), or decide to rewrite large portions. This doesn't mean that the code was poorly designed. Sure, some parts of it may look poorly designed now, but that may be because the world has changed and the original requirements are no longer the same as real world requirements. You may have simply extended the code beyond the point the design intended. It happens. Saying that the code is poorly designed because of this is the same as saying that a small rural bridge is poorly designed because it would collapse if a 70T tank tried to go over it.

    It seems from his comments, that bad code won't be magically fixed in the world of open-source and I think it's not necessarily true that closed-source will just turn out garbage over-and-over again.

    I don't know how you got that from the comments. The idea is that open source code doesn't come back as bad -- it gets refined over time from many eyes and many hands and comes back as better (if not good). Closed source doesn't inherently turn out crap -- but it doesn't get the advantage of many eyes, many hands, and virtually unlimited time. Code reviews can do a good bit toward eliminating this disadvantage though, but not enough companies do them. And being pressed for time doesn't help in writing good code (but unlimited time does not inherently give you good code either!).

  6. Re:He wasn't smart enough to catch... by Jeremy+Allison+-+Sam · · Score: 3, Insightful

    He didn't write the code with that flaw in it, I did.

    So did you get exploited by this flaw ? Did you lose data or
    get compromised ? Do you have a legitimate complaint, or are
    you carping anonymously about "communist collective's" because
    you don't know how to code yourself, and you fear them ?

    The psychology behind comments like this is interesting to me,
    I always wonder if you're the same kind of people who "key"
    expensive cars because you don't own one ? Did you ever write
    software yourself ? Do you know how ?

    Jeremy Allison,
    Samba Team.