• 4 Posts
  • 63 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle

  • If it didn’t bring something more to the table, besides speed, no one would care

    I’m literally saying its speed in certain operations makes an appreciable difference in my workflows, especially when operating on tens of venvs at a time. I don’t know why you want to fight me on my own experience.

    I’m not telling anyone who doesn’t want to use uv to do so. Someone asked about motivation, and I shared mine.


  • The convention

    That’s one convention. I don’t like it, I prefer to keep my venvs elsewhere. One reason is that it makes it simpler to maintain multiple venvs for a single project, using a different Python version for each, if I ever want to. It shouldn’t matter to anyone else, as it’s my environment, not some aspect of the shared repo. If I ever needed it there for some reason, I could always ln -s $VIRTUAL_ENV .venv.

    Learn pyenv

    I have used pyenv. It’s fine. These days I use mise instead, which I prefer. But neither of them dictate how I create and store venvs.

    Shell scripts within Python packages is depreciated

    I don’t understand if what you’re referencing relates to my comment.














  • That’s true, but if the transformations have more than one argument, they go after the name

    Yup, I understand. That’s why I’ve not put them in the concatenative section.

    Also, there are more languages with this feature, for example D, VimScript or Koka.

    Thanks, maybe I’ll add them to the sidebar! I hadn’t heard of Koka.

    If you have a suggested heading/description to replace “partially concatenative” I’m interested. Function chaining? And I’m not sure but maybe execline is actually concatenative and needs to be moved out of that section.



  • I may be expressing it poorly and inaccurately, but what I mean is that in Nim you can re-order arguments and functions to start with some data followed by a series of transformations. The following two lines are equivalent:

    parse_int(read_line(stdin))
    stdin.read_line().parse_int()
    

    Roc offers a similar flow with their |> operator. Here’s a snippet from one of my Advent of Code 2022 solutions:

    partOne =
        "input.txt"
        |> getData
        |> Task.await \data ->
            data
            |> getRangePairs
            |> List.keepIf pairHasStrictSubset
            |> List.len
            |> Num.toStr
            |> Stdout.line
    



  • Approval voting simplifies things but also has limitations because it removes any weight/preference people may have.

    Yes, but nowhere near the problems of IRV. If those particular limitations bother you, as I said:

    If you want to take on a little complexity for some further improvement, use delegable yes/no voting.

    . . . don’t let the perfect be the enemy of the good.

    I see zero “good” in IRV, for all the reasons outlined in the rant. Its failures are absurd and beyond unacceptable given that there are strictly better and simpler alternatives. Don’t let something shiny and terrible stop you from using something actually quite good.