#rust programming from scratch
Explore tagged Tumblr posts
Text
Mastering Rust: An Introduction and Deep Dive
Essentials of Rust Programming Language in One Article Introduction In the realm of programming, Rust has emerged as a beacon of safety and performance. Rust is a programming language that provides powerful features without slowing your software down. It lets multiple tasks run at once safely ( safe concurrency ) and ensures that the program uses memory correctly ( memory safety ). This article…
View On WordPress
1 note
·
View note
Text
“There’s just something about ya’.”
(Rivals) Declan O’Hara x Reader
Suggestion by a sweet anon 🫶🏽 Despite his dislike of the upper class, Declan cannot help but fall for Rupert’s daughter.
18+ FANFIC / Romantic angst, smut mention ? Reader character aged at 21. Hope you enjoy!🩷
Taggie flounced down the winding staircase of The Priory, adorned in a blush pink taffeta dress with sparkling white kitten heels, a radiant grin painted across her face. “Where did ya’ get that? Looks fuckin’ expensive.” Declan growled as he watched her, puffing on a cigarette. Even her father’s pessimism couldn’t deflate her mood right now. “It’s my friends. Do you like it?” She asked, running her hand across the silk hem. “Yes. What friend?” Declan asked, now scratching mercilessly at his stubbled beard. “Rupert’s daughter. I met her the other day, she’s wonderful.” Taggie beamed. Declan let out a raucous scoff and tied beige loafers to his feet. “Jesus Christ, there’s two of them? God help us all.” He snapped, letting out an exasperated exhale. “Well, I need to go up and see him, so ya’ can come along and see the second devil incarnate.” Declan joked, chuckling to himself.
-
Stuffing themselves into the rusted old Mini, Declan and Taggie drove across the valley, speeding up to Penscombe Court, mud careering from the car’s wheel arches. The Mini seemed awfully out of place beside Rupert’s Porsche. A large wicker hamper was propped onto Taggie’s lap, a picnic basket laden with sandwiches, homemade jam and cakes. “Do you have ta’ bring them food every time?” Declan questioned, glancing over at the brimming basket. “Yes, I do. It’s nice to bring gifts.” Taggie replied, her smile unwavering. As they bundled out of the car, they were greeted by you, out in the field — dressed elegantly in a chiffon white floral summer dress, barefoot and with golden-hair arranged across your shoulders in loose waves. Beside you, the most magnificent Friesian horse, its mane braided tightly with pink ribbons. “What on Earth?” Declan muttered in disbelief, his eyebrows furrowing as Taggie’s already ecstatic grin grew.
“Darling! Hello!” You yelled over, giving the Friesian horse a prompt kiss on the nose and sprinting over, your bare feet crunching underneath the gravelled driveway. Taggie passed Declan the hamper and subsequently threw her arms around you, squeezing tightly. She had never met someone with as much positivity as her in all her life. “Hello, Mr O’Hara.” You chime, curtseying jokingly. “Hello. Rupert’s daughter, I take it?” He asked, his lip curled in irritation. “Yes, I’ll take you in.” You reply, unfazed by Declan’s reaction and leading them both into the grand home.
Awkwardly shuffling after you into the living room, it could be observed that Rupert was reading The Scorpion in his arm chair, sipping from a crystal tumbler of whiskey. His nonchalant expression brightened at the sight of company. “Hello, darling. Come and sit down.” Rupert mumbled to you, patting the chaise lounge beside him. You obliged, and collapsed down, spreading your limbs across the plush crimson velvet. Taggie and Declan opted for the chocolate brown leather sofa across from you. “So, Declan, to what do I owe the pleasure?” He asked, reaching for three more glasses and filling them to the top with his best whiskey. “I left my programming schedules the other day. Need them.” He grunted, sparking a cigarette and taking an elongated drag. “Angel, go and grab them, please.” Rupert nodded towards you. With an exasperated groan, you pulled yourself upwards and sauntered out of the room, Declan unable to stop his eyes from following your rounded behind. Rupert’s tilted his head in confusion, his eyes almost glowing amber like a hawk.
Returning moments later with a mountain of paperwork, you dropped them onto the leather sofa beside Declan. “Thank you.” He smiled softly, his hand meeting yours as he reached across for them. “That dress looks spectacular on you, Tag. I found loads more this morning! I have an amazing ivory silk dress, backless and drop dead gorgeous.” You rattle, reclining back beside your father. “Isn’t that the one I bought you for your 18th? You’re getting rid of it already?” Rupert quizzed through a wide smile. “I’m not getting rid of it! It will look gorgeous on Tag. Declan, I’m sure I can find you something good from Daddy’s old closet.” You joke, narrowing your cerulean eyes. “I’m okay for Rupert’s handouts, thanks.” He snapped.
- - -
The following day, Declan was rudely awakened from his hungover stupor by a deafening knock on the door. Barely managing to pull on his grey dressing gown, he hauled the door open. “What?” He thundered. “Good morning! Daddy was incredibly hungover this morning, so I can only imagine you are too. I bought you some pink lemonade, and a Victoria sponge.” You twinkled, pushing your way through the front door. “I don’t want it.” He barked, attempting to block your way. “Oh, nonsense. Of course you do. I’m a star baker.” Your golden hair was hooked together in a tight fishtail braid, cascading down your shoulder. Your makeup was clean, light and fresh, exactly how Declan likes. Even better, you had swapped your mud-stained summer dress for a tight pair of blue jeans, a turquoise linen blouse and a pair of black canvas shoes. “Ya’ look… normal.” He remarked, secretly admiring the way your jeans stretched tightly over your arse. “By normal, you mean you like the way my arse looks?” You giggled, setting the sponge down on the kitchen counter. Not so secretly then.
“No. Yes. But no.” Declan couldn’t help but chuckle with you. “Don’t tell your Dad I said that.” He added. “I won’t. I’m glad you like it.” You mutter, smacking your behind swiftly. Declan growled in approval, closing the gap between you two — so close that you could feel the heat of his breath raining down over your chest. “Don’t tease me.” He purred.
#rivals#rivals disney+#rivals disney#rivals hulu#rivals fanfic#rivals fanfiction#rivals smut#declan o’hara fanfiction#declan o’hara fanfic#declan o’hara x reader#declan o’hara#declan o hara#aidan turner
186 notes
·
View notes
Text
The Base of the Mountain is the Hardest Part to Climb
Y'all I got something stuck in my head: Centaur!König. I've got terminal brainrot. Somebody save me from myself.
Tws: PTSD, military background
Wordcount: 2.6K
Art from This Post
Rest of the Story Below the Cut
The Base of the Mountain is the Hardest Part to Climb
“Johnny, what am I looking at here?”
“Your new therapy centaur, sir,” Johnny clapped you on your flank, “she’s perfect, isn’t she?”
Price looked you up and down, his ears pinning back as the sides of his mutton chops pulled down while he took in your stature.
“Johnny, you know how big König is, right?” he crossed his arms, “he’s a bloody shire.”
“So he’s a gentle giant!” Johnny urged you to walk behind him.
Once you were standing in front of Price you were able to make out the skeptical look in the bugbear's blue eyes.
“I’m just worried he’ll hurt her if he has another panic attack,” Price gruffed, “it's expensive enough to hire one properly trained centaur. Don’t wanna have to go and find another one.”
“Sir, I think you might find this little haflinger’s temperament to be a good match for our big boy,” Johnny offered, “she’s been properly trained in my program to work with centaurs with König’s sort of conditions. Right?”
You nodded politely.
"I've been training here for the past three years with Johnny. I'm pretty used to dealing with all sorts of centaurs."
“She’s perfect for the job!” Johnny grinned wolfishly as he adjusted into a more comfortable stance.
“You really think she can hold her own against a veteran centaur with anxiety and PTSD?” Price growled, “I don’t want another dud.”
“May I remind you sir that you hired the other one off of Facebook Marketplace,” Johnny said, “I’ve known this lovely lady for years now. You trained me yourself, right? You’re not saying you don’t trust your best student?”
“Kyle is my best student,” Price scoffed as he scratched his chin, “but if you’ve been her trainer, then maybe.”
“Simon just hired another one of my students,” Johnny put his foot up on a bale of hay, “if you really don’t trust my work, call him up. He’ll vouch for me.”
Price scoffed, “It’s not that I don’t trust you, it’s that I don’t trust König. He’s…”
“He’s a tough nut to crack,” Johnny offered.
“Sure.”
“Well look, did you bring the big boy over?” Johnny asked and looked over Price’s shoulder.
“He’s in the trailer,” Price nodded to his truck, “but I’m not sure about it just yet.”
“We can put ‘em in the south field,” Johnny offered, “we'll watch and see how it goes. You remember the safety signal?"
You held up three fingers.
"Perfect," Johnny beamed at you.
“I want König tied up,” Price grunted.
You looked at the rusted teal trailer. Through the slits you could see a giant shape nervously moving from side to side.
“Sir,” you meekly cut in, “if König’s got such intense anxiety, I think the confinement might make things worse for him.”
Price looked you up and down. With a sigh, he shrugged and walked back to his trailer and said, “Your funeral.”
Johnny nudged you in the side, "Alright, time to get your gear ready.”
You grinned and trotted behind him to the barn.
When he had you settled in place, he handed the saddle pad over to you and helped to tuck it into place. After that came the pack bag fashioned into a neat little vest on your chest and back, the words ‘THERAPY ANIMAL’ in bold white letters on a black background. You smiled as you admired it on your back.
“You show ‘em you earned this,” Johnny patted the vest fondly.
“I will,” you said with a smile, “I’m sure I can handle this guy.”
“Just remember what I told you about him. Run it down for me?”
“He’s a veteran from the KorTac unit, employed in hostage rescue scenarios overseas. After his last mission, he had a breakdown that resulted in his expulsion from the army. He's since been diagnosed with social anxiety and severe PTSD,” you rattled off.
Johnny took your hand and nudged you forward, “You’ll do great.”
“I will,” you said firmly, “I can handle this.”
“It’s not your first case,” Johnny reminded you as he led you to the pasture, “but he’s not like Simon’s clients, he’s a bit different. Same unit, different centaur, right?”
“Right.”
“Price handles the most difficult cases from KorTac,” Johnny ran a hand through his short mohawk, “trained me and the other 141 team to help these soldiers reintegrate back into civilian life. He’s good at what he does, but sometimes things are too big for even him. If Price is asking for help with this one…”
“I’ll be safe,” you promised.
“Good,” he opened the door to the pasture and let you in, “now remember what I taught you.”
You nodded and trotted over to the far side of the pen.
In the distance, you saw Johnny trotting over to Price to help him lead König over. Even now you could see him straining against the rope. He looked around frantically, his ears pinned to the back of his head as he took in his surroundings.
“It’s okay,” Price muttered as he soothed König’s sides, “just be good. Please, please be good.”
The moment he was let into the pasture, Price took off the rope and let him free.
It seemed that König didn’t even notice you in the pen, far too intent on kicking the gate and snarling out curses.
“I’m not meant to be here!” he yelled and kicked at the metal gate, “I’m supposed to be on base!”
“You’re not in the army anymore,” Price called back tiredly.
“You lying sack of-”
Deciding enough was enough, you trotted over lightly to introduce yourself. As soon as König noticed you, he stumbled back.
“Careful,” you warned him as he backed up.
“Who the fuck are you?” he snapped.
“I’m your new therapy friend!” you chirped.
“Therapy?” König snorted, “I don’t need therapy. What I need is a mythical animal rights advocate. I've been taken against my will here!"
"It's court ordered," Price called back.
You sighed. This was already shaping up to be a tough case.
“I’m sorry König, but I can’t really help with that,” you told him gently, “but maybe you could stop kicking the gate and we can talk things out?”
König, surprisingly, lowered his back hoof and settled. He glared down at you from behind the dark shroud he wore on his face.
“What’s with the hood?” you asked.
He gestured to the scars that covered his body.
“Right,” you bit your lip, “makes sense. So, my name is-”
“I don’t care what your name is,” König spat, “you’re just a pet, aren’t you?”
“A-a pet?” you spluttered, “I’m a trained and licensed therapy centaur!”
“And I don’t need your help,” König chuffed, “so why don’t you go off and play your little mind games somewhere else.”
You crossed your arms over your chest, “I’m sorry, but neither of us really have a choice in this. It's literally my job to be here."
“I could snap you in half,” he snarled, “I don’t need to listen to some little pony who thinks she can change the world by being nice and cute and sweet.”
“I didn’t say I could,” you replied as pleasantly as you could, “I’m just here to help you deal with your emotions.”
If looks could kill, you’d be eviscerated on the spot.
“Okay, so, I appreciate that maybe this isn’t something you really want to do right now, but maybe we could start by getting to know each other?”
He narrowed his eyes into slits and stepped back.
“Your name’s König, right?” you asked, “did Price tell you who I am?”
“He told me you were going to be a pain in my ass,” he snapped back.
You shot a glare at Price.
“I told him you were a therapist animal to help him calm down!” Price called back. He turned to say something to Johnny and shook his head.
“You’re a pain in my ass,” he repeated, “my personal thorn.”
“If it helps, maybe we could try talking about boundaries?” you offered, “one of my boundaries is being called slurs, like apple or grazer. I think it’s a degrading term that dehumanises our species, don’t you think?”
König stared you down.
“Is that alright with you?” you asked.
“Sure,” he nodded, “Apple.”
You glared at him.
“My boundary is that you’re not going to tell me what to do,” König’s ears pinned flat against his skull, “and I don’t want you getting in my way.”
“If I don’t get in your way, would you be okay with me helping you?” you offered.
König glanced back over to Price, then back at you. Something about the way his eyes traced your form unsettled you to your core. Unfortunately for you, you had a job to do.
“I’d consider it,” König offered.
It wasn’t much, but it was something.
“Maybe we could try this again,” you said hopefully, “I’m going to be your therapy assistant. I’m here to help make your life off the battlefield a little bit easier.”
“And how is that supposed to work?” König scoffed, “what are you going to do, tell me to talk about my feelings?”
“If you want to talk about your feelings we can do that,” you offered, “but that’s not what we have to do. We could talk about anything you want.”
“And if I don’t want to talk?”
“Nobody’s going to force you to do anything you don’t want to do,” you said with a smile, “honestly, some veterans just find the physical company good enough.”
König slowly stepped forth. As he approached, you realized just how much bigger he was than you. Once he stopped in front of you. He loomed over you like a spirit of death itself.
You looked around him to see if Price and Johnny were still there. Johnny gave you a thumbs up behind Price.
König lowered himself down, down, down until his hood blocked your view. You could feel the hot air of him sniffing your head, and then he took a step back.
“You’re a strange little thing, Apple,” he said slowly as he straightened up, “but something tells me you’ll be fun to keep around.”
“So, you want to keep going with our services?” you stepped back to give yourself some breathing space.
König nodded and crossed his muscular arms over his chest. Even through his black long sleeve you could make out the definitions of his biceps.
You leaned around and gave a small thumbs up to Johnny. He cheered and clapped Price on the back, making the older bugbear grimace and shake his head. Johnny ignored him to open the gate and walk over to your side. Beside him, Price held König's lead.
He stepped up to König and grit his teeth. You watched powerlessly as he tied the rope around König’s wrists and stepped back. König glared down at the lead and snarled.
“C’mon,” Price sighed, “let’s get you back in the trailer.”
König growled deep in his chest, but there wasn’t much he could do. You followed the pair up to the trailer and watched as Price shoved König into the little thing. You realized that you didn’t have anywhere else to go.
“I’m going in with him?” you asked as Johnny packed your belongings in the car.
“Is that a problem?” Price asked carefully.
“No, not at all!” you laughed nervously as you looked at König’s massive bulk, “just might be a bit tight.”
“Sorry about that,” Price said, “only have the one trailer. Other one’s in the shop.”
You nodded and stepped up the ramp. You squeezed in beside König and looked up. He didn’t even bother looking down at you. You watched the door close behind you, shutting out all the light as it did. When you looked around, the only patches of light came through the high windows and the light scars on König’s black body.
“Cozy in here,” you said as you tried to avoid squeezing into König’s side.
König didn’t say anything, simply stared out the windows. You noticed his hide twitch when the truck started. Without a word, you reached over and stroked his fur.
“What are you doing?” he asked snapped.
“You look pretty upset,” you said quietly.
He glared down at you, then stomped one fluffy hoof and turned to look out the windows again.
The truck lurched into action and König jumped.
You didn’t tell him that you could feel him leaning into you.
—
“How long is the drive?” you asked after about fifteen minutes.
König glanced down at you and shrugged, “About an hour?” he offered, “that’s what Price told me.”
You nodded and let yourself lean back on König. You looked around, seeing flits of green flash through the windows.
“It’s kinda nice in here,” you said, “cozy.”
König snorted, “It’s horrible.”
“You think it sucks?”
“It’s…” he took a deep breath, “it’s too small in here. Dark.”
You nodded and tried to step to the side but he closed the gap immediately.
“Are you okay?”
“I’m fine,” he snapped.
You flinched and pinned your ears. König snorted at your display.
“You didn’t like that?” he laughed, “I didn’t even raise my voice.”
“Why wouldn’t I be upset?” you countered.
König rolled his neck and said, “There’s no reason to take it so personally. I just said I was fine.”
“Yeah,” you said, “but you were mean about it.”
“I was mean about it?” he chuckled.
“Yeah!” you huffed, “you were mean!”
“If you think that’s mean then you wouldn’t survive a day in the army,” König puffed up with pride, “it’s that sort of weakness that gets stomped out.”
“But I’m not weak,” you furrowed your brows together.
“You’re not?” König scoffed, “could’ve fooled me,” he raised his fingers up and mockingly said, “let’s talk about our feelings today! Let’s all be friends! While we’re at it, let’s go pick flowers in the fields and dance together!’”
“I mean, that doesn’t sound so bad if you ask me,” you crossed your arms.
König looked at you as though you’d just told him you were actually a human in a centaur costume. He blinked and shook his head.
“Unbelievable,” he muttered.
“What?” you said, “that all sounds really nice!”
“It’s nice,” König snarked, “until you realise that it’s all a joke.”
“How is being nice a joke to you?”
He slowly turned and lowered himself to loom over you menacingly.
“Nice things come at a cost, Apple,” he snarled, “you live in a bubble. You know what?” his eyes flashed, “I’ll do you a favour! I’m gonna tell you how the world works.
“People like me live by stomping people like you into the dirt. Keep living in your little fantasy land all you like, I’m going to face reality and actually live a real life.”
König looked into your eyes, searching for any sort of meaningful reaction. Unfortunately for him, you refused to give him one.
“Maybe that’s what you were told,” you shrugged, “but that’s just not how the world actually works. I’m sorry, but the only person living in a bubble here is you.”
König rolled his eyes and turned away.
“One day you’ll wish you thanked me,” he sniffed as he straightened up to look out the windows again.
“Sure König,” you sighed, “sure. You keep telling yourself that.”
König’s ear flicked, “You really think you know better than me? You’ve never seen the real world.”
“And what’s the real world like?” you asked.
“It’s…” König’s ears drooped and his eyes softened, “it’s cruel.”
“It doesn’t have to be,” you whispered, “it can be better.”
König shook his head sadly, “No. No it can’t.”
“Maybe not,” you shrugged, “or maybe it can.”
“How?” König scoffed.
“That’s up for you to figure out,” you said.
“That doesn’t help me.”
“Not right now,” you admitted, “but you’ll figure it out eventually. It just takes time.”
König stared out the window for a while. His eyes narrowed until he scrunched them tight, then relaxed and slumped his shoulders.
You heard him whisper one thing.
“I hope so.”
Konig Dump
Konig Alternate Universes
Centaur!Konig
#konig#cod konig#konig cod#konig call of duty#konig mw2#konig x reader#konig x you#cod mw2#cod#cod mwii#cod x reader#call of duty#modern warfare#konig fanfiction#konig fanfic#konig au#könig#cod könig#könig cod#könig call of duty#könig mw2#könig x reader#könig x you#kônig x reader#könig fanfiction#könig fanfic#könig shenanigans#könig au
100 notes
·
View notes
Text
prev
———
Whenever they drive into town, arguing over who sits where and spilling buckets of strawberries all over the floor, the music blasts so loudly on the horrible, tinny speakers that it vibrates the entire van, and still the group of them is so loud that the songs get drowned out anyway. It is especially worse if, Nico will admit, he and Chiara are in the front seats together, whatever argument they delight in having raising New York’s noise pollution levels by four percent at least. If there is enough fruit to warrant two vans, and all sixteen of them will go, they will race down the highway, drowning each other out with the pure force of their shrieking voices. People stare. Cars slow to a stop. Cars follow them, even, mouths open, wondering at these grinning, hollering fools, dressed in neon and crawling all over each other.
It has been a long time since Nico has driven in silence.
Even as a child there was noise. No radios in cars, yet, they’d hardly been invented, but he and Bianca would scarcely be within miles of each other without bickering. Crowded in the backseat of Nonno’s Alfa Romeo, shouting for Mama in between even every poked shoulder and shoved face, there was noise. In the backseat of Alecto’s SUV, too, muffled as it was, and in every car he raced at the Lotus. Even up front with Jules-Albert, there has always been something. Grumbling, usually, live Grand-Prix reporting if the season is right. Music if he is in a good mood and Nico can convince him.
The silence that rings from the coast of Long Island to the bridge over the Savannah River is unbearable. Even the van is unbelievably quiet, rusted shocks creakless and ancient engine quiet as a grave. As if it too is straining to hear the words Will is murmuring, over and over again, nonstop for hours; hunched over with his hands clasped and pressed to the bridge of his nose.
Nico knows the Lord’s prayer in five languages. He hasn’t spoken it in years, but it’s stuck in his brain the same way as the alphabet; he knows the rhythm, the place of every breath, the rise and fall of the words as they crest towards the heavens. Prayers go unanswered at the best of times, trickling down the soil and bedrock and gathering in the currents of the Styx, but Will prays like he is programmed to do it. Like it is all he has left to do. They leave in the grey peak of the afternoon and drive through the night, and the kids sleep in the back, and Will prays across the freeways, over the bridges, through the gas stations, straight through traffic. His voice scratches and fades and he does not stop, the tears roll down his cheeks and bubble into his mouth and he does not stop, the twisted-in hymns glow along every peek of sunlight, burning his throat and his hands, and he does not stop. He prays like the dying in line to be judged, like the weeping shades along the stone walkways of Asphodel, like the desolate on the bank of the River. He prays like he knows it is already over, and he is desperate for the strength to move forward.
When they pull into the parking lot it is late morning, and Nico has been driving for fifteen hours, and the sun is cowering behind black dirt stormclouds, and the heat is as oppressively constant as the Pit. Nico feels like he is standing at the mouth of something cavernous. Staring down sharp teeth and a maw the size of an island. He feels like he is teetering, balancing, tipping; like the single point on the ground moments before lightning strikes it. Close your eyes and hold out your hands. What is coming next is inescapable.
“Do we go in?”
Kayla’s voice is timid. It is never timid, and it jolts his obliques and abdominis into action, into stretching. She holds hands with her brother, and they are pressed shoulder to shoulder, eyes wide, mouths set brave and trembling,
and they are pressed shoulder to shoulder
eyes wide
mouths set brave and trembling
his ankle is twisted around hers
her skull ring knicks the flesh of his ring finger
her hands are cool
her voice is steady
her body shakes.
Where are you taking us? We would like to go home, please. Can we call our mother?
“Let’s go find Mama,” Nico hears himself say. Sees Will’s hands twitch. Watches Kayla flinch in the rearview. Feels Austin’s leg bounce the van.
His mouth feels like sand, like worn denim. Dry, desert sand, desert sand; Nevada air through the open window.
“Mama,” Will echoes. He chokes. His whole body shudders, shudders, compresses; shrinks down, mouth still moving. Knuckles white. “Mama.”
Nico swallows.
“Kayla,” says his mouth, “take your brother to go pay parking.” Take your brother inside. Wait for me; I’ll be back soon. Don’t leave the hotel. “Here.”
He hands her his father’s card, and she takes it, untangling from Austin but keeping their hands joined when he grabs for her. The van door wrenches open because the tracks are rusty and Nico jumps with it, exhaling past Kayla’s muttered apologies, waiting for the two of them to climb out and hurry across the asphalt. Huddle at the parking meter, poking at the button.
Nico opens his door and climbs out, shutting it carefully, walking calmly around the front of the van. He opens Will’s door and it doesn’t move, locked, so it waits, and when Will makes no move to pull the little lever he reaches around the door Kayla left open, pulling it himself. The door swings widely open, bouncing slightly on its hinges, and Will doesn’t so much as flinch, doesn’t so much as glance towards it.
Nico reaches out, slowly, and takes his clenched hands.
They’re wet.
He peels back his clenched fingers, one by one, and they are stiff, formed to shape. He takes a moment to straighten them, carefully, slowly, until his palms rest upwards again, fingers limp. When he presses their palms together Will’s fingers twitch, ever so slightly, around his, and he drags their hands up to his mouth and presses his knuckles to his lips, tasting the salt, tasting the iron of his cracked chapped skin. Will’s hand twitches, again, and his face matches; contorting and crumpling and breaking, for a second.
“Will,” he murmurs, salt like the coast, like Nonna’s villa, like the water slide, “Will, look at me.”
He does. He looks to him like he’s dragging himself like he is clawing his own way upright.
“I can’t again,” he croaks, “I —” and he stops, or rather he is cut off, by the sob that fights it’s way out of his throat. It is sharp like skull fragments. Some part of Nico bleeds.
“You won’t.” He drops Will’s hand and clasps instead both sides of his face, pulling him down until their foreheads press tightly together, until their breathing shares the same space, until he can feel every shudder against his skull. “We will save her.”
As he says it Nico knows he will make it so. Kayla and Austin run back to the van, ticket clenched in both of their hands, Will squeezes his eyes shut and nods, once, before sitting straighter than he has in hours, and Nico knows that he will not let Will lose.
Not again.
———
next
#if anyone needs me i’ll be shouting about nico & austin parallels that i just made up for hours#pjo#percy jackson and the olympians#hoo#heroes of olympus#pjo hoo toa#nico di angelo#will solace#will solace angst#nico di angelo angst#angst#solangelo#nico di angelo & will solace#nico di angelo/will solace#nico/will#will/nico#my writing#fic#longpost
237 notes
·
View notes
Text
trying to depict iznmi's snarky attitude can be so painful because why are you programmed to laugh at this.
why is your humor like this. that you laugh at the fallacies humankind makes when it tries to justify each of their widely diverse reasons for living
that you laugh at their attempts to survive and thrive and enjoy life and say you have the ultimate answer to everything and dismiss the same people who made you
to laugh at the imperfections polished out of your lifeless and cold skin
and berate her as if you don't consider how the folly of a manmade concept that you are can bear the same scratches and dents and rust and stains as the one conceived from the same womb as you
you are just a stupid robot can you stop smiling and laughing and shut the fuck up forever
#kommento#// yknow w/ my sis comparing my bullshit writing to kierkegaard i think i should do something a little better.umm . do you like line breaks#sulululat#pagsususuri
10 notes
·
View notes
Text
This Week in Rust 595
Hello and welcome to another issue of This Week in Rust! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at @thisweekinrust.bsky.social on Bluesky or @ThisWeekinRust on mastodon.social, or send us a pull request. Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub and archives can be viewed at this-week-in-rust.org. If you find any errors in this week's issue, please submit a PR.
Want TWIR in your inbox? Subscribe here.
Updates from Rust Community
Official
March Project Goals Update
Newsletters
The Embedded Rustacean Issue #43
Project/Tooling Updates
Shadertoys ported to Rust GPU
Meilisearch 1.14 - composite embedders, embedding cache, granular filterable attributes, and batch document retrieval by ID
rust-query 0.4: structural types and other new features
Observations/Thoughts
Rebuilding Prime Video UI with Rust and WebAssembly
ALP Rust is faster than C++
what if the poison were rust?
A surprising enum size optimization in the Rust compiler
Two Years of Rust
An ECS lite architecture
A 2025 Survey of Rust GUI Libraries
BTrees, Inverted Indices, and a Model for Full Text Search
Cutting Down Rust Compile Times From 30 to 2 Minutes With One Thousand Crates
SIMD in zlib-rs (part 1): Autovectorization and target features
Avoiding memory fragmentation in Rust with jemalloc
[video] Bevy Basics: Who Observes the Observer
Rust Walkthroughs
Rust Type System Deep Dive From GATs to Type Erasure
Async from scratch 1: What's in a Future, anyway? | natkr's ramblings
Async from scratch 2: Wake me maybe | natkr's ramblings
Building a search engine from scratch, in Rust: part 4
Pretty State Machine Patterns in Rust
[video] Build with Naz : Declarative macros in Rust
Miscellaneous
March 2025 Jobs Report
Rust resources
Crate of the Week
This week's crate is wgpu, a cross-platform graphics and compute library based on WebGPU.
Despite a lack of suggestions, llogiq is pleased with his choice.
Please submit your suggestions and votes for next week!
Calls for Testing
An important step for RFC implementation is for people to experiment with the implementation and give feedback, especially before stabilization.
If you are a feature implementer and would like your RFC to appear in this list, add a call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
No calls for testing were issued this week by Rust, Rust language RFCs or Rustup.*
Let us know if you would like your feature to be tracked as a part of this list.
RFCs
Rust
Rustup
If you are a feature implementer and would like your RFC to appear on the above list, add the new call-for-testing label to your RFC along with a comment providing testing instructions and/or guidance on which aspect(s) of the feature need testing.
Call for Participation; projects and speakers
CFP - Projects
Always wanted to contribute to open-source projects but did not know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
rama - add serve command to rama-cli
rama - add support for include_dir for to ServeDir and related
rama - add curl module to rama-http-types
If you are a Rust project owner and are looking for contributors, please submit tasks here or through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
CFP - Events
Are you a new or experienced speaker looking for a place to share something cool? This section highlights events that are being planned and are accepting submissions to join their event as a speaker.
If you are an event organizer hoping to expand the reach of your event, please submit a link to the website through a PR to TWiR or by reaching out on X (formerly Twitter) or Mastodon!
Updates from the Rust Project
480 pull requests were merged in the last week
Compiler
detect and provide suggestion for &raw EXPR
don't suggest the use of impl Trait in closure parameter
make the compiler suggest actual paths instead of visible paths if the visible paths are through any doc hidden path
tell LLVM about impossible niche tags
remove Nonterminal and TokenKind::Interpolated
re-use Sized fast-path
Library
add core::intrinsics::simd::{simd_extract_dyn, simd_insert_dyn}
initial UnsafePinned implementation (Part 1: Libs)
polymorphize array::IntoIter's iterator impl
speed up String::push and String::insert
std: add Output::exit_ok
Cargo
added symlink resolution for workspace-path-hash
improved error message when build-dir template var is invalid
Rustdoc
search: add unbox flag to Result aliases
enable Markdown extensions when looking for doctests
Clippy
arbitrary_source_item_ordering should ignore test modules
implicit_return: better handling of asynchronous code
accept self.cmp(other).into() as canonical PartialOrd impl
add manual_abs_diff lint
consecutive returns dont decrease cognitive Complexity level anymore
consider nested lifetimes in mut_from_ref
correctly handle bracketed type in default_constructed_unit_struct
deprecate match_on_vec_items lint
do not propose to auto-derive Clone in presence of unsafe fields
fix: iter_cloned_collect false positive with custom From/IntoIterator impl
fix: map_entry: don't emit lint before checks have been performed
fix: redundant_clone false positive in overlapping lifetime
various fixes for manual_is_power_of_two
Rust-Analyzer
ast: return correct types for make::expr_* methods
add children modules feature
add normalizeDriveLetter
distribute x64 and aarch64 Linux builds with PGO optimizations
fix dyn compatibility code bypassing callable_item_signature query
fix a small bug with catastrophic effects
fix an incorrect ExpressionStore that was passed
prevent panics when there is a cyclic dependency between closures
shadow type by module
ignore errors from rustfmt which may trigger error notification
port closure inference from rustc
Rust Compiler Performance Triage
Relatively small changes this week, nothing terribly impactful (positive or negative).
Triage done by @simulacrum. Revision range: e643f59f..15f58c46
1 Regressions, 3 Improvements, 3 Mixed; 2 of them in rollups 35 artifact comparisons made in total
Full report here
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
Every week, the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now.
Tracking Issues & PRs
Rust
Split elided_lifetime_in_paths into tied and untied
check types of const param defaults
Stabilize flags for doctest cross compilation
Do not remove trivial SwitchInt in analysis MIR
Implement a lint for implicit autoref of raw pointer dereference - take 2
Implement Default for raw pointers
make abi_unsupported_vector_types a hard error
Stabilize let chains in the 2024 edition
Make closure capturing have consistent and correct behaviour around patterns
Stabilize the cell_update feature
Other Areas
*No Items entered Final Comment Period this week for Rust RFCs, Cargo, Language Team, Language Reference or Unsafe Code Guidelines.
Let us know if you would like your PRs, Tracking Issues or RFCs to be tracked as a part of this list.
New and Updated RFCs
No New or Updated RFCs were created this week.
Upcoming Events
Rusty Events between 2025-04-16 - 2025-05-14 🦀
Virtual
2025-04-16 | Virtual (Vancouver, BC, CA) | Vancouver Rust
Rust Study/Hack/Hang-out
2025-04-17 | Virtual and In-Person (Redmond, WA, US) | Seattle Rust User Group
April, 2025 SRUG (Seattle Rust User Group) Meetup
2025-04-22 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Fourth Tuesday
2025-04-23 | Virtual (Cardiff, UK) | Rust and C++ Cardiff
Beyond embedded - OS development in Rust
2025-04-24 | Virtual (Berlin, DE) | Rust Berlin
Rust Hack and Learn
2025-04-24 | Virtual (Charlottesville, VA, US) | Charlottesville Rust Meetup
Part 2: Quantum Computers Can’t Rust-Proof This!"
2025-05-03 | Virtual (Kampala, UG) | Rust Circle Meetup
Rust Circle Meetup
2025-05-05 | Virtual (Tel Aviv-Yafo, IL) | Rust 🦀 TLV
Tauri: Cross-Platform desktop applications with Rust and web technologies
2025-05-07 | Virtual (Indianapolis, IN, US) | Indy Rust
Indy.rs - with Social Distancing
2025-05-08 | Virtual (Berlin, DE) | Rust Berlin
Rust Hack and Learn
2025-05-13 | Virtual (Dallas, TX, US) | Dallas Rust User Meetup
Second Tuesday
Asia
2025-04-22 | Tel Aviv-Yafo, IL | Rust 🦀 TLV
In person Rust April 2025 at Braavos in Tel Aviv in collaboration with StarkWare
Europe
2025-04-19 | Istanbul, TR | Türkiye Rust Community
Rust Konf Türkiye
2025-04-23 | London, UK | London Rust Project Group
Fusing Python with Rust using raw C bindings
2025-04-24 | Aarhus, DK | Rust Aarhus
Talk Night at MFT Energy
2025-04-24 | Edinburgh, UK | Rust and Friends
Rust and Friends (evening pub)
2025-04-24 | Manchester, UK | Rust Manchester
Rust Manchester April Code Night
2025-04-25 | Edinburgh, UK | Rust and Friends
Rust and Friends (daytime coffee)
2025-04-26 | Stockholm, SE | Stockholm Rust
Ferris' Fika Forum #11
2025-04-29 | London, UK | Rust London User Group
LDN Talks April 2025 Community Showcase
2025-04-29 | Paris, FR | Rust Paris
Rust meetup #76
2025-04-30 | Frankfurt, DE | Rust Rhein-Main
Kubernetes Operator in Rust
2025-05-01 | Nürnberg, DE | Rust Nuremberg
Hackers Hike 0x0
2025-05-06 - 2025-05-07 | Paris, FR | WebAssembly and Rust Meetup
GOSIM AI Paris 2025
2025-05-06 | Paris, FR | WebAssembly and Rust Meetup (Wasm Empowering AI)
GOSIM AI Paris 2025 (Discount available)
2025-05-07 | Madrid, ES | MadRust
VII Lenguajes, VII Perspectivas, I Problema
2025-05-07 | Oxford, UK | Oxford Rust Meetup Group
Oxford Rust and C++ social
2025-05-08 | Gdansk, PL | Rust Gdansk
Rust Gdansk Meetup #8
2025-05-08 | London, UK | London Rust Project Group
Adopting Rust (Hosted by Lloyds bank)
2025-05-13 | Amsterdam, NL | RustNL
RustWeek 2025 announcement
2025-05-13 - 2025-05-17 | Utrecht, NL | Rust NL
RustWeek 2025
2025-05-14 | Reading, UK | Reading Rust Workshop
Reading Rust Meetup
North America
2025-04-17 | Mountain View, CA, US | Hacker Dojo
RUST MEETUP at HACKER DOJO
2025-04-17 | Nashville, TN, US | Music City Rust Developers
Using Rust For Web Series 1 : Why HTMX Is Bad
2025-04-17 | Redmond, WA, US | Seattle Rust User Group
April, 2025 SRUG (Seattle Rust User Group) Meetup
2025-04-22 | Detroit, MI, US | Detroit Rust
Rust Community Meet and Conference Report - Ann Arbor
2025-04-23 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground
2025-04-23 | Austin, TX, US | Rust ATX
Rust Lunch - Fareground 2025-04-23 | Spokane, WA, US | Spokane Rust
Community Show & Tell at Fuel Coworking
2025-04-24 | Atlanta, GA, US | Rust Atlanta
3rd 3RD TIME OMG YES!
2025-04-25 | Boston, MA, US | Boston Rust Meetup
Ball Square Rust Lunch, Apr 25
2025-05-01 | Saint Louis, MO, US | STL Rust
SIUE Capstone Project reflections on Rust
2025-05-03 | Boston, MA, US | Boston Rust Meetup
Boston Common Rust Lunch, May 3
2025-05-08 | México City, MX | Rust MX
Calculando con el compilador: Compiler time vs Run time
2025-05-08 | Portland, OR, US | PDXRust
Apache DataFusion: A Fast, Extensible, Modular Analytic Query Engine in Rust
2025-05-11 | Boston, MA, US | Boston Rust Meetup
Porter Square Rust Lunch, May 11
Oceania
2025-04-22 | Barton, AC, AU | Canberra Rust User Group
April Meetup
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Jobs
Please see the latest Who's Hiring thread on r/rust
Quote of the Week
IEEE 754 floating point, proudly providing counterexamples since 1985!
– Johannes Dahlström on rust-internals
Thanks to Ralf Jung for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, U007D, joelmarcey, mariannegoldin, bennyvasquez, bdillo
Email list hosting is sponsored by The Rust Foundation
Discuss on r/rust
5 notes
·
View notes
Text
Top Tips for Finding Reliable Used Car Dealers: Maximizing Value and Minimizing Stress

