Interests: programming, video games, anime, music composition

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

  • 1 Post
  • 41 Comments
Joined 1 year ago
cake
Cake day: November 27th, 2023

help-circle

  • Back before kbin fell off the internet it had a really neat experimental “collections” feature that would let you make named groups of communities. Collections could be used either privately or made public so other people could subscribe to your curated feed on a topic. The owner could update the collection as needed (e.g. adding or removing communities/magazines as they changed over time).

    It’s one of the kbin features I miss most on lemmy.

    Does anyone know if mbin ever got a copy of that? I know they forked off before it was added to kbin, but I don’t know if it ever got integrated later. (I don’t see it from a quick glance at moist and fedia, but I haven’t dug into the dev history.)



  • I’m not sure what the best way to make using it convenient is, but you could paste something like this into the JS console to rewrite all the r.php links:

    (function() {
      let links = [...document.getElementsByTagName("a")];
      links.forEach(link => {
        if(link.href.startsWith("https://skimfeed.com/r.php"))
        {
          let url = new URL(link.href);
          let clean_link = url.searchParams.get("u");
          link.href = clean_link;
        }
      });
    })();
    

    The basic idea of my JS snippet is that it looks for all the anchor tags (i.e. <a href='...'>), finds the ones that link to r.php, extracts the u query parameter which appears to contain the actual URL of interest, and then replaces the href attribute of the anchor (i.e. the part of the HTML that contains the destination URL) with the clean URL. That entire snippet of logic is wrapped in an anonymous function which is then immediately called so that you can just paste the snippet in more or less wherever it makes sense to trigger the logic.

    Way back in the day I would’ve stuck snippets like that into GreaseMonkey scripts, but I haven’t messed with that stuff in a long time and I’m not sure which extensions are still good to use for doing that kind of thing.

    Apologies in advance if my snippet is not perfectly correct; I’m not familiar with that site and wrote this off the cuff when I saw your post. Hopefully it’s helpful though.


  • Best way to fix that is to join in and post something!

    Otome isn’t my personal interest (my sexuality goes the other way), so I don’t have much to say myself, but I’ve seen Elevator7009 trying to build a community first on kbin.social (before that site died) and then on kbin.run (before it died) and now there and I’d like to see her efforts succeed.

    If you’re not interested, feel free to ignore it, but if you’d like a place on Lemmy for discussion, there are at least a few people there who’ve been trying their damnedest to get something going.




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