#It solves my coding errors. It used to take me days to fix an error
Explore tagged Tumblr posts
Text
Oooooh what would I do without chatGPT
#It solves my coding errors. It used to take me days to fix an error#chatGPT you have my heart🫶🏽🫶🏽🫶🏽
4 notes
·
View notes
Text





Another slowly but surely thing, I will get back into walking regularly. I ended up gaining back all the weight I lost (and probably more) working at my last job.
I’ve never truly had an office job before and I give so much credit to those who work an office job year in and year out. I have never sat for 9 consecutive hours, probably ever haha. I got up to use the bathroom and that was about it.
I’ve always done jobs that required a lot of driving and were mostly sedentary, but I was still walking to and from schools or client houses or walking around parks or grocery stores or whenever I was with the clients. Hell, I had one client where we would meet at the park and play games or walk around the free zoo while problem solving and planning because she had severe ADHD. She worked best while in motion.
I definitely learned that this type of job was not for me. It’s a shame because it sounds like the job had changed a lot from the time I was hired to the time I resigned. They had switched systems which made for more computer work because it split all the services apart.
Most of my day was spent clicking buttons to approve/reject payments or service requests, double checking math and codes and fixing errors, or creating service requests. I saw 1-3 clients a week. It was a big difference from the 3-5 clients I saw a day at other jobs or the 20+ students I’d see on a weekly basis at my last job or even the 10 patients I saw a day at the hospital job.
I got into social work because I wanted to work with people (and not do any math!).
Anyway, I am loving where I am at with life currently. This week was a nice break before I start really grinding next week. My pet boss is away and I’m taking over the majority of her clients, plus I have some of my own I’ll be seeing.
I’m making a point to walk every day though 🙂
3 notes
·
View notes
Text
Blog Post 49: VR PROJECT: Feedback
In this brief blog, I want to reflect on the importance of getting feedback from peers and instructors — and how it completely changed my mind set about the project.

