I hope you won't mind my picking your brain: which MPSC ring buffer implementations did you find that does drop old items when full? I could only found implementations that are basically re-purposed MPMC, or that cannot…
LOX is apparently MPL, so a bit easier to work with than Nyx' AGPL, but still at odd with the MIT/Apache2 combo that has become the norm in the Rust world.
Just curious, what kind of simulations do you work on (mission design?) and what libraries would you use in C++?
Asynchronics | Rust developer | ONSITE or hybrid (2+days/week) | Full time | Warsaw, PL We are a young startup building digital twinning solutions for spacecraft validation & verification. The ideal candidate would have…
I can see why someone would prefer Typst over LaTeX when the source is written in Typst or LaTeX, but what are the advantages if your source document is in Markdown? Is there anything else beyond the (presumably)…
The producers of an MPSC queue may use an AtomicWaker::wake to signal to the consumer that a new item is ready. In this case all wake-ups are necessary (not spurious).
Another offender is AtomicWaker [1] which does the same on contention. [1] https://docs.rs/atomic-waker/latest/atomic_waker/
https://crates.io/crates/x
I needed to reflect Rust enums and went a bit further with that approach. All variants are wrapped in a decorated class, where the decorator automatically computes the union type and adds de/serialization hooks for…
TBH I consider the C++ `std::chrono` as the worse possible design. `tai_clock::now` does not actually take into account leap seconds. Unless it does, who knows ("Implementations may use a more accurate value of TAI…
Oh yes, absolutely, GP got it backward and I went along with it...
Sabine Hossenfelder apparently does this [1, 2] for $50/20min. [1] http://backreaction.blogspot.com/p/talk-to-physicist_27.html [2] https://aeon.co/ideas/what-i-learned-as-a-hired-consultant-f...
Not only is the instruction set simple, but the clock-per-instruction cost is deterministic, so assembly code is ideal for real-time I/O. Just like GP, we found that we could often use a PRU in place of an FPGA and…
I you think the NASA Open Source License is bad, look at the default license for non-commercial, ESA-funded software [1]. The territorial limitations effectively prevents any form of open distribution, yet the license…
As others wrote, Pandoc is Haskell so it compiles to a fairly efficient binary. But more importantly, unlike the various Markdown flavors or AsciiDoc, it is incredibly extensible thanks to the combination of custom…
> Two things can be true at the same time Yes, but it is not possible to assert that both are true at the same time with full certainty.
You are right of course, but I would contend that generating as well sub-normal floats is in 99.9% of the cases a needless cost. The reason is that, more often than not, all this extra precision will be immediately lost…
This is a widely used method to map random integers to floating point numbers, but it has the disadvantage of wasting 1 bit of float mantissa precision. On modern CPUs, its computational advantage over full-precision…
To be clear, as mentioned in another thread [0] there is no need to ensure consistency between head and tail for a SPSC so storing them in different cache lines would be much better. For the multiple-consumer variant,…
Note that the second variant does not claim to be MPMC, only SPMC. Many lock-free structures use CAS loops. It would not be lock-free if a consumer pre-empted at the wrong time could prevent other consumers to make…
The multiple-consumer version looks extremely similar, if not identical, to the Go [1] and Tokio [2] local work-stealing queues. These do a bit more though, as they also allow batch stealing operations. [1]…
Thanks for the video, flexure-based designs can be so beautiful. It reminded me of a collaboration I had with a small Swiss company that did wonders with electro-discharge machining such as this flexure-based mechanism…
More of a cutting edge CAD than a breakthrough CAD then?
Not a stupid question -- sorry for the jargon. It is what is mentioned in this fragment of the article: "When power flows into the EmDrive, the engine warms up. This also causes the fastening elements on the scale to…
Just to be clear, for most anyone with low-thrust measurement experience, thermal drift had been suspect nr 1 from the moment Eagleworks published their work. Here is a comment I made back at that time:…
I hope you won't mind my picking your brain: which MPSC ring buffer implementations did you find that does drop old items when full? I could only found implementations that are basically re-purposed MPMC, or that cannot…
LOX is apparently MPL, so a bit easier to work with than Nyx' AGPL, but still at odd with the MIT/Apache2 combo that has become the norm in the Rust world.
Just curious, what kind of simulations do you work on (mission design?) and what libraries would you use in C++?
Asynchronics | Rust developer | ONSITE or hybrid (2+days/week) | Full time | Warsaw, PL We are a young startup building digital twinning solutions for spacecraft validation & verification. The ideal candidate would have…
I can see why someone would prefer Typst over LaTeX when the source is written in Typst or LaTeX, but what are the advantages if your source document is in Markdown? Is there anything else beyond the (presumably)…
The producers of an MPSC queue may use an AtomicWaker::wake to signal to the consumer that a new item is ready. In this case all wake-ups are necessary (not spurious).
Another offender is AtomicWaker [1] which does the same on contention. [1] https://docs.rs/atomic-waker/latest/atomic_waker/
https://crates.io/crates/x
I needed to reflect Rust enums and went a bit further with that approach. All variants are wrapped in a decorated class, where the decorator automatically computes the union type and adds de/serialization hooks for…
TBH I consider the C++ `std::chrono` as the worse possible design. `tai_clock::now` does not actually take into account leap seconds. Unless it does, who knows ("Implementations may use a more accurate value of TAI…
Oh yes, absolutely, GP got it backward and I went along with it...
Sabine Hossenfelder apparently does this [1, 2] for $50/20min. [1] http://backreaction.blogspot.com/p/talk-to-physicist_27.html [2] https://aeon.co/ideas/what-i-learned-as-a-hired-consultant-f...
Not only is the instruction set simple, but the clock-per-instruction cost is deterministic, so assembly code is ideal for real-time I/O. Just like GP, we found that we could often use a PRU in place of an FPGA and…
I you think the NASA Open Source License is bad, look at the default license for non-commercial, ESA-funded software [1]. The territorial limitations effectively prevents any form of open distribution, yet the license…
As others wrote, Pandoc is Haskell so it compiles to a fairly efficient binary. But more importantly, unlike the various Markdown flavors or AsciiDoc, it is incredibly extensible thanks to the combination of custom…
> Two things can be true at the same time Yes, but it is not possible to assert that both are true at the same time with full certainty.
You are right of course, but I would contend that generating as well sub-normal floats is in 99.9% of the cases a needless cost. The reason is that, more often than not, all this extra precision will be immediately lost…
This is a widely used method to map random integers to floating point numbers, but it has the disadvantage of wasting 1 bit of float mantissa precision. On modern CPUs, its computational advantage over full-precision…
To be clear, as mentioned in another thread [0] there is no need to ensure consistency between head and tail for a SPSC so storing them in different cache lines would be much better. For the multiple-consumer variant,…
Note that the second variant does not claim to be MPMC, only SPMC. Many lock-free structures use CAS loops. It would not be lock-free if a consumer pre-empted at the wrong time could prevent other consumers to make…
The multiple-consumer version looks extremely similar, if not identical, to the Go [1] and Tokio [2] local work-stealing queues. These do a bit more though, as they also allow batch stealing operations. [1]…
Thanks for the video, flexure-based designs can be so beautiful. It reminded me of a collaboration I had with a small Swiss company that did wonders with electro-discharge machining such as this flexure-based mechanism…
More of a cutting edge CAD than a breakthrough CAD then?
Not a stupid question -- sorry for the jargon. It is what is mentioned in this fragment of the article: "When power flows into the EmDrive, the engine warms up. This also causes the fastening elements on the scale to…
Just to be clear, for most anyone with low-thrust measurement experience, thermal drift had been suspect nr 1 from the moment Eagleworks published their work. Here is a comment I made back at that time:…