• 0 Posts
  • 5 Comments
Joined 1 year ago
cake
Cake day: June 5th, 2023

help-circle
rss


  • An important point to add for someone who hasn’t heard of reproducible builds before: The key difference to a normal build process is that it is 100% deterministic i.e. it produces exactly the same output every time.

    You might think that most built processes would be like this by default, however this is not the case. Compilers and linkers usually have some non-deterministic values that they put in the final binary such as timestamps. For a build to be deterministic these sources of variation must be disabled or mocked to be a repeatable value (i.e. not based on the actual compile time).



  • This is bizarre. Snap has improved a tiny bit over time, but it continues to not be that great. Meanwhile, flatpak is miles ahead. Things are generally just smoother and less annoying, even when Snap is working as intended.

    Personal anecdote: I was having no end of trouble with Inkscape, it was just not working, very unreliable, all sorts of very odd issues. It got worse and worse over time to the point where it didn’t even seem to understand paths to open files anymore, if it even felt like opening that day. I tried reinstalling, clearing the config, all sorts of things. I suspected maybe the version of Inkscape Snap was giving me might have a bug in it so I was looking around for alternative ways to install an older version and then for some reason I tried Flatpak. It was like some kind of magic. Totally night and day. All of a sudden Inkscape had absolutely none of the issues that the Snap version had. It just worked. After that I realized that it hadn’t been a bug in that version of Inkscape at all, it was just Snap.

    I haven’t had any issues with any other Snaps, but that incident really opened my eyes to just how bad things can get if a program isn’t packaged correctly.