• 0 Posts
  • 27 Comments
Joined 2 years ago
cake
Cake day: August 3rd, 2023

help-circle

  • The basic problem is that identifiers can be either types or variables, and without a keyword letting you know what kind of statement you’re dealing with, there’s no way of knowing without a complete identifier table. For example, what does this mean:

    foo * bar;
    

    If foo is a type, that is a pointer declaration. But if it’s a variable, that’s a multiplication expression. Here’s another simple one:

    foo(bar);
    

    Depending on how foo is defined, that could be a function call or a declaration of a variable bar of type foo, with some meaningless parentheses thrown in.

    When you mix things together it gets even more crazy. Check this example from this article:

    foo(*bar)();
    
    

    Is bar a pointer to a function returning foo, or is foo a function that takes a bar and returns a function pointer?

    let and fn keywords solve a lot of these ambiguity problems because they let the parser know what kind of statement it’s looking at, so it can know whether identifiers in certain positions refer to types or variables. That makes parsing easier to write and helps give nicer error messages.








  • I think holding more helium in a smaller space is the opposite of what you want. The lifting force is equal to the weight of the air being displaced, so you want as little stuff as possible in as big a volume as possible.

    Maybe if you went the other way round and compressed the atmosphere?


  • A system I work with gives all keys a string value of “Not_set” when the key is intended to be unset. The team decided to put this in because of a connection with a different, legacy system, whose developers (somehow) could not distinguish between a key being missing or being present but with a null value. So now every team that integrates with this system has to deal with these unset values.

    Of course, it’s up to individual developers to never forget to set a key to “Not_Set”. Also, they forgot to standardise capitalisation and such so there are all sorts of variations “NOT_SET”, “Not_set”, “NotSet”, etc. floating around the API responses. Also null is still a possible value you need to handle as well, though what it means is context dependent (usually it means someone fucked up).






  • No magnetic confinement fusion reactor in existence has ever generated a positive output. The current record belongs to JET, with a Q factor of 0.67. This record was set in 1997.

    The biggest reason we haven’t had a record break for a long time is money. The most favourable reaction for fusion is generally a D-T (Deuterium-Tritium) reaction. However, Tritium is incredibly expensive. So, most reactors run the much cheaper D-D reaction, which generates lower output. This is okay because current research reactors are mostly doing research on specific components of an eventual commercial reactor, and are not aiming for highest possible power output.

    The main purpose of WEST is to do research on diverter components for ITER. ITER itself is expected to reach Q ≥ 10, but won’t have any energy harvesting components. The goal is to add that to its successor, DEMO.

    Inertial confinement fusion (using lasers) has produced higher records, but they generally exclude the energy used to produce the laser from the calculation. NIF has generated 3.15MJ of fusion output by delivering 2.05MJ of energy to it with a laser, nominally a Q = 1.54. however, creating the laser that delivered the power took about 300MJ.



  • They are emissions credits. Every company receives some amount of “CO2 emission credits” from the government. These allow you to emit a certain amount of carbon dioxide. If you don’t emit all the CO2 that your credits allow, you can sell those credits to other companies that need more than the government gives them.

    The idea is to put a total limit on the amount of emissions in the country, while letting the market figure out where it makes most sense economically to invest in emission reduction.

    Tesla makes only EV cars and so it doesn’t need all the credits a typical gasoline car company would receive. So they sell them.


  • Skyrim is a totally different beast because the ingredient effects you know about don’t depend on your Alchemy skill anymore: instead you simply discover the effects by successfully making a potion with them. So there’s a sort of minigame of trying different ingredients together to discover what kind of effects they give to potions, which in my opinion is neat because it matches up with how you might do this in reality.

    I think the developers didn’t like the “surprise” extra potion effects you could get in Morrowind, so they changed it in oblivion.



  • But the game is “finished”. there is no need for alterations.

    If only that was the case. But there is no chance a game built for windows 95 could run unaltered on an android phone. Things like the rendering systems, input handling, and sound output will need to be adapted to work on a new platform.