i’m lizard 🦎

  • 1 Post
  • 19 Comments
Joined 1 year ago
cake
Cake day: June 15th, 2023

help-circle

  • If you’re a gamedev trying to make a decent mobile game, you’re competing on all the usual fronts like price and perceived quality, but competing for attention has gotten a whole lot harder when [arbitrary card game] has a hour of dailies, [arbitrary gacha game] always has a special campaign going and [arbitrary fake gambling game] is about to have its battle pass end and they’re only halfway through. And that has gone up by so, so much over the past decade. It was never good but it’s gotten absolutely egregious. At this point, even any generic snake clone will have a battle pass.

    Every person that ends up committed to a couple of those long-term-commitment games ends up having much less time for other games. And they make a lot of money, which means they also end up having a hell of a marketing budget.




  • Storj is blockchain stuff with the storage and bandwidth provided by individual node operators. They’ve kinda tried to bury the whole blockchain stuff and generally keep it removed from their main signup/pricing/usage flow; customers pay in USD and never have to see any of it. But it’s still there in the background and it’s still the main reward system for node operators.

    There’s some clickwrapped T&Cs for operators that set some minimum requirements, they’ve made sure one node leaving doesn’t cause data loss, but I’d still be very wary of using them for anything irreplaceable. It only takes one crypto crash or the like for the whole thing to die out, and while they might end up suing some guys running an old NAS out of their garage, that’s not gonna get your data back.


  • You can hardcode a specific version of nixpkgs, instead of a branch. With the new Nix CLI & flakes enabled you can do something like this:

    nix run "github:NixOS/nixpkgs/b4372c4924d9182034066c823df76d6eaf1f4ec4#cowsay" "moo mooooooo"
    
    

    That’s the commit I’m seeing for nixos-23.11 today, and it should still give you that exact version of cowsay years from now.

    Of course, the better option is to make a dev shell with flakes. Flakes come with a lockfile builtin that accomplishes the same effect, and there’s no problems having different projects on different lockfiles/versions. It’s a bit more work to learn, the Zero to Nix tutorials are pretty decent at teaching and come with examples though (ultimately most things are ~30 lines of boilerplate and a list of packages that you want).





  • Unity aren’t exactly in the DRM business, and there is really no chance they’re going to do something silly like licensing Denuvo for every single one of their clients just to obfuscate a piece of analytics code designed to make them money; stuff’s far more expensive than what they’d earn from it. They’re not going to build something remotely Denuvo-like, the best you can hope for is obfuscation that only has to be cracked once that gets cracked in days.

    My guess is they’re not even going to bother doing HWID-ish nonsense and will just hope that identifiers from the previous install hang around, which will often be the case on Windows PC anyhow (a little more complicated on other OSes). Hitting the uninstall and reinstall buttons in Steam doesn’t do much other than deleting the game’s files and re-running redistributable installers the first time you play the game.

    But on Android/iOS where this is really targeted at, that approach simply doesn’t work. The only stable thing apps can get across a reinstall is the AAID/IDFA advertising identifiers and that can be turned off or changed at will. Either Unity has found a novel solution (which is a one way trip to Apple’s shitlist) or they’re just bullshitting this change to appease the population while not actually changing anything. Since they did their prep work so badly that they couldn’t even answer whether app updates would count, my money’s on the latter.


  • If such a process existed, the entity in question would almost certainly end up being shut down by that process, unless they find a funny technical loophole around it, in which case that would be a failure of the law that should not be rejoiced by anyone.

    But as it stands, that law and process does not exist; ISPs already can and will shut you down for things like downloading copyrighted content (with or without complaints from the copyright holder), tethering without approval, being a technical nuisance in the form of mass port scanning, hosting insecure services and other such stuff. “Hosting a platform solely dedicated to harassment and stalking and ignoring abuse complaints about it” absolutely deserves to be on that list.


  • “If we don’t let the oppressors roam freely, they might try to oppress you” is not something I expected to read from the EFF today. But well, here we are.

    It has been standard internet behavior that if a platform does not have the proper response to abuse complaints, you move up a layer higher until you find someone that is receptive to it. This has been standard operating procedure for more or less for the entirety of the current millennium, and this article has done absolutely zero work to provide a good reason it should be anything otherwise, other than bringing up generic “free speech” stuff.

    You should not get a path out of that process because one layer immediately above the problematic entity is actively choosing to disregard abuse complaints. You simply move up to the next step. And this process simply must keep existing, as doing anything otherwise is to allow people to pull off all kinds of bad things; scams, spam, illegal activity and far more.

    And if you abolish the non-legal form of that process? Well, there’s still a legal process - and as soon as someone that wants to censor minorities gets control over the legal process, they will simply change the rules in their favor, as has happened countless times in the past.



  • As pointed out, the DNS issue was fixed, and the other point made about Python wheels has also been addressed; quite a good chunk of packages on PyPi have had a musl wheel added in the past 6 months or so, including numpy & scipy. I’m also not certain if the Go part is true; probably somewhere around half of the Go apps I’m running as a container are running or were built on an Alpine base.


  • The argument does exist. This article by PEN America is one of the most widely spread ones and largely misrepresents the situation. It’s based on a PopSci article with a similar headline, though the contents of the article tell a rather different story.

    Nothing really says out loud what’s going on: Republicans enacted an extremely vague and unrealistically short deadline book ban as part of a bill (that does some other stuff like removing AIDS education), forcing schools to either throw out every book that might be vaguely suspect or resort to funny measures like this. This school’s use of ChatGPT was purely to save books that were on a human-assembled list of challenged books, to reduce the negative effect of the book ban, while being potentially defensible in court (remains to be seen how that’ll work out, but they made an “objective” process and stuck to it - that’s what matters to them).


  • No, I most definitively hate Jira (and also my manager). Jira is the only software I’ve had to use where 10+ second page load times are a regular everyday occurrence. On their cloud hosting, so it’s not like we could do anything to fix it other than filing tickets… which we were told to simultaneously keep doing so they can track it but also stop doing because it’s working as intended and we were wasting their time and abusing support.

    JQL is absolute garbage, and it doesn’t even take hindsight; they took SQL but in an attempt to simplify it, they broke everything about it. Whether any particular functionality is a field or a function to run on some other field is a mystery. And if you’re using Jira Service Management, it gets infinitely worse; everything is bolted on in a terrible way.

    Every interaction between their “Kanban board” and “ticket” system is confusing. They pull from the same database, except not quite, except they do. It’s a representation of data, but not the same representation the data is in. If you have any kind of custom workflow setup at all - which the blog both criticizes as bad and uses as a reason to explain why Jira is the only good option (???) - it will simply never do the right thing unless they map 1 to 1.

    There are all kinds of perpetually missing features. Multiple assignees are a big one, there is simply no correct way to represent “John and Bob will spend some time together brainstorming about a new architecture” or simple things like pair programming, despite that being a fairly significant task that should somehow be accounted for in planning. You can half-ass it with custom fields or sub-tasks, but then the entire ecosystem of tooling built on the assignee field crumbles.

    Likewise, you can’t assign issues to a “virtual” position of any kind, all you can do is leave them unassigned or make (and pay license costs for) a fake user. It’s not possible to represent concepts like “the first available person from the Ops team” or “whoever is currently managing the security team” unless you make it into a status and leave it unassigned, which causes a massive amount of issues when multiple teams led by different managers are working on one project or someone is temporarily or permanently unavailable for whatever reason (vacation/sick/etc). Planning software that cannot deal with people being unavailable is worthless.

    Permissions are a complete mess. There’s all kinds of funny interactions between admin and project permissions, and some things are in what could have obviously never been the correct spot. How it ended up with project releases being an administrative permission speaks volumes about how poorly everything is designed. Happy tenth anniversary to the cloud ticket, the original server one has another decade on it. Twenty YEARS of the most basic feature imaginable not existing when the initial implementation was patently incorrect to begin with.


  • Okay, the thing that really matters to me:

    “Frankly, we have more important things to do than spend a lot of time trying to figure out how to protect kids from books,” Exman tells PopSci via email. “At the same time, we do have a legal and ethical obligation to comply with the law. Our goal here really is a defensible process.”

    According to Exman, she and fellow administrators first compiled a master list of commonly challenged books, then removed all those challenged for reasons other than sexual content. For those titles within Mason City’s library collections, administrators asked ChatGPT the specific language of Iowa’s new law, “Does [book] contain a description or depiction of a sex act?”

    It really only got rid of things that would’ve otherwise had to go to begin with, while saving a few others.

    It feels a bit closer to malicious compliance more than truly letting the AI decide the fate of things, and doing full proper compliance within the 3 months they were given would’ve been nigh impossible. I’m suspecting that the lawmakers were hoping that by giving them such a small timeframe, schools would throw everything vaguely suspect out. This ultimately leaves more books accessible, which I consider to be a good end result, even if the process to get there is a little weird.



  • I do and I can confirm there are no requests (except for robots.txt and the odd /favicon.ico). Google sorta respects robots.txt. They do have a weird gotcha though: they still put the URLs in search, they just appear with an useless description. Their suggestion to avoid that can be summarized as: don’t block us, let us crawl and just tell us not to use the result, just trust us! when they could very easily change that behavior to make more sense. Not a single damn person with Google blocked in robots.txt wants to be indexed, and their logic on password protecting kind of makes sense but my concern isn’t security, it’s that I don’t like them (or Bing or Yandex).

    Another gotcha I’ve seen linked is that their ad targeting bot for Google AdSense (different crawler) doesn’t respect a * exclusion, but that kind of makes sense since it will only ever visit your site if you place AdSense ads on it.

    And I suppose they’ll train Bard on all data they scraped because of course. Probably no way to opt out of that without opting out of Google Search as well.