19 votes

Adding keyboard shortcuts to a 24 year old government website with userscripts

7 comments

  1. [2]
    Mackapoot
    Link
    I’ve been wanting to do something similar with a piece of software we use at work. Thanks for sharing this!

    I’ve been wanting to do something similar with a piece of software we use at work. Thanks for sharing this!

    7 votes
    1. wcedmisten
      Link Parent
      Glad you enjoyed it! I highly recommend trying it out. For me, the number of lines of code written was quite small compared to the time saved

      Glad you enjoyed it! I highly recommend trying it out. For me, the number of lines of code written was quite small compared to the time saved

      6 votes
  2. [3]
    creesch
    Link
    Good usecase of userscripts and nice approach in general! Did you stop here with automation because there are still manual steps required to validate search results? While reading the post, I also...

    Good usecase of userscripts and nice approach in general!

    Did you stop here with automation because there are still manual steps required to validate search results?

    While reading the post, I also realized that it could also been written by someone exploring test automation. Which made me think that test automation frameworks like playwright or Selenium webdriver could, depending on the manual checks involved, automate the entire process.

    There are other options available. For example, just doing plain http request with nodejs. Then creating a virtual with something like jsdom. This would allow you to use the javascript dom manipulation calls you are already familiar with. The downside would be that any interactive interaction is difficult, though given the age of the website you are dealing with that might not be an issue.

    Anyway, that is just my brain going into overdrive, seeing some extra potential for automation. Going down that rabbit hole also comes with the risks illustrated in this xkcd.

    3 votes
    1. [2]
      wcedmisten
      Link Parent
      Yeah, I actually managed to automate a lot more than this with some web scraping and OCR, but the manual data cleaning was needed for the last ~20% that couldn't be automated. Since there's a lot...

      Yeah, I actually managed to automate a lot more than this with some web scraping and OCR, but the manual data cleaning was needed for the last ~20% that couldn't be automated. Since there's a lot of trial and error going from device name -> the actual ID, it doesn't lend itself very well to further automation unfortunately.

      I even tried using an LLM to parse the device name from the PDF, but didn't get great results and I didn't really trust it vs. just doing it myself.

      2 votes
      1. creesch
        Link Parent
        Ah yeah, that sort of thing is indeed difficult/impossible to automate without the automation costing more than doing it manually. LLM usage is also very much recognisable. Interestingly enough I...

        Ah yeah, that sort of thing is indeed difficult/impossible to automate without the automation costing more than doing it manually.

        LLM usage is also very much recognisable. Interestingly enough I saw in the weekly programming project topic someone did make a library for doing something similar through the openai api. Not that I suggesting that you revisit that approach, just appreciating the coincidence.

  3. [2]
    RheingoldRiver
    Link
    Quality article. Generally-applicable case study with a nice progression from simple to complex examples. Not sure if I have a reason to use it currently but I'm bookmarking this in Tildes in case...

    Quality article. Generally-applicable case study with a nice progression from simple to complex examples. Not sure if I have a reason to use it currently but I'm bookmarking this in Tildes in case I do in the future!

    I think you have a typo:

    In our code, we the URL for the string

    1 vote
    1. wcedmisten
      Link Parent
      Looks like grammarly didn't catch that one, whoops. Should be fixed now, thanks for the tip!

      we the URL for the string

      Looks like grammarly didn't catch that one, whoops. Should be fixed now, thanks for the tip!

      2 votes