• 0 Posts
  • 69 Comments
Joined 3 years ago
cake
Cake day: June 25th, 2023

help-circle
  • One thought I’d like to add is, not all art is meant to be “enjoyed”, and there’s value in art that invokes unpleasant, even painful experiences.

    In a way, it’s the opposite of the meme, something that can be worthwhile yet painful if it “lands”, and boring/tedious and bland otherwise. Though I also know some songs that cover bleak topics that hit me personally, but are also absolute bangers, so those aren’t mutually exclusive either.


  • I had to dig through the website shoving paid services down my throat and found the script builder, is that what you mean? If yes, I can see it generate either a command using chocolatey, or a config file (to feed chocolatey?), which seems to require me to install chocolatey manually first.

    Looks like it doesn’t meet the basic requirement of being a standalone script, and requires you to do extra setup first. I’m also very much not a fan of the website so far, but I can give it a pass since ninite being opinionated in the package choice is a subjective thing.


  • The great thing about ninite is how you can go there ahead of time and generate a single file, and when you’re done installing you just run that file. I suppose one could generate a batch script that installs stuff with some other package manager (you’d need to include install/update for it first, I remember reading about how Winget can come outdated with a broken version), but the issue with that is simply that ninite definitively exists and works reliably, while I don’t know any such service to generate install scripts.




  • Shouldn’t it be more efficient to download only the changes and patch the existing files?

    As people mentioned, that becomes problematic with a distro like arch. You could easily be jumping 5-6 versions with an update, with some more busy packages and updating less frequently. This means you need to go through the diffs in order, and you need to actually keep those diffs available.

    This actually poses two issues, and the first one is that software usually isn’t built for this kind of binary stability - anything compiled/autogenerated might change a lot with a small source change, and even just compressing data files will mess it up. Because of that, a diff/delta might end up not saving much space, and going through multiple of them could end up bigger than just a direct download of the files.

    And the second issue is, mirrors - mirrors need to store and provide a lot of data, and they’re not controlled by the distribution. Presumably to save on space, they quickly remove older package versions - and when I say older, I mean potentially less than a week old. In order for diffs/deltas to work, you’d need the mirrors to not only store the full package files they already do (for any new installs), but now also store deltas for N days back, and they’d only be useful to people who update more often than every N days.



  • I don’t think OOP’s nature makes them necessary, so much so as it enables them and popular programming principles encourage them. I think they’re a good thing, especially if there’s a way around them in case you can’t get the public interface changed and it doesn’t work for you, especially for performance reasons, but that should be done with care.

    Funny story, when modding Unity games using external modloaders you’re writing C# code that references the game’s assemblies. And with modding you often need to access something that the developers made private/protected/internal. Now, you can use reflection for that, but a different trick you can use is to publicize the game’s assemblies for referencing in your code, and add an attribute to your assembly that tells the runtime to just… Let you ignore the access checks. And then you can just access everything as public.


  • If it was a single question, that does sound lame, my other thought was that those “online polling tools” might not be viable because you can’t put internal company communications into them… But if it’s stuff like food choices or something, then that might also not be a problem.

    That said, my point still stands - what you describe does sound like what I’m saying. If you make a sheet with a dedicated field to put the answer into, it should be possible to reliably automate pulling out answers from all the files with excel-level knowledge, and without any additional sites or servers, just spreadsheet editing software and email.





  • Both java and go seem excessively complex at runtime for fundamental system utilities, featuring garbage collection. Rust, on the other hand, keeps the complexity in the compiler and source, keeping the runtime code simpler. And of course it’s doing that while trying to make it easier to manage memory and harder to make mistakes, without forcing extra runtime logic on you.



  • I don’t think “update notes or any marketing material” qualifies for making this kind of change non-silent - if the update is pushed through the same channel as regular security updates, and doesn’t explicitly notify the user the behavior of the button has changed, that’s pretty silent.

    Often for those kinds of updates software will show a special introduction screen, tutorial, or outright a prompt asking you to choose between the new and old behavior - but that’s software from people that care about the user having a good experience, and making such changes is a big deal for them.





  • I believe they’ve made the point that it’s not chrome’s fault, but the site’s/user’s - images displayed on websites should be webp to benefit from optimizations for displaying images, but download links should be a different format. The error would be either the user downloading the images from the display instead of the download (including from sites that do not offer images for downloading purposes?), or the website not including separate versions for download where relevant.

    I’m not necessarily sure if that’s a good take, but that’s my interpretation of what’s being said.