nav search
Data Centre Software Security DevOps Business Personal Tech Science Emergent Tech Bootnotes
BOFH
Lectures

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

Anonymous Coward

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

185
0
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.

52
0
Silver badge

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

It's just a matter of waiting long enough.

56
0
Anonymous Coward

There were more than ten. Got censored really early.

30
2
Silver badge

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

(Ob. Mel brooks reference....)

60
0
Silver badge

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

And they came down from a cloud.

82
0
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..

29
0
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...

9
2
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.

56
19
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.

67
0
Silver badge

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

1
0
Silver badge

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

10
0

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

21
1
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.

30
3
Silver badge
Coat

@Patched Out --

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

He must have been holding them wrong.

16
0

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

3
0
Anonymous Coward

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

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

9
0
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

3
0
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.

42
13
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.

92
0
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.

48
3
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.

28
4

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.

29
1
Silver badge

Re: Threads are certainly useful

You could say a necessary evil perhaps?

17
1

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.

10
1
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.

10
0
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.

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

5
1
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.

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

7
6

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.

7
2

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

Multi-process was a valid architecture in 1995

4
2

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.

14
0

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.

3
0

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.

4
2
Silver badge
Coat

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

Not that old yarn again.

6
0

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

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

3
0
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.

3
1

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.

1
0

Re: It separates the men from the posers.

ITYM “it separates the men from the Posixers.”

There, FTFY.

0
0
Anonymous Coward

Probably simpler and more effective than most codes of conduct.

44
5
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.

45
15

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

46
41
Anonymous Coward

> t's actually one of the best Code of Conducts I've seen, particularly since minor transgressions are forgiven.

Yes, I think that part is what has the twitterrati enraged. They prefer to go straight for crucify, crucify!

41
6
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.

43
8
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.

42
2
Silver badge
Happy

Christian Berger

The clue is in the name!

10
0
Silver badge

The 'general behaviour' parts of the code are good, and are indeed taking just those would make an ace general-purpose code of conduct. (of course they can all be boiled down to 'be nice to others')

The overtly religious points verge between stupidly patronising to plain weird.

BUT the real disqualifiers for this list to be upheld as an exemplary code of conduct are:

54/55 - "Speak no useless words or words that move to laughter. / Do not love much or boisterous laughter." Come on, laughter is the best medicine and a sense of humour is extremely important.

63. "Love chastity." No. Just, no. (OK I understand it might be directed towards SQL nerds where it anyway does not apply.... but still, NO)

25
7
Silver badge
Pirate

"they are explicitly guidelines not strict rules"

So more like the Pirate Code, then?

18
0

Page:

POST COMMENT House rules

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

  • Enter your comment

  • Add an icon

The Register - Independent news and views for the tech community. Part of Situation Publishing