Interests: programming, video games, anime, music composition

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

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

help-circle
  • I set up a couple profiles with different colored backgrounds so that I can easily visually distinguish terminal windows when I have several open at once. For example, I usually switch the profile to one with a red background when I ssh into a server to help avoid confusion about which system I’m running commands on. I also cranked up the font size a bit in all profiles to make it easier for me to read.



  • 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’m not sure if I’ve ever fallen in love with a completely imaginary dream person, but I did dream about my ex once years and years after we broke up. I don’t remember what I dreamed about exactly, but I do remember waking from it. The happiness fading as the realization set in that it was all a dream – I was by myself in bed and none of it had been real. I’m usually pretty good at dealing with solitude, but that moment… that was the most intense loneliness I think I’ve ever felt.


  • 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!


  • You might find writing guides relevant to your interests. For example, “How to Write Science Fiction and Fantasy” by Orson Scott Card contains some details about how the author came to write Hart’s Hope and other novels. “Scene & Structure” by Jack Bickham might also be interesting – I don’t remember discussion of specific books in it, but it might scratch a similar itch for how-it’s-made style content.

    Some books also contain introductions/forewords/afterwords with details about how the book was written. A bunch of OSC’s novels (like some editions of Ender’s Game) come to mind specifically – I read those back when I was curious about maybe trying to become a writer, so that’s the most prominent example in my mind, but I’m sure there are others. I’ve also seen translations of a number of works where the translators include really long introductions explaining some of their choices – and sometimes criticize earlier translations.


  • Everything I’ve set in Settings is forgotten: Default Listing reverts to All, Default Post Sort reverts to Hot, and so on.

    mlmym (the “old” interface) stores its front-end specific settings in your browser via cookies and local storage. The way it’s implemented works for the most part and probably makes the front-end simpler, but has some downsides like not retaining your choices between logins. There’s an issue open for this in the bug tracker: https://github.com/rystaf/mlmym/issues/104

    I’m not sure why it forces a logout periodically even when you’re using it regularly though. (I mean, the cookies are probably not being updated and just expire eventually – but I don’t know if that was a deliberate choice or not.) It might be a good idea to open an issue for this?



  • e0qdk@reddthat.comtoNew Communities@lemmy.world*Permanently Deleted*
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    3 months ago

    […] male-gazey content. I am 2) a woman extremely disinterested in that.

    I feel some men might also not want to see content focused on games where a big goal is to romance a man as a woman, presented in a femgazey way or a way tailored to our desires even if not sexualized.

    Fair enough. There are a lot of eroge where you play as a women that are absolutely, clearly intended to be played by men though; that part alone isn’t likely to be off-putting, but I can see specific presentation and femgaze heavy works being just as off putting to some guys as malegaze heavy works are to some women. If the audience is mostly straight guys, posting fan art of something like an explicit BL work probably isn’t going to get much positive response, I suppose. :-)

    There’s so little content posted regularly in the visualnovels community though that I feel like anyone actively trying to start discussions there on the subject of VNs would likely be welcomed, but I might be wrong about that. The most successful posts I’ve seen are generally notices about sales and some business news with people occasionally posting memes and such as well.

    If that doesn’t feel right to you though, I get it, and hopefully reviving the other community works out.

    Is the issue that the posts will be frequently inaccessible?

    I don’t think your posts are federating out at all when kbin.social is down – basically only people on your own instance can see it, if I understand how federation works correctly. If you check the view of the community from lemmy.world the last post visible is from a month ago, for example – https://lemmy.world/c/Otomegames@kbin.social?dataType=Post&sort=New – even though I can see on your instance that you’ve started several threads since then. I can’t even load the community from reddthat since it was probably never requested and kbin.social is down currently; it just errors out.

    Does Lemmy have a way to get inactive mods removed and replaced?

    I don’t know. Tagging @Blaze@reddthat.com for suggestions since they’ve been trying to grow the Fediverse for a while and may know how to go about it, if it’s possible.


  • kbin.social’s been down for a while, and having serious problems for months.

    There is a general visual novel community at !visualnovels@lemmy.comfysnug.space which might be a better place to post to. It’s not very active, but I know there are at least a few people around paying attention to it. I might chime in on some threads occasionally if you post there. My tastes are more in line with VNs aimed at the straight-male demographic, but I’m willing to try other VNs beyond that if there is a really good story or novel mechanics or some other non-sexual factor that makes it interesting.

    If that community doesn’t fit your needs, I think there is also !otome_games@lemmy.world – but it seemed completely dead the last time I looked. You might be able to revive it though if you want to try.


  • I was curious, so I did some searches on this topic for you and found these pages:

    The second link in particular notes:

    The reason that things are much easier with all ASCII data is that practically every Unicode encoding in existence maps bytes 0x00…0x7f to the corresponding code points, so byte strings and Unicode strings that contain the same all-ASCII data are basically equivalent, even semantically. What usually trips people up with non-ASCII data is that the semantic meaning of bytes in the range 0x80…0xff changes from one encoding to another.

    But, thinking like a systems programmer again, for many purposes the semantic meaning of bytes 0x80…0xff doesn’t matter. All that matters is that those bytes are preserved unchanged by whatever operations are done. Typical operations like tokenizing strings, looking for markers indicating particular types of data, etc. only need to care about the meaning of bytes in the range 0x00…0x7f; bytes in the range 0x80…0xff are just along for the ride.

    So the trick for beating Python 3 strings into submission is to put in encoding and decoding calls where you need to, choosing a single-byte encoding that doesn’t mutate 0x80…0xff. There are many of these; most of the Latin-{1…6} sequence (aka ISO-8859-1…10) is has this property. What you do not want to do is pick utf-8 or any of the multibyte Asian encodings. Latin-1 will do fine; in fact it has an advantage over the others in memory consumption, which we’ll describe below.

    Whether depending on this is actually correct or not is beyond me, but it seems like people have actually been using that pass-through behavior in practice and put it into things like Python2 -> 3 migration guides.

    The first link suggests that the seemingly undefined ranges are valid as C0 and C1 control codes which may be why it doesn’t throw errors.



  • I don’t know how to do it with KDE’s tools, but on the command line with ffmpeg you can do something like this:

    ffmpeg -i video_track.mp4 -i audio_jp.m4a -i audio_en.m4a -map 0:v -map 1:a -map 2:a -metadata:s:a:0 language=jpn -metadata:s:a:1 language=eng -c:v copy -c:a copy output.mp4
    

    Breaking it down, it:

    • runs ffmpeg
    • with three inputs (-i flag) – a video file, and two audio files.
    • The streams are explicitly mapped into the result, counting the inputs from 0 – i.e. -map 0:v maps input 0 (the first file) as video (v) to the output file and -map 1:a maps the next input as audio (a), etc.
    • It sets the metadata for the audio tracks -metadata:s:a:0 language=jpn sets the first audio track (again counting from 0…) to Japanese; the second metadata option sets the next audio track to English.
    • -c:v copy specifies that the video codec should be copied directly (i.e. don’t re-encode – remove this if you DO need to re-encode)
    • -c:a copy specifies that the audio codec should be copied directly (i.e. don’t re-encode – remove this if you DO need to re-encode)
    • output.mp4 – finally, list the name of the file you want the result written into.

    See documentation here: https://ffmpeg.org/ffmpeg.html

    If you need another language in the future, I think the language abbreviations are the three letter codes from here: https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes – but I’m not certain on that.


  • 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.



  • 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.


  • 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.