• 2 Posts
  • 23 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle



  • Right now people are theorizing 2 possible coalitions, the first one is PVV - NSC - VVD and the other one is GLPVDA - NSC - VVD - D66. This means we’re either getting a far-right populist as the prime minister or we are getting a coalition that will get us absolutely nowhere and will change nothing from the status quo, while also likely destroying leftist support even more because of how little to coalition will be capable of vs. what the leftist party (GLPVDA) promised

    We’re not doing okay


  • ah I think that’s where I’m at odds with a lot of lemmy NixOS users then 😅, since I am and have always been pretty hesitant to recommend NixOS to anyone in particular. I find the upfront costs of NixOS too big for me to recommend the OS to anyone who wasn’t already looking into it and knows its downsides and upsides.

    I do agree however on the fact that using nix is purely beneficial. It doesn’t hurt if you just add a .nix file to your project, since it doesn’t do any harm to an already existing project. It can just install your build tools and then consider itself done, and if you don’t happen to like nix after all, the new installer makes uninstalling easier than ever. There is pretty much no downside to downloading the package manager, something I can’t say about the OS.

    Having said that, I don’t think nix should be the end-all be-all standard in package management. I’m sure there will be other package managers that will be better than “nix but with yaml sprinkled in”, and are capable of improving the state of the art. At least, that’s something I hope to happen. For example, I have reservations about using a full-blown programming language for doing my project configuration (see people’s problems with Gradle for why you might not want that). I think a maven-style approach (where you’d have just limited config options, but can expand the package manager’s capabilities by telling it to install certain plugins (in the same config file!)), could be worth looking into, and I’d be lying if I said I wasn’t on the look out for a potential better nix alternative



  • Alright as someone who likes Haskell and has dabbled in unison before, I believe I can answer all these questions for you:

    • Why is helloWorld there twice?

    It is common in languages like haskell and ocaml to first mention the type of a function, so in this case:

    • the type of helloWorld is '{IO, Exception} (). That is it’s type signature (important for later)
    • the implementation of helloWorld is \_ -> println "Hello, World!"
    • What’s the ' for?
    • What are the () for?

    Here is where I have to get into the nitty gritty of how unison actually works. Unison has what programming language researchers call an effect system. The type signature of helloWorld indicates that it can perform the IO and Exception types of side effects, and these need to be handled. (in this case, they are handled by the compiler, but other types of side effects can be handled by the programmer themselves)
    However, for reasons Unison does not like dealing with eagerly evaluated non-function values with side effects. For this reason, there is '. Essentially, what it does is turn a value into a function that accepts () as it’s argument. We could therefore say that the type signature of helloWorld is also () -> {IO, Exception} (). The last () indicates that, next to it’s IO and Exception side effects, it also returns () as a value. This is because, in functional programming languages, all functions need to return values (or run infinitely, but that is for another topic)

    Now I’ve been used to functional programming for quite a while now, so things that seem natural to me can be absolutely woozy for anyone not used to this paradigm. So if anything still feels vague to you feel free to comment



  • Whatever metric they use to track installs has to prevent abuse like this

    I would be eagerly awaiting a follow-up response from unity from this, because as it stands right now, consensus among gamedev circles is that unity won’t prevent abuse at all, which is just awful for multiple groups of people.

    • someone paying for your game and then re-downloading it every hour would cost you $144 a month
    • someone paying for your game and then re-downloading it every 5 minutes would cost you $1728 a month
    • web games exist, and if the Unity Runtime Download metric is used there, well, that is going to be an expensive bill for anyone putting any sense of monetization in their web game



  • Idk I don’t tend to look at the clock when I fall asleep, but I do know that whenever I accidentally fall asleep while watching, say, a PBS spacetime video, I pass out for no less then about an hour

    Also I have no clue how the other people here figure out how long it takes them to go to sleep, because as far as I know, looking at the clock just keeps you awake for longer


  • I just embrace impermanence. Fediverse is not much other than some other person’s server, and if the instance owner decides he doesn’t want to host his instance anymore, you’re just gonna have to cut your losses and move somewhere else. It’s not as if the entirety of Lemmy is gonna stop existing at once.

    The real threat to Lemmy’s existence is the maintenance of the software. If that stops, there are 2 options, either someone forks it, or the medium slowly dies out as no one feels like hosting outdated software anymore.

    In that case (which, might I add, is unlikely to happen), you’re gonna have to cut your losses, and move to a different type of social media