• 6 Posts
  • 83 Comments
Joined 2 years ago
cake
Cake day: June 19th, 2023

help-circle






  • I really want to switch from VSCode to Helix but not having a file tree is a deal breaker.

    Luckily there’s been a lot of work on adding a plugin runtime with one of the proof-of-concept plugins being a file tree. Assuming the plugin runtime comes out this year in a helix release, and adding on a year for the community to settle on the first wave of plugins while giving them time to mature, I can see myself using helix fulltime in 2027 (before Microsoft has enshitified vscode enough to be unpleasant to use).


  • For a complicated project I get it, github’s PR system is kind of bad (horrible branch based workflow and no stacked diff support resulting in increased churn) compared to the alternatives.

    That’s why we have tools like Graphite to add stacked diff support on top of github, and other devs creating new VCSs because git still hasn’t made it’s interactive rebase and merge conflicts easy enough to handle for juniors and it should be simpler.



  • ^ this

    Using AI leads to code churn and code churn is bad for the health of the project.

    If you can’t keep the code comprehensible and maintainable then you end up with a worse off product where either everything breaks all the time, or the time it takes to release each new feature becomes exponentially longer, or all of your programmers become burnt out and no one wants to touch the thing.

    You just get to the point where you have to stop and start the project all over again, while the whole time people are screaming for the thing that was promised to them back at the start.

    It’s exactly the same thing that happens when western managers try to outsource to “cheap” programming labor overseas, it always ends up costing more, taking longer, and ending in disaster







  • This doesn’t seem overly useful.

    It’s a list taken out of a bunch of books with no regard for how something can be the best path in one language and a smell in another language.

    Look at this page for example: https://luzkan.github.io/smells/imperative-loops

    It suggests using functional loop methods (.map(), .reduce(), .filter()) instead of using imperative loops (for, for in, for each) but completely disregards the facts that imperative loops also have access to the break, continue, and return keywords to improve performance.

    For example: If I have an unsorted list of 1000 cars which includes a whole bunch of information per car (e.g. color, year manufactured, etc…), and I want to know if there were any cars were manufactured before the year 1980, I can run an imperative loop through the list and early return true if I find one, and only returning false if I haven’t found one by the end of the list.

    If the third car was made in 1977, then I have only iterated through 3 cars to find my answer.

    But if I were to try this with only functional loops, I would have to iterate through all 1000 cars before I had my answer.

    A website with blind rules like this is going to lead to worse code.