• 0 Posts
  • 645 Comments
Joined 2 years ago
cake
Cake day: June 22nd, 2023

help-circle
  • A lot of the nuance is also one of threat assessment, and risk tolerance.

    We can prepare for a situation where we’re attacked by the US, but given all probabilities is that worth it compared to preparing for a situation where we get attacked by China or Russia, or is that even worth considering vs preparing for a situation where we can ramp up industrial military production as fast as possible and become a resource rich manufacturing powerhouse?

    There’s no way of knowing which path the world will go down, and preparing for everything simply isn’t possible, so every decision is going to be a matter of what risks to take for what potential benefits.


  • At the moment, no, probably not, and it’s not either / or. Drones were a surprise in Ukraine, but their effectiveness has somewhat diminished as new counter measures like jamming, and just basic stuff like netting, are starting to blunt their usefulness.

    Meanwhile they’re still getting hammered by glide bombs, modified heavy bombs that can use GPS to find their targets and are launched by traditional aircraft, far away from the front line, and some of their most effective weapons have been the Storm Shadow / Scalp cruise missiles, which are also launched from traditional fighter jets (which effectively act as a first stage).

    And again, it’s not one of the other. In an actual war, either aggressive or defensive, you’re going to want a mixture of capabilities… You can’t always zerg rush.










  • Exactly, Sci Fi writers almost never invent an entirely new technology for their books, they just look at current technology, think a bit about where it might head, think about how that could interact with broader societal forces, realize some flaw there-in, and write about it.

    Technologists are doing basically the same thing, looking at current technology, thinking about where it might head and what might be useful and/or profitable, and then start trying to overcome current obstacles to develop and build it.

    But one of them takes a single person a year or two to write a book, and the other has to start trying to do research and building things and testing them and breaking them and getting funding and overcoming the current obstacles etc. etc. If they start at the same time it will look like the technologist has just built what they were warned not to, when in reality they’ve been building it the whole time on a parallel path.


  • The SOLID principles are just that principles, not rules.

    As someone else said, you should always write your code to be maintainable first and foremost, and extra code is extra maintenance work, so should only really be done when necessary. Don’t write an abstract interface unless multiple things actually need to implement it, and don’t refactor common logic until you’ve repeated it ~3 times.

    The DRY principle is probably the most overused one because engineers default to thinking that less code = less work and it’s a fun logic puzzle to figure out common logic and abstract it, but the reality is that many of these abstractions in reality create more coupling and make your code less readable. Dan Abramov (creator of React) has a really good presentation on it that’s worth watching in its entirety.

    But I will say that sometimes these irritations are truly just language issues at the end of the day. Java was written in an era where the object oriented paradigm was king, whereas these days functional programming is often described as what OO programming looks like if you actually follow all the SOLID principles and Java still isn’t a first class functional language and probably never will be because it has to maintain backwards compatibility. This is partly why more modern Java compatible languages like Kotlin were created.

    A language like C# on the other hand is more flexible since it’s designed to be cross paradigm and support first class functions and objects, and a language like JavaScript is so flexible that it has evolved and changed to suit whatever is needed of it.

    Flexibility comes with a bit of a cost, but I think a lot of corporate engineers are over fearful of new things and change and don’t properly value the hidden costs of rigidity. To give it a structural engineering analogy: a rigid tree will snap in the wind, a flexible tree will bend.