Interests: programming, video games, anime, music composition

I used to be on kbin as e0qdk@kbin.social before it broke down.

  • 1 Post
  • 27 Comments
Joined 10 months ago
cake
Cake day: November 27th, 2023

help-circle

  • If you want to improve significantly, go read someone else’s code and modify it. Try to fix a bug in a program you use, add a feature you want that doesn’t exist already, or even just do something simple for the sake of proving to yourself that you can do it – like compiling it from source and figuring out how to change some small snippet of text in a message box. Even if you don’t succeed, if you put in a serious effort attempting it, you will almost certainly learn a lot from trying.

    Edit: changed wording to try to be clearer



  • I wrote something like this before for academic researchers to load data sets on display walls by using their cellphones. I approached it by building a simple website. When the user logs in, they’d see a table of entries (from a directory listing on a shared file server that they could drop their data sets onto) and could click a button that made a form post to the server which caused it to run whichever programs were needed to load the data set they wanted (or run a couple of other handy commands – like turning the monitors on/off, etc).

    You can do something like that too in Python if you want:

    1. Learn how to start and stop programs from Python scripts. This can be done with the built-in subprocess library. If you know how to launch the programs you want from the command line, it shouldn’t be too hard to figure out how to do it from Python by reading the documentation. It will take some more effort to figure out how to interact with it (e.g. to stop it from user input) without blocking your script, but this can be done.
    2. Learn how to write a simple program that can respond to HTTP requests in Python. There are a number of libraries like tornado, flask, cherrypy, etc. that can do this. Pick one, read the documentation, and write a tiny page that allows you to submit a form and then trigger an action on the server in response to an HTTP POST. You should be able to interact with it by pointing the browser on your computer to localhost (possibly plus a port) or from on your LAN by putting the IP of your computer into the address bar.
    3. Figure out how you’re going to organize the entries you want to be able to load. You could just do something trivial like putting the files in known folders and running os.listdir, or something more involved like tracking the entries with a spreadsheet or database or JSON file that lets you associate custom metadata with each entry (like a custom name to show or an icon to display or when it was last launched, etc.)
    4. Generate a web page based on that data collection. I recommend using templating – e.g. with mustache, or jinja, etc. Basically you write some HTML-like text that lets you indicate places to fill in data from your program and it will do the conversion of symbols like < into &lt; that are needed for HTML output and also repeat patterns using entries from lists you provide to build the rows of tables and such for you.
    5. Set up some security (e.g. a simple log in system) and polish it up as much as you care to do.

    Good luck and have fun!




  • e0qdk@reddthat.comtoMusic@lemmy.worldThoughts on AI music?
    link
    fedilink
    English
    arrow-up
    8
    ·
    4 months ago

    A fairly vocal portion of lemmy is AI-hostile, and even for the people who aren’t outright hostile to it, it can be annoying at times – AI content does tend to drown everything else out when it’s permitted, so making a community explicitly for it would probably work better.

    lemmy.dbzer0.com might be a good place to host a community specifically for exploring AI generated music if you’re interested in running one. That instance is explicitly open to AI gen and already has several image gen communities, but I don’t think they have a music gen community yet. (Double check though before making one in case I just missed it.)



  • I ran into an example of the thumbnail issue again today – this time on a post from kbin: https://old.reddthat.com/post/19193476

    The thumbnail looks like this in the HTML:

    <div class="thumb">
      <a class="url"
         href="https://media.kbin.social/media/60/a4/60a45b8ff88b1b2e3a0f77b701feb323c5bbfb7ceeb75154ea7df5d6eea15ef8.jpg"
         >
        <div  style="background-image: url(https://media.kbin.social/media/60/a4/60a45b8ff88b1b2e3a0f77b701feb323c5bbfb7ceeb75154ea7df5d6eea15ef8.jpg?format=jpg&amp;thumbnail=96)"></div>
      </a>
    </div>
    

    Note that it’s making a request to kbin.social with ?format=jpg&thumbnail=96 parameters in the CSS – which results in the full image being loaded since kbin doesn’t run pictrs.

    The versions in use on reddthat (according to the settings page) are:

    lemmy: 0.19.4-beta.7

    mlmym: 0.0.44




  • Personally, I prefer it when people do one of the following:

    • upload the file to catbox.moe and link it here (for clips up to 200MB)
    • upload the file directly to their lemmy instance (if their instance allows it)
    • self-host it on their own web server (with no bullshit crappy JS interface, please – just give me the file; I’ll play it with VLC if it doesn’t work in my browser)

    PeerTube is also a reasonable choice – although I don’t like its UI very much.


  • I’m having trouble finding an example of the thumbnail issue again right now but I was seeing the pictrs conversion parameters passed to URLs from catbox.moe, i.postimg.cc, and other sources in the CSS for the thumbnail when I reported the issue to Tiff ~3 weeks ago. It’s possible that it got fixed/suppressed by another change since then though. (0.0.44 was deployed a few hours ago and I think there may have also been a beta patch bump for the lemmy backend at some point since I reported the issue originally in our local support community.)

    I’ll let you know if I see it pop up again.

    For the text handling issue, I was seeing text like “<thread title> by <username> in <community>” (i.e. "<thread title> by <username> in <community>" if it still happens) getting misinterpreted as raw HTML instead of being escaped. (i.e. <!-- raw HTML omitted --> was showing up in the HTML output for the page.)

    You may recognize that text as the pattern for a recently fixed bug in the user profiles; I found the text handling issue while trying to explain the other issue to Tiff a few weeks ago.

    Will edit this comment immediately after posting to let you know if I still see the text issue.

    EDIT: I still see the text issue show up in this comment. https://old.reddthat.com/comment/10370610




  • You can open any profile with multiple pages worth of posts or comments on old.reddthat.com and it’s jumbled. Even my own profile is jumbled: https://old.reddthat.com/u/e0qdk

    The first page is mostly comments I made two weeks ago plus a thread from today and some very old threads. The second page has comments I made earlier today and during the past week. The third page starts with my most recent comment and then has a bunch of older comments.

    The exact order might change after posting this, but my own recent comments mostly being on page two has been pretty consistent for a while.

    If I look at a very active user’s profile (like MentalEdge’s), I see threads from today show up on page three(!) while there are threads from a week or more ago on pages one and two.

    I’m not sure what’s going on exactly, but it basically makes user profiles pretty useless right now through mlmym.

    Edit: I can’t even find this comment in my profile, but my other reply (regarding the envelope being fixed in 0.0.43) shows up on page 3.


  • I haven’t had much issue with lag, generally, but I don’t get notifications any more – which is probably the most pressing issue. (I have to remember to manually check once in a while after I post since the envelope doesn’t light up.) That might be an issue with reddthat being on a recent beta version of lemmy – I don’t know.

    We do have lemmy-ui-next over here too. Thanks for reminding me about that. I’ve been meaning to poke at it a bit.


  • Right now I’m mostly using mlmym (the “old” interface on most instances that support it) because it doesn’t require JS for basic viewing.

    It’s kind of buggy though, unfortunately – things like user history show up as a complete jumble, for example. :(

    One of these days, I’ll probably get fed up enough to go write my own interface and set things up exactly how I want them to work… but I’ve got too many projects already so I’m just living with it for now.



  • My old username from reddit and HN was already taken and I couldn’t think of anything else I wanted to be called so I just picked some random characters like this:

    >>> import random
    >>> ''.join([random.choice("abcdefghijklmnopqrstuvwxyz0123456789") for x in range(5)])
    'e0qdk'
    

    I have that literally in my kbin profile, but it’s not on my reddthat one. (I think I tried to copy it there originally when I set up the account but ran into some issue with Lemmy’s UI – been long enough that I forget what exactly.)