Computer guy, occasional gamer, shitty music producer. Denver, CO

https://corytheboyd.com

  • 1 Post
  • 47 Comments
Joined 1 year ago
cake
Cake day: June 16th, 2023

help-circle
  • It took me a long time to really grok iterative methods like this, but once it clicks, you will absolutely know and feel like you have unlocked a new super power.

    It starts with completely understanding that you are just passing functions as arguments, and those functions are being invoked, in a loop, for each item in the collection. Once you have that concept internalized, you should then learn the difference between filter, map, reduce, etc. The general difference boils down to: 1. How the iterator function changes the value being iterated over (most don’t) 2. What does the iterator function itself return (i.e. map itself, not the function passed into map. map and filter both return a new list, reduce returns the data structure being reduced into)

    I would skip trying to understand reduce at first, though it’s the method you can implement all other such iterative functions with. The derivations like map and filter are just easier to start with.

    And again, seriously, it took me like 2 years to completely internalize all of this, even after CS classes.









  • It’s a huge faff, you will get a different answer from every person you ask. They’re used interchangeably, and it just doesn’t matter.

    To entertain your prompt. Real world engineers (structural, etc.) aren’t entrusted the title because they “care” about what they build, it’s because they have to be correct, and as such, they follow extremely rigid process and take the time to never be wrong. Obviously I do not have real world structural engineering experience, but I think we can all agree on this from an outside point of view.

    That’s not how software works most of the time, and it’s even heavily discouraged in a lot of the industry. We learn from failure, and the consequences of software failing are nil compared to the consequences of a bridge failing. This is a huge superpower of software, not a weakness, or some sign of deficiency. It is the key reason software evolves so quickly. Software engineers (or developers, alchemists, whatever) are allowed to fail, learn from mistakes, and improve. They can test completely new, never been done ideas, nearly for free, and nearly instantly.

    Again, I don’t really care though what the industry wants to call it, developer or engineer. It doesn’t matter and it’s all made up anyway.



  • You may not agree, but they are right. We are not most people. They want, and they have, that sweet “lowest common denominator” market, and they will take advantage of that until something else generates more cash. The “lowest common denominator” demand more CoD and whatnot. They don’t care if it’s bad, because them and all their friends will buy it and perhaps even have some fun. The big studios converging on vapid cash grabs instead of creating interesting content is depressing, sure, but hardly surprising in a world where morals and ethics don’t matter, where you can get away with the absolute most heinous, reprehensible acts, and suffer zero consequences.

    I don’t really care though. The indie scene is unaffected by this, and has only gotten better every year for as long as it has been around. It’s fucking GLORIOUS already, and it’s not going anywhere because it’s not run by an oligarchy of publicly traded shitfactories.






  • I’ve heard it much better described as a “distributed monolith”, which makes complete sense to me. It’s what you get when you “break up” a monolith into “services”, but the spaghetti is still there, it’s just distributed across services now. You have to actually eliminate tight coupling, define the correct boundaries, and vigilantly respect them. All of which should happen from within the monolith first, ideally, where you still have the massive luxury of one codebase to deal with as you make the huge refactors necessary before completely decoupling into services. Even better, do this required prerequisite work and discover that your monolith is actually… fine.