• 1 Post
  • 326 Comments
Joined 3 years ago
cake
Cake day: June 18th, 2023

help-circle

  • A spinning circle requires just two threads, one to do the work and one to spin the circle. And they don’t have to talk to each other.

    A progress bar is the same thing, but now the work thread has to periodically communicate the progress to the bar thread, and inter-thread synchronization has to be setup. And how do you know how much progress a single file transfer represents? Or how many progress points is a registry edit versus a file transfer? It’s hard to figure out in advance, which is why so many progress bars are shitty estimates of progress.












  • I don’t know about your definition of “living wage,” but In-n-Out has a long-standing reputation for paying decent and above-market wages, both in 2016 and today.

    I would guess that most of the current price premium over inflation is attributable to the current record high beef prices owing to a record low North American cattle herd.


  • More than an investigation, there’s now a criminal indictment that alleges that SPLC, Inc. defrauded their donors when they paid undercover informants to infiltrate racist and extremist groups. The theory of the case is that SPLC was actually assisting and aiding these racist groups, contrary to SPLC’s public positions, by doing things like paying membership dues on behalf of their undercover informants.

    There are also money laundering charges on the basis that SPLC deliberately misstated the purpose of funds when they were transferring money over to the undercover infiltration side of the operation. Because, maybe, you know, they were trying to be under cover about it.




  • This doesn’t happen “on a distro” because all of the different software functions are at different safety criticalities. The autopilot is (usually) level B, the air data system that delivers altitude and airspeed is level A, the navigation computer is level C (because pilots can still navigate without the aid of the computer). And so on.

    At level C, the standard is statement coverage with unit tests. At level B, it’s decision coverage, covering every branch. And at level A, it’s modified condition / decision coverage, which is a lot more complex and expensive to write.

    If you mix code for stuff at different levels, you have to develop the whole package to the highest level. Unless you can prove that the lower level code can’t interfere with the higher level code.

    The easiest way to prove that is to put the different levels into different computers, so they’re only talking to each other on some digital bus interface. That’s called “hardware partitioning”. There’s also “software partitioning”, but it requires an operating system or supervisor layer to provide the guarantees, and that operating system has to be developed to the highest safety level that it handles.

    Final result: you still see a lot of discrete computer boxes on airplanes. Various vendors have developed safety-critical OSes for main avionics computers, but they’re closed-source, and usually not based on Linux at all.



  • I believe two of these are naval aviators, and they would take exception with the “army” characterization.

    But you’re generally correct. It’s very common that astronauts will not only have a military background, they frequently are active duty military officers on a long term detail to NASA.

    The army is not well represented in the astronaut corps, because the US army only flies helicopters under an inter-branch coordination agreement.


  • Toilet drains into two different containers for each type of waste. The urine holding tank periodically vents overboard. The feces canisters are stored and returned to earth.

    The ongoing problem is that the urine holding tank is not venting into space very well when they open the valve. The toilet drains both waste types into their containers ok. But since the urine holding tank is about the size of an office trash can, it can fill up very fast.