I’m a Unix citizen. I work with the modern web, but have a soft spot for the old Internet.

Check out my site.

  • 0 Posts
  • 13 Comments
Joined 2 years ago
cake
Cake day: June 14th, 2023

help-circle



  • Worth noting that this is GNU-specific! For macOS for example, you’d have to install GNU userland (e.g. from homebrew) to get the flag. There’s still value in using other solutions (such as ln), portability-wise.

    As an aside: I mostly think of the ln param orders as exactly the same as cp and mv:

    cp FROM TO
    mv FROM TO
    ln [-s] FROM TO
    

    Maybe that could help!


  • If we’re talking specifically about executable scripts, here is #bash’s (libera.chat) factoid on the matter:

    Don’t use extensions for your scripts. Scripts define new commands that you can run, and commands are generally not given extensions. Do you run ls.elf? Also: bash scripts are not sh scripts (so don’t use .sh) and the extension will only cause dependencies headaches if the script gets rewritten in another language. See http://www.talisman.org/~erlkonig/documents/commandname-extensions-considered-harmful

    It’s for these reasons that I keep my executable scripts named without extensions (e.g. install).

    I sometimes have non-executable scripts: they’re chmod -x, they don’t have a shebang, and they’re explicitly made for source-ing (e.g. library functions). For these, I give them an extension depending on what shell I wrote them for (and thus, what shell you need to use to source them), e.g. library.bash or library.zsh.


  • igemnacetoInternet Relay ChatFavorite IRC client?
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    2 years ago

    Yeah, I use weechat.

    But in the interest of sharing something new: I do also like ii, which is a minimal filesystem-based IRC client. To tail a channel’s messages, for example, you could do

    tail -f #vim/out
    

    Then to send a message,

    echo 'Hello, world!' > #vim/in
    

    Fun for the first five minutes just pulling together a makeshift IRC client with tmux panes and the above, but then you realize the depth of the iceberg with its scriptability with standard Unix pipelines. Tail out into a perl script that pipes back into in for example and you have a bot.


  • Right! Recursive is implied by -a

    Yep. There’s a single ./install script in project root that calls install-cfg and install-plugins. I only really need to run it once (first time I set up on a machine), and every time I add a new file. If all I’ve done is update existing files, a simple git pull will update my dotfiles’ content automatically, as everything is symlinked already.




  • Quite a few times, sure. git bisect is a specific case of a more general technique – binary search fault localization – which comes in handy every once in a while (you can go a long while without needing it, but when you do need it, you’ll be thankful for it). If you can’t otherwise trace where in the code something is going wrong, bisect the code: comment or remove half of it out, see if it reproduces (therefore localizing it to either the removed or the remaining half), and repeat. If you’re working with some software that’s breaking on your config after a major version bump, bisect your config. Don’t have an idea what introduced a bug into your branch? git bisect.



  • igemnacetoNetHack et al.*Permanently Deleted*
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    2 years ago

    Yeah, I didn’t like the debates back then either, because they tended toward elitist gatekeeping.

    That said, I think having a common language for rogue-likes, rogue-lites, roguelike-likes, and etc is useful enough still, but not for the purpose of exclusion. More so just for the purpose of being precise about discussion.

    Someone asks “hey I like roguelikes, can you recommend me some?”, and the world might be a little bit better if I could instantly understand what they’re asking for without doing the whole “well, what do you mean by roguelikes, what do you play now” dance – do I recommend Rogue Legacy or Sil, that sort of thing.

    I’ve made my peace with the names for the genres being imprecise as is (when are genres ever precise, anyway), but I think the Berlin Interpretation has a nice enough connotation where you go “oh, THAT kind of roguelike” to quickly establish shared context.