Husband, father, kabab lover, history buff, chess fan and software engineer. Believes creating software must resemble art: intuitive creation and joyful discovery.

🌎 linktr.ee/bahmanm

Views are my own.

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

help-circle
  • Good question!

    IMO a good way to help a FOSS maintainer is to actually use the software (esp pre-release) and report bugs instead of working around them. Besides helping the project quality, I’d find it very heart-warming to receive feedback from users; it means people out there are actually not only using the software but care enough for it to take their time, report bugs and test patches.







  • Not a direct answer to your question but here’s what I’ve learned and am learning:

    It all boils down to “finding the right balance between the costs of implementation, the value the implementation offers given the circumstances and constraint.” Essentially, the foundational guideline of engineering across all engineering principles.

    Usually every decision brings about about a series of advantages/improvement but it’s important to remember that “one must lose in order to gain.”[1] That is, every improvement (value) comes at a price (cost). Unlike other principles of engineering (which are closer to bare maths), software engineering more closely resembles something intuition-based like art. That is what makes it difficult to see the values and costs and measure them. It takes lots of practice and introspective and extrospective (!) effort; doing things and potentially making mistakes and learning from them is as important as observing others do things and make mistakes.

    In other words, it boils down to honing your intuition to “do the right thing, at the right time, the right way.”

    PS: Please note that I used the word “right” and not “correct.”

    [1] Dialectically speaking, every material good contains w/i itself its own seeds of destruction 😆