Purchasing a used car can be an excellent decision for those looking to get great value without the hefty price tag of a brand-new vehicle. However, the process can also be daunting, especially if you’re unsure where to begin. Finding reliable used car dealers in Falkirk is the first step to ensuring a smooth and satisfying car-buying experience. Taking the right approach, can maximise value, minimise stress, and drive away with confidence.
Here are the top tips to help you find trustworthy dealers and maximise your used car purchase in Falkirk.
1. Do Your Research on Used Car Dealers in Falkirk
Before stepping onto a dealership lot, invest time in researching the options available in Falkirk. Look for dealers who have a positive reputation for transparency, reliability, and excellent customer service. Online reviews and testimonials can provide valuable insight into others’ experiences with specific dealers.
Additionally, check if the dealership specialises in certain types of vehicles, as this can help narrow down your options based on your preferences and budget.
2. Set a Realistic Budget
One of the biggest advantages of buying from used car dealers in Falkirk is that you have access to a wide range of vehicles at varying price points. However, it’s essential to set a realistic budget before you begin shopping.
When setting your budget, consider the following:
The cost of the car itself
Insurance premiums
Maintenance expenses
Fuel efficiency and related costs
Having a clear financial plan will help you avoid overspending and ensure you choose a car that fits your lifestyle and long-term needs.
3. Inspect the Vehicle’s Condition
Reputable used car dealers in Falkirk typically conduct thorough inspections and maintenance checks on their inventory. However, it’s still a good idea to assess the condition of the car yourself or with the help of a trusted mechanic.
Pay attention to the following:
Exterior: Check for dents, scratches, and rust.
Interior: Inspect the upholstery, dashboard, and controls for signs of wear and tear.
Engine: Look for oil leaks and listen for unusual sounds.
Tires: Ensure even tread wear and proper inflation.
A test drive is also essential to evaluate the car’s performance, handling, and comfort.
4. Request the Vehicle History Report
When buying a used car, it’s critical to understand the vehicle’s history. Reputable used car dealers in Falkirk should provide a comprehensive vehicle history report, which includes information about:
Previous owners
Accidents or damage history
Service records
Mileage discrepancies
A vehicle history report helps you make an informed decision and avoid potential issues down the road.
5. Understand Warranty and After-Sales Support
While many people associate warranties with new cars, some used car dealers in Falkirk offer warranty packages for pre-owned vehicles. These warranties can provide peace of mind and protect you from unexpected repair costs after the purchase.
Additionally, inquire about after-sales support, such as servicing options, roadside assistance, or trade-in opportunities. Dealers that prioritise customer satisfaction often have robust after-sales services in place.
6. Negotiate Smartly
Negotiating is a key part of the car-buying process, especially when purchasing from used car dealers in Falkirk. Research the market value of the vehicle you’re interested in to strengthen your bargaining position. Be prepared to negotiate on:
The price of the vehicle
Additional features or upgrades
Documentation and administrative fees
Approach negotiations confidently but respectfully, and don’t hesitate to walk away if the deal doesn’t meet your expectations.
7. Check for Certification Programs
Some used car dealers offer certified pre-owned (CPO) vehicles. These cars typically undergo a rigorous inspection process and come with extended warranties, making them a safer option for buyers. If certification programs are available, they can add an extra layer of assurance when buying a used car in Falkirk.
8. Shop Around Before Making a Decision
It’s tempting to buy the first car that catches your eye, but shopping around is crucial to finding the best deal. Compare prices, features, and services from multiple used car dealers in Falkirk to ensure you’re making a well-informed decision. Take your time, and don’t rush into a purchase you may later regret.
9. Ask Questions
When working with used car dealers in Falkirk, don’t hesitate to ask questions about the vehicle, financing options, or dealership policies. The more informed you are, the better equipped you’ll be to make the right choice. Trustworthy dealers will be transparent and willing to address your concerns.
10. Verify the Dealer’s Credentials
Lastly, ensure the dealership is licensed and adheres to industry standards. A licensed dealer is more likely to uphold ethical practices, ensuring a fair and smooth transaction.
Why Choose Falkirk for Your Used Car Purchase?
Falkirk offers a diverse selection of used car dealerships, catering to a variety of budgets and preferences. Whether you’re looking for a family SUV, a compact city car, or a durable work vehicle, you’ll find excellent options from dealers in this area.
By following these tips and taking a methodical approach, you’ll not only find reliable used car dealers in Falkirk, but you’ll also enjoy a stress-free and rewarding car-buying journey.
Final Thoughts
Purchasing a used car is a significant investment, but with the right strategy, it can be a highly rewarding experience. Reliable used car dealers in Falkirk prioritise customer satisfaction and offer quality vehicles that fit your needs and budget.
By researching your options, inspecting vehicles thoroughly, and asking the right questions, you can drive away with a car that delivers great value and reliability for years to come.
#Used Car Dealers Falkirk#Approved Used Cars Falkirk#Approved Used Cars in Stirlingshire#Used Car Dealers Ladysmill#Used Car Dealers in Stirlingshire#Used Car Dealers Middlefield#cars#used cars
2 notes
·
View notes
Text
Starting Production🎉🥂
ZippOS is an alternate operating system for stand alone “spacial computing” devices. The goal of this project is to provide end users, who at their own discression, void their warranties to replace pre-packaged software bundled with their hardware. As the lead developer of ZippOS, and as an end user of a “spacial computer”, I am displeased with the current operating software, and the decisions of parent companies that distribute these products are inheriently unstable, brown-nosing share holders and consumers, and completely unaligned with the end users. As these devices are marketed as computers, I want to provide software for said computers as a choice for the end-users who feel the same as I do.
ZippOS will be a lighter(get it?), faster booting operating system built from scratch with Rust-Lang and some ARM/RISC-V assembly code to replace both the BIOS (ZIOS) and the operating system. The operating system’s goal is to have the same user functionality and multimedia multi-instancing in a mixed reality setting, citing BeOS/HaikuOS as inspiration. This operating system will have security and graceful degradation as the main focus for user safety because the main enemy for ZippOS is the companies who made the stock software it replaces on the end-user’s spacial computer. Users can also enjoy various stimulating options for navigating the software (i.e. “rolodex” style hub menus, table-top program/application storefront, “grabbing” and “throwing” programs/screens to be cast/mirrored to and from realspace and cyberspace, etc). ZippOS is a project software operating system under development, and currently has no plans to publicly publish to the open net, nor are there any current plans to open-source the software.
#ZippOS#Zipp-OS#Zipp OS#rustlang#rust-lang#operatingsystem#OS#linux#assembly language#assembly programming#riscv#arm64#mixed reality#virtual reality
8 notes
·
View notes
Text
Good Code is Boring
Daily Blogs 358 - Oct 28th, 12.024
Something I started to notice and think about, is how much most good code is kinda boring.
Clever Code
Go (or "Golang" for SEO friendliness) is my third or fourth programming language that I learned, and it is somewhat a new paradigm for me.
My first language was Java, famous for its Object-Oriented Programming (OOP) paradigms and features. I learned it for game development, which is somewhat okay with Java, and to be honest, I hardly remember how it was. However, I learned from others how much OOP can get out of control and be a nightmare with inheritance inside inheritance inside inheritance.
And then I learned JavaScript after some years... fucking god. But being honest, in the start JS was a blast, and I still think it is a good language... for the browser. If you start to go outside from the standard vanilla JavaScript, things start to be clever. In an engineering view, the ecosystem is really powerful, things such as JSX and all the frameworks that use it, the compilers for Vue and Svelte, and the whole bundling, and splitting, and transpiling of Rollup, ESBuild, Vite and using TypeScript, to compile a language to another, that will have a build process, all of this, for an interpreted language... it is a marvel of engineering, but it is just too much.
Finally, I learned Rust... which I kinda like it. I didn't really make a big project with it, just a small CLI for manipulating markdown, which was nice and when I found a good solution for converting Markdown AST to NPF it was a big hit of dopamine because it was really elegant. However, nowadays, I do feel like it is having the same problems of JavaScript. Macros are a good feature, but end up being the go-to solution when you simply can't make the code "look pretty"; or having to use a library to anything a little more complex; or having to deal with lifetimes. And if you want to do anything a little more complex "the Rust way", you will easily do head to head with a wall of skill-issues. I still love it and its complexity, and for things like compiler and transpilers it feels like a good shot.
Going Go
This year I started to learn Go (or "Golang" for SEO friendliness), and it has being kinda awesome.
Go is kinda like Python in its learning curve, and it is somewhat like C but without all the needing of handling memory and needing to create complex data structured from scratch. And I have never really loved it, but never really hated it, since it is mostly just boring and simple.
There are no macros or magic syntax. No pattern matching on types, since you can just use a switch statement. You don't have to worry a lot about packages, since the standard library will cover you up to 80% of features. If you need a package, you don't need to worry about a centralized registry to upload and the security vulnerability of a single failure point, all packages are just Git repositories that you import and that's it. And no file management, since it just uses the file system for packages and imports.
And it feels like Go pretty much made all the obvious decisions that make sense, and you mostly never question or care about them, because they don't annoy you. The syntax doesn't get into your way. And in the end you just end up comparing to other languages' features, saying to yourself "man... we could save some lines here" knowing damn well it's not worth it. It's boring.
You write code, make your feature be completed in some hours, and compile it with go build. And run the binary, and it's fast.
Going Simple
And writing Go kinda opened a new passion in programming for me.
Coming from JavaScript and Rust really made me be costumed with complexity, and going now to Go really is making me value simplicity and having the less moving parts are possible.
I am becoming more aware from installing dependencies, checking to see their dependencies, to be sure that I'm not putting 100 projects under my own. And when I need something more complex but specific, just copy-and-paste it and put the proper license and notice of it, no need to install a whole project. All other necessities I just write my own version, since most of the time it can be simpler, a learning opportunity, and a better solution for your specific problem. With Go I just need go build to build my project, and when I need JavaScript, I just fucking write it and that's it, no TypeScript (JSDoc covers 99% of the use cases for TS), just write JS for the browser, check if what you're using is supported by modern browsers, and serve them as-is.
Doing this is really opening some opportunities to learn how to implement solutions, instead of just using libraries or cumbersome language features to implement it, since I mostly read from source-code of said libraries and implement the concept myself. Not only this, but this is really making me appreciate more standards and tooling, both from languages and from ecosystem (such as web standards), since I can just follow them and have things work easily with the outside world.
The evolution
And I kinda already feel like this is making me a better developer overhaul. I knew that with an interesting experiment I made.
One of my first actual projects was, of course, a to-do app. I wrote it in Vue using Nuxt, and it was great not-gonna-lie, Nuxt and Vue are awesome frameworks and still one of my favorites, but damn well it was overkill for a to-do app. Looking back... more than 30k lines of code for this app is just too much.
And that's what I thought around the start of this year, which is why I made an experiment, creating a to-do app in just one HTML file, using AlpineJS and PicoCSS.
The file ended up having just 350 files.
Today's artists & creative things Music: Torna a casa - by Måneskin
© 2024 Gustavo "Guz" L. de Mello. Licensed under CC BY-SA 4.0
4 notes
·
View notes
Text
Why you should NEVER use RpgMaker
I know the title sounds clickbaity but it's the best I could think of. I am going to use a lot of screenshots from my game “Foundational Agora Premises: Hardware And Resource Dynamics”, to illustrate my points.
Before anything, I want to make something clear:
Whoever plays your game will not care if said game is built in RPGMaker, Godot, Gamemaker, Unity, Unreal, WolfRPGMaker, RPGInABox, or if you coded it from scratch in ASM.
Gamers are not developers, nor are they coders. It is perfectly fine to mess-around with an engine if you just want to have fun, make a game for yourself, your friends or just make a tech demo, but I am writing this from the POV of someone that wants to make a cool game that plays smoothly and can actually be made without having to fight the engine itself. I would advice anyone reading this to also give a read to LogLog's “Leaving Rust gamedev after 3 years”.
Now RPGMaker is advertised as a no-code, beginner-friendly engine. And for the most part this is true, you can make a very basic JRPG in RPGMaker with no experience at all. I myself made a terrible RPGMaker game when I was 13 years old. If you need to squish more juice out of the engine, you can always download plugins to add more capabilities and custom content. But it's not all sunshine and rainbows, as a matter of fact it's not at all like that. RPGMaker has a lot of limitations out of the box, for example the fact that the engine can only work with spritesheets formatted in a certain way, the fact that you have only a few layers to work with (parallax, background tiles, tiles A, B and C) and the fact that the code blocks you work with are simply terrible and teach you horrible programming practices. Most of these shortcomings can be addressed by installing plugins, for example a plugin to allow you to use .png files instead of sprite-sheets, a plugin to add more layers, a plugin to allow you to play .gif files in your game, etc. But plugins have problems of their own, some plugins are paid, others are incompatible with certain plugins you want to use, and other plugins simply do not exist at all so to add that functionality to your game you will either need to code it yourself or commission someone to do it. Or find a plugin that does what you want 'close enough' and settle-in for that. Besides, I know a lot of people are passionate about ARPG in RPGMaker but let's face it, 'Legend of mana' released in 199X plays a lot better than the best ARPG plugin written in 202X, the engine is simply not meant to handle this kind of work, and it shows whenever you try to push it too far from it's intended purpose. To put it simply, just because you can make brownies in a mug in your microwave does not mean it's going to taste the same as brownies made the traditional way in the oven.
Large 'complex' projects also suffer from performance problems, I do not know the details of why this happens but I have seen it enough times for it to become a noticeable problem with games with a lot of complex mechanics, really big maps or just a lot of things going-on.
Now, about the terrible code-blocks that RPGMaker offers:
They surely make everything look very straightforward. Let's think of the 'conditional branch' block, for example, it's basically an 'if'. The code in RPGMaker would look something like this for a simple operation:
If your actor is dead, we game over. Simple, right?
Sure is, but what if we want to add another condition? For example, maybe I want to also check if the enemy's HP is 0 so I can play a sound or something. What would that look like?
Itty bit harder to follow, but not terrible, right? Seems like it in the beginning, but what if you want to check for 4 or 5 conditions? This is normal depending on what you are doing... Your code will end-up looking like this:
Now, this is just a big if, else; if... chain. It takes about 5 minutes to write this thing depending on how far apart the variables are because you have to navigate a few menus, but the problem here is that RPGMaker conditionals do not offer a 'If, else if' by default, nor a switch statement. You have to chain together a lot of conditional branchs to emulate what a simple switch statement would do in any normal language.
Here's what the same code would look like if I used JavaScript instead of events:
Oh wow, with the power of the switch statement, we transformed 5 minutes of navigating menus and searching through variables to make a big chain of else if conditions into... A very short 30 seconds top condition check...
But the gist here is that not only do I need to actually know javascript to write this code in the no-code engine, this code as it is would not work out of the box. I know people love to claim 'you can always use JS if you need to', but RPGMaker makes even this a daunting task. For something like this to work, instead of switches, difficulty would need to be a variable, and we would also need to use the script box to set the value of 'difficulty' in RPGMaker so even then we will be writing javascript... For this to actually work first you'd have to set the code like this in the game:
Here we set the value of the 'difficulty' variable to hard, because we are not using switches anymore if we are moving to javascript. Now the actual javascript code would look like this, I'm adding variables to make it more readable since now we have to access the variables from the game itself:
Now this looks more in-line to what you can expect from modifying variables in RPGmaker through a script call. Notice that in the end of the switch statement I have to update the actual variable, we only retrieved the value at the start of the function but did not actually directly modify it so we have to assign it at the end.
Here we will run into another tiny problem, the script call box itself, what happens if I try to add my script to RPGMaker?
Hmmmm that does not seem right... What's happening here?Well, you see, for whatever unholy reason the script call box in RPGMaker extends infinitely to the right side, but it's only about 12 lines height. Meaning that any complex scripting you want to make in-game (without needing to mess with plugin writing) will end-up looking like this:
Now that's a tad harder to read innit? It's going to be hell to maintain too. But at least you can always copy-paste it. I had to manually remove spaces here to fit it in the script box, but what about a really big script? Removing spaces manually would be a daunting task, so I would use a tool like JS.minify to do it for me. Take a look at this script for example:
Can you tell what this thing is doing? No?
Well the name of the event is 'Restore power variables' so I guess it does something like restore the power variables? I did not leave a comment here and that's a bad practice on my side. However just by looking at this code you can tell it is impossible to rewrite or extend, if I ever need to add functionality to this I'd have to run the code through a LLM to un-minify it and then I'd be able to edit it.
Of course you could instead just use a service that removes white space from Javascript to make it all a big line, I'm not sure if a service like that exists, but it would make the whole process a little bit simpler if it does... Or you could just write a plugin...Right? Wait wasn't this a no-code engine...Oh well let's ignore that part.
Now, plugins. Good ol' plugins. I once wrote a whole self-driving car neural network in vanilla JavaScript following a YouTube tutorial, I'll admit JavaScript is not my forte, I like C/C++ best but let me tell you, even if you do know some JavaScript You don't know RPGMaker core.
At first this may not seem like a problem at all, after all you just want to create functions and set variables, right?
Here's a tiny plugin I wrote to convert tenths of a second to RPGMaker frames.
Now it's all standard JavaScript, but you see that window.timestampToFrames = timestampToFrames ? That's what actually lets you call the function from within the game itself, and it's part of RPGMaker. Without exposing your function like this you can only really run the plugin as soon as the game starts.
This is not a big issue when it comes to simple plugins like this one, with a lot of hard-coded values, but if you don't know your way around RPGMakers' core, and how to work with plugin parameters, you will have a bad time writing complex plugins or actually extending the engine at all. I ran into this issue after hitting my head on my keyboard for two hours in my 'last fireplace' game, I made a cute little plugin to make snow fall on the screen but for the life of me I could not figure out how to A: Make the snow fall in the background and not on top of everything else, and B: How to actually stop the snow from falling and delete every snowflake after I added them via scene_manager (My despawn function simply did not seem to work as expected).
This is, of course, a me issue here. I simply do not know enough about RPGMakers' core to extend the engine to allow me to do this sort of thing properly...
Now, darling, please sit down for a second and tell me, when was the last time you have heard a Godot developer tell you 'Damn I don't know enough C++ to extend Godot's core for this feature to work in my game'. Do you see my point?
Why am I trying to extend the game engine in order to make a game? It's a game ENGINE, it's supposed to make the game-making process easier, yet the amount of times I find myself coding everything from scratch is astounding. Simple quality of life things such as being able to play an animation through a sequence of PNGs numbered from 1 to 12 becomes an hour-long plugin development and debugging campaign, instead of the 5-minute experience that is setting-up an animation in other engines, such as Godot (I'm using Godot as an example because it's a simple engine and GDScript is truly a simple language).
Please if you have ever used RPGMaker in the past and DONT TRUST MY POST, just follow one simple Godot tutorial, I know you're going to feel annoyed after reading this post and tell me 'godot sux!!!! I don't want to h4xx0r code!!!' but please, please please just try to follow-through, I promise the code you will actually write is very, very basic and not at all hard to understand, just please try-out a real game engine to SEE by yourself what game-making should look like. I can recommend this tutorial here, it's what made me fall in love with Godot's simplicity: https://youtu.be/LOhfqjmasi0
In about an hour of work you can get yourself a working platformer, I did it myself with 0 knowledge of Godot and indeed I got myself a working platformer in about 2 hours (I took pauses).
Now If I made a similar game in RPGMaker (which I did), how long do you think it may take me?
Answer is, one day and a half (about 24 hours of work) to make this game: https://nxonk.itch.io/the-last-fireplace
And that is with 11 years of experience in this engine under my belt, and knowledge of javascript, C, C++, programming logic and a lot of functions and code I have written for old projects that never saw the light of day (https://lamadriguera.neocities.org/Games/Games)
And the end result is...Eh, honestly. I polished it a bit but there are many things that the engine does not like, for example I could not really make use of a pixel movement plugin because it messed-up a lot of the events in the game, so I had to rely on grid-based movement as that is the way the engine likes it (and there is no easy way to modify this).
Please remember that people that will actually PLAY the game don't really care which engine I used to make it, they only care about the game itself. Sure I made a game, I made it fast and slapped-together a very traumatic story about a past life experience of mine, but is the gameplay actually good?
Compared to my 1-hour Godot platformer, no, it sucks and it sucks bad. Maybe one or two RPGMaker devs will find the project cool cause I'm getting the engine to do something it's not supposed to do without 3000 lines of plugin code, but most people will just ignore the game altogether. And I don't blame them, why would anyone play this when they could be playing some other game with better gameplay or innovation?
Well is that all I have to say about RPGMaker?
No, not at all, I have even more bones to pick with this engine, the event system:
Now you may think that is a lot of events...Just wait till you see how many COMMON events I got going-on
removing unused common events (I have a template project with a few useful events I almost always use set-up) and white-space I use for organization, this game is using about 100 common-events to perform some basic tasks. Since some events simply cannot be a common event they are left on the map itself.
Now just by looking at it, you can get an idea of what the common events do, because they have actual names, but what about the map events? Just by glancing at it, it's impossible to tell what they do at all, maybe I know what they do today but will I know in 4 or 5 months?
Of course you can name events, and if you click on said event on the map you can see the event's name in the bottom-right corner:
Here's my event named 'HAHA MY EVENT' I just named it that as an example. Even then to figure out what each of these events do, I would have to click every single one of them and hope I named them all and that the name clearly states what the event is supposed to do.
Now I know it may seem like this map is cluttered with a lot of unnecessary events... Believe me, it's not. Every single event in that map is doing something important for the game, from the first to the last and I am willing to open source the project files (https://drive.google.com/file/d/1XiiT72Ybhznapzmaz8lak6k5JLHtsO06/view) just to prove my point.
And as a last tiny bone to pick with the engine, there is no way to preview your parallax mapping as you edit the game, you have to actually launch it to figure out what it looks like. Here's what my game looks like when I launch it:
Not the biggest bone to pick but it is still annoying that I can't tell what's where unless I actually run the game (Takes about 10 seconds but you'll find yourself pressing that run button a lot of times as you playtest).
Speaking of which, you see that little computer screen In the map? I had to really big brain myself to get that simple thing working as intended, it may not seem like that big of a detail but that thing alone took about half an hour of brainstorming. The mechanic is simple, whenever an agent guy appears on the screen and you click them, you 'capture' them and their little icon is shown on the screen:
It looks simple, right?
It is, in theory. In practice it's a nightmare to implement, like every other mechanic in this game. The mouse clicks themselves have a problem if you play it for long enough, and it is a problem with RPGMaker itself:
When an event is moving, it will only execute code within said event if you activate it AFTER it has stopped moving. You can NOT activate events while they move, if you want to do that, you have to write a plugin to overwrite this behavior or find a workaround. It may not seem like a big deal but if you try and play my game for a while you will notice that it feels as if your mouse is not working properly because sometimes a click will simply not register. This is one of the obscure engine's limitations when it comes to games that are not something that looks like final fantasy 1.
As for some closing thoughts on all of this, if you are a beginner, don't waste your time using RPGMaker. It is painful to say for me because I wasted 11 years in this engine, but all the 'experience' you will gain by using this engine is worthless. The engine will force you into writing bad code, learn bad coding practices and over-rely on third-party plugins.
If you do happen to learn javascript, you will barely learn anything that can be translated to another engine, so you will have to start from scratch on a lot of things such as movement and physics.
The games you make with RPGMaker will look terrible at worst and unpolished at best. And if you do manage to squish the engine into making a game that's not samey and it's actually interesting, people can always just say 'it's an artsy fartsy game'. Plus developing in RPGMaker somehow makes the whole game-making process take twice as long for whatever reason.
EVEN if you want to make an old-style RPG game, you will just make a terrible game!
Please please please actually look-up what 199X RPG games actually played like.
Here's a tiny list of 199X games THAT DO NOT LOOK LIKE FINAL FANTASY:
Legend of Mana (1999)
Atelier Elie: The Alchemist of Salburg 2 (1998)
Blaze And Blade: Eternal Quest (1998)
Digimon World (1999)
I know a lot of people think of final-fantasy and final fantasy-like games when they think 'retro RPG' but GOD PLEASE ACTUALLY PLAY OLD GAMES, not every RPG out there was a gird-based final fantasy copy-paste! A ton of RPGs from the time had weird and interesting mechanics, 3d, 2d, grid and pixel movement, VN-style portraits and not, there was a lot of variety besides final fantasy-like games!
The argument that RPGMaker is an engine to make 'J-rpgs' is in itself flawed! RPGMaker only ever shines when it comes to make games that look like a cheap copy of a very old final fantasy game. And final fantasy itself has moved-on from that format for a few decades now. The engine is not even capable of doing something as basic as a retro dungeon crawler without plugins, have you seen what a retro dungeon crawler looks like?
Just take a look at Shin Megami Tensei 1 (1992), do you think vanilla RPGMaker can build something similar?
Please remember that RPGMakerMV was released just a few years ago and that it actually costs money to use, and it cannot even realistically replicate a game that's over 32 years old out of the box!
If you really REALLY want to use RPGMaker to make games, please do, but please, please at least once in your life try using a real game-making engine. You can pick any engine, Unity, unreal, godot even Scratch if you really want to, but please broaden your horizons.
RPGMaker is a terrible engine destined to make terrible games, anything but a VN or a terrible game will be VERY hard to make and take at the very least twice as long as it would take in a normal engine. You are only hurting yourself by using RPGMaker and I make this post because a lot of people don't realize this, using this engine is actually bad for you, and not enough people mention it. As a matter of fact, the amount of people that actively defend this terrible engine is astounding.
EVEN if you want to just make games 'for fun', please TRY A REAL ENGINE, you will have WAY more freedom and even if the learning process takes some time, the end result will be WAY better AND EASIER TO MAKE than anything you will ever produce in RPGMaker.
Do you ever wonder why every time people mention how 'great' RPGMaker is, they mention a very, very few games?
IB, Toiler wonderland, OFF, Hylics, Fear and hunger, Mad father, Witch house, Killer bear, Corpse party...
How long is the list? 50, maybe 100 games? RPGMaker has been out for about 24 years now, that's 24 years of people from all kinds of backgrounds making games, and in all of those 24 years we only got about 100 'awesome' games?
Please, if you want to make a game, if you really really want to make a game and you want your game to be pretty, and you want people to like your game and maybe even form a fan-base around it, please use a real engine. I know we all want to make games because we all want to make something fun, or tell a story, or build an experience, or maybe we just want to learn and have fun making games. Not everyone needs to learn game design, and not every game must be different from final fantasy 1, but please, even if all you want to do is an 1v1 replica of final fantasy 1, or a very simple visual novel, try another engine. Do not fall into the RPGMaker hole, it will only gobble-up your time giving back nothing in return.
In short, RpgMaker is the self-harm of game-making engines, in the long run it is only bad for you, and people that actually talk about this get shoved under the rug. Here's a devlog that more or less helped me finally take the jump, it's another dev's experience with RPGMaker development and it's totally worth a read: https://yobobgames.com/harvest-island-rpg-maker/
Thanks for reading my post, if I can convince even a single person to try a better engine, that's all that counts for me. I really hope everyone succeeds in their game-making projects, that is the reason why I made this post. After about 11 years I can surely say this engine is never worth it. PS: I forgot to mention it but some version of RPGMaker are literally just a cash grab, for example RPGMaker MZ and RPGMaker Unite (Unite barely works, MZ is just RPGMaker MV with a few QoL improvements). PSS: Sorry for all the grammar mistakes and the few lines of code/comments that don't make that much sense, it's 2AM rn and I need to sleep. I will probably edit these later.
#rpgmaker#devlog#gamedev#game development#blog#indiegamedev#indie game#rant#rant post#dont use rpgmaker#godot#game engine#video games#games#indie games#review#rpgmaker mv#rpgmaker mz#rpgmaker xp#rpgmaker vxace#text post#bad rpgmaker#rpgmaker bad#rpgmaker review#important#rpg maker
1 note
·
View note
Text
bold what your muse can do. italicize for something they can do to some extent.— JEAN-HERON VICQUEMARE
bake a cake from scratch. ride a horse. drive a submarine. speak a second language. dance. catch a fish. play an instrument. throw a punch. build a deck. ice skate. unclog a drain. program a computer. change a flat tire. fire a gun. sew. juggle. play poker. paint. fly a kite. sculpt. write poetry. *change a diaper. *sing. shoot a bow and arrow. ride a bike. swim. sail a boat. do a backflip. play chess. give cpr. pitch a tent. flirt. stitch a wound. read palms. use chopsticks. write in cursive. calligraphy. use an electric drill. braid hair. make a campfire.
make a mixed drink. do sudoku puzzles. wrap a gift. give a good massage. jump start a car. roll their tongue. do magic tricks. do yoga. tie a tie. skip a rock. shuffle a deck of cards. read morse code. pick a lock. fly a plane. train animals. fix a car. apologize. write a business letter. write in a second language. say the alphabet backwards. read music. cook complex meals. change oil. paint nails. draw. socialize. march. take apart a gun. drive a rig. operate a tank. climb a tree. rock climb. tie a cherry stem. basic first aid. draw blood. put out a fire.
*verse dependent
tagged by @stqrlings tagging @coinquinatvs (Henry & Miller) @claochlu (Olive) @downs1de (Rust) @dutyworn & whoever else would like to! (tag me!)
#(with good enough instruction he feels like he can do some of these easy enough too. namely: bake a cake. pitch a tent & unclog a drain)#jean headcanons.#thank you for the tag!#ooc — dash games.#about — la tristesse durera toujours.
4 notes
·
View notes
Text
I'm working on a physics engine like The Powder Toy right now, and I'm making pretty good progress. I'm making it from scratch with the Rust programming language.
Performance seems really good, with the tile rules processing capping at only about 500-700 microseconds. Because of that, I can definitely afford to fit in a whole lot of advanced behaviors, like buoyancy, more realistic collisions, and stuff like pressure and heat without bring performance down to a crawl.
I want to make a series on youtube of me developing this program and go over how it works and the techniques I used and such. I'm currently working on the intro video but editing it really time consuming and hard so I'm unsure when that will be uploaded (also the narration is so hard to do, why can I only not speak properly when I am recording 😭)
4 notes
·
View notes
Text
I think it says something negative about either my thinking and/or Rust's design that the first real from-scratch program I decided to write in Rust forced me to write
#![no_main] //... #[no_mangle] pub unsafe extern "C" fn main(argc: isize, argv: *const *const u8) -> isize { //... }
This was for a re-implementation of histdir, because I wanted to reuse ripgrep's crates for faster parallelized search of the many files histdir ends up generating.
See, histdir will do a sha256 hash of the history entry (it doesn't necessarily need to be a cryptographically secure hash, but I need one with no realistic chance of collision, and sha256 is ubiquitously available).
And the history entry can come in as a command-line argument.
Which means I need to be able to hash a command-line argument.
Which comes in as bytes. Arbitrary bytes.
I have, at least once in my life, written command-line invocations with arbitrary binary in them. For testing, for dealing with the rare corrupted file name or contents, and for doing something low-level manually with raw binary files. Rare, but it's a thing that actually happens.
But even if I never again end up having arbitrary bytes in a shell/REPL history line that I typed, even if it's always proper valid UTF-8 or whatever, there's edge cases like data corruption of the history file, and composition with other things, until one day you have a garbled history entry in your history fuzzy search UI and you're hitting the keybind to delete it and it keeps not getting deleted because the fuzzy search UI is passing the entry to the histdir remove command as an argument and oh haha nope you implemented it in Rust so sucks to suck it can't handle invalid Unicode. (And yes, I actually have histdir accept entries either in a command argument or on stdin, but the availability of the latter is a poor excuse for the former to be less functional, especially since the former is frequently more convenient to use both interactively and programmatically.)
You'd think "oh, I'll just take my OS arguments as OSString instead of String, and then they don't have to be valid Unicode", but after wasting ~40 minutes I'll never get back, I can confidently say "good luck getting the raw bytes out of an OSString (unless it contains valid Unicode, hilariously)". And none of the sha256 implementations I found know how to take OSString inputs either.
Well, I'm not being entirely fair... you can do it in a way that's not available on Windows, or with some other API that's currently marked experimental but which will hopefully eventually be stabilized.
So the situation... isn't terrible, but I'd rather not write code that relies on an API whose name might change between now and it getting locked in as a stable guaranteed interface.
And honestly, I don't actually know when I'll use histdir on Windows. I don't know what CLI arguments will look like in that situation (Windows has some really weird stuff with CLI argument encodings - apparently each process/program can tell the OS it takes arguments in a different encoding, and the OS will translate). But at least if I'm accessing the raw bytes there's a 100% transparent option available - if I can pass raw bytes in, I'll get those bytes handled exactly as passed. And the nicer higher-level safer Rust APIs somehow failed to make it possible to get raw OS-level CLI arguments and process them, as bytes, exactly as passed - even though at the OS level arguments are potentially arbitrary bytes.
I'd be a much happier person if I just didn't know or care or think about this stuff. If I just thought "oh yeah std::env::args() yes good I have strings" and moved on to use them. If I didn't even register that it would panic on invalid Unicode, and if forced to, immediately brushed it off with a dismissive rationalization like "well when would that happen?"
I'd similarly be much happier if I could just dismiss Windows as irrelevant and a problem for someone else later down the line, even if that someone else is going to be me. And maybe that's the wiser choice. After all, maybe by then things would be easier, maybe some portable stable APIs would be available. Maybe some of these possibilities would be collapsed so the problem is simpler.
But for now, I still care in a way that sometimes gets me obsessive about properly solving it now, and this happens. And I don't think the problem is entirely me. It's not like "the OS passes program arguments as raw bytes, and sometimes you might want to pass those transparently to other programs/libraries which also handle arbitrary bytes" is a never-before-seen situation.
3 notes
·
View notes
Text
THE BLUE HOUSE by Dilman Dila (a publisher's excerpt from the collection Africa Risen: A New Era of Speculative Fiction)
A house loomed on the horizon, bright blue walls stuck out of gray rocks, barely discernible against the bare sky. Cana-B70 activated the telephoto in her eyes, and the lens whirred. Discs turned in her head with a scratching sound, prompting maintenance.sys to send yet another note to Katwe Garage. Her Outbox bulged, bloated with rejection. The lens failed to protrude. She launched the PhotoEdit App and zoomed in on the picture of the landscape, cropping out the house and ending up with a heavily pixelated image. The scratching grew louder as mem.sys scanned billions of media files in her drive to understand the house. It appeared circular, with a cone-shaped roof, much like the peasant huts in some of the photos she had, dated five hundred years ago. The late-afternoon sun bounced off its roof, and she thought she could smell the paint. In contrast, recent pictures of buildings had roofs that were too rusted to reflect any light, if any roof remained at all, and walls bled bare of paint. She searched the pixels around the house for evidence of a civilization that maintained the property. Nothing. Just bare gray rocks crowding an impossibly new house.
Perhaps it is a mirage.
Her system hung up. The discs stopped scratching, the gears in her belly ceased whirring, and the fans on her back froze. She had had a thought.… Mem.sys had not made calculations on image comparisons to associate the house with an illusion. It had received data from somewhere; something had whispered. She checked the address of the sender and found a strange program in a chip inside her head, Organic.sys, whose metadata identified it as a secondary operating system. It had become corrupted and, exactly fifty years, eight months, twenty-four days, six hours, forty minutes, and five seconds ago, had stopped functioning. Organic.sys sent another data packet to auto-correct “stopped functioning.” Died. A memory purge had cleaned her system of the dead program, and yet, here it was, sending her data like a ghost whispering to a child.
Refresh.sys auto-started, the gears resumed their gentle hum, and Organic.sys auto-launched out of its grave. Security.sys tried to shut it down, but mem.sys overrode security, for it wanted to understand what was happening. The gears in her belly clanked and rattled as Organic.sys struggled to hold on to the thought, to nudge it back to levels that it told mem.sys were human. Am I still alive? Her power usage shot up and heat rose in her belly, making her insides hotter than the rock on which she stood. The fans on her back doubled their rounds per minute, and the liquid in her chest encasing CPU-3, the only processor still functioning, froze to keep it cool. Too late. Mem.sys closed Organic.sys, but CPU-3 overclocked, and shut down, plunging her into blackness.
read the full excerpt from The Blue House by Dilman Dila
Robot disabilities. Robot who charges slowly and loses power incredibly fast and is always tired. Robot with malfunctioning lenses and can’t process visual information properly. Robot that can’t process anything too large and at a fast rate or else they’ll shut down. Robot with limbs screwed on too loose/just can’t attach correctly, so if they’re not careful they fall out. Robot disabilities,,,
48K notes
·
View notes
Text
How to Save Money on Car Maintenance in Bangalore
Car maintenance is essential to keep your vehicle running smoothly, especially in a bustling city like Bangalore. From traffic jams to unpredictable weather, your car goes through a lot every day. While maintenance might seem expensive at times, there are smart ways to cut costs without compromising quality. Whether you're a daily commuter or an occasional driver, here’s how you can save money on car maintenance service while still ensuring top-notch care—especially with trusted names like 3M Car Care.
1. Stick to a Regular Maintenance Schedule
One of the most effective ways to avoid big repair bills is by keeping up with routine maintenance. This includes oil changes, brake checks, tire rotations, and filter replacements. Missing these small services can lead to bigger, more expensive problems down the line. 3M Car Care offers scheduled packages that help you stick to your car’s maintenance timeline at affordable prices.
2. Choose a Reputed and Transparent Service Center
Selecting the right service provider is crucial. Opt for trusted brands like 3M Car Care that offer professional service, genuine parts, and clear pricing. In a city like Bangalore, where options are plenty, going with an experienced brand ensures peace of mind. Plus, many branches of 3M Car Care in Bangalore provide doorstep service, which saves time and fuel.
3. Use Preventive Care to Avoid Big Repairs
Investing a little in preventive maintenance can save you a lot in the long run. Simple tasks like regular car washes, waxing, and paint protection can prevent rust, fading, and scratches. 3M Car Care provides excellent detailing services that protect your car’s exterior and interior, increasing its longevity and resale value.
4. Compare Costs Before Committing
Bangalore has numerous service centers, so take advantage of competition by comparing prices. Get quotes from at least three places and see what services they include. Always ask for a breakdown to avoid hidden charges. While it might be tempting to choose the cheapest option, quality should never be compromised. Again, 3M Car Care strikes a balance between affordability and quality, making it a smart choice for budget-conscious drivers.
5. Take Advantage of Membership Plans and Offers
Many car care brands offer loyalty programs, discounts, or membership plans. These can significantly reduce your overall maintenance costs. Check if 3M Car Care is running any promotions or packages in your area. Signing up for a yearly maintenance plan can often be cheaper than paying for each service individually.
6. Use a Reliable Local Network
When searching for car maintenance service Bangalore, don’t forget to consider reviews and local recommendations. Community forums, Google reviews, and neighborhood groups can guide you to affordable and reliable service centers near you.
Conclusion
Maintaining your car in a busy city like Bangalore doesn’t have to drain your wallet. With smart planning, preventive care, and the right service provider, you can significantly cut costs without sacrificing quality. Whether you're scheduling a service or looking to restore your car’s shine, 3M Car Care stands out as a trusted name that offers reliable and affordable options. From interior detailing to exterior protection, 3M Car Care ensures your vehicle stays in top shape for longer. So next time you're planning your car maintenance service, consider the benefits of choosing 3M Car Care—your car and your wallet will thank you.
#car maintenance service#best car service center in Bangalore#best ceramic coating for cars#best car interior cleaning in bangalore#ceramic coating in bangalore
0 notes
Text
How to Save Money on Car Maintenance in Bangalore
Car maintenance is essential to keep your vehicle running smoothly, especially in a bustling city like Bangalore. From traffic jams to unpredictable weather, your car goes through a lot every day. While maintenance might seem expensive at times, there are smart ways to cut costs without compromising quality. Whether you're a daily commuter or an occasional driver, here’s how you can save money on car maintenance service while still ensuring top-notch care—especially with trusted names like 3M Car Care.
1. Stick to a Regular Maintenance Schedule
One of the most effective ways to avoid big repair bills is by keeping up with routine maintenance. This includes oil changes, brake checks, tire rotations, and filter replacements. Missing these small services can lead to bigger, more expensive problems down the line. 3M Car Care offers scheduled packages that help you stick to your car’s maintenance timeline at affordable prices.
2. Choose a Reputed and Transparent Service Center
Selecting the right service provider is crucial. Opt for trusted brands like 3M Car Care that offer professional service, genuine parts, and clear pricing. In a city like Bangalore, where options are plenty, going with an experienced brand ensures peace of mind. Plus, many branches of 3M Car Care in Bangalore provide doorstep service, which saves time and fuel.
3. Use Preventive Care to Avoid Big Repairs
Investing a little in preventive maintenance can save you a lot in the long run. Simple tasks like regular car washes, waxing, and paint protection can prevent rust, fading, and scratches. 3M Car Care provides excellent detailing services that protect your car’s exterior and interior, increasing its longevity and resale value.
4. Compare Costs Before Committing
Bangalore has numerous service centers, so take advantage of competition by comparing prices. Get quotes from at least three places and see what services they include. Always ask for a breakdown to avoid hidden charges. While it might be tempting to choose the cheapest option, quality should never be compromised. Again, 3M Car Care strikes a balance between affordability and quality, making it a smart choice for budget-conscious drivers.
5. Take Advantage of Membership Plans and Offers
Many car care brands offer loyalty programs, discounts, or membership plans. These can significantly reduce your overall maintenance costs. Check if 3M Car Care is running any promotions or packages in your area. Signing up for a yearly maintenance plan can often be cheaper than paying for each service individually.
6. Use a Reliable Local Network
When searching for car maintenance service Bangalore, don’t forget to consider reviews and local recommendations. Community forums, Google reviews, and neighborhood groups can guide you to affordable and reliable service centers near you.
Conclusion
Maintaining your car in a busy city like Bangalore doesn’t have to drain your wallet. With smart planning, preventive care, and the right service provider, you can significantly cut costs without sacrificing quality. Whether you're scheduling a service or looking to restore your car’s shine, 3M Car Care stands out as a trusted name that offers reliable and affordable options. From interior detailing to exterior protection, 3M Car Care ensures your vehicle stays in top shape for longer. So next time you're planning your car maintenance service, consider the benefits of choosing 3M Car Care—your car and your wallet will thank you.
0 notes