1. 47
  1. 15

    That got me thinking: there’s no reason you couldn’t use a selenium instance as your daily browser. 99% of the time you’d treat it like a normal Firefox browser, but you could also run scripts to control it. This would be more powerful than injecting javascript as you could automate across tabs and pages. I’ve never tried it out in practice, though.

    Projects like tridactyl, qutebrowser, surfingkeys, vim-vixen, nyxt browser, etc all offer programmable browser that are (imo) a bit easier to use than selenium. These typically provide an extra vim-inspired user interface in the browser using a web extension, tho qutebrowser and nyxt are their own browsers.

    Disclaimer: I am one of the two original developers of tridactyl.

    1. 8

      This is a nice sentiment / reminder. However with the more complex automation tools I’m always worried that it’s going to break.

      I didn’t have good experiences with selenium ~10 years ago. It was pretty slow / fragile / hard to debug when things went wrong. Maybe I didn’t know JavaScript well enough.

      I have used some Windows automation as well, but my experience of Windows was always this upgrade treadmill that broke things. My experience is that closed source / commercial programs tend to get worse over time.

      I like shell, Unix, and the web because the automation is less likely to break. It’s part of the system design and seems less fragile. I can also spend time learning them without that knowledge becoming obsolete in 5 years.

      1. 5

        Hammer spoon on macOS is also great here, and PowerShell means you get thingsike cross platform access to the clipboard without having to remember 3 different invocations to do it.

        1. 4

          If you’re in windows and happy to do some programming, I can’t recommend FlaUI enough for automation. Basically AutoIT / AHK are useful but any complexity will likely make you swear at their limitations. FlaUI exposes all of that in a real programming environment (.Net) and I’ve been happy selling software/services based on it. (Automation for very enterprisey medical software)

          1. 4

            I would defend vim golfing.

            The way you know what features are worth committing to memory is you use them. Vim golfing is a way to learn about those features in a way that might stick, or might not. It costs you some time and focus up front so that e.g. you then know about recording and don’t need to spend brain power to pull the trick out of your sleeve.

            Not for the beginner, and not to do casually later, but to learn about features worth knowing.

            1. 4

              I feel that with vim I can either do the dumb thing NOW or do a bit of golfing after thinking about it for a bit, and thinking about the golfing distracts from whatever I’m doing at the moment. I guess I could practice the more complex movements and commands to make them easier to reach for in the spur of the moment, but would it be worth the effort? I have no idea. I certainly do like to learn about things that can be massive time saves like recording, but in those cases the time spent thinking about what to records always outweighs the time you’d spend doing those repetitive edits manually so the productivity gain is obvious.

              1. 3

                The recording I made most recently, I’ve been making changes across a dozen or so files. So I open all the files in vim at the same time, record the search and what I do, end with a :wq to stop recording, and then I go to the next file and play the recording again.

                I learned about recording from vim golf, by the way.

                Saves me several minutes, and only took the numerous times to gain the muscle memory. Now the mental effort is minimal, the commands flow, even if they are sub optimal. Is it bad I pressed k a dozen times? No, so long as the offset is the same in every file. $i instead of A? Doesn’t matter. The power is realized anyway.

                We’ve found Engelbart’s violin, and it is vim.

                1. 2

                  To be clear, I’m defending http://www.vimgolf.com/ not golfing, or even optimizing, your every action.

                  1. 1

                    It is definitely a good way to learn about the more obscure commands and maybe ways to use them that you never thought about, and I guess practicing it would make it easier to get them into your working memory so you could use them in your normal editing process without thinking much about it. I didn’t know about the website but I might try using it every once in a while for fun, thank you for sharing!

              2. 3

                I do this all the time. I notice that I tend to automate things for the sake of removing the details from ever being a factor, not because it would take too long to do manually.

                1. 2

                  Searched for Linux alternatives, found this list: https://unix.stackexchange.com/questions/165124/autohotkey-equivalent

                  1. 2

                    I use kmonad for key remapping because it supports things like dual use keys. But it also supports macros. I don’t think it has the versatility of AutoHotKey, but for the things it does do, I think it’s more reliable. It’s also cross-platform, and on Linux it’s practically the only thing that works with Wayland.

                    1. 1

                      Thanks, I’ll check it out :) All of this is new to me.