A BTD game, probably BTD6 but BTD5 would do
Traister101
Still works. Just cause it's not being developed anymore doesn't mean it stopped working. Mind you I am using something based of Mihon nowadays, TachiyomiSY
Semantic whitespace is awful because whitespace (something that you can't actually see) has meaning in how the program runs. Braces {
}
for scopes gives you the ability to easily tell at a glance where a scope ends. Whitespace doesn't allow for that. Especially, especially when you can accidentally exit a scope (two new lines in a row with Python) and it's not actually an error (Pythons global scope). Yeah formatters and linters make this less of an issue but it sucks... Languages with legible symbols for scoping are significantly easier to reason about, see end
symbols in Lua.
Hey! That's exactly what Apple did when they came out with their third party repair programs! It's like the only difference between all these companies is how shit they are, not that they are shit.
It's complicated. Paul isn't really a good guy, but he's not really a bad guy either. He's just a dude. He's a dude who has limited vision into the future from which he cannot escape. He's not using his future vision to pick the bad choices he's trying to pick the best ones he can and the hand he's dealt kinda just sucks.
It erases the type of what your pointing at. All you have is a memory location, in contrast to int*
which is a memory location of an int
Sounds like the same shit those rare metal guys are always yapping about but with extra scams...
Nah bro that's just the memory leaks, your supposed to force close and reopen it every so often so the OS cleans up after their shitty application
Smart pointers model ownership. Instead of (maybe) a comment telling you if you have to free/delete a returned pointer this information is encoded into the type itself. But that's not all, this special type even handles the whole deleting part once it goes away.
Since they model ownership you should only use them when ownership should be expressed. Namely something that returns a pointer to a newly allocated thing should be a std::unique_ptr
because the Callie has ownership of that memory. If they want to share it (multiple ownership of the object) there's a cheap conversion to std::shared_ptr
.
How about a function that takes in an object cause it wants to look at it? Well that doesn't have anything to do with ownership so make it a raw pointer, or better yet a reference to avoid nullability.
What about when you've got a member function that wants to return a pointer to some memory the object owns? You guessed it baby raw pointer (or again reference if it'll never be null).
There's most certainly residuals, I've accidentally deleted then installed Windows on top of a bunch of my game saves. I found some random file recovery application and let it run for awhile. Guess what? Nearly everything was readable despite the fact it got wiped and then had a whole windows install.
NAND also experiences minor permanent damage on writes. Actually clearing the NAND involves a write as the charge has to be forced out (a write of 0s)
I'd recently joined their Discord before it all went down. Like it happened within a month or so :/
I kept using YouTube Vanced up till I started getting video ads which took about 2 years iirc. ReVanced was eaiser than I expected to setup, thought it'd be a hassle which is why I put it off for so long.