359 karma · joined May 1, 2009
I think it’s more tractable to define this problem space starting from the concept of (strict) serializability, which is really a generalization of the concept of thread safety. Every software engineer has an intuitive understanding of it. Lack of serializability can lead to execution-dependent behavior, which usually results in hard-to-diagnose bugs. Thus, all systems should strive towards serializability, and the database can be a tool in achieving it.
Various non-serializable levels of database transaction isolation are relaxations of the serializability guarantee, where the database no longer enforces the guarantee and it’s up to the database user to ensure it through other means.
The isolation phenomena are a useful tool for visualizing various corner cases of non-serializability, but they are not inherently tied to it. It's possible to achieve serializability while observing all of the SQL phenomena. For example, a Kubernetes cluster with carefully-written controllers can be serializable.
It's a 3D render. The actual display seems to be more or less centered[0].
> Also the wake up button is on the left instead of the right
One could presumably flip the device and the rotate the screen rendering by 180 degrees. This is how Apple Watch handles right wrist use.
[0]: https://pine64.com/wp-content/uploads/2020/09/PineTive-DevKi...
As in, your output is the same as with a 5 day work week? So essentially a 20% pay cut per unit of work performed?
[1]: https://www.ecma-international.org/ecma-262/11.0/index.html#...
This sounded too ridiculous to me, so I started digging. Lo and behold, [1]. Appendix 8, sections 2 and 3.
The entire thing is a fun read, with pearls such as:
in the case of an Intel CPU with either the Sandybridge or Ivybridge
chipset where the competitor chooses not to exploit the AVX feature; the
competitor must explicitly declare and be able to demonstrate that they are
not using the AVX feature in the CFD solve process. If the non‐usage of the
AVX feature is proven to the auditor, the Intel Sandybridge and Ivybridge
chipset cores can be rated as 4 FLOP/cycle/core rather than as 8
FLOP/cycle/core.
[1]: https://www.fia.com/sites/default/files/2019_sporting_regula...It is known that brown rice requires a different ratio of water, but this is something that can be replicated with any method. Does the special brown rice setting change the heat output of the rice cooker?
[1]: Fancy rice cookers use non-constant power, or so I've heard. Not sure how much it influences the taste, though.
Both Lawrence Wong and Gan Kim Yong are Singaporeans.
https://en.wikipedia.org/wiki/COVID-19_pandemic_in_Singapore
I've always assumed that you use "an" whenever a noun starts with a vowel sound, which "Nvidia" does ("n" being pronounced as "en"), thus making "an Nvidia" the grammatically correct one.
The point of a result type is that you _cannot_ ignore the None case. Any method that would provide you with the value will also check that the error is not present.
In comparison, you can happily ignore `err` in Golang and continue with an invalid `value`.
The `strings.Compare`[1] function is used to establish ordering, in the spec sense. You'd think they would name it "Order".
Similarly, the popular go-cmp[2] library provides `Equal` for equality, instead of `Compare`.
[1]: https://godoc.org/strings#Compare [2]: https://github.com/google/go-cmp
Such a feature requires support from the parser.
By default, the Go runtime does not guarantee any affinity between Go-level threads (goroutines) and OS threads. There's a way to forcibly pin a goroutine to a specific thread[1], but it limits your concurrency.
The Go approach does indeed cause problems wrt. OS-thread-affine state. It's a tradeoff. For RPC-oriented network services, the Go niche, OS thread state is very rare.
What you need is:
use futures::join;
let result = executor::block_on({
let one = async { do_something_useful_one() };
let two = async { do_something_useful_two() };
let (one, two) = join!(one, two);
one + two
});
I feel like this might be a common stumbling block and hope there will be a Clippy check for this or something.Döner joints. They are about ~15 CHF for a meal including a drink.
I don't think Rust is that much different from other functional languages. The main critical difference is the manual memory management feature - the way it's acknowledged and used throughout the language and the ecosystem means that the functional patterns commonly used in garbage collected languages don't look nearly as natural in Rust.