sparq_beam | 8 years ago | on: Ask HN: What is your favourite tech talk?
sparq_beam's comments
sparq_beam | 8 years ago | on: System Shock 1 source code released under GPL
sparq_beam | 8 years ago | on: CRPG Book Released
When I tried the first one, I was very impressed by the combat system as shown on the starting tutorial, but as soon as you get to the first city there is too much dialog. I realize that dialog is part of cRPGs, but when the ratio of gameplay to dialog is too low, I'd rather read a book.
sparq_beam | 8 years ago | on: Ask HN: Great science fiction movies?
sparq_beam | 8 years ago | on: Ask HN: What books are you currently reading?
I had enjoyed Sundiver and Startide Rising from the same series quite a bit, but I have to be honest, this one is trying my patience. I like the whole uplift concept, but I'm finding the writing in this one a bit clumsy.
sparq_beam | 9 years ago | on: Secret colours of the Commodore 64
It's interesting that he doesn't mention phantom reads as the difference between repeatable read/snapshot isolation, and serializable, which is what other sources tend to do.
Snapshot isolation always seemed to me like cheating the intended meaning of repeatable read, insofar as some databases refer to their snapshot isolation level as repeatable read.
That is, in the strictest sense, if you read a row twice, you get the same value with snapshot isolation, but you don't actually know that the value will be the same when you commit, which as I understand is a case of a write skew.
In fact, if one thinks of the definition of these levels in terms of locking semantics, one would expect a repeatable read to have the same meaning as obtaining a read lock on the row you read, which I understand would prevent at least some types of write skew, since no modification would be possible on that row, because it would need a write lock. There could still be hazards related to phantom reads (and possibly other effects), such as making a decision based on a computed aggregate that can change if new rows are inserted. Still, this meaning of repeatable reads would already provide a useful isolation level for various cases, except that it doesn't work with snapshot isolation.
I have a suspicion that applications out there made incorrect assumptions as to the actual isolation provided by the DB they use.