• 0 Posts
  • 69 Comments
Joined 3 年前
cake
Cake day: 2023年6月15日

help-circle

  • Strong disagree. I ran non-ECC memory on my server and services would unexpectedly crash maybe once per week. Over the span of a year I had two databases get corrupted that cost me a lot of time to fix. I tried swapping sticks but it happened with all of them. I switched to ECC memory and the problems disappeared. I needed more memory anyway and the price delta for ECC was about $100. I didn’t have to swap CPUs or anything, AMD desktop CPUs and chipsets support it out of the box. ECC memory is absolutely worth it.


  • Not that I know of, at least not for our cubesat. The aerospace sector moves extremely slowly because of ‘flight heritage’ - basically, if it hasn’t been in multiple long-term space missions before then it’s an instant rejection. You might ask ‘then how does any new tech get into space?’ and the answer to that is ‘it generally doesn’t’. More amateur satellite developers like university programs tend to ‘move fast and break things’ but with an emphasis on ‘break’.

    Besides this suborbital flight I haven’t heard of anyone using carbon fibre frames before. I’m not a chemical engineer but I would imagine CF composites may have issues with outgassing, compared to metals. Outgassing can result in volatile compounds leaving suspension under a vacuum and depositing elsewhere, particularly bad for camera lenses and solar panels and such. Since the frame touches basically every part of the satellite, the risk here is high.


  • The original comment couldn’t understand why people were ‘raising their eyebrows’ at the price. I said because it’s basically a luxury item. Whether there are other alternatives that are even less value doesn’t factor into it. That’s the ‘door in the face’ fallacy.

    Regardless of whether a Rolls Royce is more or less ‘value’ than a Lamborghini there’s gonna be a whole bunch of people that are gonna look at that and say ‘why would you spend X times the money when it gets you from A to B just the same as a Toyota Corolla’. That’s the answer to the original question.




  • Sorry dude, I’m not paying $100 USD for a controller. The last controller I bought cost me ~$30 USD (GameSir T4 Kaleid) and has everything I need, including hall effect sticks. The steam controller having cool tech like touchpads and a gyro and whatever else is cool I guess, but I don’t need or want that. No amount of stuff like that is gonna make me spend that much on a controller.

    So yes, the steam controller price raised my eyebrows, in the same way that basically all first-party controllers do. They’re all crazily overpriced imo.



  • A solar flare is just one example of many possible causes. There are plenty of other ones. You didn’t touch on any of the others so let me explain - NASA reports on small satellite missions show that about 40% of satellites experience at least partial mission failure within their lifetime. Studies have shown the leading cause of satellite failure is propulsion systems, responsible for about half of all failures. This is not uncommon at all.

    Most altitude ranges in LEO still have debris from decades ago, the exception being below 300km, which is basically still in the atmosphere. Unfortunately, debris strikes have regularly produced debris that are flung into higher orbits, so even collisions between satellites in this range are dangerous.

    Edit: I also forgot to mention, the five day estimate (now three days actually) wasn’t for a close-call, it was for a debris-generating event.


  • Collisions aren’t theoretical, near misses are so common that there’s an entire department at NASA dedicated to detecting them and warning satellite owners to adjust course, I know because we were contacted about a possible collision involving our cubesat. Prior to megaconstellations being deployed if humanity stopped adjusting satellite orbits there would be a collision within a month, now there would be a collision within 5 days. It’s only a matter of time until both satellites on a collision course don’t have the ability to adjust course (engine failure or no propulsion/fuel/comms). In the event of a Carrington-style solar flare there’s a good chance a decent percentage of satellites would be knocked out, making this hypothetical into a reality. Further, we can only currently track objects down to about 10cm, but NASA estimates suggest about 500,000 objects exist between 1-10cm in size in LEO.



  • If there’s moisture in the filament it vaporises in the extruder, causing steam bubbles that expand and disrupt the laying down of plastic, usually causing inconsistent extrusion lines (which itself causes poor layer adhesion). Some of the filament may end up being heated in the extruder slightly longer than other bits depending on these steam bubbles, which can cause overheating issues like stringing and oozing, etc…

    Not to mention that filament that has absorbed water tends to become more brittle, which can lead to the filament snapping off before reaching the extruder. As a result, a filament’s shelf-life is usually dictated by how quickly it absorbs moisture (and also whether UV from the sun weakens it at all, but that’s a lot easier to manage).




  • Whenever you make a String you’re saying that you need a string that can grow or shrink, and all the extra code required to make that work. Because it can grow or shrink it can’t be stored on the (fast and efficient) stack, instead we need to ask the OS for some space on the heap, which is slow but usually has extra space around it so it can grow if needed. The OS gives back some heap space, which we can then use as a buffer to store the contents of the string.

    If you just need to use the contents of a string you can accept a &str instead. A &str is really just a reference to an existing buffer (which can be either on the stack or in the heap), so if the buffer the user passes in is on the stack then we can avoid that whole ‘asking the OS for heap space’ part, and if it’s on the heap then we can use the existing buffer on the heap at no extra cost. Compare this to taking a &String which is basically saying ‘this string must be on the heap in case it grows or shrinks, but because it’s an immutable reference I promise I won’t grow or shrink it’ which is a bit silly.


  • Here’s a little secret: All data types don’t actually exist. When your code is compiled down to machine code your computer just operates on collections of bits. Types are a tool we use to make code more understandable to humans. int and unsigned int tell us information about how numerical values are interpreted. bool tells you that only two values are going to be used and that the value will somehow relate to true/false. char tells us that the value is probably some sort of text. But again, everything is just stored as bits under the hood.

    You can go even further and define new types, even though they might still just be numbers under the hood - you could for instance define a new type, e.g. Age, which is still just an integer, but it tells you the reader more information about what it is and what it might be used for. You might define a new type just for error codes, so at a glance you can see that this function doesn’t return an int, it returns an OsError, even if the errors are actually still just integer values.

    C does however play somewhat loosely by these rules, and to try and ‘make your life easier’ will often ‘coerce’ types between eachother to make everything work. For instance, integer types can be coerced to booleans - 0 is false, everything else is true (even negative values). Later on you’ll find that arrays can ‘decay’ to pointers, and other fun surprises. Personally, I think this implicit coercion between types is one of C’s biggest mistakes. If types exist to help humans reason about code, what does it mean if the compiler needs to silently change types behind the scenes to make things work? It means the humans were sloppy and the compiler can only guess at what they actually wanted to do (and this is the best case scenario! What happens if the compiler coerces types in places humans didn’t expect? Bugs!).

    There exist a spectrum of different behaviours in this regard, some languages are what we call ‘weakly typed’ (like Javascript, or to a lesser extent C) and other languages which are ‘strongly typed’. Weakly typed languages will try to implicitly convert types together to make things work: In Javascript if you try and add an integer to text "Hello!" + 52 the compiler will try to implicitly convert types until something makes sense, for instance in this case the compiler would say ‘oh, they probably want to add the text “52” onto the end’ and will produce "Hello!52". Sometimes this is handy, sometimes it introduces bugs. A strongly typed language will instead simply refuse to compile until you make the types line up.



  • Another poster already mentioned that transuranics and other such byproducts tend to be very dense, so a swimming pool can in fact hold tens of thousands of tons of spent fuel. Also, ‘nuclear waste’ is a generic catch-all term that includes less radioactive material, compared to ‘spent fuel’ which is just the really ‘high-grade’ material.

    The part about not needing enrichment is worth discussing, but we do have solutions to that already. There are entire classes of reactors dedicated to not producing weapons byproducts or needing enrichment using the same processes capable of generating weapons-grade material. The reason we see reactors that can make these materials so often is because many of the early reactor designs (many still in use today) were explicitly selected for use by the US government during the early days for their dual-use ability to make plutonium for nuclear weapons. Examples of proliferation-safe designs include molten salts and integral fast reactors, but there’s an engineering experience chicken-and-egg problem - they don’t get built very often because we don’t have experience building them. A new design like this will face the same challenges.


  • TL;DR: Combining a particle accelerator and a nuclear reactor to turn Uranium-238 into Plutonium-239, which then fissions. The reactor itself is subcritical, so if the proton accelerator turns off then the reaction stops.

    The main advantages of the system claim to be ‘increased efficiency of fuel use’ since the uranium doesn’t need to be enriched, the ability to burn long-lived nuclear waste, as well as the system being passively safe.

    The first point strikes me as an odd thing to focus on, since all nuclear reactors are already very fuel efficient, and if you want maximum efficiency then breeder reactors exist already, which produce more fissile material than they consume - you can’t get much more efficient than that. Fast breeder reactors are also great for burning up nuclear waste too, but they never really took off because, well, there isn’t actually much nuclear waste to use, precisely because typical reactors are already very efficient: A reactor might consume one ton of fuel per year. You could fit all the spent nuclear fuel humanity has ever used into a single swimming pool. I mustn’t be too critical though - any attempt to close the fuel cycle is good, I just don’t think it’s a really pressing issue. Lastly, being passively safe is cool and all, but almost all new reactor designs are, and attaching a particle accelerator to a nuclear reactor sounds like an expensive way of doing it.

    All of that being said, I’m always interested to hear about new reactor designs, so I guess we’ll see how it goes.


  • NZ is more aligned with the Commonwealth than the US. If the UK invited NZ to something and we turned it down that would be a big deal.

    We have a fairly small standing military, so we need at least one strong ally, and geographically speaking it’s gonna be either the US or China. I’d label NZ as a ‘begrudging’ US ally in that sense. NZ has previously verbally sparred with the US after we barred all nuclear-powered ships in our waters, so this wouldn’t be the first time there’s been some political tension between the two.

    Australia has a much stronger relationship with the US, hosting their military bases, nuclear weapons, and such. It’ll be interesting to see what their response is.