a meticulously crafted email that UHC will promptly and carefully deliver directly to their recycle bin
a meticulously crafted email that UHC will promptly and carefully deliver directly to their recycle bin
The snake scepter thingies the Goa’uld use are basically those
My dad/friends: “That’s a really cool programming problem you just asked me about. Here’s how I would solve it. By the way, what program did you say you were making again?”
Me, trying not to explain that I’m making a desktop e621 client: “Umm”
I’m curious now, what did the original look like
Oh my God, I hate mental illness deniers. I sometimes wonder – do they tell people with asthma to “just breathe”? So sorry that happened to you. Hope you can get out from her making her medical decisions soon.
Anyway, yeah, the database search was definitely a more complicated way to do this! This is actually my second e621 bot for Discord – my first one was written in Python and used the traditional API approach. After Discord added slash commands and deprecated the old message based command system, and Discordpy didn’t add support for making slash commands for like a year, and when they did it was buggy and it took a whole day for slash commands I added/changed to show up in Discord, plus I ended up having to rewrite/rearchitect most of my code anyway to accommodate things that one command system could do that the other couldn’t… I eventually decided it wasn’t worth the effort to continue maintaining it, so I put the project on hold and decided if I was going to do this, I was going to do it right. Nothing came of it for a few years until I discovered the database export section on e621.net, whipped up a quick script in Rust to search through it with my fancy pants search features, saw how well that worked and how fun it was to use, and thought “hey, I should turn this into a Discord bot!” It took another While™ for me to find the time and motivation, but I did. I ended up rewriting my previous bot completely from scratch in Rust, just like all the memes say. It was a lot more fun than it sounds. (Side note, the Rust programming language is fantastic. It’s a bit hard to learn, but the developer experience is second to none and the performance really is as good as they say. I could gush for half an hour.)
Doing the searches using the database dump was a lot harder than just using the API, for sure, but I’m super glad I did. I learned a ton about high performance code (I spent a few days thinking of ways to optimize the search, and by the end, using a modified linear search and a library that adds parallel map/reduce similar to Java’s Streams, I was able to search through the entire database of ~4 million posts, averaging ~50 tags each, in one fifteenth of a second across all cores of my laptop (6900HX) – try that in Java!) and the end product is so much better than the original that I don’t see myself going back. Just as soon as Rust gets a proper GUI library I’m going to turn it into a standalone client. Or maybe a webapp.
Do hit me up though if you need any help with Discordpy or py-cord. Admittedly I haven’t worked with those particular libraries in a while, but I still might be of help – I do know a fair bit of Python (it was my language of choice for 8 years before I started learning Rust), and I’m extremely familiar with the Discord API. Also, if Discordpy’s cog system works anything like how I remember (and last I checked, it did, even after the slash command rework), I’ll probably be able to help with the plugin issue you were having.
As for automatically selecting a weapon based on the distance from the mouse cursor to the player character, I think that’s a very cool system! It feels a bit risky though; it could work well if done right, but would be a bit counterintuitive and could easily lead to picking a weapon the player didn’t expect/didn’t want if an enemy was just on the edge of the weapon switch boundary. I think putting faint concentric circles around the player showing the boundaries, or having the mouse cursor change appearance based on which weapon was auto-selected, to let the player know what’s going to happen when they press Fire, would give a better sense of control. If you’re already planning on having the player sprite change based on what weapon is out I’d recommend making the cursor change too. Having the same information in multiple places so you don’t have to move your eyes as much could really help (at least to me – this is your game, after all!). I would also (if you can think of a graceful way to do it) add a way to override the auto selection so you can say “I don’t care how close that horde of zombies is, I want to launch a grenade at them.” Here are a few ways I just now thought of that you could potentially do that, neither of which are really ideal (feel free to contribute your own):
If it’s an auto-fire type game, the system you described could work well as is, but I’d definitely add different fire sounds/bullet colors to the three weapons if you haven’t already.
Hmmm… can’t focus for shit, even on things you want to do… can’t finish one project before getting distracted by the next one… apologizing for rambling after writing barely a paragraph… man, you sound like me five years ago, and like dozens of people I’ve met since then. I’m not here to be an armchair MD, but if you don’t already have an ADHD diagnosis, I’d highly recommend seeking one. The meds make a HUGE difference in your ability to get things done.
I can definitely relate to the dozens upon dozens of projects never making it out of my school notebooks. At least they used to. Things got a lot better on that front after I did neurofeedback therapy. That’s definitely not to say I’m now able to finish one project before impulsively starting another one, but they do get at least to the halfway point :P
Anyway, my current project is a Discord bot for browsing e621. “But Vincent,” I hear you say, “there are hundreds of those already! What makes yours different?” Glad you asked. Instead of using the e621 API to do searches, it downloads a database dump of every post on the site and runs the searches locally. This has a number of very cool implications, such as not being subject to the API ratelimit and working even when e621.net is down, but more importantly, it means it can support search features that the main site doesn’t, including (but by no means limited to!) searching for posts with one of these two tags but not both. It’s just gotten to the public beta phase, so if furry art is your thing, definitely hit me up.
Anyway, those projects sound cool! Definitely hit me up if you get to the point where you need a playtester. But I wanna tell you right now as someone who’s dealt with ADHD guilt for longer than I’d care to admit, there is no shame in not finishing a project! Even if nothing ever comes of it and you never show what you made to a single other living soul, at minimum, you gained skills you didn’t have when you went in (even if it doesn’t really feel like it) that you can apply on your next project. And don’t fret if it feels like you can’t finish anything. Executive function doesn’t come naturally to you and me like it does to most people, but I promise you, it will get better with practice!
Also meds. The ADHD meds help a lot. Again, if you don’t have a diagnosis, get on that. In the meantime, I’d also recommend you check out the YouTube channel How To ADHD and see if anything she talks about sounds familiar.
(I’m on mobile so sorry if this is a bit disorganized)
anyway i heard you were into programming. i am also into programming. let’s be friends!
what’s your latest project?
absolutely not. i don’t think anyone on earth is unlovable.
except maybe bigots. and last i checked they get girlfriends just fine. now get your fine italian ass out there and let ppl love you
(ppl is me) (i am ppl) (let me love you)
Hi!
Sorry for taking a year to respond, but I figured better late than never.
Do you have a Matrix account? I’d like to chat more.