Rule
addie @ addie @feddit.uk Posts 3Comments 579Joined 2 yr. ago

Maybe with an autoexec.bat
and a config.sys
as plain-text files in the game distribution, so that you can still set up your network configuration, CD drive and sound card?
Everything in war is very simple. But the simplest thing is difficult.
-- Carl von Clausewitz
According to this: https://www.globaltimes.cn/page/202407/1315864.shtml
In the first five months of 2024, Brazil, the US, Canada, Russia and Argentina remained China's top five soybean importers in terms of value. China imported $12.56 billion of soybeans from Brazil, followed by the US with $6.25 billion and Canada with $531 million, according to data from the General Administration of Customs (GAC).
Brazil and Russia (and China, of course) are part of BRICS and will be delighted to strengthen trade links. I hear that Canada have a neighbour who have become a trade liability recently and would be delighted to increase trade with other countries, too?
Beautiful creatures with excellent names.
Guardian-reading lefty here. You got any links to actual transphobic articles in the Guardian itself? I've been reading it for years, and have never noticed anything like that, particularly it being a stance. Would be very disappointed in them if so.
That link says that there have been 1100 articles in the Guardian, and also well-known right wing rags the Times, Mail and Telegraph, "most of" which are attacks. Bizarre to group those four papers together; one of them is very much not like the others. I would believe it of the other three, of course.
Hey! The images of Ryugu that were taken from Hayabusa2. What a sad lonely rock that place is - a loose collection of boulders in an endless orbit, in which it will probably continue without further interaction from now until the end of time. You could sneak a few ghosts onto that place, right enough, and no-one would notice.
As an aside, the Mars rovers are much larger than this - we don't see them side-by-side with people for comparison very often. Curiosity is the size of a car - three metres on a side, two metres tall, and weighs the best part of a tonne.
That disables a whole pile of the potential optimisations, of course. You could define jackApples
as a "static variable" (as opposed to making it eg. a field in a class or struct):
c++
namespace { auto jackApples = 3; } auto setJackApples(int newJackApples) -> void { jackApples = newJackApples; }
The most obvious consequence of this is that jackApples
now has an address in memory, which you could find out with &jackApples
. Executable programs are arranged into a sequence of blocks when they're compiled, which have some historical names based on what they used to be for:
- the header section, which identifies what kind of program it is, and where the other blocks start
- the
text
section, which contains all of the executable code, and which might be made read-only by the OS. - the
data
section, which contains variables that have a known value at startup - the
bss
section, which contains variables that we know will exist but don't have a value. Might be zero'd out by the OS, might contain unknown leftover values. - after those sections, the heap starts. This is where we allocate anything that we don't know the size of at startup. Your program will ask the operating system to "move the end of the heap" if it needs some space to eg. load a picture from disk that your program will then use.
- at the very end of memory, and counting down, the OS will allocate "the stack". This is where all of your variables that are local to each function are kept - it's the "working area"
Because it's statically allocated, jackApples
will be in the data
section; if you opened up the executable with a hex editor, you'd see a 3 there.
getTheNumberOfApples()
will be optimised by the compiler to return the contents of the memory address plus 4. That still counts as a very simple and short function, and it's quite likely that the compiler would inline it and remove the initial function. The actual process of calling a function is to:
- push the address of where we are in the program onto the stack
- push any variables used by the function onto the stack (which would be none, in this case)
- if on x86 / x64, do a whole pile of stack alignment operations :-(
- set the address of "where we are in the program" to the address of the function
- push some extra space on the stack for all the variables used by the function
- run all the code in the function
- put the result of the function into one of the CPU registers
- pop all of our "working space" back off the stack again
- pop the address of "where we came from" off of the stack, and make that the place that we'll continue running the program for
That takes a while, and worse - modern CPUs will try to "pipeline" all the instructions that they know are coming so that it all runs faster. Jumping to a function might break that pipeline, causing a "stall", which slows things down enormously. Much better to inline short functions - the fact that the value is "number in memory address plus four" might be optimised away a little wherever it's used, too.
Heard it doesn't take him much at the moment - the slightest chuckle will probably do.
The compiler will see that var3
is just two numbers added together and replace it with 7, which saves having to do an addition every time you run through that code, and is therefore faster. var1
and var2
may be removed from the output as well; shorter code runs faster since you can fit more in the cache. In fact, since var3
is just a number, you can replace every place that it's used with a 7 as well; if you have some functions:
c++
// be careful! if the number of apples is less than six then the UI will not line up properly auto getTheNumberOfApples() -> int { auto jackApples = 3; auto jillApplies = 4; return jackApples + jillApplies; } auto appleWeight() -> float { return 0.2 * getTheNumberOfApples(); }
... then the compiler will look at all that, delete the lot, and just use 1.4f
wherever the appleWeight()
function was called. Comment is gone, the decision making is gone, it's impossible to go backwards any more.
Maya Bijou with Bambino in "bathroom spinner". You can never be too careful, FGM420.
Not wanting to defend Rowling, since she's an evil and hateful person, but there's many great authors who fall foul of basic arithmetic. I would argue that they are completely separate skills; TV Tropes has a good list. (Also, I'd argue that most of her good ideas were taken from someone else.)
https://tvtropes.org/pmwiki/pmwiki.php/Main/WritersCannotDoMath
It's one of those materials that has an almost complete list of superb properties, with one overwhelming downside. It's cheap, abundantly available, completely fireproof and can be woven into fireproof cloth, adds enormous structural strength to concrete in small quantities, very resistant to a wide range of chemical attacks. It's just that the dust causes horrific cancers. See also CFCs, leaded petrol, etc, which have the same 'very cheap, superb in their intended use, but the negative outweighs all positives'.
One of the 'niche industrial applications' was the production of pump gaskets in high-temperature scenarios, especially when pumping corrosive liquids. We've a range of superalloys that are 'suitable' for these applications - something like inconel is an absolute bastard to form into shapes, but once you've done so it lasts a long time. But you still need something with similar properties when screwing the bits together. For a long time, there was no suitable synthetic replacement for asbestos in that kind of usage.
If you know that the asbestos is there, have suitable PPE and procedures, then IMHO it's far from the worst industrial material to work with. It's pretty inert, doesn't catch fire or explode, and isn't one of the many exciting chemicals where a single droplet on your skin would be sufficient to kill you. What is inappropriate is using it as a general-purpose building material, which is how it was used for so long, and where it was able to cause so much suffering for so many people.
From a UK perspective, a lot of US cars would be illegal to drive on public roads here - too large, too dangerous for pedestrians and other road users. "Dangerous" also applies to some of your other potential exports too. Chlorinated chicken, for instance, isn't considered safe for consumption. So the absence of a market for those goods isn't simply "customer preference".
As a European, we've been too dependent on the US on some things for too long. We need to be more independent. The situation in Ukraine has shown that; we need to be able to support our allies better. But the US trashing their own economy, making themselves into global pariahs and handing over their superpower status to China is what I would have described as "not my dream way" of achieving that.
The real advantage of a 120 Hz screen is that you get a much more graceful degradation if you dip below your fps target for a bit. If you're targeting 30 fps but drop to 25, it still feels pretty smooth on a high-refresh screen, whereas that's appallingly clunky on a low-refresh one. A "poor man's gsync", if you will.
They're occasionally the crisp of choice in pubs; an excellent accompaniment to an 80/-. Suppose there's worse criteria for your pub crawls. But aye, a weird omission - you'd be thinking there's plenty of wagons on the Stranraer ferry that could bring a few palletloads over.
Hey! Spoiler alert for Shaz's change of haircut. At least it doesn't show her making sandcastles, I suppose.
If I believed that they were sincerely interested in trying to improve their product, then that would make sense. You can only improve yourself if you understand how your failings affect others.
I suspect however that Saltman will use it to come up with some superficial bullshit about how their new 6.x model now has a 90% reduction in addiction rates; you can't measure anything, it's more about the feel, and that's why it costs twice as much as any other model.
How's the lag on one of those things? Doesn't matter for an RPG, but playing some of the old platformers on a modern TV is an exercise in misery, and I just couldn't get past the first couple of levels in Um Jammer Lammy without connecting up a PC monitor instead.
Places where I've seen that live of projector are for eg. showing the football in a pub, and the sound and screen are noticeably out-of-sync.
Indeed. Back in the day (by which I mean, up until about when Doom was released, around '93) then one of the "joys" of PC gaming was that you had fuck all memory and had to prepare a "boot disk" for every game, bypassing the operating system, basically to load as little as possible so that there was space for your game to run. Trying to fit the bare essential drivers - sound card, memory extender, CD ROM if you needed it for that game, mouse or joystick if you needed those - was a right fucking adventure every time, and it was always a toss-up whether you could get sound, music, or both, in any particular game.
If you're an old fart, or if you've ever used DosBox to play retro games, you might be familiar. DosBox makes it altogether too easy - loads of RAM and disk space, emulates anything, and it's very quick to swap things out.
A few things changed around that time:
I'm no Windows fan, but it was a hell of an improvement.
The concept of a "pure UEFI" gaming environment might sound great - direct access to hardware, what could be more efficient? - but the unfortunate reality is that direct access to hardware is a real pain in the arse. Every game would need a complete copy of everyone's graphics drivers, everyone's sound drivers, everyone's network stack, .,. . Computers are much more complicated than they used to be (although in some ways, simpler too) - very few games would work at all. You might get Terraria in 640x480 in 16 colours and no hardware-accelerated drawing, and maybe some sound effects if you'd a very common integrated sound chip on your motherboard.
The operating system is both a gateway and a gatekeeper to hardware; makes a lot of stuff appear to work the same, regardless of what it is really, and the ones that haven't been enshittified are really quite efficient, do their thing and get out of the way. Even the consoles have an OS for hardware access now, although they're lightweight. I think it would be a very backward step to be rid of them.