back to article SQLite creator crucified after code of conduct warns devs to love God, and not kill, commit adultery, steal, curse...

Open-source database SQLite has told its developers it expects them to follow Christ, love chastity, clothe the naked, and not murder, steal, nor sleep with their colleagues' spouses. That's the upshot of a somewhat untypical code of conduct that the widely used project has published online. While most code of conducts take an …

Page:

  1. Anonymous Coward
    Anonymous Coward

    To be fair the ten commandments were written on a tablet.

    1. bazza Silver badge

      A tablet with WORM storage. It's a bit hard to erase writing from stone slabs, takes a considerable amount of current on the block erase supply line.

      1. Lee D Silver badge

        To be fair, they would be subject to wear-levelling.

        It's just a matter of waiting long enough.

      2. Voyna i Mor Silver badge

        ->

        If you check the original manual you will see that erasure consists of breaking the tablet, then going and getting another one. Apple and Samsung endorse this method.

    2. Anonymous Coward
      Anonymous Coward

      There were more than ten. Got censored really early.

      1. vtcodger Silver badge

        "There were more than ten. ..."

        Somewhere between 9 and eleven depending on which authority you believe. Can't refer to the original tablets for enlightenment as Moses broke the tablets up before they could be transcribed into Wikipedia..

        1. bombastic bob Silver badge
          Devil

          Maybe it was adjusted to fit the numerology beliefs of the day. 10 is a number of 'completion'.

          Either that, or the other way around...

        2. Rich 11 Silver badge

          Just 10? I thought there were 613.

          Amazing how many different interpretations can be made from the same few fairy tales. Thankfully no-one has ever thought them worth fighting over.

          1. Anonymous Coward
            Anonymous Coward

            The 613 are the total Jewish commandments from around 3ad, not the ones mentioned in the Torah and Old Testaments.

            1. Cem Ayin
              Joke

              OT: 613 Commandments

              As the old joke goes: When Moses came down from Mt. Sinai, the people were asking him: "Now, how did it go?" And Moses replied: "Not too bad - I managed to get him down to 613."

      2. Voyna i Mor Silver badge

        There were more than ten. Got censored really early.

        As it later turned out, all that guff about not killing people, not committing adultery and so on got ignored almost immediately, while the stuff about not eating prawns was rigorously enforced.

        Proof if it were needed that sex is better than shellfish.

      3. BostonEddie

        Actually thre were three sets of ten commandments each. And Moses had a hissy on Mt Sinai and destroyed the first set.

    3. Someone Else Silver badge

      To be fair the fifteen...er...ten commandments were written on a tablet.

      (Ob. Mel brooks reference....)

    4. Chris King Silver badge

      "To be fair the ten commandments were written on a tablet".

      And they came down from a cloud.

    5. steviebuk Silver badge

      An Android or iPad? or some other brand? "Yeshua" brand?

      1. Danny 14 Silver badge

        also used an archaic language. Widely distributed open source too.

      2. Patched Out

        Had to be (an) iPad(s). They broke when Moses dropped them.

        1. Someone Else Silver badge
          Coat

          @Patched Out --

          Had to be (an) iPad(s). They broke when Moses dropped them.

          He must have been holding them wrong.

    6. Antron Argaiv Silver badge
      Thumb Up

      Only one needed

      Don't be a dick.

      // yes, you.

      // and if you get the chance to do something nice for someone, do it

  2. ThomH Silver badge

    Not the first piece of absurd preaching to come from the SQLite team

    To quote the FAQ:

    (6) Is SQLite threadsafe?

    Threads are evil. Avoid them.

    SQLite is threadsafe. We make this concession since many users choose to ignore the advice given in the previous paragraph.

    After I've realised why it's evil not to throw away 75%+ of the processing power available to my application, I'll worry about the other strictures emanating from the SQLite team.

    1. Eddy Ito Silver badge
      Coat

      Re: Not the first piece of absurd preaching to come from the SQLite team

      But that's true, threads are evil. I pulled one once and it seemed like the whole thing was going to unravel.

      The one with the short left sleeve, thanks.

      1. Crisp Silver badge
        Coat

        Re: It seemed like the whole thing was going to unravel.

        Not that old yarn again.

        1. onefang Silver badge

          Re: It seemed like the whole thing was going to unravel.

          Looks like they'll string us along for a bit longer.

      2. Anonymous Coward
        Anonymous Coward

        ...threads are evil...

        If you want evil, try debugging a Python asyncio or Twisted application: all the horrors of the Windows 3.1 message loop writ large in Python. I'd take threads any day.

    2. Christian Berger Silver badge

      Re: Not the first piece of absurd preaching to come from the SQLite team

      "After I've realised why it's evil not to throw away 75%+ of the processing power available to my application,"

      Well but for the typical usecase of SQLite threads bring more problems than they are worth. If you want to have software that can have it's database hammering with multiple processors on multiple harddisks you shouldn't use SQLite but some sort of "real" SQL-Server.

      The whole idea behind SQLite is that you'll have the good things about SQL without having to have an extra server.

      1. DaLo

        Re: Not the first piece of absurd preaching to come from the SQLite team

        " If you want to have software that can have it's database hammering with multiple processors on multiple harddisks ..."

        Doesn't necessarily mean this. You may have high intensity procedures doing significant number crunching running on multiple threads which are just storing and retrieving small amounts of data from the SQLite database. The database isn't being hammered or particularly big but it still needs to be accessible and consistent across multiple threads.

        1. Christian Berger Silver badge

          Re: Not the first piece of absurd preaching to come from the SQLite team

          "The database isn't being hammered or particularly big but it still needs to be accessible and consistent across multiple threads."

          So you just need one lock around the database functions. That's apparently what they have implemented.

      2. Charlie Clark Silver badge

        Re: Not the first piece of absurd preaching to come from the SQLite team

        The whole idea behind SQLite is that you'll have the good things about SQL without having to have an extra server.

        I think your claims about SQL are a bit ambitious: it effectively grafts SQL onto a two-typed CSV storage designed for single user access.

        1. Danny 14 Silver badge

          Re: Not the first piece of absurd preaching to come from the SQLite team

          having multiple read threads isnt necessarily evil. But yes, juat use mariadb/mysql et al if you need heavier use.

          1. ThomH Silver badge

            Re: Not the first piece of absurd preaching to come from the SQLite team

            The FAQ doesn't attempt to scope its verdict on threads to SQLite; it does however state an advocacy position, contrary to the norm, citing only a single decade-old paper. Being persuasive is, at best, a fleeting consideration.

            But on the whole implementation thing: after the hard stuff of statement parsing SQLite's underlying store is just sorted lists for binary search. So this feels like exactly what readers-writer locks are for: there's a simple, robust, well-documented, well-informed told, widely-implented solution. And then there's just proclaiming a deeply-held conviction.

    3. Paul Crawford Silver badge

      Re: Not the first piece of absurd preaching to come from the SQLite team

      To be fair here I have of agree with the "threads are evil" thing. Trying to debug code that lacks repeatability due to some thread interaction that is not deterministic (due to variable run-time timing, or due to an asynchronous event) is definitely the Devil's work. Yes, there are synchronisation primitives to (hopefully) work around it, but then you get in to the OS war zone.

      Stick to multiple single-thread processes where possible...at least such a process can be expected to behave the same for the same inputs, and if not that alone is a bug.

    4. find users who cut cat tail

      Re: Not the first piece of absurd preaching to come from the SQLite team

      Threads are certainly useful. However, that does not make them any less evil.

      1. Paul Crawford Silver badge

        Re: Threads are certainly useful

        You could say a necessary evil perhaps?

    5. Ian Michael Gumby Silver badge
      Boffin

      Re: Not the first piece of absurd preaching to come from the SQLite team

      Actually, if you read the last line... it could explain why he chose this as the CoC:

      "nor sleep with their colleagues' spouses."

      That said, anyone who claims threads to be evil doesn't know how to use and manage threads.

      It separates the men from the posers.

      1. Ben Liddicott

        Re: Not the first piece of absurd preaching to come from the SQLite team

        This is not an unreasonable requirement for a code of conduct, it's actually really common. For example it's also a requirement in the police and armed forces.

      2. CRConrad

        Re: It separates the men from the posers.

        ITYM “it separates the men from the Posixers.”

        There, FTFY.

    6. unimaginative

      Re: Not the first piece of absurd preaching to come from the SQLite team

      You have not understood what that is advocating: multi-process instead of multi thread. The same approach preferred by Python, Node,js, and a lot more. Its a better approach in most cases.

      1. James 47

        Re: Not the first piece of absurd preaching to come from the SQLite team

        Multi-process was a valid architecture in 1995

    7. maffski

      Re: Not the first piece of absurd preaching to come from the SQLite team

      '...Threads are evil. Avoid them...'

      .'..After I've realised why it's evil not to throw away 75%+ of the processing power available to my application...'

      There speaks a man who has never had a race condition.

      1. doublelayer Silver badge

        Re: Not the first piece of absurd preaching to come from the SQLite team

        Threads are problematic because they can cause a lot of annoying race condition/concurrency problem things. That doesn't make them evil any more than the compiler is evil because it optimizes code into a method that makes it hard to debug, or the operating system is evil because it limits the number of open files you can have. They work in some way, and they each have a reason to do so.

        Threads are useful over processes because your code is more united; you can create threads that are nicely connected to a codebase while multiprocessing is uglier. Threads let you have interactions between each other whereas processes don't have convenient communication mechanisms (sighup is not enough). To communicate between processes, you usually have to create your system yourself and it's slower.

        As for SQLite, I typically use it only as a convenient type of data storage, or for an application that needs a local database inside itself. For real database requirements, it's not going to have enough features or capacity.

      2. IGnatius T Foobar !

        Re: Not the first piece of absurd preaching to come from the SQLite team

        <blockquote>There speaks a man who has never had a race condition.</blockquote>

        tsk tsk tsk ... race conditions are DEFINITELY not permitted by the Ehmke CoC. Race is a very sensitive subject, you know.

  3. Anonymous Coward
    Anonymous Coward

    Probably simpler and more effective than most codes of conduct.

    1. Christian Berger Silver badge

      It's actually one of the best Code of Conducts I've seen, particularly since minor transgressions are forgiven. I mean it was tested for many centuries and it worked.

      1. DeeCee

        tell that to people murdered in crusades or by inquisition, or any other religious bs

        1. Christian Berger Silver badge

          "tell that to people murdered in crusades or by inquisition,"

          That's like saying that being nice to each other is bad, just because there are SJWs out there who shitstorm everybody who doesn't fullfill their believes.

          Any sort of belief can be used to aflict harm on people, particularly if it doesn't have any safeguards against that.

          This set of rules starts with the idea that you can never fullfill them all, they are explicitly guidelines not strict rules. This makes them far more humane than any other CoC I've read so far as it accepts errors made with good intentions.

          1. jmch Silver badge
            Pirate

            "they are explicitly guidelines not strict rules"

            So more like the Pirate Code, then?

        2. Christian Berger Silver badge

          "tell that to people murdered in crusades or by inquisition, or any other religious bs"

          BTW, the crusades happened 500 years after this document was published. That's a long time.

          Also the crusades and inquisitions clearly violate points 2, 3, 31, 64 and 70.

          1. sabroni Silver badge
            Happy

            Christian Berger

            The clue is in the name!

            1. Anonymous Coward
              Anonymous Coward

              Re: Christian Berger

              "The clue is in the name!"

              Twice, in fact:-

              Berger is the french word for Shepherd.

            2. Glenturret Single Malt

              Re: Christian Berger

              As also in Cristiano Ronaldo

Page:

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2019