mrtracy
Joined 11 years ago
Joined 11 years ago
One example of this: I would expect each location would not have a single antipode (opposite coordinate) but would instead have three. If you were to start at location A, rotate travel 180 degrees along the latitudinal axis to location B, then 180 degrees around the longitudinal axis... on a sphere you would expect to be back at location A, albeit upside down. But on a torus, you are in a completely different location, which is the 'C' antipode. Rotating 180 degrees latitudinally from here will bring you to point D, the last of the antipode set.
The vertical distortion is the biggest issue IMO, there are a few reasonably satisfying ways to approach the horizontal tiling of each “shell”. For example, you can make your world a donut instead of a sphere, and now you have a perfect grid at each level! Of course, this introduces a level of distortion between the interior and exterior, so you also twist the donut once, and now you’ve both solved your distortion problem and invented the stellarator fusion device.
A type is “Send” if it can be moved from one thread to another, it is “Sync” if it can be simultaneously accessed from multiple threads.
These traits are automatically applied whenever the compiler knows it is safe to do so. In cases where automatic application is not possible, the developer can explicitly declare a type to have these traits, but doing so is unsafe (requires the ‘unsafe’ keyword and everything that entails).
You can read more at rustinomicon, if you are interested: https://doc.rust-lang.org/nomicon/send-and-sync.html
Inertial confinement fusion, such as the National ignition facility, does generate comparable pressures and temperatures to the core of the sun within the fuel pellet for an extremely small moment during an implosion. This is done by focusing a lot of energy on small target.
Plasma confinement techniques don’t utilize high pressure to create fusion; they rely on extreme temperatures which are significantly hotter than the core of the sun, which can produce fusion events in a plasma which is only pressurized to around 1 atmosphere (they also rely on different fuel types than the sun which fuse much more readily). The key is once again focus, a large amount of energy is put into a small amount of gas. The obvious issue with this is that the extreme temperatures would destroy any physical container rapidly - but given the electromagnetic nature of plasma, it can be contained using a strong magnetic field without reaching the surface of its physical container.
Where costs will inevitably get complicated are:
1. emergency medicine, where the purchaser is in severe pain or possibly unconscious.
2. conditions without cures, or possibly even well-established treatments, and there is thus active experimentation and disagreement
Both of these are unpredictably expensive to an extraordinary degree, and the second category is sometimes rare enough that economies of scale don’t come into play for individual conditions.
I think government coverage of emergency medicine, aka ERs for severe injuries, is relatively uncontroversial due to its nature of treating unconscious patients.
However, that other category is very large in modern medicine. It includes all chronic conditions without cures, for which many options are available and improved techniques are constantly sought - and it includes complicated conditions where treatment has risks involved, which is basically a huge range of surgeries.
The problem in these areas is that the consumer does not have adequate understanding of the efficacy of what they’re buying, yet they’re driven to buy it strongly by pain and suffering. They are likely to want to do whatever a doctor or hospital tells them to do.
What is needed here is a consumer advocate with medical knowledge to keep prices consistent. In the US, this is provided by a mixture of regulation, medical malpractice lawsuits, and insurance companies.
Insurance companies are now failing in that role, but removing them entirely without any sort of replacement is going to leave the courts as the major vehicle to manage the costs - that isn’t a system renowned for efficiency.
I mentally divide it into two important components:
1. Cross-correlation (the 'wave function')
2. Label selection (choosing where the 'collapse' occurs)
The "cross-correlation" is exactly what it sounds like - given an incomplete model and a set of example patterns, this data structure represents the cross-correlation of every place that any of the patterns would individually fit in the incomplete model. I think this is the most useful structure in the algorithm, and is a form of iterative 'feature detection' over the incomplete model.
I think there are many interesting things which can be done with this which aren't in the basic algorithm, such as:
- Having larger indivisible 'patterns' and collapsing such patterns all at once. Although example patterns are always broken down into discrete cells, larger patterns can exist where each cell gets a unique label and very limited transition set. The cross-correlation will detect where they can be placed, and if one is chosen the entire pattern could be chosen at once.
- Partial seeding of labels, e.g. selecting portions of the incomplete model and artificially limiting the available labels in that area, without collapsing it.
- Addition of information to labels which aren't easily expressed in an example pattern, such as rudimentary counting of distances.
The 'label selection' portion (in WFC terms, this is the algorithm used to choose which space to 'collapse') is where all of the random generation comes into play. If using Model Synthesis for full world generation, this is what should be focused on for generating more interesting types of environments.
However, given the common label selection algorithms I've seen and used, I think that Model Synthesis excels mostly at adding small-scale, largely self-similar patterns onto constraints provided by a larger structure. I think that other proc-gen methods better lend themselves to generating large-scale structures. A combination of the two - generating a large-scale structure to serve as a constraint, and allowing model synthesis to fill in interesting detail - seems like a good path to explore.
For example, one of the well-known challenges in the paradigm is working with hierarchies or graphs - observers are a powerful tool for communicating between specific entities, and should make this a lot easier to express.
Hooks offer the ability to enforce cross-component consistency in a way that wasn’t previously available.
Of the fusion startups mentioned in the article, I’d say that makes Zap Energy the one worth gambling on (if you’re a gambler that is), as its success apparently depends on exploiting a fluid dynamics effect which was not well known in the past (“shear flow”). If this sufficiently solves the confinement problem, the resulting device looks ludicrously simple in comparison to contemporaries.
Of course it may not work at all, I sure don’t know if it will; but if you had to invest in one of these, that seems like the one where successful power generation actually creates a marketable product.
Combined cycle is a major reason that gas power plants are so attractive; the inability to use it in Peakers is a reason why they are so unattractive.
As a benefit of the thread-safety notion, Rust can have two reference-counting pointer types: Arc, which uses atomic reference counting and is roughly equivalent to std::shared_ptr, and Rc which does not use atomics. Rc cannot be used across multiple threads at the same time, and the borrow checker will prevent you from doing this.
Rc is appropriate for data structures which internally benefit from multiple pointers (e.g. graphs) but where all of that information is internal to a single data structure - this becomes available without paying the price of atomics.
The safety, of course, is not intrinsic: nuclear material is obviously very dangerous, especially in a running reactor.
The safety record stems from the considerable regulation around building and operating these reactors, and the fact that the reactor has so little external surface area once running:
* A very small fuel acquisition operation in comparison to fossil fuels.
* Likewise, no externally released pollution outside of accidents, which is rare.
* sites chosen for construction are picked for their stability, and are heavily engineered, meaning you also don’t have the installation worksite deaths which run up numbers for wind and solar.
But again, this is only realized if the operational safety onsite is maintained. That said, it’s not the only dangerous power generation site: dammed hydroelectric can be a considerable danger depending on what is downstream.
In general, I think nuclear would be very popular if natural gas and solar were not available; however, the costs to keep it safe are too high for it to be economical compared to those two sources.
> Keep in mind hover documentation often isn't readily available for pull request reviewers. Most of the time, reviewers will use GitHub's online viewer to review pull requests.
`using` directives and typedefs are not forbidden, so this would avoid situations where a type is never explicitly declared.
Having worked in large code bases that used `auto` almost exclusively when possible… I’m not sure I agree. However, I understand.
https://docs.Godotengine.org/en/stable/contributing/developm...
Oklo in particular seems to be total vaporware, I can’t find a single technical picture anywhere of anything this company’s reactor is seeking to do. They seem to raise money based on a rendering of a ski lodge.
A huge, concrete investment in TerraPower would be more interesting, but as a molten salt SMR which has never been built, this also looks extremely non-committal.
SMRs in general seem like a dead end, we’ve heard about them for decades and they don’t seem to be any closer to making nuclear power buildouts less expensive.
Everything that makes proven nuclear power plant design expensive seems to revolve around the same drivers of expense for all long-term construction: large up front capital requirements, changing regulations, failure to predict setbacks, and pervasive lawsuits. SMRs purport to tackle a couple of these (shorter-term builds, fewer setbacks), at the cost of considerable efficiency, but so far this seems like an inferior alternative to “just get better at building proven nuclear plant designs”.