• 1 post
  • 19 comments
Joined 3 years ago
Cake day: July 3rd, 2023
  • I mean, you just listed the most insecure way to host Jellyfin. Poking a hole in your firewall will technically work, but that doesn’t mean it’s the correct way to do things. A good setup would use a reverse proxy, and some sort of authentication wall like Authentik or Authelia.

    All of that would only take about 15 minutes for someone who knows what they’re doing. But the vast majority of people setting up Jellyfin for the first time won’t know what they’re doing. And seeing the inevitable “lol just open your firewall” comments only serves to scare them away, because even the noobs have heads that’s the wrong way to do things.

  • Nah, Trump has said that he wants to eliminate taxes for anyone below $150k… But quickly followed up with “but only after we balance the budget”. Which is really just code for “I want to put my name on something that says <$150k doesn’t pay taxes, without actually implementing it.” And then the actual proposal landed, and it turns out they want to cut taxes by cutting it straight from social security and Medicaid.

  • This feels a little bit like Brainfuck tbh.

    For what it’s worth, I can think of one thing that would make brainfuck even worse: Instead of using 8 arbitrary characters (it only uses > < + - . , ] and [ for every instruction) for the coding, use the 8 most common letters of the alphabet. Since it ignores all other characters, all of your comments would need to be done without those 8 letters.

    For example, “Hello World” in brainfuck is the following:

    ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
    

    If we instead transposed those 8 instructions onto the 8 most common letters of the alphabet, it would look more like this:

    eeeeeeeeaneeeeaneeneeeneeenesssstonenentnneasostonnIntttIeeeeeeeIIeeeInnIstIsIeeeIttttttIttttttttInneIneeI
    
  • 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.

  • Yeah I got banned from /r/AskReddit for mass editing all my comments to something that included a Lemmy link before deleting. The automod perma-banned me from that sub (and several others) after the second edited comment.

    My guess is that they had it set to send a warning first, then a ban on the second offense. But since I used a script to do it, both edits happened so quickly that it simply banned me on the second edit.

  • 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.

  • 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.