https://github.com/egg82/fetcharr

Disclaimer: I am the developer

Long story short, after Huntarr exploded I still wanted an app that did the core of Huntarr’s job: find and fetch missing or upgradable media. I looked around for some solutions but didn’t like them for various reasons. So, I made my own.

No web UI, configured via environment variables in a similar manner to Unpackerr. It does one job and it does it (a little too) well. Even when trying a few different solutions for a few days each, Fetcharr caught a bunch of stuff they all missed almost immediately. This is likely due to the way it weights media for search.

Since you made it this far, a few notes:

  1. I did still use ChatGPT on a couple of occasions. They’re documented and entirely web UI - no agents. Anything it gave me was vetted and noted in the code before publishing.
  2. The current icon is temporary and LLM-generated. I’ve put out some feelers to pay an artist to create an icon. Waiting to hear back.
  3. It’s written in Java because that’s the language I’m most familiar with. SSL certs in Java containers can be painful but I added some code to make it as easy as Python requests or Node
  4. While it still has a skip-if-tagged-with-X feature, it doesn’t create or apply any tags. I didn’t find that portion necessary, despite other popular *arrs using it. Not sure why they do, even after developing this.
  5. Caution is advised when first using it on a large media collection. It’ll very likely pick up quite a number of things initially if you weren’t on top of things beforehand. Just make sure your pipeline is set up well, or you limit the number of searches or lengthen the amount of time between searches using the environment variables.
    • egg82@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      edit-2
      3 days ago

      Not sure what you mean by that. I occasionally use the web UI as the tool that it is and I’ve played around with opencode, cursor, etc previously on other home projects to get a sense for where things are and what the limits of these things are. That said, I take pride in my own work and this project is no exception. Is there something in this project that makes you think I threw a prompt into cursor and am passing that off as my own? Or are you against the idea of using an LLM and consider any person or project using them at all to be vibecoded?

      As a quick edit, I’ll note that, since I documented any use of ChatGPT reasonably well in this project, you can see the number of times it was used and what it provided. I feel the contributions were largely inconsequential and really just time-saving on my end. I also vetted (and understood!) the output and modified it according to what I wanted. Personally, I don’t consider that to be “vibe-coding” but I suppose everyone has their own definition.

      Edit again: ugh, it’s far too easy to focus on negative feedback and let that consume you. I am not going to defend my use of ChatGPT but I personally think that someone seeing the word ChatGPT and saying “oh so this is vibe-coded” is disingenuous to the project and my skills as a developer. I spent years learning and mastering Java and this is a lot of my experience and several weekends of my free time. Look, if you feel that the four uses of ChatGPT, much of which have been modified by my own hand and all of which inconsequential, constitutes a vibe-coded system then that’s your take - but I don’t think it’s a fair take. There are many things to be said about the ethics of modern LLMs and over-reliance on them but personally I think understanding and effectively using tools at your disposal is a skill. If you want something completely free of LLMs these days you may very well have to invent the universe.

      Phew. Okay, I’m off my soap-box. Consider me got. I’ll try not to think about this too hard but it definitely feels bad pouring your time and skills into a thing and seeing that one comment saying “nah this isn’t worth anything”

      • andicraft@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        2
        ·
        14 hours ago

        i’m pretty absolutionist on AI. i don’t use it in any capacity myself, and I do my best to avoid using software that was made with it. that’s not fully possible, unfortunately, but i prefer to put my support where my morals align.

        you are clearly a competent programmer, so why are you giving ground to the plagiarism machine that’s killing the planet? can you not do the work without it?

        it reminds me of a meme i saw recently. “we know child labor is bad, so in our new product, we only used a little child labor!”

        • egg82@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          11 hours ago

          Honestly, I should have figured these kinds of questions would come up around a project that is specifically designed to not use LLMs as much as possible. It’s a fair (and hard) series of questions, so here’s where I currently stand:

          I don’t particularly like the profit-driven nature of the companies or NPOs behind the popular LLMs. Capitalism (Communism, Socialism, Anarchism, etc) in their purest forms are all terrible for different reasons, and you can see the issues with Capitalism reflected in the decisions these orgs make affecting their products and stakeholders.

          I do, however, like the idea of an LLM as a secondary and more customized option to a search engine. There are questions I’ve had for years that weren’t easily Google-able but answered with <pick your favorite LLM> in a few seconds and easily verifiable with more conventional search techniques. Usually this is because I’m missing terminology or the current terminology is generic enough and the concept specific enough that any information is drowned in pages of results for other things. The vector-based nature of LLMs means you can get to specific concepts quite quickly.

          They’re also pretty decent at stuff I am terrible at, like quick bits of math I would spend hours or days figuring out. This is a me problem, but my math skills are roughly around pre-college with patches of understanding around geometry and trig and I had to spend enormous effort getting just-barely-passing math grades for my degree. It’s not fun for me but it’s usually necessary for software development somewhere. A heavy-math portion is a good way to kill my motivation for a project. Similarly, there are languages which just aren’t fun and are repetitive and iterative in nature. Bash is a good example; I’m a Linux sysadmin and DevOps engineer by trade but a bash script with fancy flags and features just sucks to write. An LLM can do them easily and quickly and they’re easy enough to check, modify, and criticize.

          There are also things LLMs are terrible at, and LLMs aren’t “excellent” at any particular thing. I’m remembering a clipped-to-death meme of someone in college where one professor says LLMs can’t do their particular subject very well but can do others fine. Another professor says the same thing shortly after, but for their particular subject. It highlights a problem tangentially related to the Dunning-Kruger effect with the same basis: people underestimate the depth of fields they do not understand. That said, LLMs can’t be trusted blindly and need to be verified. You can’t use an LLM to develop an understanding of a thing without a lot of learning on the side from more traditional media sources. You can, however, often use it to fill in gaps of understanding.

          There are moral and ethical issues with current LLMs and because of those the acronyms LLM and AI are likely forever tainted- or at least for the next decade or so. The popular phrase “plagiarism machine” is a good example of that. The phrase is accurate enough and hits on an emotional level that’s easy to parrot and remember, and those kinds of things tend to stick around the collective subconscious long after the phrases themselves die.

          One of the main issues today is over-reliance on LLMs for doing-your-work-for-you which is where vibe-coding comes in. Obviously it’s terrible for the reasons I explained above (a lack of understanding your own project and learning) but after trying it a bit myself I can see that it’s fun to do. I use opencode on home projects occasionally to keep on top of the understanding of these tools and to try out new things. It’s never directly saved me any time, but often it frees me up to do something else for a while and then I come back to a mostly-what-I-wanted thing that required minimal editing. I’ve never created a full project from start to finish with these tools, however; only to change bits of existing projects and fix issues. My plan was to try this out at some point but after using them for a while and seeing vibe-coded projects online I don’t think I need to in order to get a decent understanding of what will happen.

          I can’t say for sure that the current generation and use of LLMs is “killing the planet” because there’s not enough research on it yet. There’s preliminary studies that largely point to “yes” but usually in strange and unexpected ways that could be solved. A few of those are refuted and all of them need reproducible results and peer-reviewing at the very least. So, I mean, yeah, it’s probably not wrong but, unfortunately, we just need to wait and see. There is, of course, the obvious dangers of wait-and-see, but these are difficult society-level issues and I don’t have any answers here. I’m not going to get hung up on problems I can’t solve.

          LLMs in their current state remind me of 3D printers. I also use a 3D printer because it’s fun and a useful tool. Over-reliance on 3D-printed products is problematic and they’re not the tool for every job. There’s second-order effects of 3D printers that are, maybe surprisingly, not talked about frequently with the average user which is plastic waste and energy consumption. I’m sure oil companies love 3D printers because it’s a great way to sell plastic and it’s not in the collective consciousness yet. There’s a number of parallels to be drawn between these and current LLMs (mostly the ones in web browsers owned and hosted by companies, but also self-hosted ones). That said, I still use a 3D printer occasionally for the things that I can 3D print effectively. I use LLMs occasionally for the things that save me time, energy, and/or sanity.

          The question I have to ask myself is “do I believe I am a terrible person if I use X thing that I know causes harm?” - the answer is often “no” but it changes based on new information and where I’m at in life. I worry about what I can change and sometimes what I can’t change. There’s the concept of “voting with your wallet” but that’s currently largely been proven to be a moral-high-ground thing more than a hurt-the-company thing. That’s fine; everyone is entitled to their own opinion and everyone has to do what’s best for them.

          The only thing I felt was “unfair” about your statement was the idea that any use of an LLM constituted a vobe-coded project. I disagreed with that idea and thought it was a disingenuous take. It was also not cool to tell someone you think their hard work and time is effectively worthless. I see where you’re coming from and I respect that you know what you want and what you’re going to do. I also think that words have meaning and maybe more nuance to your take would have been a good thing to share.