• 0 Posts
  • 9 Comments
Joined 1 year ago
cake
Cake day: July 12th, 2023

help-circle


  • I love that these extensions exist and in theory they sound awesome. Unfortunately for a few reasons I’ve never been able to get in the habit of using Tridactyl (or any vim browser addon):

    • it doesn’t play nice with Google drive apps (which my company uses extensively), so if I use the vim shortcuts to cycle between tabs and open a Google doc, the next time I try to cycle tabs it will instead start typing in the document. (Alternatively I would never be able to interact with Google docs without manually enabling ignore mode)

    • hint mode works really well for some sites but a lot of sites have multiple anchors close together (eg one for an icon, one for text and one behind both) which leads to longer hints and difficulty figuring out which hint to actually use

    • Firefox doesn’t allow you to rebund the default “/” search (quick find) cycle keys. The default is c-G for next (not sure about previous); I would like to use n/N

    On simple and well-designed “dumb” webpages it works amazing. I wish more sites were designed that way, but unfortunately a lot are made with the assumption of a mouse/touchscreen :(




  • I think neovim with kickstart has out-of-the-box support for go, or if not, should be configurable with two added lines (add the treesitter parser and LSP). Unlike nvchad and lunarvim and stuff, this is not a “distribution” of neovim but a good starting point for a config that makes it easy to slowly learn how to add stuff and change stuff as you see fit.

    At the beginning, you can add languages that you need support for pretty easily by adding to a list of LSPs and Treesitter parsers that should be installed; later on you can start adding and configuring plugins as you wish.

    I’d say it sets you up about the same level as Helix or a little less than VSCode.


  • Nix being an expression based functional language, it doesn’t really make sense to have something like let x=y; since this looks to most people like a statement (i.e. a line of code that gets executed as part of a sequence). This doesn’t exist in nix—instead you have expressions that get lazily evaluated, possibly out of order compared to what you’d expect. let x=y in makes it more clear that the variable binding you’re doing is only in scope for the current expression, which reads something like “let x refer to y in x + 3”

    The function definition syntax is unusual but definitely not unintuitive imo. It captures the simplicity of the function semantics of nix—a function is just a mapping/transformation from one value (or set of values) to another. I don’t think it’s too much overhead to learn that they use : to mean this instead of =>

    In terms of why they picked this syntax, it follows the traditions of other functional languages such as the ML family, Haskell etc.