I take my shitposts very seriously.

  • 11 Posts
  • 1.18K Comments
Joined 1 year ago
cake
Cake day: June 24th, 2023

help-circle


  • Like most things in life, it’s somewhere in the middle. Some of the criticism is factual and valid. Some, a matter of taste (mostly relating to GNOME). Some arises from negative personal experience. Some is just elitist bluster.

    The best thing to do is to be rational and critical. Never dismiss an opinion outright without separating the truth from the bullshit.


















  • You’ll encounter math eventually. It could be as simple as implementing linear interpolation for a custom type, or understanding why a type is not suited for a particular application (e.g. never use floating points to represent money). If you delve into low-level networking, you’ll need a good understanding of binary/decimal/hexadecimal conversions and operations. If you go into game development or graphics, you won’t survive without a deep understanding of vectors, matrices, and quaternions. Any kind of data science is just math translated to a machine-readable language.

    In my opinion, knowledge of the basic concepts is more important than being good at actually performing mathematics with pen and paper. For example, if you need to apply a transformation to a vector, nobody expects you to whip up a program that does the thing. Instead, you should immediately know:

    • what a transformation is (translation, rotation, scaling, projection, etc),
    • that each transformation has a corresponding transformation matrix,
    • that you’ll have to deal with inhomogeneous and homogeneous coordinates, and
    • that you’ll have to combine the transformation matrices and the original vector.

    That abstract knowledge will give you a starting point. Then you can look up the particulars – the corresponding transformation matrices, the method to convert between inhomogeneous and homogeneous coordinates, and the process of matrix multiplication. I know because I failed calculus.