• 1 Post
  • 14 Comments
Joined 1 year ago
cake
Cake day: June 5th, 2023

help-circle


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







  • In the hamburger menu on the left you should find an “Add account” button. IIRC it says the word “Anonymous” and you have to tap it to show the add account button.

    Some things in Jerboa are a bit confusing for now. Once you get to know where things are it’s pretty good though.



  • The issue I see a lot in the JS ecosystem is laying out documentation like a reference guide, but then not including all parameters or functions. These types of documentation are very helpful if what you need to know is included, because they have nice friendly explanations and examples. But eventually you will run into a parameter that is mentioned on Stack Overflow, or is in a code snippet in the documentation, but then has no further explanation in the documentation, as if it doesn’t exist.

    Projects where the README is the only documentation seem to suffer from this problem the most. They give examples of the most common parameters and functions, and then that’s it.

    In JS this is a big issue because there may be no way to know a parameter even exists, or what values it accepts, unless it is documented.

    A lot of documentation in the Java ecosystem has huge auto-generated monstrosities with absolutely no explanations. In Java this is usually not useful because that information can be found in the types. But in JS it would be incredibly useful. Unfortunately it isn’t as easy to automatically generate that type of documentation for JS.

    Python in my experience has the best of both worlds. It has the friendly explanations and examples. But also has all of the parameters, even if explanations for some are a bit less detailed. And all of that is combined into a single place.





  • I think the metaphor is great. Calling an adult cat dead would indeed be extreme. But calling a perfectly working piece of hardware dead is also extreme. I wouldn’t call my toaster dead because the people who made it don’t make toasters anymore.

    We’ve become far to accustomed in this day and age to accept that because something has software on it that it’s expiration date is decided by the company that made it. Cats don’t work like that, toasters don’t work like that, and neither should game consoles.

    In practice that means modding is very important. And unfortunately many companies make that very difficult or impossible. But we should celebrate any product where that is possible, even at launch and its estore equivalent is still around.

    Edit: dead cat not alive cat