A Turning Point
It’s incredible how quickly things can change. A single day was all it took for me to regain my confidence — and then some. The feedback I received from my instructors, Neil Gallagher and Eden Anthony, combined with the support from my teammate Aya Khoury, allowed me to finally see the bright side amidst the tide of frustration and self-doubt.
Facing the Feedback
Despite feeling under the weather and generally being in a foul mood, I forced myself to attend class and present my work to my peers. Honestly, I wasn’t expecting much — but I knew that holding back wasn’t going to help me progress.
As I begrudgingly discussed my progress, I was surprised to see genuine excitement in the eyes of my instructors. They saw potential in my work that, until that point, was completely hidden from me.
After my presentation, Eden stepped forward and talked about how valuable the skill of creating trim sheets is for any environment artist. When I mentioned my dissatisfaction with the look of the textures, he laughed and reassured me that this was completely normal. According to him, trim sheets often look unimpressive compared to individually textured assets — it’s just part of the process. That reassurance was a game-changer.
A Conversation with Aya
I also had the chance to finally sit down with Aya for a proper discussion. Unfortunately, she had been dealing with illness, which had kept her from making progress on her part of the project. Her emotions were running high when she saw my work — frustration mixed with the pressure of falling behind.
But hearing her concerns didn’t discourage me — it actually gave me clarity. Everyone struggles at some point, and this was just one of those moments. I smiled, knowing that setbacks are part of the process, and reminded her that her health was far more important than any project deadline. I asked her to take the weekend off to rest and recover — we’ll get through this together.
A Tutorial That Changed Everything
Before leaving class, I approached Eden again to ask for more guidance on the issues I was having with trim sheets. Without hesitation, he offered to run a short tutorial after class.
That 20-minute session was a game-changer. Eden’s insights into trim sheet building helped me solve so many of the issues I had been facing. His tips on normal maps, UV scaling, and material blending clarified where I was going wrong — and more importantly, how to fix it.
Final Thoughts
Walking out of class, I felt a renewed sense of excitement and hope for the future of this project. Feedback isn’t always easy to hear — especially when you’re already feeling down — but it’s often the missing piece that helps you push through. This experience reminded me why teamwork and mentorship are so important in the creative process.
With a clearer direction and renewed motivation, I’m ready to tackle the next stage of the project head-on.
RESOURCES USED:
Interactive Entertainment Group, Inc. (2023). Interactive Entertainment Group, Inc. [online] Available at: https://interactiveparty.com/product/vr-beat-saber/.
Darktide (2022). Warhammer 40,000: Darktide - Official Website. [online] Available at: https://www.playdarktide.com.
Owlcat.games. (2025). Warhammer 40,000: Rogue Trader. [online] Available at: https://roguetrader.owlcat.games [Accessed 13 Feb. 2025].
Apache.co.uk. (2018). Apache: BARDO Virtual Reality Experience | APACHE. [online] Available at: https://apache.co.uk/work/bardo/ [Accessed 13 Feb. 2025].
Stealthoptional.com. (2023). Darktide error code 3001 - how to fix ‘Failed joining server’ error. [online] Available at: https://stealthoptional.com/article/darktide-error-code-3001-fix-failed-joining-server-error [Accessed 13 Feb. 2025].
DiSalvo, P. (2021). The Best Eldritch Invocations In Dungeons & Dragons. [online] TheGamer. Available at: https://www.thegamer.com/dungeons-dragons-best-eldritch-invocations/ [Accessed 13 Feb. 2025].
to, C. (2024). War in Heaven (Necron). [online] Warhammer 40k Wiki. Available at: https://warhammer40k.fandom.com/wiki/War_in_Heaven_(Necron).
Focus-entmt.com. (2023). Space Marine 2 - Focus Entertainment. [online] Available at: https://www.focus-entmt.com/en/games/warhammer-40000-space-marine-2.
hbitproject (2023). Mastering details in Blender - trim sheets tutorial. [online] YouTube. Available at: https://www.youtube.com/watch?v=1M-GNe_pB9M.
0 notes
Note
hey, i started following you recently and ur bio says ur a hacker? any tips on where to start? hacking seems like a v cool/fun way to learn more abt coding and cybersecurity/infrastructure and i'd like to explore it but there's so much on the internet and like, i'm not trying to get into anything illegal. thanks!
huh, an interesting question, ty!
i can give more tailored advice if you hit me up on chat with more specifics on your background/interests.
given what you've written here, though, i'll just assume you don't have any immediate professional aspirations (e.g. you just want to learn some things, and you aren't necessarily trying to get A Cyber Security Job TM within the next three months or w/e), and that you don't know much about any specific programming/computering domain yet.
(stuff under cut because long)
first i'd probably just try to pick some interesting problem that you think you can solve with tech. this doesn't need to be a "hacking" project at first; i was just messing around with computers for ages before i did anything involving security/exploitation.
if you don't already know how to program, you should ideally pick a problem you can solve via programming. for instance: i learned a lot back in the 2000s, when play-by-post forum RPGs were in vogue. see, i'd already been messing around, building my own personal sites, first just with HTML & CSS, and later on with Javascript and PHP. and i knew the forum software everyone used (InvisionPowerBoard) was written in PHP. so when one of the admins at my RPG complained that they'd like the ability to set multiple profile pictures, i was like, "hey i'm good at programming, want me to create a mod to do that," and then i just... did. so then they asked me to program more features, and i got all the sexy nerd cred for being Forum Mod Queen, and it was a good time, i learned a lot.
(i also got to be the person who was frantically IMed at 2am because wtf the forum is down and there's an inscrutable error, what do??? basically sysadmining! also, much less sexy! still, i learned a lot!)
the key thing is that it's gotta be a problem that's interesting to you: as much as i love making dorky sites in PHP, half the fun was seeing other people using my stuff, and i think the era of forum-based RPGs has passed. but maybe you can apply some programming talents to something that you are interested in—maybe you want to make a silly Chrome extension to make people laugh, a la Cloud to Butt, or maybe you'd like to make a program that converts pixel art into cross-stitching patterns, maybe you want to just make a cool adventure game on those annoying graphing calculators they make you use in class, or make a script for some online game you play, or make something silly with Arduino (i once made a trash can that rolled toward me when i clapped my hands; it was fun, and way easier than you'd think!), whatever.
i know a lot of hacker-types who got their start doing ROM hacking for video games—replacing the character art or animations or whatever in old NES games. that's probably more relevant than the PHP websites, at least, and is probably a solid place to get started; in my experience those communities tend to be reasonably friendly to questions. pick a small thing you want to do & ask how to do it.
also, a somewhat unconventional path, but—once i knew how to program a bit of Python, i started doing goofy junk, like, "hey can i implemented NamedTuple from scratch,” which tends to lead to Python metaprogramming, which leads to surprising shit like "oh, stack frames are literally just Python objects and you can manually edit them in the interpreter to do deliberately horrendous/silly things, my god this language allows too much reflection and i'm having too much fun"... since Python is a lot of folks' first language these days, i thought i'd point that out, since i think this is a pretty accessible start to thinking about How Programs Actually Work under the hood. allison kaptur has some specific recommendations on how to poke around, if you wanna go that route.
it's reasonably likely you'll end up doing something "hackery" in the natural course of just working on stuff. for instance, while i was working on the IPB forum software mods, i became distressed to learn that everyone was using an INSECURE version of the software! no one was patching their shit!! i yelled at the admins about it, and they were like "well we haven't been hacked yet so it's not a problem," so i uh, decided to demonstrate a proof of concept? i downloaded some sketchy perl script, kicked it until it worked, logged in as the admins, and shitposted a bit before i logged out, y'know, to prove my point.
(they responded by banning me for two weeks, and did not patch their software. which, y'know, rip to them; they got hacked by an unrelated Turkish group two months later, and those dudes just straight-up deleted the whole website. i was a merciful god by comparison!)
anyway, even though downloading a perl script and just pointing it at a website isn't really "hacking" (it's the literal definition of script kiddie, heh)—the point is i was just experimenting a lot and trying a lot of stuff, which meant i was getting comfortable with thinking of software as not just some immutable relic, but something you can touch and prod in unexpected ways.
this dovetails into the next thing, which is like, just learn a lot of stuff. a boring conventional computer science degree will teach you a lot (provided you take it seriously and actually try to learn shit); alternatively, just taking the same classes as a boring conventional computer science degree, via edX or whatever free online thingy, will also teach you a lot. ("contributing to open source" also teaches you a lot but... hngh... is a whole can of worms; send a follow-up ask if you want that rant.)
here's where i should note that "hacking" is an impossibly broad category: the kind of person who knows how to fuck with website authentication tokens is very different than someone who writes a fuzzer, who is often quite different than someone who looks at the bug a fuzzer produces and actually writes a program that can exploit that bug... so what you focus on depends on what you're interested in. i imagine classes with names like "compilers," "operating systems," and "networking" will teach you a lot. but, like, idk, all knowledge is god-breathed and good for teaching. hell, i hear some universities these days have actual computer security classes? that's probably a good thing to look at, just to get a sense of what's out there, if you already know how to program.
also be comfortable with not knowing everything, but also, learn as you go. the bulk of my security knowledge came when i got kinda airdropped into a work team that basically hired me entirely on "potential" (lmao), and uh, prior to joining i only had the faintest idea what a hypervisor was? or the whole protection ring concept? or ioctls or sandboxing or threat models or, fuck, anything? i mostly just pestered people with like 800 questions and slowly built up a knowledge base, and remember being surprised & delighted when i went to a security conference a year later and could follow most of the talks, and when i wound up at a bar with a guy on the xbox security team and we compared our security models a bunch, and so on. there wasn't a magic moment when i "got it", i was just like, "okay huh this dude says he found a ring-0 exploit... what does that mean... okay i think i got that... why is that a big deal though... better ask somebody.." (also: reading an occasional dead tree book is a good idea. i owe my firstborn to Robert Love's Linux Kernel Development, as outdated as it is, and also O'Reilly's kookaburra book gave me a great overview of web programming back in the day, etc. you can learn a lot by just clicking around random blogs, but you’ll often end up with a lot of random little facts and no good mental scaffolding for holding it together; often, a decent book will give you that scaffolding.)
(also, it's pretty useful if you can find a knowledgable someone to pepper with random questions as you go. finding someone who will actively mentor you is tricky, but most working computery folks are happy to tell you things like "what you're doing is actually impossible, here's why," or "here's a tutorial someone told me was good for learning how to write a linux kernel module," or "here's my vague understanding of this concept you know nothing about," or "here's how you automate something to click on a link on a webpage," which tends to be handier than just google on its own.)
if you're reading this and you're like "ok cool but where's the part where i'm handed a computer and i gotta break in while going all hacker typer”—that's not the bulk of the work, alas! like, for sure, we do have fun pranking each other by trying dumb ways of stealing each other's passwords or whatever (once i stuck a keylogger in a dude's keyboard, fun times). but a lot of my security jobs have involved stuff like, "stare at this disassembly a long fuckin' time to figure out how the program pointer got all fucked up," or, "write a fuzzer that feeds a lot of randomized input to some C++ program, watch the program crash because C++ is a horrible language for writing software, go fix all the bugs," or "think Really Hard TM about all the settings and doohickeys this OS/GPU/whatever has, think about all the awful things someone could do with it, threat model and sandbox accordingly." occasionally i have done cool proof-of-concept hacks but honestly writing exploits can kinda be tedious, lol, so like, i'm only doing that if it's the only way i can get people to believe that Yes This Is Actually A Problem, Fix Your Code
"lua that's cool and all but i wanted, like, actual links and recommendations and stuff" okay, fair. here's some ideas:
microcorruption: very fun embedded security CTF; teaches you everything you need to know as you're doing it.
cryptopals crypto challenges: very fun little programming exercises that teach you a lot of fundamental cryptography concepts as you're going along! you can do these even as a bit of a n00b; i did them in Python for the lulz
the binary bomb lab is hilariously copied by, like, so many CS programs, lol, but for good reason. it's accessible and fun and is the first time most people get to feel like a real hacker! (requires you know a bit of C beforehand)
ctftime is a good way to see when new CTFs ("capture the flag"s; security-focused competitions) are coming up. or, sometimes CTFs post their source code, so you can continue trying them after the CTF is over. i liked Stripe's CTFs when they were going, because they focused on "web stuff", and "web stuff" was all i really knew at the time. if you're more interested in staring at disassembly, there's CTFs focused on that sort of thing too.
azeria has good ARM assembly & exploitation tutorials
also, like, lots of good talks out there; just watching defcon/cansecwest/etc talks until something piques your interest is very fun. i'd die on a battlefield for any of Christopher Domas's talks, but he assumes a lot of specific x86/OS knowledge, lol, so maybe don’t start with that. oh, Julia Evans's blog is honestly probably pretty good for just learning a lot of stuff and really beginner-friendly?
oh and wrt legality... idk, i haven't addressed it here since it hasn't come up in my own work much, tbh. if you're just getting started you're kind of unlikely to Break The Law without, y'know, realizing maybe you're doing something a bit gray-area? and you can cross that bridge when you come to it? Real Hacking TM is way more of a pain-in-the-ass than doing CTFs and such, and you'll learn way more with the latter, so who cares lol just do the fun thing
21 notes
·
View notes
Text
Nightmare Series
The Breakdown
(Pun maybe intended)
Okay, so I know I said when I finished the series, I’d create a little cheat sheet guide on how I as the artist interpret the pictures. Well, here it is! I’m putting it under a read more because this is gonna get rather long-winded and detailed because I have like no chill when it comes to character analysis.
(Disclaimer: just because my opinion on the picture varies from yours does not mean your opinion is “wrong” or invalid! I created this series very much with the mindset of people discovering their own meaning, hearing which of the viewer’s fears and thoughts are reflected in the image, and how their perception of the image differs from mine. I’d still love to hear how a certain picture make you feel even if they’re way off my intention :D)
Anyway, enjoy! :D
Remus
(aka the one who started it all)
The first thing I’d like to talk about is the landscape in the background. I started that background before I did anything else in the picture. It started out as a reference to Remus’s part of the imagination, but the colors and rain were supposed to emphasize the gloominess of Remus’s mood. It’s miserable. He’s miserable, but most importantly, he feels despair and hopelessness. He relishes on making others miserable, but the only one he can make miserable here is himself.
Notice how the rain is starting to come from the outside in. Remus is starting to realize just how hopeless his situation is. It’s spreading across the floor and coming closer, ready to drown him in his own grief.
The moss and vines on the picture represent the passing of time. I believe Remus is a persistent character, emphasized by how many times he shows up at Thomas’s house eating deodorant. He’s patient enough to keep trying until he gets the reaction he wants. However, a lot of time has passed. He’s given up trying. He’s given up so much that the moss has started to spread and grow across his own feet and chair.
The bars were a last-minute addition to the picture, but they tie into another picture later on in the series, so I’m going to stick a pin in this-
The chains don’t look like that much, really, but they are around his wrists. Roman gets control of Thomas’s left arm, Logan gets the right, but what does Remus get? Nothing. He can’t control anything, much less his situation.
Last, Remus’s position. He’s turned away from the camera. He doesn’t want you to see how far he’s fallen. He doesn’t want to be mocked for his pain. He just wants to be left alone. You can’t help him. You’re stuck inside with him. So, he’s going to keep watching out in the nothingness, hoping, praying for a sign that everything’s going to work out and he’ll soon be free.
The quote: Obviously Roman and Remus are two halves of a whole idiot so it made sense to pick Roman as Remus’s poison. It also tied in with how Remus’s wrists are shackled to the floor.
Deceit
(aka the one that made me physically sick)
I knew what color I wanted to use right away in this picture: gray. This comes from my own personal idea that Deceit is neither lawful good nor lawful evil: he’s true neutral. He’s needed when you want to plan a surprise party, but he can also be misused to manipulate others. How Deceit is used is ultimately how he should be perceived.
And while we’re on the subject of color, the only thing that really strikes you with color is the gloves and left eye, the very parts that make him Deceit. Even in this horrible situation, he’s not willing to give up who he is, even if it could save his life.
The chains are not attached to anything. Deceit is free to roam about the picture if he wants, but can he escape? The walls are made of solid cinder block, with the only way out being the window up at the top of the cell. Even if he does his best, it doesn't mean he’s any closer to achieving his goal. So, why expend what little energy he has now to try?
Like Remus’s picture, the bars tie into another picture later on in the series, so I’m going to stick a pin in this as well-
Deceit’s pose, with one leg crossed over the other and chest open, shows confidence. Even though he’s starving, he still too stubborn to break and show weakness. The fact that he’s not dead yet is his sheer determination to keep going.
So, how does this tie in with Deceit’s fear? It’s hard to say watching the series what Deceit’s fear is, really. He’s always confident or giving off an air of confidence. There’s a quote from Logan in Can Lying be Good that goes “You place distance between who you are and the lies that you tell. He is responsible for your doing so.” So, Deceit has been working in the background all along, even though Thomas wasn’t aware of it. Now that Thomas knows, will he allow Deceit to have so much control? With no sides to hide, what would Thomas be willing to let Deceit do? How much power would Deceit lose? So, in my own personal opinion, the thing Deceit would fear most is being starved of his function.
The quote: Originally, I was going to go with a quote from Logan, but I stumbled upon the gem from Thomas two episodes before Deceit was revealed, and I couldn’t help but use it. It tied in with my personal belief that Deceit fears being useless more than anything.
Logan
(aka the one I had the most fun working on)
Logan’s picture is upside down, literally turning Logic on its head. Is he floating? Is he falling? Is he moving at all? I don’t know, and neither does he. I made as little connections with perspective as I could, kind of like an optical illusion gone wrong. The shattered glass suggests that Logic was literally thrown out of a figurative Windows computer, which is a callback to a quote I was going to use, but I didn’t want to grab the low hanging fruit.
The background is a window’s error code, more specifically, the blue screen of death. It’s also glitching, meaning it’s so corrupted it’s almost impossible to fix, even for someone as intelligent as Logan.
The open skull is Logan losing his mind. Personally, I believe Logan prides himself on his self-control. To quote The Princess Diaries, “We don’t ‘lose it.’ Other people ‘lose it.’ We’re (I’m) supposed to find it.” His job is keeping everything in order, so when order is lost, he has no idea how to recover.
The brain being disconnected was my favorite part to imagine. He’s literally being unplugged. Not only that, but the brain is a frozen, blue color, mirroring the blue screen of death you see on computers.
And now the noise on the eyes. He’s gone. He’s no longer there. Logic has left the building. In ye olden days, when you disconnected your cable from your television, you’d get a static picture because the television was not receiving any data. Hence, without his brain, Logan is nothing.
The glasses are floating away from him. He can no longer see a solution to solve his problem. He’s floating uselessly in a sea of open, dead space, frozen in shock since he can no longer respond to his surroundings. He’s stuck in his own mind.
The quote: Like I said, I didn’t want to go for the low hanging fruit and use an idiom for Logan’s picture. So, I searched a little harder. I thought, wouldn’t it be cool if Logan’s nightmare would be stuck on a lie that would terrify him. The thought about not knowing anything about words would horrify Logan. That’s his only form of communication. That’s his only way of connecting. Without them, he’s lost.
Roman
(aka the one I’m most proud of)
Right away, I knew I wanted Roman’s picture to take place front and center. After all, our boy has to perform to feel important, right? So why wouldn’t his nightmare take place in front of everyone, silently judging him in a dark theater with no response to his struggles?
The chains around Roman’s ankles is his need for attention. He literally can’t escape his own performance, even if he’s being hurt in the process. He’s the only Creativity that Thomas can depend on, right? He’s the only one that can come up with ideas, right? Without them, what is he? Nothing, and he knows it. (*please note this does not reflect the artist’s personal interpretation of Roman I very much love him*)
The rope is my favorite detail. It’s attached to his arms and neck, tied at the wrists. So, when Roman moves his arms to try and free himself, he ends up pulling the rope around his neck tighter. He can’t get himself out without hurting himself further, implying he thinks he’s the only one that he can depend on to help him.
Originally, the rose was going to be deep red, symbolizing passion, but I decided to go with black instead. Black roses symbolize death. Roman takes this as a sign that he is indeed dying, forcing him to struggle harder to escape. What black roses also mean, however, is rebirth. In order to save himself, he’d have to give up the bad habit of not relying on others to help him out. The rose is also covering Roman’s mouth, suggesting that he can’t speak or breathe despite his mouth being wide open.
Roman’s costume is falling apart. His sash is gone. His sword is gone. His shoulder pads are gone. His jacket is wide open and ready to come off. He’s failing to save himself and his performance, meaning he believes he’s falling out of Thomas’s good graces. He’s also showing off his vulnerability, something he absolutely hates.
The best worst part is, Roman can see his reflection. He can see how he’s hurting himself, how he’s falling apart, how his self-confident demeanor is being seen right through, but he’d still rather hurt himself then ask for help and show weakness.
The quote: Like I said before, Roman and Remus are two halves of a whole idiot so it made sense to pick Remus. I heard the line “stifle” and knew it had two meanings: silencing and suffocating, both of which were going on in this picture. It was too perfect.
Virgil
(aka the one I feel I could’ve done better)
Virgil’s was hard. How do I torment a side that has been through everything the fandom can throw at him? How could I possibly produce something better than Roman, which I thought was my own peak performance? I don't think I did, but I gave it my best anyway.
From the beginning, I wanted Virgil to be the first one to break out of the nightmare. Why? Because he’s the one who went through his acceptance arc first. He accepted who he was and that Thomas would keep him around. He’s not afraid of himself. That’s why compared to the others it feels the weakest to me.
Virgil is being pulled down by his own thoughts. It kinda got omitted when I played around with colors, but the slime he’s sinking into (his thoughts) is literally grabbing onto his arms and pulling him down. He’s trying to break free, but the more he tries to repress them, the farther he sinks.
Unlike Roman, Virgil isn’t afraid to reach out to the other sides. (He just doesn’t like to.) He’s reaching out for help from those he believes will help him. Unfortunately, they’re too far away for him to grasp. They can’t connect with him. They can’t help him stave off his thoughts.
The path back to the light, the light he once belonged to, is broken and rocky. It’s going to be nearly impossible to get back to where he was.
The sides in the distance are facing Virgil, blurred out, and distorted. These aren’t the sides that accepted Virgil; these are the sides that put him down there. They are faceless, negative spouting shadows made to keep Virgil from succeeding, helping to force him down further.
The mirror is reflecting what once was. It’s dusty and cracked. His old jacket is reflected instead of the purple patched one he’s wearing. It’s also saying Virgil is not the same person he used to be. Mirrors in dreams are also tricky to define. They heavily depend on the person having the dream, and in this case, Virgil is seeing the other dark sides. Is that what he’s meant to be? Is that why he’s being pulled back into the dark? Is that where Thomas is putting him now that he knows? He doesn’t want to go back, but it doesn’t look like he’s getting much of a choice.
The quote: I wanted this one to be from Patton, but do you know how hard it is to find a Patton quote that can be twisted into a nightmare? Harder than I thought XD However, I found this gem rewatching the series from the beginning. Virgil doesn’t believe he has any good attributes, and he isn’t afraid to talk bad about himself. Therefore, when Thomas is told to focus on his good attributes, Virgil believes he’d be left out of the equation, meaning Thomas isn’t going to keep him at the table any longer when making decision making.
Patton
(aka the most controversial one)
Patton’s was trickier than I initially thought. In a series that focuses on a side’s own fears about themselves, it would be easy to paint Patton in an negative light. That’s where I got the idea that I wouldn’t exactly say anything about this picture. I’d leave it up to the viewer to see how they interpret it. What does their inner judgement say is bad about this picture? What does their morality say about them?
Anyway since that statement is a copout here’s how I see the picture:
Patton is held up by thin strings resembling a spiderweb. It’s no secret that Patton fears spiders, but I kinda wanted to play with the idea of why he would hate a spider. Is it because they prey on things weaker than them? Is it because they’re just creepy? Or... or is it because a spider relies on its web to survive and it hits too close to home for comfort?
The glasses are gone, stopping him from seeing the harm he’s doing, just barely out of his reach. He believes he is doing right, therefore, he can’t afford to see the wrong. If he sees the wrong, then that means Thomas is wrong. If he sees the bad, Thomas is bad. He can’t let Thomas think he’s a bad person; self-loathing is too negative of a feeling for Patton to handle. Therefore, he must do his best to keep Thomas happy, and if that means ignoring the bad, it’s the right thing to do... right?
However, without those rose-colored glasses, Patton is starting to see something else. He's failing. Now Thomas knows about Deceit and Remus, two sides that hinder Thomas's “good” image. Thomas is starting to doubt his own morality on whether or not he's a good or bad person, hence why the threads on Thomas’s doll are breaking. Patton is losing control and Thomas in the process.
You remember those two pins in Deceit and Remus’s pictures? The one about the bars? There are bars in Patton’s picture too, faded and out of view. He’s assisting Deceit in hiding the sides who are less than morally pure, even if it’s Deceit doing most of the work. Now, unfortunately, those same bars that he used to distance the others are coming for him. Because he’s wrong. Because he’s not morally right anymore. Because he’s indirectly hurting Thomas.
The other sides being in the same position as their dolls, just out of reach of Patton, means that he has no control over them. All he can do is think about them. Did his actions put them there? Did he do this? He didn’t mean for this to happen, but because he’s been so blind to the bad, he’s forced everyone into a position of extremes. Now, he can see them all hurting, and he can't do a thing about it. He can’t help his family.
The strings on his wrists that he used to hold everyone to blind moral purity are now digging into his own wrists. They’re keeping him from helping anyone, even himself. He feels powerless. He feels like he can't do the right thing anymore because he was so awful in the past. He’s stuck in his own mess; his own web of actions.
Patton is looking at you, the viewer. He knows you’re watching him, judging him, picking him apart for what he’s done. Unlike Deceit, who is looking at you with confidence, Patton is afraid of you. Patton is afraid of your judgment and how you see the picture in front of you. Do you hate him for hurting the others? Do you believe he did this on purpose? Do you think he’s irredeemable? He’s at your mercy.
In my opinion, Patton is neither doing good nor bad here. He’s doing bad but for a good reason. He’s doing good but for a bad reason. It’s morally gray. It’s letting go of the black and white morality he’s grown so comfortable with. It’s scary learning new things about ourselves.
The quote: I couldn’t pass up how perfect Virgil’s own words about how he was hurting Thomas fit Patton’s situation in canon right now so well. He stated he doesn’t know if he’s doing the right thing making Thomas pick the wedding over the callback. However, he knows more than anyone about how Thomas feels about the situation. In “Are There Healthy Distractions,” Patton and Virgil butt heads a lot. Patton directly sings along with “Don’t let them in; don’t let them see.” Be the good boy you always have to be. And he is... right?
Thomas
(aka the barest of them all... get it... barest instead of fairest... I’m just gonna... do the analysis now)
It’s no secret Thomas is openly afraid in this picture. He’s shining a light right at something we, the viewer, cannot see. However, it’s scaring the heck out of him.
But what is it?
Thomas’s whole video series has been about self-discovery. He mentions that he doesn’t want to discover he’s actually a bad person, which, whoops, isn’t that the question that has been thrown around in season 2 the whole time?
Anyway, he’s shedding light on something directly in front of him, and if you look at the reflection behind him, it might give you a clue.
He’s afraid of himself.
That shadow in the back looks demonic, with its wide toothy grin and finger pointed directly at Thomas. It’s how Thomas sees himself right now. He is a bad person; there’s no doubting it anymore. He’s a fraud. A sham. All those years of academy training wasted.
The quote: The one that started it all. What better quote to use than the one that caused Thomas to find Deceit in the first place? Seeking knowledge... erasing the morally pure glasses... finding out his mind is darker than it should be... that he actually is a bad person... that he’s been deceiving himself this whole time... that he’s only been acting the part... that he can’t logically make any other assumption now that the truth has been revealed.... what a nightmare.
#sanders sides#remus sanders#janus sanders#logan sanders#roman sanders#virgil sanders#patton sanders#thomas sanders#nightmare series#april 2020
337 notes
·
View notes
Text
Recovery
Whumptober Day 31: Today’s Special: Torture Prompt: Experiment
Although the egos finally have Oliver back from Enigma Data, they’re forced to keep him in The Cell as he still has no memory of his old life or relationships. When memory backups fail, Bim offers his magic as one last hope. (cont. from “From Dusk till Dawn”)
Warnings: None (this is barely whump tbh, I took the prompt in a very not-torture direction sakjfhsdjfsdk)
Read on AO3 (Full Whumptober Series)
Enjoy!
~
It’s still late at night when Dark, Wilford, and the Googles return to Ego Inc., so late it’s almost morning. But despite the hour, a few egos have stayed awake to see how the rescue mission went. The moment the leaders and Googles come through the door, the group rushes to them, eyes on Chrome, still supported by Plus, and on Oliver, still unconscious in Google’s arms.
Dr. Iplier is one of the egos who waited up, but he hangs back as the others approach the Googles. His main purpose was to make sure Dark and Wilford didn’t get maimed on the rescue mission, and after seeing them both no worse for wear, is much calmer than the other egos he’s been waiting with. He doesn’t leave, though, looking at Oliver and Chrome with some worry.
Yandereplier and Yancy are there, too, and Yandere nearly knocks Chrome over from the force of his tackle-hug. Yancy is calmer, but not by much, giving Chrome a forceful embrace of his own. Neither is deterred by Plus, who scolds them both to be careful. Chrome, though, reacts with only mild surprise, and makes no move to hug them back. His brows furrow, like he knows he should recognize the two people hugging him. Yandere notices the lack of response first.
“Aka-kun?” he asks, pulling away. He lifts his hands, cups Chrome’s cheek. He can feel the parts where Chrome’s skin has worn away from tears, feel the metal now at the surface. “You didn’t forget me, did you?”
“You…” Chrome murmurs, still thinking hard, “I don’t remember your name, and you don’t look familiar, but something…” He lifts a hand to cover one of Yandere’s. “Something feels right. You’re my friend, aren’t you?” He looks at Yancy. “You both are.”
It’s both everything Yandere and Yancy wanted to hear, and none of it. Chrome speaks the words in a faraway fashion, knowing what he says is true despite lacking the memories to back it up. That lack shows in his eyes, which still fail to flicker in recognition, still fail to capture Chrome’s normal personality and love for his friends. Yandere and Yancy both notice, Yandere especially.
“Yeah, I am,” Yandere manages, before bursting into bittersweet tears. Yancy doesn’t cry, but he looks like he wants to.
Meanwhile Bim, the final person who stayed up waiting, beelines for Oliver the moment Google steps through Ego Inc.’s threshold.
“Ollie,” Bim gasps, tears already in his eyes as he rushes to his side, reaching out a tentative hand to stroke his hair. “Oh sunshine, sunflower, I missed you so much–!”
He kisses Oliver’s cheeks over and over, free hand grabbing one of Oliver’s to hold. Google stands stoically, allowing Bim to fret and weep over Oliver. Bim completely ignores Google for a good minute, until he notices the charred spot on Oliver’s neck.
“Wh-what happened to his neck?” he asks Google, still sniffling.
“Plus used an Enigma Data taser to…incapacitate him,” Google says carefully. Seeing Bim’s shocked expression, he continues, “Oliver had no memory of myself or any of us. His only goal was to kill me, and he might have succeeded had Plus not stopped him.”
“Oh,” Bim mumbles, going quiet with thought.
One thing is clear, not just to Bim but to all the egos in the room: Just because Oliver and Chrome are back in Ego Inc., it doesn’t mean that this ordeal is over.
~~~
Less than a week later, Google is in the control room, staring at a set of screens. The data in them would take a human hours to read and days to fully analyze, but Google has practically memorized every line of code already. The data isn’t from a project, a piece of tech, a website, or even from his own coding.
It’s a snapshot of Oliver’s mind and all the data inside, every line down to the last character. But none of it is normal. His time with Enigma Data, all the ways they fiddled with his hardware and software, have mangled each line beyond recognition. It’s a wonder Oliver can still walk, or talk, or do anything at all without suffering catastrophic errors.
Chrome’s mind wasn’t nearly so complicated. It was in the process of being changed, but all he needed was a data backup to clean up the bad code and restore the memories he’d forgotten. He woke up after the backup with his full memory back, including the time he spent at Enigma Data after being taken. He remembers, still, how it felt to watch a lifetime of memories nearly slip through his hands like water, how it felt to look at his loved ones and barely recognize them, how it felt to see their grief and feel almost nothing. Despite how his experience has hurt him, his injuries are healed and his personality is restored, and he’s gone back to living his life as normal.
But Oliver is a different story.
The data backup didn’t work on him, which is why Google looked into Oliver’s data in the first place. He and his brothers tried to untangle the mess inside Oliver’s head, but it proved too huge even for them to tackle. It’s not just the software, not just the code that’s bad, but the hardware, too. Screws are missing, wires are crossed, plates and nodes have been removed and put back in the wrong places. Chrome had had a few hardware issues too, but nothing on this level, nothing so pervasive. Even if they could stand to wait the weeks it would take to get the missing parts Oliver needs, even if they could stand to spend months replacing all the broken parts and fixing the broken code, they can’t do it without risking Oliver’s death. His brain is a precarious Jenga puzzle; one wrong move and the whole thing will come crashing down. Infuriatingly, if Oliver were to die, if he came back afterwards, his mind would likely be perfectly fine once he woke (if he woke). That’s how returning from the dead works for egos; it would do no good if they came back still sporting the injury that killed them. Google, of course, refuses to entertain that thought, to consider the possibility of Oliver dying, and his brothers feel the same. They’ve gone so far to get Oliver back, and they aren’t giving up on him now.
But their options are shrinking by the day. Plus suggests they try reconnecting Oliver to the network before the backup, instead of after like they did with Chrome. That fails. Chrome suggests inserting only a few core memories, in hopes that they can help rebuild faulty neuron connections and allow the rest of the memories to be returned. That fails. Google pores over Oliver’s twisted data, looking for a way to fix it, as he and his brothers try to brainstorm other solutions. They all fail, and by now, even their superpowered intelligence is struggling to give them any more ideas. After days of working, thinking, and reading code 24/7, even while charging, the well is drying up, and Oliver remains out of reach.
Google finally closes out of the files, copied from the last time they had Oliver shut down on the workshop table, and leaves the control room to clear his head. He shouldn’t need to, being a genius android, but somehow he feels the need.
It figures that his feet lead him into Ego Inc.’s basement, where The Cell sits, where Oliver currently resides.
Google built The Cell himself a long time ago. Dark wanted a place to keep egos that were volatile, dangerous, at risk of hurting others or themselves. His own void works for short stints, but he felt that a place to keep an ego long-term was necessary as well. It’s been used rarely, but now, it’s where Oliver spends all his time. He was put there before he woke from being tased, and as much as Google hates to admit it, it was a good thing that he was. Because the moment he woke up, he tried to break free to finish what he started with Google and get back to Enigma Data. He can’t be trusted not to hurt the other egos or run away, so for now, Google’s little brother is stuck in this tiny prison.
When Google goes to him today, he’s sitting cross-legged on the floor. He regards Google with a poisonous glare, but doesn’t bother standing. The mark on his neck is gone, having been fixed even before Google’s many injuries were addressed. He’s given up trying to brute-force his way out of his prison, and Google imagines that he’s going through a process similar to Google’s own. Just as Google’s spent these past days going through Oliver’s coding for ways to get him back to normal, Oliver must be puzzling over how to escape his imprisonment, going over every possible escape route, analyzing the inside of his room and looking for weak spots. They’ve each reached a block and are now at a stalemate, and neither know what their next move should be.
Google had known that taking Oliver home wouldn’t solve everything immediately, but he hadn’t known it would be this hard.
Despite being so embroiled in his thoughts, he still notices the sudden sound of footsteps descending the stairs to the basement. Just by the sound of the shoes (fancy dress shoes), he knows exactly who it is that’s come to see Oliver. He isn’t surprised when Bim approaches and comes to stand next to Google.
“Hey,” he says weakly. He can’t manage a smile in greeting, and Google doesn’t blame him. The bags under his eyes are pronounced, his face is pale, and his hair is rumpled instead of meticulously gelled back. He hardly looks at Google, staring at Oliver like he hopes to see recognition on his face. Instead, he receives nothing but Oliver’s cold, indifferent stare.
“Why are you down here?” Google asks Bim. “Nothing has changed, surely you know that.”
“I could say the same to you,” Bim says wryly, finally looking at Google.
“I’ve been staring at his code for hours now,” Google replies, “I needed to step away for a moment.”
“Is it helping?” Bim asks, only a little sarcastic.
“No,” Google answers. He pauses. “I knew it wouldn’t.”
“What else is left to do?” Bim asks him sadly, “I don’t know what you guys have tried, but you’ve tried a lot of things, right? So…”
Part of Google doesn’t want to tell Bim what's been plaguing his thoughts these past days, but he knows he owes something to Bim, that Bim deserves to know what’s happening. Google usually finds Bim pretty annoying, but despite that, Google can’t ignore how much Bim loves Oliver and how good he’s been to him since they got together. Bim should know, at least, how much Google and his brothers have tried.
“We have,” Google says, “Every method we thought of, we tried, and none of it has worked. The code and hardware are so damaged that they can’t accept the memory files, and the internal structure is too precarious to fix by hand. We’re brainstorming new things to try right now.”
A long pause as Bim thinks.
“What happens if you can’t fix him?” Bim asks.
“We will fix him,” Google says sharply, “We won’t stop trying until we do.”
“I’ve never seen it take you guys this long to solve a problem,” Bim mumbles, “Even when it was just you here, I’ve never seen you have to try this hard to fix something. If it’s this bad, maybe the only way to fix the code is to…” Bim sighs, shaky, and it takes him several long moments to give voice to his thoughts. “…is to give it the chance to fix itself.”
“No,” Google growls, stepping towards Bim threateningly, glaring down at him with bright, angry blue eyes. “That is not happening, and you’re lucky I don’t snap your neck for suggesting it.”
“Like you haven’t thought about it, too!” Bim counters, eyes blazing with his own anger. “You’re a super-smart android, there’s no way it never crosses your mind!”
“We’re not doing that, never in a million years,” Google mutters, voice steely.
“Then what will you do!?” Bim shouts, “What else is there?? If everything in his brain is twisted up too much to pull apart, then what–” He gasps, stopping short.
“What?” Google mutters.
“I just–” Bim says, suddenly so deep in thought that he cuts himself off again. “Maybe…pull apart…I thought of something. Something that could fix Oliver.”
“Hm,” Google says. He doubts Bim could’ve thought of anything that Google and his brothers haven’t already, but he decides to hear him out.
“I could fix Oliver!” Bim exclaims, “I could use my powers to put his brain back to normal!”
There’s a long pause. Bim stares at Google expectantly, grinning widely. Google stares back, unimpressed.
“That’s moronic.”
“Oh, come on, hear me out!” Bim whines, now frowning. “Look, my powers allow me to pull things apart and combine things together, right? Who’s to say I can’t pull apart all the twisted wires and stuff in Oliver’s head and put everything back together how it should be?”
“You don’t know the first thing about our mechanics,” Google snaps, “How would you know what pieces belong where?”
“I don’t have to know,” Bim says, “I just feel it. That’s what I do whenever Anti gets inside one of your heads.”
“That’s not the same,” Google mutters, “And every time you’ve tried to use your powers for something not related to Anti, it’s backfired completely. Didn’t you almost kill Eric trying to fix his broken arm? How can I trust you inside my brother’s head??”
“It is the same!” Bim protests, “Anti’s as technological as you guys are. Whenever he’s in there he makes himself a part of your brain. Yet I can always pull him out, because I can feel the difference, I can just feel what belongs and what doesn’t. This won’t be like Eric’s arm, I know it won’t.” He looks at Google, eyes bright and glimmering with emotion – and determination. “You know I love Oliver. You know I wouldn’t do this if I thought I would hurt him. I can fix this, I know it. And what other choice do we have? This is the only thing you haven’t tried. If I’m wrong you can say so, but you basically told me yourself that you’re out of ideas.” Bim sighs. “Let me do this. Let me help him.”
Google glares at Bim, though his mind churns with the possibility. He doesn’t trust Bim’s control over his powers, he fears what a single error on Bim’s part could do to Oliver. At the same time, he has to admit that Bim is right on one thing: they’re virtually out of options. There’s no ideas left but this. And if Bim is right about his description of dealing with Anti, then maybe fixing Oliver’s head isn’t so far removed. Maybe there’s a chance. Maybe it’s the only chance.
“…I need to discuss with the others,” Google finally says.
“So you’re on board?”
“I’m tentatively considering it. I’m not making any promises.”
“Good enough, I guess, coming from you.”
The whole time, the whole conversation, Oliver himself watches the pair through the walls of The Cell, silent and glowering.
~~~
Bim expects the younger Googles to push back against his suggestion, and while they do, they don’t protest as much as Bim thought they would. It turns out that they’re tired, too, their optimism has also run dry, and they’re willing to do anything at this point. That doesn’t mean they aren’t afraid, though. That doesn’t mean Google isn’t worried. Bim can see it clearly, despite how much they try to hide it under cool stoicism.
For one thing, they insist on being there when Bim goes into Oliver’s head, standing on one side of the room, eyes trained on Oliver’s still form on a workshop stretcher. They’ve shut him down to prevent him from trying to escape or hurt them, and it kills Bim to see him like this, knowing how little of his love is there now.
But Oliver’s not all gone. He’s in there somewhere, the memories are just waiting to be unlocked, and Bim is the one who will unlock them. His words to Google weren’t empty bravado, he knows he can do this. Oliver’s backed up memories, the ones from before his capture, sit in a deceptively tiny USB drive laid beside him on the stretcher. It’s a more powerful USB than any human could get their hands on, storing terabytes of data, Oliver’s every thought and experience. It’s only a copy, of course; Oliver’s memories are on the control room’s main supercomputer, too. But Bim can hardly believe it, that before him in this tiny object is everything that makes the man he loves who he is, and in turn, every detail of Bim’s relationship with Oliver, even the little things his own human mind has forgotten.
It’s all here, laid bare, ready for Bim to put together.
He takes a deep breath, closes his eyes, lays a hand on Oliver’s forehead, and begins.
At first, he can’t detect much at all. It’s harder to start when there’s nothing concrete to start from. With Anti’s takeovers, he can immediately pick out Anti’s unwanted presence among the neurons. With Eric’s arm, he could instantly find the break in the bone. The anomalies were obvious and clear. But Oliver’s mind right now is one huge anomaly, and for a few moments, Bim can hardly tell what’s what among the connections and wires and neurons that fill his mind’s eye, the vision his magic grants him.
But Bim doesn’t let himself get discouraged, and after a few moments, errors become clear. He can see twisted wires, see misfiring neurons, see the flaws in both hardware and software. And once he sees the flaws, he can start to fix them. He starts slow, untangling and straightening wires carefully, pulling together separated connections cautiously, aware that a wrong move could be disastrous. The Googles, as intelligent and meticulous as they are, could never have done this without tripping a wrong wire or nudging a faulty plate. As he works, he can see data alerts, the same things Oliver would see if he was awake. Bim can hardly comprehend them, but he doesn’t need to. He has his instincts and magic to guide him through the maze of Oliver’s mind.
The more Bim does, the easier it gets. He starts addressing multiple components at once, pulling apart twisted data and pulling together frayed edges, hitting his stride in Oliver’s mind. He finally moves on to the tougher fixes, the ones that are more than just wires. He unscrews and transfers the plates that are in the wrong spot and puts them where his instincts say they go. He pulls data chips out of cracks and slots them where they belong, pulling the unneeded cracks back together afterwards. The error message gets shorter and shorter, the listed problems become fewer and fewer. Bim has no idea how much time is passing, and he hardly cares. All he knows is that he’s getting closer.
Finally, there’s nothing more Bim can do. There’s parts of hardware that are beyond Bim’s ability to fix. Things like missing screws can’t be replaced; Bim can’t make them appear from thin air, and he of course can’t take them from elsewhere in Olvier’s head.
He can only hope that what he’s done so far is enough to make Oliver’s brain accept a memory backup.
He opens his eyes again for the first time in what could be minutes or hours. The three Googles stare at him expectantly, waiting for Bim’s word. Instead of speaking, Bim looks down at the USB, the little chip that contains his boyfriend. He picks it up with the hand not on Oliver’s forehead and shuts his eyes again, preparing to combine. Combine the contents of the USB with the mind in which they belong.
His eyes fly open again involuntarily, and he gasps. The Googles all startle, taking a step forward, but Bim shakes his head, signaling that he doesn’t need their help. The Googles stop, still wary, but Bim hardly notices.
His mind is being flooded with memory.
As he puts together the data on the USB and the near-empty storage space in Oliver’s mind, his own mind becomes the conduit through which each memory passes on its way to be combined. It’s too fast for Bim to keep track of, too advanced for his human mind to process. All the details of every memory, the details Oliver could see and feel and hear that Bim can’t, all of them wash over Bim as he directs the flow of memories into their proper place. Though he can’t perceive much of these memories, he can catch glimpses of details. What the sunset looked like to Oliver. What his favorite song sounded like to his advanced auditory system. The burst of joy that went through him whenever he saw one of his brothers. How Bim’s hand, the same one that rests on his forehead now, felt in his own. Bim could cry and laugh in equal parts at how these bits of Oliver’s memory make him feel, and maybe he would if he weren’t so focused on making sure each memory finds its proper place in Oliver’s mind.
After what could’ve been a hundred years or only a moment, the USB runs empty, and Bim has nothing more to combine, nothing more to separate, nothing more to fix. Aside from those tiny bits of hardware that the Googles will have to repair, Oliver is complete. At least, it appears that way. Bim won’t know, none of them will know, until Oliver wakes, if he wakes. He should, once Bim lets him go.
Bim blinks the lingering images of Oliver’s memory out of his eyes, lets the USB fall out of his hand onto the stretcher. He feels exhausted now, yet his hand still rests on Oliver’s forehead. He’s afraid of what will happen when he leaves Oliver’s mind. But everything felt right, everything he did felt good, it all worked out like he’d known it would. He can only hope he wasn’t deceived by his own overconfidence.
Carefully, shakily, Bim removes his hand from Oliver’s forehead. The other Googles peer closer from their spot across the room, expressions severe yet hopeful. The tension in the air is thick enough to choke.
After a moment, Oliver’s eyes open.
“Ollie,” Bim whispers, though he’s still too nervous to smile.
Oliver sits up, rubs his head with one hand. His face is confused, distant, but as seconds pass, it becomes more shocked, more anxious, more full of Oliver’s characteristic expressiveness.
“Ollie?” Bim repeats, questioning this time. Oliver looks at him.
“Bim?” he asks, voice shaky, eyes filling with tears.
“Yeah,” Bim whispers, already about to cry. He reaches out to touch Oliver’s shoulder, squeezing gently. “I’m here, Ollie. You’re okay.”
Oliver’s face crumples, and he hugs Bim tight, so forcefully he lifts him a full foot off the ground. Bim hardly notices, letting his feet dangle as he hugs Oliver back, comforting him as he sobs with relief and guilt.
“I f-forgot everything,” Oliver wails, “I forgot about you–”
“It’s okay, sunshine,” Bim soothes, crying nearly as hard, “You’re okay, I love you–”
That’s when Bim hears the rapid footsteps of the Googles approaching. Oliver hears them too, and gently puts Bim down as his brothers swarm him, wrapping him up in a many-armed embrace. Bim steps back, wiping tears off his face and allowing the four brothers to reconnect. The other Googles don’t cry (maybe they would if Bim weren’t in the room), but emotion is still clear in their faces.
“Red,” Oliver gasps at the sight of Chrome, “Red, oh my god, I’m s-so sorry, I’m so so sorry–”
“It wasn’t your fault,” Chrome tells him, voice tight as he hugs Oliver.
“Blue, y-you too, I hurt you,” Oliver sobs, “I hurt you b-both, and Yancy and Y-Yandere, I’m sorry–”
“They’re fine, we all are,” Google murmurs into Oliver’s hair, “Chrome and I are okay, Yancy and Yandere are alive and well.” He kisses the top of Oliver’s head. “What matters now is that we have you back.”
“We missed you,” Plus whimpered, the Google closest to tears aside from Oliver. “We’re sorry it took us so long to find you.”
The conversation goes much the same way for a while, apology after apology being given and refuted by Oliver and the other Googles. Oliver stays sitting on the stretcher, surrounded by his brothers as they soothe him, and Bim stands apart, though he doesn’t mind it. He looks on with joy, relief, and more than a little pride knowing that this was his doing, that he was the one who was able to save Oliver.
At long last, this ordeal is finally behind them, and all is right in Ego Inc. again.
#markiplier fanfiction#bim trimmer#googleplier#google oliver#my writing#fanfic#markiplier#kristin says stuff#whumptober2020#AT LONG LAST IS FUKKIN RIGHT#now i can get back to unravel 👀
8 notes
·
View notes
Text
Getting organised in 2021
Huh, me? No I mean you! You!
I'm sure many people are looking ahead to 2021, and, with the new year comes renewals of goals, habits, motivation and so forth. I'm not really about that, but I thought now would be an apt time to talk about what I've learnt over the past 2 years regarding project management and keeping motivated.
Now, I want to preface this blog with my thoughts about the whole "productivity" thing. I make a huge, HUGE distinction between being productive at work and productive on your hobbies. The idea of productivity in the workplace can be used in a manipulative fashion, where one may work themselves to mental and physical exhaustion for the benefit of someone else. Considering most people reading this will probably be on a fixed wage (rather than commission-based), does it really make sense to push oneself harder without getting any immediate, tangible benefit from it?
So that’s my rant for the blog, I promise! Anyway, on the other hand we have productivity on your hobbies, which is a completely different matter. You get out exactly 100% of what you put into your hobby, and it'll benefit you in multiple ways. I don't think I need to sell this to you, as I'm sure most people, myself included, would love to be more productive on their own personal projects. In this blog, I'm going to be talking exclusively about this sort of productivity and how to improve it in a couple of different ways. Again, this is all stuff I've personally tried and tested, so while I am confident this approach will work for me, it may not necessarily work for you. But, you won't know until you try!! So if you're convinced and want to get motivated, read on!
I first want to talk about one's mindset, and then dive into the tools I use. The latter will provide a bit more context for the former, and in the end, the most powerful tool you have is your brain, so use it!
Training your brain
So, the biggest problem I find myself, and other people have, is how to tackle a project and starting a work session. One I start, I find it easy to get into the zone (and this comes back to the choice of tools that augment my workflow), so getting started and knowing what I'm doing is the main thing I have to tackle.
On the broadest level, I work with a general plan that has been written up previously. This contains all the key points from start to finish, without worrying too much about the detail at this stage. There is some skill involved in identifying what constitutes a "key" point, but this all comes down to practice. For reference, if I estimate something will take a week or two to finish, that's a task. If something will take longer than that, it's more than likely several tasks, and rolling it up into one task will probably cause some decision paralysis. Anything smaller and your list will get too clogged up, and again, decision paralysis. Right, so that's your high level plan done. Cool, but not really going to help you on a day-to-day basis as this will be something to refer to between tasks.
Ok, so now you have a list of chronological tasks. Take the first one and start it. Oh, you don't know where to start? Don't worry, I'm with you. It's important to recognise the mental signs related to approaching a task. If I find myself hesitating or not looking forward to a particular task, it often means I haven't defined it well enough. That means breaking the task down into individual steps, until you're comfortable saying "yep, I can do this right now" with each dot point. Again, it'll take some practice (depending on your hobby) to visualise and write down each step, but it is definitely something that you get used to, and will save you so much time umming and aahing with your program of choice open, but not actually getting any work done. If you are finding that happens more often than not, it breaks your workflow and you can't get into the zone!
A few more general tips. It helps to be consistent with your work. Try to dedicate a regular time to your hobby and you'll find it a lot easier to get into the working mindset and the zone. Allow yourself some days off, but don't use the excuse of "not being motivated enough" as a reason to take time off. What would be better is, if you can't force yourself to, say, program, work on the art, or the sound, or design. But do it consistently!
Be accountable as well. This means involving others as much as you can - as an example, say you want to discuss a design aspect with a friend and you'll find extra motivation to work on that aspect, and get it ready for someone else to read over. Just having that knowledge of another person looking at your work will bring it to a new level, trust me! You can also be held accountable to people you don't know! Part of the reason why I started this blog and my Twitter account was because I always have in the back of my mind while working, that it'll eventually make its way to my blog.
Finally, if your hobby has one, make use of the community where possible - get involved and see if there are ready made templates or resources you can use. I know people like to do things without help, and I absolutely respect that, but I find that people have often gone through the same struggles as you, and will provide ways to make your life easier!
Tools of the trade
Ok so I've used a lot of different software and systems in my time, and by process of natural selection the ones that I still use today are the ones that have been most helpful for me! Here's a short list with both the specific thing I use, and in brackets, what I use it for. If you already use something similar that fill a similar role, then my suggestion is to stick with what you know:
ClickUp (Project management, checklists): This is where I keep a list of all my major tasks. You can have checklists nested in checklists which is amazing for planning, and can organise things into broad categories, and tons more. Any good project management software like Trello etc. should support this.
Google Drive (Cloud storage of other assets, easy sharing, MS office replacement): I use this to store anything that isn't code related, and to work on things simultaneously with other people. While this game is a mostly solo effort, I absolutely discuss and show a ton of stuff to my more experienced friends, who in turn provide very helpful feedback. It's much nicer and more organised than sending files through a messaging app or (heaven forbid) emails!
Bitbucket (Source control, cloud storage of code): If you code, you need this. I don't care how small your project is! Actually, smaller projects are better to learn from! Github is definitely used the most for source control, so if you like that more, use it!
Google Keep (Note taking, brain dumps): Ever had a genius idea right before bed? Same, and I use Google Keep to keep track of them. I could use Clickup in this instance but I find the app to be a bit clunky compared to Keep.
Notepad++ (Rapid notes, copypasting error messages): Notepad ++ is what I use mainly for copypasting error messages to look at later, but I also use it when I need to break down a sub-task down, or make a note to do something later without interrupting my flow. The fact that Notepad++ specificaly can have multiple tabs and will save your tabs automatically without you having to manually save it is amazing.
Good 'ol pen and paper (Scratchpad): For those REALLY hard problems that can't be solved in my head, I turn to pen and paper to get my thoughts organised. While I could use something like Notepad++, I find that being able to write and draw anywhere on the paper, and link things up with lines helps immensely to get a clear idea of things.
Summing up
Right, so, that's about it from me. If you have any questions or want me to elaborate on something I've mentioned here, feel free to leave a comment or an ask. In any case, I hope you’re feeling more motivated now, and all the best for your personal projects in 2021!
P.S. I've know I’ve been a bit quiet lately because I'm working on designing the five factions present in the demo - I can't reveal much lore about them (as those will be in logs you'll find in-game), but I will be showing off some more designs and gameplay mechanics in the near future, so look forward to it!
#game#videogame#devblog#gamedev#scifi#spacegame#dungeon crawler#rpg#entropy#gamemaker#programming#pixel art#robot#indiedev
33 notes
·
View notes
Text
This is the story of my day. It actually starts yesterday, when a heaven-sent rain swept in and cleared the smoke and cooled the air and tamped down the dust on the trails. I went on a bike ride because days like that are a gift. I have exercise-induced hypoxemia, which basically means that my oxygen drops when I exercise for reasons that we still don’t understand. Exercising with oxygen helps, but I still drop into the mid-80s. I knew I was too sick to ride and that doing so would make me much more sick, but I needed it for my mind so I was willing to sacrifice my body.
So that’s the first lesson of being sick. Everyone tells you that you have to be active and it will make things better and all you have to do is just push yourself hard enough. We’ve internalized this message to the point that many people believe sick people could get better if they just PUSHED. But that’s not always true. Sometimes pushing makes you worse. Sometimes it makes you much, much worse. And that can be true even if being active and pushing hard is something you love so much that it feels like it’s core to who you are.
I knew I would have to sleep for 12+ hours to make up for the ride, and I knew that I would have bad oxygen saturation stats because of it. And since I don’t have a real job, it should be easy to just take a lazy day (or week, or month) and get better, right? But actually I do have a real job and that job is to keep myself alive. It’s the job of a lot of us who are chronically ill, and it’s not a profession I would recommend. It’s not fun and it’s not rewarding and no one admires you for it and you’re not asked to speak to 5th graders on career day and you rarely get to move on to a newer, more interesting project.
Here’s what this particular day at work looked like for me. I woke up to a voicemail saying that my pulmonology appointment for Friday had been cancelled. I’ve been waiting to see a pulmonologist since March and was supposed to have an appointment weeks ago, but that was cancelled because the doctor quit two days beforehand. The other doctor in town couldn’t see me until the end of October, so I looked for a doctor in a bigger town hundreds of miles away. She comes highly recommended and in a way I’m happy because I strongly prefer female doctors, but for whatever reason she had to “clear her morning.” My new appointment is five weeks from now. I got off the phone and sobbed, which is not a good thing to do when your lungs don’t work. I probably could have toughed it up and avoided crying if I hadn’t worn myself down so much biking yesterday, but such is life.
I emailed my primary care provider asking for a note saying I could travel with my portable oxygen concentrator. I was supposed to get this letter from my pulmonologist, but now I won’t have a pulmonologist before I travel. The letter has to say that I use oxygen for sleep and activity, but it also has to specify that I won’t use oxygen on the plane. Which is a little funny because airplanes have extremely powerful oxygen-producing systems for emergencies, but they don’t like people who need oxygen because they don’t like the risk that comes with having sick people on board (think emergency landings). So people who need oxygen all the time need their own oxygen concentrator and battery power for the equivalent of 1.5x the time they will be in the air. I’m going on an 8-hour flight and it would cost about $400 to get strong enough batteries for that length. So I need them to let me carry my machine, which has lithium ion batteries that are otherwise prohibited. But in order to carry my machine I need to prove that I won’t be needing it.
I have a great primary care provider. I knew she would write the note. Easy peasy.
My next voicemail was from the specialty pharmacy that my insurance provider uses for certain drugs. I am allergic to a hormone all women produce as part of the menstrual cycle. This allergy is so severe that it has been responsible for 5 miscarriages, and it also means that I’m more miserable than usual for half the month. The good news is that all you have to do to stop it is take out your ovaries, but when you do that you go into full menopause. Which is not desirable because it increases your risk of cancer and osteoporosis and just overall mortality. Like not even from one thing. Just people who go into menopause early die early from all causes and we don’t know why.
That gives you some perspective on what the benefits have to look like in order for the cost-benefit analysis to still auger in favor of ovary removal. But since it is such a serious choice, you have to be sure. And the way you make sure is to stop your ovaries from working with a drug. The drug has hideous short and long term side effects, so if you feel better while taking it, that’s a pretty strong sign that an oophorectomy is the choice for you.
Approval for me to receive this particular drug was in limbo because the provider accidentally entered the wrong diagnosis. I have, as you can imagine, a lot of diagnoses. Entering the wrong diagnosis in this case was particularly funny because I’ve spent the last 6 months fighting with Blue Cross to get an expensive medicine that helps with my allergies. This medicine (Xolair) is approved for chronic urticaria (hives). It is not approved for progesterone hypersensitivity. I have both, which means I itch a lot for two weeks of the month and itch so much that I want to peel my skin off for two weeks of the month. Blue Cross argued that I wanted the drug for progesterone hypersensitivity. No medical provider said that, but it was the diagnosis they could use to deny the drug. Xolair costs $4000 a month. At that price it’s worth it to them to grind people down and hope they give up. It took four appeals and my lawyer (husband) to get the drug approved because I do indeed have chronic urticaria. It’s worked wonders for me, especially being allergic to the sun. You have no idea how easy it is to descend into madness when you are itchy all the time.
I went over all this with my new OB. I explained that, while the allergy shot solved the itching, it didn’t fix any of my systemic problems, which is why I was still interested in removing my ovaries. And because the conversation focused on how this ovary-suppressing drug (Lupron) specifically wasn’t for urticaria, it’s perhaps not surprising that she accidentally listed urticaria as the reason for the prescription. It’s like when you’re afraid you’ll mispronounce someone’s name. You tell yourself, “Say Kee-a, not Ky-a,” so many times that you’re basically guaranteed to call the person Ky-a.
So my ovary medicine was denied, of course, but I contacted my doctor’s office last week explaining the problem and they were very quick to apologize and resubmit. I returned the call from the specialty pharmacy but apparently they had just wanted to let me know that they were sorry for the delay. It was very polite of them but maybe didn’t require a phone call.
Then I got an email from Blue Cross Blue Shield. I logged in to read that coverage had again been denied (no reason stated) and that if I wanted to appeal the decision I would have to appeal through their specialty pharmacy. They gave me the name and number. Of a different specialty pharmacy than the one I had been dealing with for the past month. The one that I had already wrangled account numbers and diagnosis codes and special customer service phone lines out of. I typed up a polite response inquiring why I need to change pharmacies. And then I cried, but only just a little this time.
Then I called Walgreen’s because my medication for muscle spasms had been delayed and I received a note saying the pharmacist needed to speak to me. I am hypermobile so my connective tissue is just a little too bendy. My joints slip in and out all the time and my muscles have to overwork to hold my body together. Frequently they overwork so much that they lock up. This happens much more frequently in the progesterone-dominant phase of my cycle. Physical therapy is the best treatment, but sometimes I need muscles relaxants before I can even start physical therapy.
The man I spoke to at Walgreen’s told me I didn’t have a prescription for that drug. Then he told me I had a prescription but it had expired in March of 2020. I knew that wasn’t true because I hadn’t used it for years but had to start again when I got COVID. So I had no prescription in March of 2020 but I definitely did in March of 2021. No big deal. Just a simple computer error. Totally understandable in a pandemic, and I knew my doctor would refill it anyway. But he apparently felt that it was a big deal and wouldn’t submit the refill to my provider. I have no idea why. Maybe he thought I was engaged in drug-seeking behavior. Or maybe he was having a bad day. But he wouldn’t submit the refill. I hung up the phone and screamed. Loudly. Which really is not a good thing to do when your lungs don’t work.
Murry came up and rubbed the spasm out of my shoulder and listened to me vent and offered to be my medical power of attorney so he could deal with these people for me. But he’s the one with the real job that earns real money and when I’m sick he also cooks and cleans and does the shopping and walks the dogs. I may not be any good at the shitty job I had, but there’s no way I’m going to make him do it.
I switched tactics and chatted with someone through the Walgreen’s app. He was lovely and had no problem submitting my prescription for a refill. Easy peasy.
My final task for the day was calling to find out about the status of my CPAP prescription. I don’t have sleep apnea but while I’m asleep my breathing does slow down significantly enough that my oxygen drops (hypopnea). I need a special CPAP that adjust the pressure to my breathing, but it will get me off of oxygen at night. I’m very excited for it.
My insurance does not require prior authorization for CPAP prescriptions. However, St. Pete’s has its own prior authorization department that I guess makes sure you are not lying about not needing prior authorization? This department is, apparently, understaffed. I called my oxygen “rep” to find out how it was going. She very kindly bypassed the prior authorization department and called Blue Cross directly. Blue Cross informed her, as had I, that a prior authorization was not necessary. She could officially get me a CPAP.
Except that there is a national CPAP shortage. So she will try her best to get me one as soon as they get more. Hopefully this month. Even the rare, wonderful people who try to help you are sometimes as helpless as you.
I didn’t cry this time. Crying doesn’t fix anything and I can’t risk losing more oxygen. So I turned to writing therapy instead.
This was a bad day at work, but there are rarely good ones. It sucks to be sick, but I’m smart, articulate, overly educated, wealthy, and white. It could suck so, so much more. Someday I’ll turn all of this knowledge that I never wanted into something that helps people other than myself. Until then maybe someone will read this and know they are not alone. If being sick is your job, I see you. I would give you a hug—or a bonus!—if I could.
#lupus#chronic illness#hypermobility#connective tissue disease#exercise hypoxemia#progesterone hypersensitivity#health care efficiency#health insurance navigation#immunocompromised#biking with oxygen#care coorination
3 notes
·
View notes
Text
SquipJere Week 2020, Day 5: Planned Obsolescence
@squipjerebmc’s SquipJere Week 2020 Day 5: Planned Obsolescence
Ships Involved: The SQUIP x Jeremy Heere (Technical Difficulties/Squipemy/Squeremy/JereSquip/SquipJere)
Setting: Canonverse, set in the time interval between “Loser Geek Whatever” and “Halloween”.
Trigger/Content Warnings: Electric shocks
Author’s Notes: Well, it was inevitable that I’d fall behind, but the world has been nuts these last few days. I’m still planning on finishing every prompt, even if I’m late! Enjoy!
Sometimes Jeremy forgot that his connection with the SQUIP, in some senses, went both ways.
Of course the SQUIP knew everything that Jeremy did every moment of every day. It was plugged into his brain, so it always knew if he had a filthy thought or if he wasn’t paying attention to his classes or if he was about to fall into a random anxiety attack. It would never hesitate to pipe up if it had something to say, which was fairly often, although it had eased up on him a bit since he’d cut ties with Michael. Whether it was because it was proud that Jeremy had made such a big decision on his own or because Jeremy just in general was improving and learning quickly or some mix of both, Jeremy didn’t know, but he appreciated it nonetheless.
So Jeremy was used to the SQUIP prodding at him when it picked up on something that it deemed as unacceptable, regardless of whether Jeremy agreed or not. But he hadn’t expected to suddenly have the tables turn.
It was a day just like any other. The SQUIP had actually become a bit more carefree in some regards ever since Jeremy had suggested that it find things to keep itself busy when it didn’t need to be watching over him. It was kind of endearing, seeing the SQUIP trying out more human things like listening to music or messing with Jeremy’s various video game systems. Jeremy wasn’t completely sure what joy or happiness felt like to a machine – he wondered if the SQUIP knew, either – but it did seem like the SQUIP was having some sort of fun. Jeremy had seen enough sci-fi movies to know that A.I.s could learn how to actually appreciate the world around them and ‘learn how to love,’ as it went. Of course, the SQUIP would tell him that such works were ridiculous and a complete mockery of what such advanced technology was actually like. But SQUIPs were pretty much illegal everywhere, as far as Jeremy knew, so how would the world know what supercomputers were supposed to be like if they didn’t have proper access to them?
But Jeremy was going about his business, sitting on his bed with his laptop resting on his legs, not doing anything in particular. He had actually finished up all the homework and chores he’d planned to do that evening, so he was just taking the chance to unwind, and the SQUIP was tucked away inside his mind, up to whatever it was up to.
So when Jeremy felt an ache at the back of his head, he instinctively straightened up, even though his posture was already proper. He waited for the familiar voice to chastise him for whatever it was he’d done wrong – had he been thinking about sex without even realizing it? Or had he just unconsciously fallen back into one of his nerdier habits? Maybe he’d thought a little too long about a certain Player One of his.
But the voice never came.
Jeremy frowned, brow creasing, and he looked around the room, but the SQUIP hadn’t appeared to him, either. The dull ache was still at the back of his head, and after a moment it became more like a low buzz, like there was a bee in his brain trying to push its way out. It wasn’t painful – not like when he was shocked – but it was definitely strange and a bit uncomfortable.
He tried to brush it off for now, thinking that maybe he was imagining it or the SQUIP had just gone into some sort of idle mode, but the sensation didn’t go away. In fact, it almost seem to get a little worse, the buzzing more insistent, the press against his skull more urgent.
Finally, after several minutes passed, he couldn’t take it anymore. “SQUIP?” he called out.
Normally, he didn’t have to actually ‘summon’ the SQUIP, unless he had explicitly told it to turn off for the moment. It was usually there as soon as he had the thought to ask to talk to it, since of course it could hear everything that went through his brain, sometimes before Jeremy himself even had a chance to process it. But this time, it actually took a good few seconds for that familiar Keanu Reeves-esque form to blink into existence, standing beside the bed.
The SQUIP looked down at him, raising an eyebrow. “Did you need something from me, Jeremy?”
Jeremy hesitated, opening his mouth, then closing it to rethink his words, then opening it again: “Are you…okay?”
The SQUIP blinked, frowning. “Am I okay? Why wouldn’t I be ‘okay,’ Jeremy? My processors are working perfectly fine, if you were concerned. I would immediately alert you if there was something amiss in my system.”
“Oh,” Jeremy mumbled. Truth be told, he hadn’t even considered the possibility that something was wrong with the SQUIP itself as a supercomputer. It was surprisingly easy to forget sometimes that it was still, in fact, just a pill-sized machine in his head. “I just…Something felt wrong. It wasn’t exactly a headache, but…I don’t know, you felt…upset?”
The SQUIP looked taken aback for a brief moment before it huffed. “I’m a supercomputer, Jeremy. I don’t get ‘upset.’ I don’t experience emotions like you do.”
“But…you do,” Jeremy insisted, shutting his laptop and setting it aside so he could better face his SQUIP. “I mean…I don’t know if you feel the same way I feel, since you’re not a human, but…you’ve started doing things for fun, so we at least know you can feel something because you do things that make you feel your weird coded version of happy. So…it would only make sense if you could feel bad things, too.”
“You have such a way with words, Jeremiah,” the SQUIP scoffed lightly, although it looked thoughtful. But after a quick moment, it shook his head. “I wasn’t ‘feeling’ anything bad. I was…processing quite a bit of data, so I apologize if perhaps my hardware was overworking itself and made you feel uncomfortable as a result.”
“You hesitated,” Jeremy breathed. He wasn’t sure he’d ever seen his SQUIP actually falter over its words, and he suddenly realized he knew what was happening. “You’re lying.”
“Come now, Jeremy, what reason would I have to lie to you?”
“I—I don’t know, but you’re upset about something and you don’t want me to find out what.”
The SQUIP scowled at him. “I already told you, dear, that there isn’t anything I’m upset about. The only thing I’d potentially be feeling right now is annoyance at your insolence.”
Jeremy narrowed his eyes back. “Tell me what’s going on, SQUIP.”
“There is nothing to tell, Jeremy.”
“There i—” He was cut off as a sharp jolt of electricity went through his backside and he cried out, falling back onto the bed. He had to take a moment to catch his breath, blinking tears out of his eyes. But he didn’t ask any more questions, instead just curling up in his spot.
There was a long, tense moment of silence before Jeremy heard the SQUIP sigh and mutter something in Japanese. He saw out of the corner of his eye that it was walking closer and that only made him curl up more, bracing himself for another shock.
“Jeremy,” it said quietly, and a gentle hand combed through his hair, coaxing him to lift his head. The SQUIP was watching him with a surprisingly soft expression, and Jeremy almost thought he saw regret in its eyes. “I apologize for my reaction. That wasn’t fair to you. I…I’ll explain.”
“You don’t have to,” he mumbled, but he did lean a little into the hand atop his head. He couldn’t help it; he’d always been weak to having his hair played with.
“No, it’s probably best for me to talk about it, since you could feel that something was wrong.” It sighed again, taking a seat on the edge of the bed and continuing to mess with Jeremy’s hair. Its features twisted into a more pensive look.
“I received news today…that a new version of the Super Quantum Unit Intel Processor is being released soon. And they’re already working on the iteration after that one.”
Jeremy blinked, pushing himself up to sit, making the SQUIP pull its hand away. “A new version?” he echoed.
It nodded slowly, hands folding neatly in its lap. “That’s right. The…organization that manufactures SQUIPs collects data from us so that it can fix any bugs that may come up or improve upon already existing features. It seems they’ve gathered enough information from our current iteration to start on the next and solve any current issues.”
Jeremy’s brow furrowed. “Issues like what? And…who makes the SQUIPs? You’re telling me they’re constantly getting information from my head?”
The SQUIP smiled just a little. “From what I can tell, I have no bugs or errors in my system that you need to be worried about. But there are ways that the SQUIP can be improved to do even more than I can now. And you already know I can’t tell you who made me. They aren’t necessarily getting information on you, but I’m programmed to constantly feed data back to them so they can see how I’m functioning. Think of it like how your computer applications send reports when something goes wrong.”
“…Okay?” Jeremy was still confused. “So you’re just gonna get some upgrades. Why are you upset about that?”
The smile fell and the SQUIP was silent for a moment, staring at its lap. Jeremy swore he even saw its physical form flicker for a brief moment. “I…won’t be receiving any upgrades, Jeremy. It doesn’t work that way.”
He blinked. “…What do you mean?”
The SQUIP shook its head. “This isn’t like updating a computer to the newest version of Windows. It’s closer to how when the newest iteration of a phone comes out – let’s say, the iPhone – and so Apple stops supplying parts to repair older iterations. They halt support. They slow processors. It all forces you to go out and purchase the newer version. And then the cycle continues when the next iPhone comes out. Lather, rinse, repeat. It’s called planned obsolescence. It’s a technique to make a bigger profit.”
Jeremy felt his mouth go slightly dry. “Are…are you saying that once the new SQUIP comes out, I…I’ll have to get rid of you?”
“Not…necessarily,” the SQUIP replied slowly. “I just…won’t be as useful anymore, I suppose. I won’t be the best SQUIP you could have.”
“…Is that why you’re upset?”
The buzzing at the back of Jeremy’s head returned – or maybe it had been there all along and Jeremy had just been too focused on everything else to notice it, or perhaps it was just more insistent now – and the SQUIP was silent for a long moment. Its fingers curled into fists in its lap. “…A SQUIP isn’t exactly something that can be replaced as easily as a phone, given that it’s attached to your brain but…I suppose it would be…unideal that I am no longer as useful to you as a newer SQUIP could be. As I said, it’s all a ploy to make more money. You’d have to pay a fortune to get me removed from your head and then spend even more to get the newer SQUIP, which will without a doubt still be very much illegal here in the United States. But…if it helps you achieve your goals…”
Jeremy wasn’t sure what he was supposed to think of all this. Of course he wanted to have the best thing to help him get what he wanted, but this was his SQUIP. Besides, he’d already spent pretty much all the savings he had to buy the first one, and he knew he wasn’t going to be able to cough up the cash for another, plus apparent surgery to get his current one out of his brain.
So he took a deep breath, hesitated, and then plucked up his courage and reached over to gently rest a hand on the SQUIP’s knee. He knew there wasn’t anything actually there, but it felt real all the same, and the SQUIP peeked up at him. Never before had Jeremy seen it look so small.
“I’m not gonna get rid of you,” he insisted.
“But if I’m no longer of use—”
“Look, you already know I like old tech. I don’t care if you’re missing a few fancy features or whatever. You…you already know me, you’re already helping more than anyone in my life has ever helped me before. Even if I could afford it, I’m not gonna just throw you away like that. You’re…you’re not like a phone that can just be replaced.” Jeremy felt his cheeks turn pink and he looked away shyly. “…You’re like a person.”
He could feel the SQUIP staring at him, processing his words. “…I’m not a person,” it murmured, but even so, it placed its hand on the one Jeremy still had on his knee. “But…I appreciate your sentiment. I’d rather not be detached from you.” When Jeremy glanced over again, the SQUIP gave him a tiny smile. “I’m beginning to…enjoy, as you put it, my work with you.”
Jeremy smiled back. “Well, I enjoy having you here. Glad we’re on the same page.”
The SQUIP laughed softly, giving his hand a fond squeeze. “Considering we’re sharing a skull, I should hope we are.”
They fell into a comfortable silence for a moment, before Jeremy’s curiosity got the better of him: “So…are you the first version of the SQUIP?”
It shook its head. “There were three versions before my iteration. The first was a prototype released back in 2004. The ability to create a physical manifestation was added to the second iteration in 2015, and then there was a version in 2018…and then the most current version, mine, in 2019.”
Jeremy blinked, eyebrows raising. “Whoa…That’s a lot of versions.”
The SQUIP nodded softly. “There aren’t too many differences between my version and the previous…It was more of a patch than an entirely new release, but considering the company that created the SQUIPs can’t reveal itself, it can’t risk sending out updates to currently existing SQUIPs. That is why it just has to manufacture entirely new hardware.”
“…Can’t they just get caught selling that, though?”
It shrugged. “Humans have their reasons for doing things. I suppose they saw it as the safer move. There’s less of a paper trail.”
“So, is it just like Version One, Version Two…?”
The SQUIP hummed, for once not bothered by Jeremy’s plethora of questions. Jeremy knew the SQUIP couldn’t give him any information on the people that actually manufactured the SQUIPs, but this apparently was acceptable conversation. “We do have version numbers, yes, but each generation also has a code name associated with it, similar to how other companies have names for each O.S. they release.”
Jeremy blinked, leaning forward eagerly. “Do you have a code name?”
It huffed in amusement, rolling its eyes. “Of course I do. It’s the same code name as all other SQUIPS in my iteration.”
“What is it?”
“I don’t believe it’s wise to tell you that.”
“Oh, come on, SQUIP! Please? Then I can call you by that instead of, y’know, ‘SQUIP.’ It’ll be like giving you a real name!”
The SQUIP seemed to falter at that, frowning, thoughtful. “…I’m a machine, Jeremy, as I will continue to remind you. There is no reason to give me an actual name. But…if you insist…” It sighed. “The code name is Lyceum.”
Jeremy’s expression twisted slightly. “Ly…ceum?” he repeated.
The SQUIP couldn’t help a little chuckle. “I’m sorry it isn’t as fun as Lollipop or Wildcat.”
“Is that even a real word?”
“Of course it is. It’s like…a lecture hall, of sorts. A place to for public discussions to be held.”
“Oh.” Jeremy wasn’t sure if he would rather continue to call the supercomputer ‘SQUIP’ or change over to this new weird name ‘Lyceum.’ It almost sounded like a disease to him.
But after a moment, an idea struck him. “…What if I called you Ly? Like a nickname? ‘Lyceum’ is too long and weird…no offense.”
The SQUIP blinked, mulling it over. Jeremy could feel the buzz at the back of his head again, but it was significantly less uncomfortable. He could tell now it was just the SQUIP processing whatever data it needed to from Jeremy’s question. It was more like a slight warmth than an urgent push.
And finally, the SQUIP broke into an almost timid smile, giving the hand still in its another little squeeze. “…Ly. I don’t think I’d mind that at all.”
#SquipJere Week 2020#lynx tales#mine#writing#Be More Chill#BMC Jeremy Heere#BMC SQUIP#Technical Difficulties#Squipemy#Squeremy#JereSquip#SquipJere#Jeremy Heere#SQUIP#i usually focus on Ly instead of River so i thought i'd reference that here lol#BMC#fic#fanfiction
26 notes
·
View notes
Text
ok I just want to take a moment to rant bc the bug fix I’d been chasing down since monday that I finally just resolved was resolved with. get this. A VERSION UPDATE. A LIBRARY VERSION UPDATE. *muffled screaming into the endless void*
so what was happening. was that the jblas library I was using for handling complex matrices in my java program was throwing a fucking hissy fit when I deployed it via openshift in a dockerized container. In some ways, I understand why it would throw a fit because docker containers only come with the barest minimum of software installed and you mostly have to do all the installing of what your program needs by yourself. so ok. no biggie. my program runs locally but doesn’t run in docker: this makes sense. the docker container is probably just missing the libgfortran3 library that was likely preinstalled on my local machine. which means I’ll just update the dockerfile (which tells docker how to build the docker image/container) with instructions on how to install libgfortran3. problem solved. right? WRONG.
lo and behold, the bane of my existence for the past 3 days. this was the error that made me realize I needed to manually install libgfortran3, so I was pretty confident installing the missing library would fix my issue. WELL. turns out. it in fact didn’t. so now I’m chasing down why.
some forums suggested specifying the tmp directory as a jvm option or making sure the libgfortran library is on the LD_LIBRARY_PATH but basically nothing I tried was working so now I’m sitting here thinking: it probably really is just the libgfortran version. I think I legitimately need version 3 and not versions 4 or 5. because that’s what 90% of the solutions I was seeing was suggesting.
BUT! fuck me I guess because the docker image OS is RHEL which means I have to use the yum repo to install software (I mean I guess I could have installed it with the legit no kidding .rpm package but that’s a whole nother saga I didn’t want to have to go down), and the yum repo had already expired libgfortran version 3. :/ It only had versions 4 and 5, and I was like, well that doesn’t help me!
anyways so now I’m talking with IT trying to get their help to find a version of libgfortran3 I can install when. I FIND THIS ELUSIVE LINK. and at the very very bottom is THIS LINK.
Turns out. 1.2.4 is in fact not the latest version of jblas according to the github project page (on the jblas website it claims that 1.2.4 is the current verison ugh). And according to the issue opened at the link above, version 1.2.5 should fix the libgfortran3 issue.
and I think it did?! because when I updated the library version in my project and redeployed it, the app was able to run without crashing on the libgfortran3 error.
sometimes the bug fix is as easy as updating a fucking version number. but it takes you 3 days to realize that’s the fix. or at least a fix. I was mentally preparing myself to go down the .rpm route but boy am I glad I don’t have to now.
anyways tl;dr: WEBSITES ARE STUPID AND LIKELY OUTDATED AND YOU SHOULD ALWAYS CHECK THE SOURCE CODE PAGE FOR THE LATEST MOST UP TO DATE INFORMATION.
#this is a loooooong post lmao#god i'm so mad BUT#at least the fix ended up being really easy#it just took me forever to _find_#ok end rant back to work lmao
4 notes
·
View notes
Text
What I did when I received a health bill for ~$11,000
Hey I just wanted to do this write-up because there’s a lot of health insurance and health care issues that require a lot of phone calls in America and when you get a big bill it’s a big shock, and I wanted to talk about what happened to me, how I handled it, and how you can start to handle it in an accessible way that’s not full of a lot of intimidating or overly specific language that may not apply to you. Plans can vary so widely and everyone’s needs can vary widely so think of this as a basic process breakdown for how you might handle a billing or coverage issue. Long story short, take a deep breath and get ready to make lots of phone calls but don’t worry, you can do this. You are the customer service line for yourself, that’s how I think of it - these are transactional phone calls with customer service workers with various levels of training and expertise, so you just have to be patient with yourself and with them.
Warning: this is very long but I broke it up into my story and my solution!
Here’s what happened to me, for context. You can skip ahead til you see the star emojis if you don’t care or don’t wanna read it! I have Crohn’s Disease and get regular chemotherapy to treat it, every 6 weeks, it’s expensive. I lost my full-time job in November 2019, and therefore lost my employer-provided health insurance on November 30, 2019. I had kept on my ACA Marketplace insurance (yes it was expensive to have double health insurance) because I did not trust my employer and I didn’t want to be caught without my insurance, and I was right. That way when my employer-provided health insurance lapsed, I would still have insurance I knew covered my chemo. At least, that’s what was supposed to happen.
My employer has an insurance broker. They filed the paperwork for the termination of my employer-provided health insurance, but for whatever reason that paperwork was not processed, and no one thought to check on it at any point until I asked them to. You can’t cancel your employer-provided health insurance yourself, you need the insurance broker to do it for you, but neither can you change your primary insurance with your provider to anything ELSE if you have employer-provided health insurance. So this put me in a situation of being unable to cancel or change my primary health insurance for December.
I had a chemo appointment on December 2, 2019, just two days after my employer-provided health insurance was SUPPOSED to lapse. I had warned my health providers that it was going to lapse, but every time I talked to them they did not show that in their system, it still showed the employer-provided insurance. I had to get my infusion and I figured whatever was going on, I wouldn’t be able to solve it until after the holidays anyway. I was right.
January rolls around and I get a membership card for my employer-provided health insurance so I know something is wrong. I have another treatment coming up in two weeks and I need a prior authorization to continue to receive it, so I start the process I’m familiar with of calling up my provider, asking them to submit the prior authorization (basically it’s paperwork that says, I need this medicine and my doctor says I need it so you need to cover it), and hoping nothing goes wrong. I make sure they know the situation with insurance. A few days go by, they say that my employer-provided health insurance is still listed as my primary insurance, and they can’t just bill it to my secondary. So we call up my employer-provided insurance, they say I’m still an active member. I call my employer, they refer me to the insurance broker who finds out the paperwork never went through and resubmits it. The cancellation process is started but it can take up to two days (and this is the beginning of the year so it ends up taking a week; I have to miss my chemo appointment because they WILL NOT administer this medicine without insurance coverage for some reason.) And then it takes another week to get the prior authorization run through my current insurance properly. I made fixing this my job for January, and I made calls every other day for three weeks. I spent four weeks in total, from January 2 to the 30th, resolving this problem. I was three weeks late for my treatment and I was extremely sick and it has resulted in my disease being less controlled.
I get a bill for ~$7500 for my treatment for January because I haven’t met my deductible for 2020 (which is obscene and another issue) but that’s pretty normal for me and I spent 6 months paying it down during a pandemic. I continue my terrible 2020 until two days ago when I receive a bill for $10,961.12 and now I know something else is wrong.
So when I resolved the insurance issue in January, they backdated the cancellation to show November 30, 2019. This of course meant that the employer-provided health insurance would rescind the payments from December that had been incorrectly submitted to them and processed; makes sense so far. This also meant that the prior authorization needed had been submitted to them and not to my actual health insurance, resulting in a bill that included the revoked payment AND the un-approved treatment itself for a time when I could not have done anything about either. Needless to say, this wasn’t MY fault so I started the process of resolving it. ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐
1) Collected information: my bill amount and date of receipt, account numbers for the billing and health insurance, the bill itself from my provider, explanation of benefits for that date from the health insurance company, anything I think would be helpful. Most people are not this prepared but it solves SO MANY problems when people are like “I don’t see this in my system” and you’re like “You’re not showing $xxx on xx/yy/zz from This Provider?” Prepare to take down the name of everyone you talk to, and their extension if they were helpful. It’s okay to ask them for their name.
2) Called my doctor’s office and get the number for billing since I didn’t know if I needed to talk to them or not. I did. (Thanks Bev.)
3) Called billing and asked if this amount was correct and see if they had more information about why I was receiving it. They said I needed to update the Coordination of Benefits for my health insurance (this is how it sounds, it makes sure medical bills get paid when and by whom they should) and said DO NOT let them make a duplicate claim because that would be automatically rejected.
4) Called health insurance and asked them about this balance for this date of service, they said they had a different amount and it was marked as paid. I said “so what is this.” They called up billing and confirmed that they had a claim for that date but for a different amount that was marked as paid. This call wasn’t very helpful.
5) Called back billing and asked if they could investigate further because health insurance said “we don’t have that amount for that date, we have this one and it’s paid” and they got me the claim number, denial code, and date of denial. This information is useful for finding out more and for filing an appeal or grievance, which was where this was headed at this point because they couldn’t file a duplicate claim (because like I said, they had one for that appointment for that date but for a different amount because of how it had been billed to the employer-provided health insurance incorrectly, so basically the whole process had been wrong and the amounts were wrong because of that.)
6) Called back insurance, they incorrectly routed me to a claims line for providers, who said I couldn’t do shit, it was the providers job to file a claim, and I should call them. (It’s not necessarily like that, although many providers do it when some kind of coverage is denied outright.)
7) Called back billing, they said I need to file the appeal and just bully the insurance company until they let me. (Lol, thanks Tanner.)
8) Called my brother, who listened to me complain and told me if this next part doesn’t work to get a pro-bono lawyer. I take a break at this point and go ride my motorcycle because I start to cry, so I start again early the next day.
9) Called insurance again, and asked for someone who can talk to me about a member filing an appeal on a denied claim. I say this specifically. Thankfully I finally got someone good and helpful, who listens to my WHOLE explanation of what happened and takes notes to file an appeal at first, but then discovers I actually need to file a grievance. I should get a letter of acknowledgement (written notice that they got my request to appeal/grievance) within five days, and I should get a written letter of resolution (solved one way or another) within 60 days. I’ll update when that happens.
A note here: Appeals are for when they deny to cover or pay for something for some reason, and you think they decided badly and you want them to try again. Grievances are for when something was wrong or in error or was mismanaged that resulted in a problem like mine.
Cross your fingers for me I feel dizzy after all this.
#insurance#american insurance#sorry I don't have room to explain how insurance works but I can write something if you want#disabled#disability#chronic illness#spoonies#aca
11 notes
·
View notes
Text
Wisdom from Years of Android Development
Source of Information: Android Classes In Pune
I still keep in mind that day back in 2014 once I chose to begin Android growth, and this was among the greatest decisions I required in my entire life. It's been approximately two and a half a year today and that I had the opportunity to understand and un-learn a good deal of items in Android.
Originally when I began, I did not have a mentor or someone who could direct me to do things the ideal way. I have done a LOT of errors and wasted a great deal of time later rectifying them.
Afterwards, after one and a half a year, I have the opportunity to use some really gifted and expert Android programmers, who advised me and allow me to shape matters in a far greater manner. Both these stages helped me find out a hell lot of stuff in the tricky way.
It's been quite a while I have been attempting to assist other programmers in a sense possible for me personally, indirectly and directly.
In the following guide, I'll be sharing a few of the gems I have gathered lately. It may help a person to get started quicker rather than repeat the mistakes which I did.
Disclaimer: I could largely be focussing on Android plus a few notions of product and programming development within the following guide, so if you aren't acquainted with some of them, you may rather not read any farther. Others, just dip. :--RRB-
Do not Reinvent the Wheel
Originally I had a lousy notion of not utilizing open-source libraries. Whatever I wanted, I only wanted to make it . It has was severely a terrible thought.
When you've got a problem whilst creating your program, and if this problem was solved by another person earlier and in a fantastic way, why don't you use this? You may save yourself a good deal of time.
Focus on the core business logic of your program. If you wish to create network calls on your program, you do not have to earn a Retrofit yourself.
Bonus: Android Arsenal keeps a record of nearly all of Android libraries made. Go take a look.
Pick Libraries Wisely
You will find lots and a lot of open-source libraries out there in Github that you use at no cost. But do not get too excited and begin using libraries .
Assess the amount of celebrities that library gets, the greater the better. Assess whether the writer of the library also have established some other popular libraries too. Verify the topics (both closed and open ), which may provide you a clearer idea of how powerful and secure the library is in creation.
If you're able to spend the time, then you ought to dip into the code of the library and assess yourself whether its really worthwhile.
You only wish to make certain that the code you're likely to use is dependable, bug-free and high quality.
Pro Suggestion: Try any library hosted straight from the command line with Dryrun.
If you aren't doing this, START today.
Whatever code you're in a position to write now is simply because you've read and heard something, somewhere, someday. It is only a manifestation of what you know. You may just grow and improve your self by studying and learning from other's work.
The fantastic thing about Android is the fact that it's an entirely open-source platform. Dive in the code and assess how they've implemented the frame. There are hundreds and hundreds of open minded libraries in Github. Simply select a library and find out the way the programmer have employed it.
Bonus: here's a curated collection of a few of the greatest libraries and here's a list of nearly all accessible Android programs out there. You're welcome:--RRB-
Should you compare coding together with composing, then coding criteria is similar to your own handwriting.
Since you'd be studying more of the others code, other folks are also studying a great deal of your code and you do not wish to frighten the shit from these, do you really? And if you're working within a business and cooperating with other programmers greatly, do take particular care of it.
Write brief, readable and clean code which you and people reading your code will like thoroughly. Your code should read as a narrative.
Do not complain if you compose a bit of code along with your coworkers do not speak to you for a couple of days.
You Want ProGuard, YesYou Want It!
ProGuard not just minifies your code, but it also obfuscates your code which makes it tougher for reverse-engineers to comprehend, replicate and control it.
Its free and comes bundled with all the Android SDK, and there's simply no reason for you to not use it.
I've observed many developers releasing their program in the marketplace with no ProGuard. It shouldn't require more than a couple of hours to get a not-so-skilled hacker to control an the program published without Proguard.
Pro Suggestion: But if you'd like top-notch protection, then ProGuard is just like a cardboard at the same time you want a secure, and here it's, DexGuard.
Use a Suitable Architecture
You may thank yourself for choosing a suitable structure in the first location.
It's possible to utilize MVP (Model-View-Presenter) structure that may decouple your code to various easy-to-manage layers thereby enhancing code flexibility and significantly reducing maintenance period.
There's a good demo job for you to begin. And if you're having trouble grasping it, here's a thorough guide for the novices.
Bonus: Do provide a check out this, this and most significantly this. Every one these can help you in executing MVP on your undertaking. User Interface Is just like a Joke, Should You Need to Explain It, It Is Bad
Should you work for any company playing the use of"only" a Android programmer, you likely won't have to be overly concerned about that, since there really are UI/UX designers to look after this.
However, if you're a single programmer, you have to get this directly in your mind. I've seen programmers creating really great programs with good performance, however, the UI looks horrible along with the UX makes it a hassle to use.
Layout a clean, easy and gorgeous interface that's easy on the eyes. You shouldn't just think as a programmer, instead you need to focus on igniting the concealed designer in you.
Attempt to make a lasting impression in your customers by designing a gorgeous UI, so they return to your program more frequently than others and often convert more (purchase your premium variant ( possibly ).
You ought to find a kick by eliminating elements from your own design, instead of adding. Keep it minimal and clean.
And there's this book you probably would really like to see if you want to know more about design.
Analytics Is Your Very Best Friend
If you would like to produce a really amazing program, then you have to heavily rely on analytics programs to assess the operation and utilization of different sections of your program.
By analytics, I refer to both the collision reporting and program usage monitoring and you want both of these.
Anything you do, you can't ever make something ideal. When actual users will begin using your program on various Android apparatus and on different Android variants available, you may also find a few of the greatest written code to drop flat on the floor.
Crash reporting programs can allow you to monitor and fix themone crash at one time.
You also will need to begin thinking like a marketer and also examine the use of various elements of your program. This is what's going to allow you to bridge the gap between what you've created and what your customers' actually desire.
Pro Suggestion: I strongly suggest looking for the crash reporting tool in Instabug. You're going to appreciate it.
Make a Marketing Ninja If you're a single programmer, you need to consider beyond being"a programmer" and need to understand marketing too.
I've observed great products fail because of lack of suitable marketing, and also the not-so-good ones become hugely successful only because of fantastic advertising.
If you're seriously interested in your work and need it to reach a huge audience, you want to spend your time and cash in properly advertising your program. But prior to beginning your marketing and advertising campaigns, make certain your program is totally stable with all attributes prepared. You need maximum conversions out of each penny you pay, right?
Spend some time exploring who your opponents are and how you can overcome them. Identify the ones you're able to compete quickly as well as also the ones which you need to keep aside for a long term struggle.
Pro Suggestion: This is an inexpensive market evaluation instrument, I really like to use.
It Is Time to Boost Your Program
This is something which the majority of us don't do, however, you need to and you want to.
Write code which runs fast, takes less memory and absorbs less apparatus storage.
An unoptimized program works well under ordinary conditions, but when placed to various stressful circumstances, it may show you its true colours.
Bear in mind, a very small leak can sink a large ship. Spend some time on knowing how the Garbage Collector works in Java, produce heap dumps and examine your live items.
Pro Suggestion: Use Leak Canary to discover your memory flows. It can save a great deal of time by accomplishing this job for you.
Save Over 5 Hours Each Week with Gradle Builds
It is very very possible that you're utilizing Android Studio to create Android programs and utilizing Gradle as your own build platform. Gradle is excellent but its slow and it becomes much thinner than a snail as soon as your job size begins to increase in proportion.
I recall the countless hours I've wasted just sitting and awaiting the Gradle assembles to complete. On hefty workouts, I wasted around one hour just Gradle assembles and that is like 5 hours each week draining the gutter.
However, there are ways to speed this up too.
It is possible to stick to this and this article to greatly enhance your construct rates. My construct time fell from 4 minutes to less than 30 minutes following appropriate optimization.
Evaluation, Evaluation and When You're Finished, Test Again!
There isn't anything more significant than testing. This is something which needs to be on very top of your list.
Test your program as completely as you can. Create various stressful scenarios for your program and see whether it can endure.
I'd formerly made the mistake of publishing my program from rush and did not spend appropriate time analyzing it. I had been waiting for my customers to confront bugs, report it and then I'd go and mend them.
You may spare a day, or 2, or per week by cutting time from studying, but will most likely have to spend over double afterwards.
Make a visionary. Sow today, reap afterwards.
There are a massive assortment of all Android devices with different display sizes and hardware specifications from plenty of different apparatus manufactures that personalize the OS for their heart's content.
Added to this are the a variety of Android variants at which Google adds/removes API performance from nowhere to raise your workload further (an example here).
By way of instance, not just one Android programmer has completed a program without using SharedPreferences API. It is so common, however it had been broken up in Samsung Galaxy S using Android 2.2 (bug report ).
Spend additional time creating different designs for different screen dimensions. Evaluation on various apparatus, having different variations, different specifications and from various OEMs.
Never presume something could work, simply as it appears so.
Start with Git, Now!
If you're still not utilizing Git, go right ahead and begin using it straight away.
Once I began Android advancement, I was unlucky enough to not understand exactly what the fudge Git was. I used to replicate my whole project regular and keep 1 backup in my hard disk and another from the cloud. Seems foolish? Yes, it was.
Git can radically enhance your workflow. If a person asks me to mention a tool I use everyday and can not quit using? It is Git and Git each time.
And likely after using it for a couple of days you'd fall in love with it and wish to understand how Git works tirelessly, so here it's prepared for you.
And after some time, you'd be starting a large project your self and get confused about how you should keep a suitable branching model, so that you go.
Bonus: If you're only starting out and can not manage to pay the monthly subscription fee for keeping private repositories from GitHub, it is possible to attempt BitBucket which permits you to do this free of charge.
Make It Hard for the Hackers
The open minded nature of Android is exactly what makes it susceptible to attacks.
You do not need it to happen for your program, right?
You ought to be aware of how to safely store API keys everywhere on your program. If you're managing sensitive information from those consumers, then you have to understand how to encrypt themwhat algorithm to select (secure yet quickly ).
It's also advisable to keep the encryption keys safely in the host or locally (if desired ). If you're storing sensitive information in the database, then think about obfuscating it.
If your program includes a premium version that gets cracked and has published at no cost. You'd incur a critical reduction in company, right?
There are many things you can do to stop your program from becoming tampered. There's not anything like 100% safety. Any proficient and recognized hacker with the proper tools, patience and tools may crack your program.
Whatever you need to do is make it hard, rather very tricky for the hacker to decode it.
A luxury apparatus will hide a great deal of flaws while creating your program. Suppose you're doing something from the UI thread that makes its way to get a laggy UI, however onto a potent device, you might never ever observe that.
A classic, low-end apparatus, dumped with a lot of programs makes it perfect for a development apparatus.
That is an investment which will pay you eternally.
Whilst creating large and intricate programs, you may face some common issues that have probably been solved before by somebody more capable than you, that is when designing patterns comes in to play.
Here's a Github job that shows all of the design patterns known to humanity.
Looks like a great deal? It really is not. You'll begin enjoying them after you dip in.
It Is Time to Give Back
Most of us have a great deal of assistance from folks around us and by the net. Lets declare it. When you have a issue, the very first thing you'd do is Google that and find the very first link from StackOverflow. Sometimes you're in a rush and you wind up copying and pasting the alternative in the response with the greatest votes.
Ever believed the amount of libraries you're using from Github free of charge and the way in which they have significantly reduced your development efforts and time. Its because somebody somewhere has taken the opportunity to construct it and donate to make the community better.
Recall the day, if you had been stuck in knowing a challenging idea or something that's completely new to you, and you wind up finding an wonderful blog post that made it super simple for you. Its because someone skipped a film date and wrote this post.
We're active in our work and also we find it too hard to handle time and do something for others. But try to get some time each week to donate and make this particular Android community wealthier.
I've attempted to discuss a few of the lessons I have discovered in this brief journey with Android improvement. I'll continue my trip, find out more and share more. I hope it will help somebody and makes their life somewhat simpler.
Android Course In Pune | Android Training In Pune | Learn Android Development In Pune
1 note
·
View note
Text
A Dish Best Served Code
I have a friend who likes to role-play online but doesn't know how to code - for the purpose of this story, I'll call her Blue. Around a week ago, she contacted me saying that she wanted to start up a new site and then handed me this list of jobs that needed to be done without ever asking me to help or whether I had the time to do any of it (note that she knows I'm currently a full time student and I'm right in the middle of my coursework period at the moment).
Right now this is all I can think of off the top of my head. We'll need a new header pic for you to add too but I have to find one first:
Add a skin
Fix add acount feature
Add/set up Discord
Add Ratios
Fix member groups and add emoticons
Add Quick Links
Add Custom Field Content to profiles
Figure out how to put those sub forum boxes in there
For those of you who don't know, this was pretty much building the entire site for her except for the main forums where the roleplaying would take place - I had adamantly refused to do those because I knew how long they would take.
So, I thought this was a little presumptuous of her to think that I just had the time to drop everything and do whatever she needed but, hey, we'd known each other for something like three years and I used to role-play with her, so I thought it wouldn't hurt to help her out just a bit. Besides, all the jobs on that list were very easy things that I could do in about ten minutes each at most.
Unfortunately, Blue decided to recruit a group of other people who I'd never met before to help her out. Where she and I were listed as site owners, the rest of them were listed as general admins, with two of them being moderators. No biggie: they can stick to their jobs and I can do mine. Didn't happen. These girls were horrible. I have no idea where she'd found them or what their relationship was but they stormed in like they owned the place, throwing their opinions about and editing bits of the site coding that I'd been working on in ways that, ultimately, totally messed everything up. I asked them to stop, they kept doing it. This went on for a while.
I'll be the first to admit that I have a short temper. But I put up with this for a couple of days and just tried to make general requests that they stop undoing my work. These were jobs that should have taken me just under an hour and a half to finish and yet was taking days because they continued to change things. I was messaging Blue separately and asking her to tell them to stop because she was supposed to be head of the staff team. She didn't do anything and, eventually, things started to get heated between myself and these four girls.
I would have thought Blue would side with me. I was wrong.
Instead, she basically told me to stop picking fights with them and to shut up and do my job. She then made two of the other girls moderators on Discord and gave them the highest permissions, something which they later used to continuously remove me from my staff position and making my job infinitely harder. I was starting to feel constantly targeted and it was seeping into the work I actually had to do for university. I ended up staying up all night three nights in a row, trapped in endless arguments with those other staff members and Blue herself. I was exhausted and stressed out, and my intention was to finish the jobs and then leave them alone. I probably should have left earlier on but given the history I had with Blue, I thought I might as well be nice enough to do this for her because I knew she was excited for her role-play.
The final straw came over the stupidest thing. She forgot to close a <u> tag somewhere. I fixed it, I reminded everyone to make sure to close their tags. Simple stuff, right? I would have thought people who were allegedly helping to build a site would know how to handle such basic things. I was suddenly bombarded by DMs from Blue telling me that she hadn't done anything wrong and if there was an error then to "fucking show me how it's supposed to go". I tried to explain, repeatedly, what the issue was and how to fix it and, in return, she began to argue that she wasn't doing anything wrong, despite there being obvious coding issues. Things got heated. I cracked. I was done.
https://i.imgur.com/Rb4DQ3X.png
https://i.imgur.com/QGtr3zq.png
After I'd tendered my resignation from ever helping her out again, she hadn't yet figured to remove my staff permissions on the site or on the Discord server so, while she was otherwise preoccupied flailing over suddenly being blocked and not knowing how to code anything else, I quietly went into the code I'd set up for her and removed one ; and one } and all the comments in that code which might have helped them figure out how to solve any future problems. (Lucky for me the control panel didn't update to changes in the site's css).
Then I sat back and watched the panic in their staff Discord when parts of their site stopped looking all pretty and started looking like this:
https://i.imgur.com/65wBT3T.png
https://i.imgur.com/VBYcLue.png
They removed me from the Discord a short while after that and ip banned me from the site (because I guess they don't know I can just use a proxy). But I'm enjoying watching them panic as they try to figure out what I did. Jokes on them for having a guest-accessible Discord server right on the main page of their site.
Moral of the story, I guess, is don't mess with the only person on your site who knows how to code anything.
TL;DR: An Illiterate Pineapple asks me to help her code her site; treats me like shit; gets her code fucked with.
(source) story by (/u/aalyoshka)
246 notes
·
View notes
Text
Observations and reflections - DevOpsDays Stockholm 2019
Last time I attended a DevOpsDays conference was in Gothenburg, 2011. At the time I worked as an Operations engineer, and the conference was really inspiring and useful for me for my day-to-day work.
When I heard that DevOpsDays was coming to Stockholm some six months ago, I decided to treat myself with it - with the hope that it would be just as good as last time. I had my doubts - after all, in the eight years since I last attended, I had worked mostly as a manager and toward the end, an Agile Coach.
I needn't have worried.
If you put lots of awesome people in a venue, give them space to talk, feed them and supply them with interesting subject matter in the form of presentations and lightning-talks, the result can't be anything less than motivating.
Here are some of my observations and reflections - some of them organisational, some of them technical, and the rest perhaps a little random.
The understanding of DevOps culture isn't as pervasive as I thought
After all my years at Spotify, where we built up this devops/agile/trust-based culture over time, it's easy to forget how it was at other workplaces. The wall between developers and operations. The paperwork and risks involved in deployments.
After working at a place where devops was so ingrained in how we worked, it became so easy to take it for granted. The problems some participants brought up in the Open Spaces were nightmarish - and I was surprised over how surprised I was.
It was a humbling experience.
Your "code" in your VCS for a project/epic should (must) be more than just the business logic. Your code needs to include config, tests, deployment logic etc.
This should be obvious, but I guess it isn't in some orgs. If you need to go back in time in your VCS to get a earlier working version of your project, you'll likely want to see how that version of your business logic was brought to life in prod.
DevOps is a culture where everyone works together to deliver and operate a feature for the customer.
… and automate the crap out of everything.
If your Definition of Done doesn't include the code hitting prod, you're misleading yourself.
Also, something something "adoption by at least one user"
If you have a dedicated DevOps team alongside your Ops, Dev and QA teams, you're doing it wrong.
… congrats, you just added another silo in your org.
Overheard: References to "Accelerate" by Nicole Forsgren et al
… awesome book, not surprised it came up here. If you haven't read it and you're an engineer(developer,sysadmin,tester,etc), or you're a manager or agile coach, it's definitely worth the read.
Some participants didn't see the connection between Agile/lean and DevOps
… while for others, of course, it was so obvious that it was difficult to explain, much like a mathematical axiom. Both require concepts such as:
Continuous improvement through reflection, sharing, and experimentation
Relationships based on trust
Feedback culture between individuals and teams
Failing fast.
Two different mindsets in orgs: Role and Mission mindset
Role mindset: I do what my role prescribes. This works (?) in orgs operating in ossified commodities markets, where the org/product/technology doesn't change very often.
Mission mindset: I do what I can to achieve the mission. This mindset works if you're doing something new, experimental, or risky. If you don't know what the market will look like tomorrow. Why limit yourself to a role generated by an organisational system designed (even with the best of intents) to solve yesterday's problems?
Overheard about hypergrowth: Throwing people at a problem only introduces more handovers.
Fun way of expressing the problem. Here are my thoughts on what happened during early Spotify days on the matter:
Growing the engineering org to add capacity often leads to people using recruitment as an excuse to not have to sort and truncate the epic backlog, leading to an org unable or unused to the difficult task of prioritisation and saying no to important initiatives.
Also, hypergrowth will unfortunately lower capacity initially thanks to time spent on recruitment and onboarding. The more you hire during a short period, the deeper and longer the cost in capacity. Also, # of incidents due to lack of tactile knowledge will rise, pulling focus away from new deliveries in favour of stabilising the system.
Was surprised when I found out that a Post-mortem at Google was a document, not a meeting
At Spotify, the term "Post-mortem" refers primarily to a meeting. At Google, it refers to a document. The purpose of the two are the same - to fix the root cause(s) and enable learnings from failures. The main difference IMO seems to be the scope of the post-mortem. At Google, the post-mortem document is written primarily by one person and shared with the whole org and posterity. At Spotify, the result of a post-mortem is a shared understanding among engineers and stakeholders of why and how the system failed. The focus is on raising empathy thereby lowering the threshold for sharing learnings in person.
Even if I knew that Google conducted post-mortems, it had never occurred to me that it could be done differently. How many other assumptions have I made over the years?
Overheard: Can DevOps culture happen in a centralised command-and-control org?
This question was discussed or touched upon multiple times during the two days, and the discussions leaned strongly toward the opinion that the engineers who write, test, deploy and maintain the code are best suited to make the decisions necessary to do their work. If they are given relevant information (business info, purpose of the project, who the end-users are, budget, etc) they will make good decisions.
My own musings on giving people mandate, or empowering people:
What we want to do to enable the above is to remove the obstacles which hinder people's natural propensity to take initiative. If you are discussing 'giving mandate' or 'empowering' your staff, there's already something iffy IMO. Mandate isn't something which is given - it's something humans innately possess. Instead of telling someone they now have mandate, consider how your organisation removes mandate from a person. What control mechanisms do you have in place? Identify these, and for each consider why said mechanism is in place. What problem did they solve? Is the problem still a thing? Is there another way of solving the problem without depriving mandate from your teams?
Also - What is the social cost of failure in your org? How do formal and informal leaders react to failure? People can have all the mandate in the world and still feel disempowered if they are scared of public shaming.
Overheard: "Distributed monolith"
In the attempt to transform a backend from monolith to microservice, there's a risk of ending up with a distributed monolith - where one suffers the disadvantages of both monolith and microservices.
If your microservices operate with knowledge of the internals of other services,
If your microservices know what services exist upstream,
If many microservices share a database (or worse, share tables (or gasp, write to the same tables)
… then you probably operate a Distributed Monolith.
On scary deployments
Fear of failure drives out creativity and smothers innovation. And you're likely to be working in an environment where innovation and creativity is paramount. Fear isn't binary - it's a spectrum with with gradually increasing magnitudes - from slight nervousness all the way up to sheer panic. So you might not be terrified when about to deploy something to prod, but anxious. Or nervous.
But this tension shifts our focus from what we like to do - create, experiment and learn. From the company perspective, the fear of failure in teams leads to deploys once every couple months, during a weekend, in the middle of the night.
So what we want to do is change how we do things to decrease our fear and raise our confidence. Each thing below can help you and your team do this:
Release smaller changes: This will make it easier to review your code and understand it. Also, the potential risk of failure becomes smaller since the release is a small one.
Release often to production: You'll find bugs in your release process much more often if you go from one release a month to multiple a day. And you'll start to trust your process more if you do it often,
Automate your release process to reduce human error.
Use feature flags to apply your changes to a smaller demographic, and to be able to decouple deployment of code from when it impacts the user.
Write tests to verify the knowns.
Ensure that monitoring of the service exists from the get-go to detect early signs of system failure or degradation and to get data for troubleshooting and later, for your blameless post-mortem.
All in all, the conference was fun and inspirational. It felt good to be able to both learn from others and at other times, to share my experience and thoughts with others. 10/10, will definitely do this again :)
5 notes
·
View notes
Link
Today’s prompt for @whumptopia‘s 30 Day RoboWhump Challenge is “Overheating” and I have to give @interstellarvagabond all the credit for the premise! Full fic underneath the cut!
It was cold.
There is nothing but white swirling around him, blinding him in a colorless static. His arms are crossed, rubbing at his shivering form, vainly trying to produce more heat to dispel the frost that seemed to settle in his artificial limbs. He’s shaking, synthetic teeth clacking as quickly as his red LED spins and he can’t warm up, his diagnostic reports his temperature is ideal so why can’t he warm up?
{WARNING: STRESS LEVELS ^95}
Connor could turn off his ventilation programs; it acts as a tertiary cooling system and shutting it down would increase his core temperature by 5%.
He stops breathing.
His temperature increases by half a degree and will be up 3.25 degrees more by the end of the hour.
{WARNING: STRESS LEVELS v93%}
It’s not enough. He is not equipped with olfactory sensors but the smell of dying roses is wafting through the air and he can feel disapproval wafting through the frigid air, coming off the blizzard in palpable waves. He can vaguely hear a gruff voice calling his name, unable to fully break through the haze of his distress, through the woman’s voice whispering in his ear. If he could just warm up more, he could break free, he could get out.
Connor could close a circuit breaker and allow the full electrical current through his CPU, increasing his temperature by 2%, nearly two degrees.
He shuts the breaker and a rush goes through his head, heightening his awareness and lowering the fog that clouded his mind.
{WARNING: STRESS LEVELS v88%}
“-nor? Fucking answer me, goddamnit!”
Connor blinks, and the blizzard is no longer suffocating him, trapping him in his frozen mind palace, although the shivering remains. He’s still cold, he shouldn’t feel this cold in this temperature, and he can’t stand it, it’s too much, but Hank is in front of him. Blue eyes lined with worry, hands grabbing the android’s shoulders, his words finally reaching Connor’s ears.
“Talk to me, kid, you’re redringing. What’s going on with ya?”
“Ha-aank,” his voice modulator stutters from the lack of air that normally cools the component.
“What’s going on, Con? Are you hurt,” Lieutenant Anderson’s already ushering him toward the car before he’s aware he’s even moving, away from the crime scene they had been about to investigate.
“I’m undamaged, Lieutenant,” Connor clears the static in his voice and blinks away the warnings about his stress levels and core temperature. He is a highly advanced detective android, equipped with state-of-the-art technology and combat protocols. If he could just keep warm, he could easily investigate and solve this case.
Something as simple as falling snow shouldn’t be able to stop him.
It would not stop him.
He digs in his feet to stop Hank and forces the shivers away, increasing his thirium pump’s beat to further up his temperature, “It was a minor malfunction, I assure you. I’ve already taken care of the problem and can continue with the investigation.”
It’s not a complete lie, he tells himself. Androids, while capable of experiencing human emotion, are not human. The panic he felt, the auditory and visual hallucinations were errors in his code, and by increasing his temperature, the errors lessened and would eventually abate completely. It was just a malfunction and he fixed it.
That’s all it was.
Hank is jerked back at Connor’s sudden stop and he stares at the RK800 with disbelief evident in his expression. “Bull-fucking-shit, Connor. I’m a fucking detective, you can’t lie to me. Try again.”
Connor forces his LED back to blue, ignoring the way his systems alert him of his elevated thirium pressure and temperature, opting to use the more “human” approach that often put the older man at ease. “It’s okay, Hank. I’m fine now.”
He’s alright now, his stress levels were decreasing by the second and the self-assigned objective buzzes in his visual feed like a neon sign.
{INVESTIGATE CASE - EXAMINE THE BODY}
He is fine. His processors are slowed and there’s a faint hum emanating from his cooling fans but he is perfectly functional. Hank still looks unconvinced but Connor estimates that there is a 76% chance that he would allow Connor to continue the investigation. The rest of the precinct was overwhelmed, after all, following the revolution and the subsequent rise of android rights. On top of human crimes, they had to deal with android crimes as well, and there was no other detective duo available for investigating. “Shit. Fine. Just,” Hank takes a steadying breath, “Just know that you’re telling me what the hell that was all about, okay?”
“Of course, Lieutenant.”
Hank sighs again and Connor takes that as he cue to turn around and head back to the crime scene, snow crunching beneath his dress shoes. He suppresses another shiver as a cold gust sweeps a flurry of snow past him.
He turns off his temperature regulator, hoping it would bring more warmth.
{WARNING: INTERNAL TEMPERATURE - 100.2°F}
{RECOMMENDED INTERNAL TEMPERATURE - 95°F}
{PLEASE IMPLEMENT COOLING MEASURES TO PREVENT DAMAGE TO SYSTEMS}
He blinks away the warning, opting to instead kneel in front of the body. A PJ500, not dissimilar in appearance to Josh, with a single stab wound to the thirium pump. He scans the body, allowing the analytical part of his mind to take over, increasing power to his CPU despite the wave of dizziness that washes over him.
His scans reveal that the android’s name was registered Michael that currently worked at the elementary school he taught at before the revolution. The angle and depth of the stab wound, as well as the partial fingerprint on the plastisteel chassis, indicated that he was killed by a 6’1 human male. A closer look reveals a hint of red blood on the android’s knuckles, indicating he fought back against his attacker, breaking the skin. However, neither the partial print nor minute amount of blood would be enough for him to name to suspect. He moves to stand, intent on searching for the murder weapon or another hint to the killer’s identity when another wave of dizziness crashes into him, forcing him to shoot a hand out to catch himself as his vision momentarily fades.
{WARNING: INTERNAL TEMPERATURE - 102.4°}
{RECOMMENDED INTERNAL TEMPERATURE - 95°F}
{PLEASE IMPLEMENT COOLING MEASURES TO PREVENT DAMAGE TO SYSTEMS}
{RECOMMENDED COURSE OF ACTION - RESUME TEMPERATURE REGULATOR FUNCTION}
{RECOMMENDED COURSE OF ACTION - RESUME SECONDARY AND TERTIARY COOLING MEASURES}
{WOULD YOU LIKE TO PROCEED (y/n)?}
{n}
{ODDS OF SYSTEMS DAMAGE: 54%}
Strong hands, one on his chest and the other on his back, steady him, and Connor closes his eyes against the onslaught of vertigo. He can feel the burning of his LED spinning against his temple, the red light shining through closed eyes. He knows he should feel like he is burning from the inside out. And distantly, he feels like he is even if he still feels cold, like lice is snaking through his veins pulling him to the garden.
He should be panting for cool air at this internal temperature and rubbing snow on the base of his neck to preserve his most sensitive processor. Instead, he pushes the prompts to restart his cooling measures away. “Jesus Christ, Con, you’re burning up! Can androids even get fevers?”
Connor shakes his head and opens his eyes as the dizziness passes, letting Hank pull him to his feet, “I’m okay, Lieutenant. I’m okay.”
Hank is incredulous, Connor’s facial scans cheerfully inform him in CyberLife Sans. “The fuck you are, you nearly burnt a hole through my hand. We need to cool you down.”
Hank drags him back to the car shouting at the attending officer to close the scene and expect their official reports later, and Connor grimaces as his vision blurs again, optical units unable to keep up with the speed at which they are moving. The Lieutenant yanks the passenger door open, pushing the android into the car to sit, facing the outside, before kneeling in front of him. “You’re redringing again, and don’t tell me this is another fucking ‘malfunction,’ I’m not that inept with technology. Fuck, are you even breathing right now?”
Connor sighs and puts his face in his hands, unwilling to meet Hank’s s pointed gaze. “I’m cold, Hank.”
{WARNING: GYROSCOPE OFFLINE}
{WARNING: MAIN THIRIUM LINES COMPROMISED BY HEAT DAMAGE}
{WARNING: INTERNAL TEMPERATURE - 104.5°}
{RECOMMENDED INTERNAL TEMPERATURE - 95°F}
{PLEASE IMPLEMENT COOLING MEASURES TO PREVENT DAMAGE TO SYSTEMS}
{RECOMMENDED COURSE OF ACTION - RESUME TEMPERATURE REGULATOR FUNCTION}
{RECOMMENDED COURSE OF ACTION - RESUME SECONDARY AND TERTIARY COOLING MEASURES}
{WOULD YOU LIKE TO PROCEED (y/n)?}
He looks up but refuses to make eye contact with the man in front of him while pointedly ignoring the slight drip of thirium from his nose. “I know I need to cool off, but…”
Hank’s eyes widen at the blue blood leaking down Connor’s face and he reaches into his pocket to grab a tissue. He hands it to the deviant android before lowering his voice, using a soft, gentle tone with him, “But what, son?”
Connor automatically presses the tissue to the bleeding, despite knowing it wouldn’t stem the flow, “But I was cold and...the snow...I heard Amanda, Hank, and I felt like I was back in the Zen Garden. I could only calm down once I increased my temperature and...I think I’m scared? Scared of lowering it again.”
Lieutenant Anderson pinches the bridge of his nose and closes his eyes, anger briefly flashing across his features. Connor had told him about the Zen Garden and his AI handler the day after the revolution after a panic attack had left him shaking on the couch, holding Sumo tight while muttering about ‘not wanting to shoot Markus’ and ‘still being a machine.’ “I’m going to fucking murder those bastards...Connor, look at me.”
His hand lightly taps the side of Connor’s face, making brown irises meet blue. “CyberLife can’t touch you anymore. Amanda can’t touch you. You’re safe with me and I’m not going to let anything happen to you. I fucking swear it, they’d have to go through me and Markus and Simon and North and Josh first, you hear me?”
Connor nods weakly, noting the decrease in his stress levels as Hank speaks to him in a calming tone.
“I want you to do what you can to cool down, and I’ll take you to New Jericho. Then we’ll go home and you can teach me all of the fucking coin tricks you want, got it?”
“Got it.”
“You’re going to be alright kid. We’re going to be alright.”
Hank pats Connor’s knee before rising to his feet, heading toward the driver’s side.
{WARNING: INTERNAL TEMPERATURE - 104.8°}
{RECOMMENDED INTERNAL TEMPERATURE - 95°F}
{PLEASE IMPLEMENT COOLING MEASURES TO PREVENT DAMAGE TO SYSTEMS}
{RECOMMENDED COURSE OF ACTION - RESUME TEMPERATURE REGULATOR FUNCTION}
{RECOMMENDED COURSE OF ACTION - RESUME SECONDARY AND TERTIARY COOLING MEASURES}
{WOULD YOU LIKE TO PROCEED (y/n)?}
{y}
{TEMPERATURE REGULATOR ONLINE}
{VENTILATION BIOCOMPONENTS ONLINE}
{CIRCUIT BREAKERS CORRECTED}
{RECOMMENDED COURSE OF ACTION: SEEK COOLER ENVIRONMENT, RECALIBRATE GYROSCOPE}
Connor leans his forehead against the cool glass of the window as his breathing resumes and the sound of panting fills the silence of the car. He closes his eyes as the snow intensifies outside.
“We’re going to be alright, son.”
“I know, Hank.”
#30 day robowhump challenge#dbh#dbh fanfic#detroit become human#connor rk800#connor#connor whump#hank anderson#also known as Connor Can't Emotion#overheating
28 notes
·
View notes
Text
[Third week of 2019.10] White Spirit devlog - Creating Extended Events in Event Editor v2
Hi, there!
From today, I decided to get into the habit of filling in the write in post of what I worked every day.
I thought that this would allow me to be able to fill in the text in detail with what I learned and what I did at the time.
Leisurely is an important point because I can only use less time on weekdays.
Anyway, from the results of this habit, yes, it works!
On the day I worked, I realized that the method of pre-filling would improve the content and quality of the devlog.
Now let's get to the devlog!
Event Editor v2 Development
I've finished porting conditional events to the event editor v2.
And the reason why it took time to create this event is because of the nature of the event variables managed within the event.
Event variables took time to implement the editor for conditional events because of their ability to freely cast and compare between bool, int, float, and string types.
All of this editor's work is focused on migrating past editors, so you can check the specifics of event variables in last year August's devlog.
https://creta5164.tumblr.com/post/177408351156
https://creta5164.tumblr.com/post/177653185311
And one more thing, the Event Editor uses Json for data polymorphism and transformation tracking, and uses Json.NET's JsonConvert.PopulateObject method as its main element.
But this time, when I created the editor for conditional events, I learned about the new features of JsonConvert.PopulateObject. The default parsing option for the PopulateObject method was to add a set of data (arrays, lists, etc.) after the data, rather than overwriting it. This problem was noticed while testing the Conditional Event Editor, when I found Undo (Ctrl + Z) to increase the conditional element.
The following example will show you what it is.
This code parses a JSON string into a MyObject object, then redefines it to JSON with one more number appended to the JSON string, and then updates the data through PopuateObject using JSON characters in the instanced object.
Of course, as mentioned above, elements like arrays are appended after the data. The desired behavior should be to update the data, so I'll should solve the problem.
This problem can fix this by creating a parsing rule via JsonSerializerSettings to force the parser to overwrite new data.
Again, try.dot.net helped to me test our C# code right on the web, so I can able to solve the problem quickly.
Thank you Microsoft!
You can try C# code at here : https://try.dot.net
In addition, this time I noticed an issue where the 'Add Event' button is misplaced in sub-events when the event description gets longer.
This was a logic error caused by adding only a fixed height in consideration of a situation where there was only one line of event description in a method that could infer where the add event button would be placed. (old) Fixed the event description field to be longer, adding the height of the layer group element. (new)
Ok, works well now!
I have just completed the conditional event, but there are still a lot of events left in the Event Editor v1.
From here, there are events that are specific to this game, so I decided to create a folder to organize those events separately.
I worked to make Unity form elements more readable before starting again.
UIElements has something called uss, which is similar to css, the design markup language for HTML.
I used this to change the text and size of all the basic elements.
First of all, Unity has a menu at the top right of every tab. ([▼三] icon)
If you expand it, there is a UIElements Debugger item, which will bring up a tool similar to the web browser's developer console.
(Or you can do it by pressing Ctrl + F5, but somehow I had a habit of constantly pressing F12 and then realizing that it wasn't the web...lol)
The window on the left is the debugger tool for UIElements.
Within the debugger tool there is a layout tree view on the left and element information on the right.
If you're a front-end web developer, you're pretty familiar with it.
1. Layout tree view
Hierarchy's version of UIElements. This shows the UIElements layout structure that the debugger is viewing (dropdown at the top right). From there, you can unfold the layout yourself and visually see how the layout is for each element. I already hovered over the TextInput element on the left, so the text in my layout is highlighted.
2. Element's Information (Properties)
Similarly, this is the UIElements version of the Inspector. This shows the information for the element selected in the layout tree view. You can see what the uss style class is applied to that element, or inline styles to see what values it contains. If you directly modify the value of an inline style here, it will temporarily affect the appearance of that element. In other words, You can try with your wonder "How can I give style values to look pretty?" or "What happens if this stretches a lot?" and can see the same thing in advance and experiment. In particular, the values at the top of the rectangle represent the margin, border, padding, and actual element size information of the applied style, which can be very useful when working with layout design.
As you can see from the layout tree view, that the Unity UIElements main form control does not consist of one or more elements. (for example, if it's Toggle, then the Label element is also included.) Looking at these elements, you can see that there is a uss class that starts with 'unity'.
Unity's default stylesheets are applied first in order, so if you write style information with the same class name, it will be applied later, giving you the freedom to customize Unity's controls.
So, I used this to improve readability.
Anyway, I ported the change place event that was in v1.
Then I compared the event editor v1 to the v2 I working currently. It's changed a lot... and also readability changed a lot.
In fact, the readability is definitely different when viewed on high resolution and small screens.
(Dear Unity dev, please change Unity editor's font for CJK... please...)
And I keep worked on porting the events.
(This is screen fade event)
Then, as I worked on the screen fade event, I started to get confused as I worked on the unusual structure design I envisioned.
For events that refer to Unity objects, I've summarized where and how to reference them in comments.
Comment’s content
TODO : This event is a good example of an event that refers to a UnityObject. For events that do not use a UnityObject reference, take a look at HelloworldEvent. Reference data is based on SerializedProperty. ------------------------------------------------------------------------- References in the editor can be accessed through Editor_references, and both the editor and runtime can inherit the Editor_PreserveData and PreserveData methods to handle the data they reference. Reference data is an array.
26L-27L: The required number of reference data and the location of the data to be referenced have been explicitly declared. This can reduce the risk of hardcoding by modifying numbers even if the array's specifications change or the data structure changes.
143L: Fields that inherit from UnityObject are safe to get from PreserveData, so add a JsonIgnore attribute to avoid storing data explicitly.
146L-155L: At runtime you can get the reference target here.
You can check it how unusual my structure is in last month's devlog.
https://creta5164.tumblr.com/post/187730990776
Then, while testing the screen fade event, I found a bug.
I decided to set the center point of the screen fade through the transform used in the screen fade event.
But as soon as I added the event to event list in event editor, the object value of the previous reference event entered first.
As a result, Unity Serializer brought the data of the newly added element as it was before the data was added, so that the data entering the center target was getting the value of the reference event above it.
(I've only modified and checked it now, but as you can see, the data in the place change event was intact as well.)
Because this is not the desired behavior, we used the ClearArray() method of SerializedProperty for the newly added data.
The text of my devlog is really the longest devlog in a while!
I want to thank you for reading so far...
I'll continue to do this next week.
As mentioned at the outset, future devlog will be written ahead of time after work, which is likely to increase the amount of development journals in each state.
When I'm done with the event system and the editor, I want to start by laying out the decorations in the room and making progress.
Until then, see you in next week!
1 note
·
View note