• 0 Posts
  • 209 Comments
Joined 1 year ago
cake
Cake day: June 22nd, 2023

help-circle
rss
  • Because usually if you end up at the API reference in that situation it’s a code / project smell that other stuff is going wrong.

    If I want to use a library to do something, you should be able to search for what you want to do + language / framework, find the library’s docs, follow the install instructions and then look through the highest level API / instructions and then just go from there.

    If you find yourself confused at unhelpful API references that just means that they have badly written top level API docs, badly written intros, or quite probably just badly written APIs.







  • For software to run on a computer, it needs to tell the computer what to do, “display this picture of a flower”, “move my character to the left”, “save this poem to a file”.

    And for a bunch of different software to all run on the same machine, they all need to use the same basic set of instructions, this is called the machine’s Instruction Set.

    Because the instruction set has to work for any software, these instructions don’t look that readable to us, instead of “show this flower” they might be “move this bit of memory into the processor”, but software builds up millions of those instructions to eventually display a flower.

    Intel processors used a set of instructions that were called x86, and then when AMD made a rival processor, they made theirs use the same instruction set so that their processors would be compatible with all the software written for Intel processors (and when they needed to move from 32bit instructions to 64bit instructions, they made a new set called x64).

    Meanwhile Apple computers for a long time used processors built by IBM that used IBMs PowerPC instruction set.

    Now many companies are using the ARM instruction set, but ARM is still a private company you have to pay licensing fees to, so RISC-V is rising as a new, truly open source and free to use instruction set.






  • Or is this a battle I can pick to shield my self from ms

    Read the post before coming to the comments to reply.

    OP is asking on here about whether or not to pick this battle and fight his company over it. Yes, you are probably technically correct that a company can’t force you to install an authenticator app on your phone. However, that is a battle that you will have to fight with them that will accomplish essentially nothing if you win.

    In Canada right now there is a major auto manufacturer that is being sued by the union over this very issue. It is a years long legal case that had to be escalated through the union, it’s lawyers ,and now arbitration. Does that not sound like a battle to you?


  • Because an object is good at representing a noun, not a verb, and when expressing logical flows and concepts, despite what Java will tell you, not everything is in fact, a noun.

    I.e. in OOP languages that do not support functional programming as first class (like Java), you end up with a ton of overhead and unnecessary complications and objects named like generatorFactoryServiceCreatorFactory because the language forces you to creat a noun (object) to take an action rather than just create a verb (function) and pass that around.




  • Answer: there’d be far less software in the world, it would all be more archaic and less useful, and our phones and laptops would just sit at 2% utilization most of the time.

    There’s an opportunity cost to everything, including fussing over whether that value can be stored as an int instead of a double to save 8 bits of space. High level languages let developers express their feature and business logic faster, with fewer bugs, and much lower ongoing maintenance costs.



  • For 3D Modelling / Printing, if you have even a little bit of programming / scripting ability, OpenSCAD is amazing.

    It’s basically just a small scripting language for generating 3D objects and performing 3D modelling operations and its so handy to be able to store important info as precise variables, and create new objects and cuts and stuff just with for loops and if statements.

    I use the web version a lot of the time, and while it could use a little work, it’s pretty amazing.