• 0 Posts
  • 107 Comments
Joined 9 months ago
cake
Cake day: December 23rd, 2023

help-circle




  • Multiple votes is not why we have secret ballots IRL. Votes during referenda where you don’t vote for one candidate are also secret.

    The purpose of secrecy is to protect from repercussions (ie worker vs boss, person vs family, tenant vs landlord…)

    I’m not being pedantic. It matters here, because your votes can have repercussion if they’re easy to see at all times. I don’t want to be harassed because I downvoted an obsessive tankie.






  • Six levels of abstractions, sure, if you have that many, you may want 6 functions. But that contradicts Martin when he’s saying that there should be one line in an if, and everything more should be promoted to its own function. There’s no way a programmer routinely writes code so terse that you get six levels of abstraction in a dozen of lines of code. Otherwise, Martin doesn’t understand what an abstraction is.

    Managing a stack in your head like a computer is very challenging as far as cognitive load is concerned. You don’t want to jump all over the place. Otherwise, when you reach your destination, you end up forgetting what got you here in the first place.

    This form of code fragmentation makes debugging an absolute nightmare, and finding sources of mutation absurdly frustrating. Good tooling can help you track where a variable is used and in which order mutations happen trivially in code in a single function. It’s not as as helpful when it’s spread all over the place. You can infer so much less statically if you follow Martin’s advice.

    I’m not advocating for 1000-lines functions here, mind you. When functions become too big, other challenges arise. What’s necessary is balance, which Martin’s book fails to teach.


  • It’s inspired so many crimes against engineering as a whole that it’s OK to discourage people from reading it. Not only is it pointless, but it’s also actively harmful to the industry as a whole.

    When something is mostly garbage and good advice is so sparse in it, there’s no need to hold onto it. It’s as much of a mixed bag as a turd with a nice ribbon is a mixed bag of prettiness.

    Burn it with napalm.

    … Nah, I don’t actually mean it should be burnt, that was a joke. The book is a nice reminder that, on top of being a bigot, Robert Martin (not my uncle) should not be hired to write any kind of code in any professional capacity.


  • It’s a moment in history, not an inviolable truth, which is what the comment I’m replying to implies. The West went through the same horrors closely enough in time that some people are still alive to tell the story. And the US has no lesson to teach people in the middle East. In less than 300 years of history, they’ve been at peace for less than 20 years. And they’ve been in 100+ conflicts according to Wikipedia. Other imperial powers in the West and elsewhere have comparable track records.

    The region would be more stable if it wasn’t for imperialists. They made the bed for various extremist groups, and the middle East is paying the price.

    The situation is comparable to someone lighting a fire and saying that the house was always on fire.





  • I know it is, and I find it to be a pretty ridiculously complex fix for a self-inflicted wound.

    The disruption it’s caused me outweighs by far any minor inconvenience with the multiplication or micro packages in the NodeJS world. There’s that, and the Python 2 vs 3 shitshow from which the world still hasn’t fully recovered from yet.

    I mean it: Python has no business laughing at Javascript. Get your act together, snek 😜




  • Python has other stupid problems related to pip. As much as stupid micro-dependencies suck in Javascript, they’re not the shitshow managing dependencies in Python is. It’s an inefficiency that never actually caused me noticeable issues in my former webdev life.

    And let’s not talk about C++… People reinvent all sorts of wheels all the time because sharing anything is so annoying.