I’m making a tool that searches Gone Wild Audio reddit posts because reddit’s built-in search doesn’t have a good way to filter the F4A, M4F, etc. notation that Gone Wild Audio uses
and for some reason I’ve decided to make it a webapp that uses Flask, despite the fact that 99% of my scripts are command-line only. it’s going Very Well - I’m pretty sure anyone who actually knows HTML and CSS would recoil in horror just looking at the code
but! every page is one file, and there’s no javascript whatsoever
it wooorks! I can not emphasize enough how little I know what I’m doing lol, and yet look at this. I made this. how the fuck did I make this?
so, I haven’t exposed these options to the UI yet, but this thing fetches Gone Wild Audio posts through the reddit API, then parses the tags and automatically removes anything that:
the tag parsing is very very robust and can handle a lot of weird edge cases (including multiple tags! like F4M and F4A in the same post). it paginates lazily (fetching more results from the reddit API as-needed) but it can also navigate to any arbitrary page, and gracefully handles if the user navigates to a page that’s out of bounds. it also keeps a cache of the results of its API requests so that it can avoid the speed penalty of constantly talking to reddit
also all of the CSS and HTML is handwritten and Lucifer herself must have blessed me with good computer-touching because I have no idea how I managed to make this look even half-decent
@kasdeya wait, another entity knows about GWAsapphic!? I've been recommending it to people for years and nobody ever seems to have heard of it
@OctaviaConAmore yess omg I was so tired of all of the F4M on r/GoneWildAudio (and when it’s not F4M it’s usually M4F) and I was so happy to have found it! it’s such a nice little community. tbh you’re the first being I know of who also knows about that sub!
@kasdeya
🥺 want.
@kasdeya Looks like a fun project!
@drawnto ooh omg really? I didn’t think anyone would be that interested. so far everything is pretty arcane because I’ve just been making this for me, but would you be interested in using it if I make it more user-friendly?
also I could show you the GitLab that I have right now if you want (it’s private but I could make it public) if you’re feeling up to reading my mostly-uncommented code lol. and I could explain how to use it in its current, rough state
(context: I’m making a webapp that lets you do more powerful searches in subreddits like r/GoneWildAudio that include tags like F4F. my webapp can parse the tags and filter stuff out, like anything that’s M4*
or *4S
)
If I make this more user-friendly and expose all of the filtering options to the UI, would any of y’all be interested in using it?
I’m trying to decide if I’m okay with leaving this pretty arcane for my own use, or if it’s worthwhile for me to clean it up and post it publicly
@kasdeya this sounds very interesting. Both Reddit search and public search engines have always been frustrating to me, especially compared with how detailed the tags are on r/GoneWildAudioGay.
alright it seems like there is a bit of interest! I’ve never hosted a webapp before or publicly shared my code at all so this is new and scary to me. I can’t promise that I’ll do either of those things but today I started moving in that direction. specifically I’m working on exposing “which genders do you want to listen to?” and “which genders do you want the search results to be made for?” as options in the UI, instead of just having my preferences hardcoded into the program lol
unfortunately to do that, I need a much better way of parsing [F4F]-style tags than what I’m currently using, and a better way to represent the parsed tags as data, so I’ve been doing some refactoring. I actually have the parsing logic fully written, and now I just need to write the unit-tests to make sure it works
and yeah I want to thoroughly unit-test my code if it’s going to actually be hosted on a VPS somewhere. where it could potentially become corrupted, DoS reddit, become part of a botnet, or fuck-knows-what-else lol
but anyway, yeah, I am making progress!
@kasdeya by the way, what sorts of differences would this have from gwasi.com? (I'm a complete noob when it comes to any sort of comp-sci, so my apologies if it's already been answered )
@OctaviaConAmore oh wow I had no idea that this existed! I was worried for a second that this site was going to be strictly better than what I’m working on, but there are actually some important differences:
it looks like for GWASI, it might be cumbersome to say “I want files by femmes, transfemmes, and enbies only. I also want files for everyone, femmes, transfemmes, and enbies only” because you’d have to type a query like:
(F4A or F4TF or F4NB or TF4A or TF4TF or ...)
which is exactly what I’m making my search tool to avoid. the idea is that you would be presented with a bunch of checkboxes like this:
what kind(s) of speaker do you want to listen to?:
what kind(s) of listener should the file be designed for?:
and you would check whatever you wanted, and leave everything else unchecked. and it would automatically filter out any search results that don’t match your preferences
I also want to make it so that you can save certain preferences and they’ll be automatically applied to all of your searches
like ideally I want it to remember your gender selections so you don’t have to fill them in every time. and I want it to let you create a blacklist of search terms that you never want to see, which will be automatically applied to every search
@kasdeya ooo, I'm glad GWASI's existence wasn't discouraging having the gender settings remembered would definitely be nice, and with how stringent GWAsapphic is about tagging, being able to have a blacklist to filter things out would be really convenient, too
with settings like those, it sounds like you could regularly check in and treat it as a feed of audios (and maybe scripts?) that are all within your parameters, reducing a lot of the hassle of sorting submissions out that you would have most likely not be interested in
@kasdeya that's baffling considering just how active that community is and the sheer volume of wonderful scripts and audios they bless is with why do so few people seem to know about it?
I’m finally done (I hope?) with the parser! I ran into a lot of surprise roadblocks (which usually happens when you try to use a computer to parse stuff that humans wrote by hand) but I eventually decided to take a more strict approach to parsing [F4F] style tags. specifically my parser ignores any tag with a 4 in it unless it’s entirely composed of known gender abbreviations
I really wanted to be able to handle any arbitrary gender abbreviations, even if they’re ones that I don’t know about, but there were just too many false positives that ended up throwing off the rest of the gender-detection parser
I definitely have all of the most common genders in my code though, as well as a few more obscure ones like S for sissy and GQ for genderqueer. and hopefully if I eventually host this webapp somewhere, y’all can tell me if I’m missing any and I can add them
but anyway! now that the parsing work is done I can go back to working on the UI, and I’ve already added two small features: extra links in the navigation bar, and a section that shows the “fours” (what gender(s) the audio is by and for)
@OctaviaConAmore ooh having it as a feed is a cool idea! maybe it could even generate an RSS feed that people could subscribe to, or send them emails when new audios/scripts matching certain criteria are posted
I definitely want to have it distinguish between audios and scripts at some point, too - so that you can choose which you want to see with each search