kaymanb
Joined 8 years ago
Joined 8 years ago
Shuttle's approach is to be randomized, instead of exhaustive like loom. However, the scheduler does still give probabilistic guarantees about finding bugs. I found that shuttle was faster and scaled to more complicated test scenarios.
Similar to the article, shuttle also lets you save the random seed if a particular schedule causes the test suite to fail. Being able to quickly reproduce failing tests is really important and enables you write explicit test cases for bugs that were previously caught and fixed [3].
[0] https://github.com/kaymanb/todc/tree/main/todc-mem [1] https://github.com/tokio-rs/loom [2] https://github.com/awslabs/shuttle [3] https://github.com/kaymanb/todc/blob/0e2874a70ec8beed8fae773...
Also, for what it's worth, Jenkins changed their terminology to use "agent" instead of slave in 2020 [0]. These efforts might seem futile in isolation, but they add up over time.
[0] https://www.jenkins.io/blog/2020/06/18/terminology-update/
Overall, my experience has been positive. When it works, it's great. A pattern I've been following is to have a single fixture that returns a simulation of the system under a standard configuration, for example N replicas of an atomic register, so that each test looks like: 1. Modify the simulation with something like`turmoil::hold("client", "replica-1")`. 2. Submit a request to the server. 3. Make an assertion about either the response, or the state of the simulation once the request has been made. For example, if only some replicas are faulty, the request should succeed, but if too many replicas are faulty, the request / simulation should time-out.
One of the things I have found difficut is that when a test fails, it can be hard to tell if my code is wrong, or if I am using Turmoil incorrectly. I've had to do some deep-dives into the source in order to fully understand what happens, as the behavior sometimes doesn't line-up with my understanding of the documentation.
In theoretical distributed computing, The Space Complexity of Concencus From Swap [0] solves a problem that has been open for a couple decades, and won Best Paper at PODC 2022.
In quantum complexity theory, MIP^* = RE [1] was really big deal when it was published in 2020. It got a (relative) ton of press coverage, and there are lots of articles and blog post available that give a high-level of the result and techniques used. I like this one [2] from Quanta Magazine.
[0] https://dl.acm.org/doi/abs/10.1145/3519270.3538420
[1] https://arxiv.org/abs/2001.04383
[2] https://www.quantamagazine.org/landmark-computer-science-pro...
It is so easy to put pressure, shame, and negativity onto yourself, to a degree that you never would for anyone else. It has been very helpful at times to ask "What would I say to a good friend who was in the same situation as me?". Almost always, it is a complete 180 from the aweful things I would tell myself. Knowing that I have the ability to be just as compassionate to myself as I strive to be towards others, has been huge.
The article seems to focus on complexity theory, but I couldn't think of any from that sub-field. My first thought is the Paxos algorithm for distributed consensus [1], which definitely has a reputation of being difficult to understand, and fits under the Theory umbrella.
[1] https://en.m.wikipedia.org/wiki/Paxos_(computer_science)
The author (rightfully) argues that what bankers do is difficult, and so it makes sense that they are compensated for it. But they also use this as an excuse for the finance industries short-comings: pricing mortgage backed securities is hard, coordinating bailouts is hard, so are bankers really to blame if they don't get it perfectly right?
I don't think you can have it both ways.
"I don’t know many poor, or working class, or female, or struggling-to-be-taken-seriously folk who would show up at the inauguration of our 46th president dressed like Bernie."
Given the importance of the event, there is a socially constructed "dress code". The privilege comes from Bernie being able to break this code without fear of negative repercussions.
What does not being blind to this privilege look like? I agree that there is an angle to read Bernie and his mittens as an example of privilege. But I would also say that the outcome of the mitten craze has been, overall, positive.