• 0 Posts
  • 20 Comments
Joined 1 year ago
cake
Cake day: July 3rd, 2023

help-circle
  • Yup. Rand() chooses a random float value for each entry. By default I believe it’s anywhere between 0 and 1. So it may divide the first bill by .76, then the second by .23, then the third by 0.63, etc… So you’d end up with a completely garbage database because you can’t even undo it by multiplying all of the numbers by a set value.



  • I actually enjoyed the story. Some of the themes and motifs were heavy handed, but that’s par for the course. Honestly, the biggest issue with the story is that players have come to expect a big plot twist. Bioshock 1’s twist hit first-time players hard, so later games have tried to replicate that. But the issue is that it only hit players hard because they never knew it was coming. They only remember it because it was truly shocking the first time you played through it.

    So now players have come to expect that from the series, which means the series can’t replicate it; When players are looking for a big plot twist, you can’t really hide it anymore. Because as soon as you start foreshadowing it, players catch on. And if you’re too subtle with your signals, then players who have been looking for it will say that doesn’t make any sense.








  • Was going to say the same. Windows and Linux both use “lazy” ways of deleting things, because there’s not usually a need to actually wipe the data. Overwriting the data takes a lot more time, and on an SSD it costs valuable write cycles. Instead, it simply marks the space as usable again, and removes any associations to the file that the OS had. But the data still exists on the drive, because it’s simply been marked as writeable again.

    There are plenty of programs that will be able to read that “deleted” content, because (again) it still exists on the drive. If you just deleted it and haven’t used the drive a lot since then, it’s entirely possible that the data hasn’t been overwritten yet.

    You need a form of secure delete, which doesn’t just mark the space is usable. A secure delete will overwrite the data with junk data. Essentially white noise 1’s and 0’s, so the data is completely gone instead of simply being marked as writeable.


  • It isn’t compressible at all, really. As far as a compression algorithm is concerned, it just looks like random data.

    Imagine trying to compress a text file. Each letter normally takes 8 bits to represent. The computer looks at 8 bits at a time, and knows which character to display. Normally, the computer needs to look at all 8 bits even when those bits are “empty” simply because you have no way of marking when one letter stops and another begins. It’s all just 1’s and 0’s, so it’s not like you can insert “next letter” flags in that. But we can cut that down.

    One of the easiest ways to do this is to count all the letters, then sort them from most to least common. Then we build a tree, with each character being a fork. You start at the top of the tree, and follow it down. You go down one fork for 0 and read the letter at your current fork on a 1. So for instance, if the letters are sorted “ABCDEF…” then “0001” would be D. Now D is represented with only 4 bits, instead of 8. And after reading the 1, you return to the top of the tree and start over again. So “01000101101” would be “BDBAB”. Normally that sequence would take 40 bits to represent, (because each character would be 8 bits long,) but we just did it in 11 bits total.

    But notice that this also has the potential to produce letters that are MORE than 8 bits long. If we follow that same pattern I listed above, “I” would be 9 bits, “J” would be 10, etc… The reason we’re able to achieve compression is because we’re using the more common (shorter) letters a lot and the less common (longer) letters less.

    Encryption undoes this completely, because (as far as compression is concerned) the data is completely random. And when you look at random data without any discernible pattern, it means that counting the characters and sorting by frequency is basically a lesson in futility. All the letters will be used about the same, so even the “most frequent” characters are only more frequent by a little bit due to random chance. So now. Even if the frequency still corresponds to my earlier pattern, the number of Z’s is so close to the number of A’s that the file will end up even longer than before. Because remember, the compression only works when the most frequent characters are actually used most frequently. Since there are a lot of characters that are longer than 8 bits and those characters are being used just as much as the shorter characters our compression method fails and actually produces a file that is larger than the original.



  • Not only that; You have to pay for updates too. Supposedly it’s because Apple takes time to verify that the app is legit and not going to do nefarious things. So they don’t want a bad actor to get a legit app on the store, then later push an update that infects everyone with a virus.

    But apparently a company did a study and realized that app testing rarely made it past the main page, with testers spending ~15-20 seconds per app. They’d basically open it and if it looked like it did what it said, they didn’t bother digging any deeper.





  • This is putting it lightly. By some estimates, it’s larger than every other form of theft combined. Literally over 51% of all theft.

    It isn’t all as blatant as this, but it still happens. Timesheets getting subtlety adjusted/rounded in the employer’s favor. Not paying for breaks when they’re legally required to. Requiring employees to work through breaks, while still requiring them to clock out. Requiring employees to show up 15 minutes prior to their shift, to do a morning huddle before everyone clocks in. Mandating what employees can/can’t do during their breaks. Not properly paying for on-call time, or saying someone was only on-call when they should’ve been fully clocked in. Not paying overtime, or telling non-exempt employees that they’re exempt from OT.

    The list goes on and on. When people complain about a lack of prosecution for white-collar crime, this is exactly what they’re referring to. Steal a $2 candy bar from a store, and you potentially face criminal prosecution. That same store codifies a procedure that steals $2 from every employee every time they clock in, netting the company millions of dollars throughout the course of the year? The company maybe gets a fine that is less than what it made via the theft, and the employees don’t even get back the full amount that they’re owed.




  • If you’re worried about the grind, go install the Untitled Project X mod. It has an option to give exp to all party members regardless of battle participation. It eliminates the “swap everyone in to Guard for a single turn” hassle. Because by default the game forces you to either swap everyone in for a turn, or grind like hell to get everyone properly leveled.

    UPX fixes a lot of the issues that the remake has, so ironically that option is buried and was only added as an afterthought. But it’s one of the biggest and most impactful changes that you can make, because it completely eliminates the need to grind. Since every member is getting exp with every battle, you aren’t forced to wait for the relevant enemies to spawn before certain characters level up.