Comments by "Winnetou17" (@Winnetou17) on "Low Level"
channel.
-
5
-
5
-
4
-
3
-
2
-
2
-
That a big outlet can't a) pay a stupid fee to another outlets, like they're not in the same boat (sure, you can argue that it wasn't one of the bigger ones, so up until now they had no need to pay it, but then how did they found out?). Also, they should have some form of budget for things like this that doesn't need preapproval. After all, these sites are several bucks a month, even if you get all of them, it will be, what, several thousand dollars ? Hardly something to be concerned with at a big company.
also b) can't fuU^%^##$ng do a stupid translation and have to use things like google translate. From german to english, of all languages. I swear, they should be laughed out of the room. They don't deserve to be in the industry. Let alone by a big or medium outlet in the industry. But it's not like journalists in general have high standards... sigh
1
-
1
-
My several cents, that I haven't seen on other commenters:
- asks for unsigned ints but reads them as %hi instead of %hu . But this is a very minor thing, I agree
- I don't know for the life of me the requirement to enter the types in order. You can handle all cases TRIVIALLY by simply having something like
switch(ptr->type) {
case 124: // nobreak or whatever signal you have for your compiler to not see this as a mistake
case 142: // nobreak or whatever signal you have for your compiler to not see this as a mistake
case 214: // nobreak or whatever signal you have for your compiler to not see this as a mistake
case 241: // nobreak or whatever signal you have for your compiler to not see this as a mistake
case 412: // nobreak or whatever signal you have for your compiler to not see this as a mistake
case 421:
arrayCreation(0, 52, 62, 92, ptr);
break;
}
- the example above was the most complex. When there's only two "types" chosen, there's only two cases (12 and 21 or 24 and 42 etc).
- while writing the above, I just observed that the "124" case is missing. tsk tsk tsk, -1 point!
- I think the main idea for most tips presented here is missing: the whole code I'd say is quite ok and readable and maintainable. Because it's small. When you get into a project with hundred of source files and thousands of lines of code and hundreds to thousands of functions, THEN having comments is important. When you have those "magic" numbers spread in 20 files, THEN you'll be doomed if you have to update them, so using a define for it is better, so it can be trivially updated
- especially since it's a small program, I don't like the idea with the enum and the extra parsing, at least not being given as a blanket statement. That's basically overengineering. Feature creep. You're creating extra code, including RUNTIME code (which is why I dislike it) for a POTENTIAL FUTURE. You're making the code more complex and which runs slower just because "it feels right". There should be disclaimers. Like, do you know with decent certainty that this will not be updated (like getting that 5th type) ? If yes, then the current code is perfect. If you know it will be updated, or if you're not sure, THEN, maybe, think of a more extendible solution. Still, it's it's something small, it might still be ok to make it like that and only refactor it when it's needed. Don't fear refactorings, since you cannot avoid them. Instead embrace them and get used to them.
1
-
You know, your computer not booting properly because of the anticheat is malformed is actually the least problematic of the disasters it can cause.
That's like your car no longer starting. It sucks but there's no real damage, just a potentially very annoying situation, depending on the timing.
What's much worse, in the car analogy would be for the car to not respond to your input and accelerate by itself into a crowd of people or into a building or off some cliff.
Back to the computer, a much worse outcome would be for the anticheat to have a vulnerability (or Riot to get hacked and the hacker pushing a malicious update) and that to get exploited without the users knowing. Suddenly millions of computers can have all the data on their system leaked, or all the computers starting to do stuff on their own like posting really offensive stuff on the internet, it could be part of a gigantic DDoS attack or it can simply be used by a deranjed individual which might simply delete and scramble all the data on the drive, making it unable to be used without a full reinstall, and also all the data unrecoverable from the local drives.
The potential for damage is off the charts, really. And just like the Crowdstrike update, it might take for someone to actually do something this disatreous for people to realize what they're doing. Absolute insane dystopian times we're living, jeez.
1
-
1